View | Details | Raw Unified | Return to bug 60845
Collapse All | Expand All

(-)file_not_specified_in_diff (-5 / +23 lines)
Line  Link Here
0
-- a/usr/lib/rpm/gir-python.req
0
++ b/usr/lib/rpm/gir-python.req
Lines 21-29 Link Here
21
. /usr/lib/rpm/rpm-build-gir.functions
21
. /usr/lib/rpm/rpm-build-gir.functions
22
keyword=".*from[[:space:]]*gi.repository[[:space:]]*import"
22
keyword=".*from[[:space:]]*gi.repository[[:space:]]*import"
23
23
24
# print "Name Version" pairs from gi.require_version("Name", "Version") calls
25
PyGiVersions()
26
{
27
	grep -E -o "require_version[[:space:]]*\\([[:space:]]*[\"'][A-Za-z0-9_]+[\"'][[:space:]]*,[[:space:]]*[\"'][0-9.]+[\"']" "$1" |
28
		sed -e "s/^require_version[[:space:]]*([[:space:]]*[\"']\\([A-Za-z0-9_]*\\)[\"'][[:space:]]*,[[:space:]]*[\"']\\([0-9.]*\\)[\"']/\\1 \\2/" |
29
		sort -u
30
}
31
24
PyGiReq()
32
PyGiReq()
25
{
33
{
26
	local f="$1" out=; shift
34
	local f="$1" out= versions=; shift
35
	versions="$(PyGiVersions "$f")" || versions=
27
	out="$(cat "$f" | grep -E -o "$keyword[[:space:]]*[A-Za-z0-9 ,]*" | sed -e '
36
	out="$(cat "$f" | grep -E -o "$keyword[[:space:]]*[A-Za-z0-9 ,]*" | sed -e '
28
	    s:'"$keyword"'\([A-Za-z ,]*\):\1:
37
	    s:'"$keyword"'\([A-Za-z ,]*\):\1:
29
	    s: as .*::
38
	    s: as .*::
Lines 47-53 Link Here
47
			if [ $1 = Peas ]; then
56
			if [ $1 = Peas ]; then
48
				echo "libpeas-python3-loader"
57
				echo "libpeas-python3-loader"
49
			fi
58
			fi
50
			echo "typelib($1)"
59
			# use the version from gi.require_version() if it is unambiguous
60
			local ver
61
			ver="$(printf '%s\n' "$versions" | sed -n "s/^$1 //p")"
62
			if [ -n "$ver" ] && [ "$(printf '%s\n' "$ver" | wc -l)" = 1 ]; then
63
				echo "typelib($1) = $ver"
64
			else
65
				echo "typelib($1)"
66
			fi
51
		done
67
		done
52
	done
68
	done
53
69
54
-- a/usr/lib/rpm/rpm-build-gir.functions
70
++ b/usr/lib/rpm/rpm-build-gir.functions
Lines 25-31 Link Here
25
while read req; do
25
while read req; do
26
    if [ -n "${RPM_TYPELIB_REQ_SKIPLIST-}" ]; then
26
    if [ -n "${RPM_TYPELIB_REQ_SKIPLIST-}" ]; then
27
	    for skip in $RPM_TYPELIB_REQ_SKIPLIST; do
27
	    for skip in $RPM_TYPELIB_REQ_SKIPLIST; do
28
		if [ -z "${req##$skip}" ]; then
28
		# versioned reqs look like "typelib(Foo) = 1.0": match the name too
29
		name="${req%% *}"
30
		if [ -z "${req##$skip}" ] || [ -z "${name##$skip}" ]; then
29
		    Debug "skipped $req due to RPM_TYPELIB_REQ_SKIPLIST pattern $skip"
31
		    Debug "skipped $req due to RPM_TYPELIB_REQ_SKIPLIST pattern $skip"
30
		    continue 2
32
		    continue 2
31
		fi
33
		fi

Return to bug 60845