[apparmor] [patch] fix python LibAppArmor import failures with swig > 3.0.8
Tyler Hicks
tyhicks at canonical.com
Wed Sep 14 19:12:35 UTC 2016
On 09/14/2016 01:52 PM, Christian Boltz wrote:
> Hello,
>
> renaming LibAppArmor.py to __init__.py breaks the import path
> calculation in swig (> 3.0.8)-generated python code, leading to an error
> message saying
> No module named '_LibAppArmor'
>
> Therefore this patch drops renaming the file. To stay compatible with the
> import LibAppArmor.$function_name
> syntax, add an __init__.py that does
> from LibAppArmor.LibAppArmor import *
>
> References: https://bugzilla.opensuse.org/show_bug.cgi?id=987607
>
>
> Also adjust .bzrignore for this change.
>
>
>
> I propose this patch for trunk and 2.10.
> I'm undecided about 2.9 - technically it shares this bug, but I'd expect
> that 2.9 users don't use the latest swig ;-) - opinions?
Acked-by: Tyler Hicks <tyhicks at canonical.com>
Please apply to 2.9, as well. IIRC, this is one of the errors I hit when
I run `make check` on the utils/ dir from Ubuntu 16.04 (with swig
3.0.8-0ubuntu3) development machine so it'd be nice if that's fixed in
all of our stable branches. Thanks for fixing it!
Tyler
>
>
> Note: you'll need to cleanup your libraries/libapparmor/swig/python/
> directory manually before applying this patch ("make clean" isn't enough,
> so check "bzr ignored"), and regenerate the autogenerated files with
> autogen.sh and configure afterwards.
>
> If there's a "superclean" make target I missed, please tell me ;-)
>
>
>
> [ libapparmor-fix-import-path.diff ]
>
> Index: libraries/libapparmor/swig/python/Makefile.am
> ===================================================================
> --- libraries/libapparmor/swig/python/Makefile.am.orig 2014-01-06 23:08:55.000000000 +0100
> +++ libraries/libapparmor/swig/python/Makefile.am 2016-08-26 18:03:52.526582753 +0200
> @@ -6,9 +6,8 @@ SUBDIRS = test
>
> libapparmor_wrap.c: $(srcdir)/../SWIG/libapparmor.i
> $(SWIG) -python -I$(srcdir)/../../include -module LibAppArmor -o $@ $(srcdir)/../SWIG/libapparmor.i
> - mv LibAppArmor.py __init__.py
>
> -MOSTLYCLEANFILES=libapparmor_wrap.c __init__.py
> +MOSTLYCLEANFILES=libapparmor_wrap.c LibAppArmor.py
>
> all-local: libapparmor_wrap.c setup.py
> if test ! -f libapparmor_wrap.c; then cp $(srcdir)/libapparmor_wrap.c . ; fi
> Index: libraries/libapparmor/swig/python/__init__.py
> ===================================================================
> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> +++ libraries/libapparmor/swig/python/__init__.py 2016-08-26 18:03:16.790763701 +0200
> @@ -0,0 +1 @@
> +from LibAppArmor.LibAppArmor import *
> === modified file '.bzrignore'
> --- .bzrignore 2015-10-21 19:40:35 +0000
> +++ .bzrignore 2016-09-14 18:34:04 +0000
> @@ -88,7 +88,7 @@
> libraries/libapparmor/swig/perl/blib
> libraries/libapparmor/swig/perl/libapparmor_wrap.c
> libraries/libapparmor/swig/perl/pm_to_blib
> -libraries/libapparmor/swig/python/__init__.py
> +libraries/libapparmor/swig/python/LibAppArmor.py
> libraries/libapparmor/swig/python/build/
> libraries/libapparmor/swig/python/libapparmor_wrap.c
> libraries/libapparmor/swig/python/Makefile
>
>
>
> Regards,
>
> Christian Boltz
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20160914/11a5efa1/attachment.pgp>
More information about the AppArmor
mailing list