Accepting request 138433 from home:dimstar:branches:GNOME:Factory
This should catch the latest missing version of possible versioned gi requires in python code... OBS-URL: https://build.opensuse.org/request/show/138433 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gobject-introspection?expand=0&rev=106
This commit is contained in:
parent
988eb164e2
commit
dd8573196e
@ -40,21 +40,19 @@ done
|
||||
}
|
||||
|
||||
function find_requires {
|
||||
# FIXME: There are multiple ways gi bindings can be imported. We only catch the 'basic' one
|
||||
# Currently, we detect:
|
||||
# - in python:
|
||||
# . from gi.repository import foo [Unversioned requirement of 'foo']
|
||||
# . from gi.repository import foo-1.0 [versioned requirement]
|
||||
# . gi.require_version('Gtk', '3.0') (To specify a version.. there is still an import needed)
|
||||
# . And we do not stumble over:
|
||||
# from gi.repository import foo as _bar
|
||||
# from gi.repository import foo, bar
|
||||
# - in JS:
|
||||
# . imports.gi.foo; [unversioned requirement of 'foo']
|
||||
# . imports.gi.goo-1.0; [versioned requirement]
|
||||
# . imports.gi.versions.Gtk = '3.0';
|
||||
# . The imports can be listed on one line, and we catch them.
|
||||
# Forms currently not detected:
|
||||
# - js: imports.gi.versions.Gtk = '3.0';
|
||||
# - py: gi.require_version('Gtk', '3.0')
|
||||
|
||||
while read file; do
|
||||
case $file in
|
||||
@ -69,8 +67,12 @@ while read file; do
|
||||
print_req_prov
|
||||
done
|
||||
;;
|
||||
*.py)
|
||||
for module in $(grep -h -P "from gi.repository import (\w+)" $file | sed -e 's:#.*::' -e 's:raise ImportError.*::' | sed -e 's,from gi.repository import,,' -r -e 's:\s+$::g' -e 's:\s+as\s+\w+::g' -e 's:,: :g'); do
|
||||
*.py)
|
||||
for module in $(grep -h -P "from gi.repository import (\w+)" $file | sed -e 's:#.*::' -e 's:raise ImportError.*::' | sed -e 's,from gi.repository import,,' -r -e 's:\s+$::g' -e 's:\s+as\s+\w+::g' -e 's:,: :g'); do
|
||||
split_name_version $module
|
||||
print_req_prov
|
||||
done
|
||||
for module in $(grep -h -P -o "(gi.require_version\(['\"][^'\"]+['\"],\s*['\"][^'\"]+['\"]\))" $file | sed -e 's:gi.require_version::' -e "s:[()\"' ]::g" -e 's:,:-:'); do
|
||||
split_name_version $module
|
||||
print_req_prov
|
||||
done
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 16 20:50:56 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Extend gi-find-deps.sh to understand gi.require_version in python
|
||||
code. This was the last know format not yet supported.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 2 16:13:01 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user