All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][autotools] libselinux/load_policy.o compile error
@ 2008-09-04  3:41 Vikram Noel Ambrose
  2008-09-04 15:33 ` Joshua Brindle
  0 siblings, 1 reply; 6+ messages in thread
From: Vikram Noel Ambrose @ 2008-09-04  3:41 UTC (permalink / raw)
  To: SE Linux, Joshua Brindle

[-- Attachment #1: Type: text/plain, Size: 69 bytes --]

Here's the fix to that libselinux ld error you were getting.

Vikram

[-- Attachment #2: 0001-Fixes-build-error-reported-by-Joshua-Brindle.patch --]
[-- Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH][autotools] libselinux/load_policy.o compile error
  2008-09-04  3:41 [PATCH][autotools] libselinux/load_policy.o compile error Vikram Noel Ambrose
@ 2008-09-04 15:33 ` Joshua Brindle
  2008-09-04 16:51   ` Vikram Noel Ambrose
  0 siblings, 1 reply; 6+ messages in thread
From: Joshua Brindle @ 2008-09-04 15:33 UTC (permalink / raw)
  To: Vikram Noel Ambrose; +Cc: SE Linux

Vikram Noel Ambrose wrote:
> Here's the fix to that libselinux ld error you were getting.
> 

Ok, applied and built fine. One interesting thing is that even without building the swig wrappers (--disable-swig) it still installs lib/python2.5/site-packages/selinux, which obviously wouldn't work without the accompanying .so file.

Also, it looks like any library that installs to /lib will also put their python stuff in /lib/python2.5. I don't know if python even knows to look there, and even if it does there is really no reason to put them there. libselinux.so and libsepol.so will need to go to /lib but the python stuff should go to /usr/lib and I don't see a different argument for the python stuff (only --libdir).


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH][autotools] libselinux/load_policy.o compile error
  2008-09-04 15:33 ` Joshua Brindle
@ 2008-09-04 16:51   ` Vikram Noel Ambrose
  2008-09-04 18:09     ` Joshua Brindle
  0 siblings, 1 reply; 6+ messages in thread
From: Vikram Noel Ambrose @ 2008-09-04 16:51 UTC (permalink / raw)
  To: Joshua Brindle; +Cc: SE Linux

Joshua Brindle wrote:
> Vikram Noel Ambrose wrote:
>   
>> Here's the fix to that libselinux ld error you were getting.
>>
>>     
>
> Ok, applied and built fine. One interesting thing is that even without building the swig wrappers (--disable-swig) it still installs lib/python2.5/site-packages/selinux, which obviously wouldn't work without the accompanying .so file.
>
>   

I'll have a look at that, thanks.

> Also, it looks like any library that installs to /lib will also put their python stuff in /lib/python2.5. I don't know if python even knows to look there, and even if it does there is really no reason to put them there. libselinux.so and libsepol.so will need to go to /lib but the python stuff should go to /usr/lib and I don't see a different argument for the python stuff (only --libdir).
>
>
>   
Here you are referring to libpy*.so? if so then, Yes, python does know 
to look for it in its site-packages/$pkg/ folder.


And in regards to the AUTHORS file, it obviously would be in source 
control and as the persons in question patch the tree, they could 
obviously patch the file with their names as well, its not set in stone 
or anything.


Vikram


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH][autotools] libselinux/load_policy.o compile error
  2008-09-04 16:51   ` Vikram Noel Ambrose
@ 2008-09-04 18:09     ` Joshua Brindle
  2008-09-15 21:15       ` Joshua Brindle
  0 siblings, 1 reply; 6+ messages in thread
From: Joshua Brindle @ 2008-09-04 18:09 UTC (permalink / raw)
  To: Vikram Noel Ambrose; +Cc: SE Linux

Vikram Noel Ambrose wrote:
> Joshua Brindle wrote:
>> Vikram Noel Ambrose wrote:
>>  
>>> Here's the fix to that libselinux ld error you were getting.
>>>
>>>     
>>
>> Ok, applied and built fine. One interesting thing is that even without
>> building the swig wrappers (--disable-swig) it still installs
>> lib/python2.5/site-packages/selinux, which obviously wouldn't work
>> without the accompanying .so file.
>>
>>   
> 
> I'll have a look at that, thanks.
> 
>> Also, it looks like any library that installs to /lib will also put
>> their python stuff in /lib/python2.5. I don't know if python even
>> knows to look there, and even if it does there is really no reason to
>> put them there. libselinux.so and libsepol.so will need to go to /lib
>> but the python stuff should go to /usr/lib and I don't see a different
>> argument for the python stuff (only --libdir).
>>
>>
>>   
> Here you are referring to libpy*.so? if so then, Yes, python does know
> to look for it in its site-packages/$pkg/ folder.
> 

I know that, I mean no python .so files or .py files are put in /lib/python2.5, they are all put in /usr/lib/python2.5. However, since libselinux.so and libsepol.so (the real libs) have to be in /lib/ there is no way to tell configure to split those up (since they both use libdir)

> 
> And in regards to the AUTHORS file, it obviously would be in source
> control and as the persons in question patch the tree, they could
> obviously patch the file with their names as well, its not set in stone
> or anything.
> 
> 
> Vikram
> 
> 


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH][autotools] libselinux/load_policy.o compile error
  2008-09-04 18:09     ` Joshua Brindle
@ 2008-09-15 21:15       ` Joshua Brindle
  2008-09-26  1:09         ` Vikram Noel Ambrose
  0 siblings, 1 reply; 6+ messages in thread
From: Joshua Brindle @ 2008-09-15 21:15 UTC (permalink / raw)
  To: Vikram Noel Ambrose; +Cc: SE Linux

Joshua Brindle wrote:
> Vikram Noel Ambrose wrote:
>> Joshua Brindle wrote:
>>> Vikram Noel Ambrose wrote:
>>>  
>>>> Here's the fix to that libselinux ld error you were getting.
>>>>
>>>>     
>>> Ok, applied and built fine. One interesting thing is that even without
>>> building the swig wrappers (--disable-swig) it still installs
>>> lib/python2.5/site-packages/selinux, which obviously wouldn't work
>>> without the accompanying .so file.
>>>
>>>   
>> I'll have a look at that, thanks.
>>
>>> Also, it looks like any library that installs to /lib will also put
>>> their python stuff in /lib/python2.5. I don't know if python even
>>> knows to look there, and even if it does there is really no reason to
>>> put them there. libselinux.so and libsepol.so will need to go to /lib
>>> but the python stuff should go to /usr/lib and I don't see a different
>>> argument for the python stuff (only --libdir).
>>>
>>>
>>>   
>> Here you are referring to libpy*.so? if so then, Yes, python does know
>> to look for it in its site-packages/$pkg/ folder.
>>
> 
> I know that, I mean no python .so files or .py files are put in /lib/python2.5, they are all put in /usr/lib/python2.5. However, since libselinux.so and libsepol.so (the real libs) have to be in /lib/ there is no way to tell configure to split those up (since they both use libdir)
> 

Ping?

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH][autotools] libselinux/load_policy.o compile error
  2008-09-15 21:15       ` Joshua Brindle
@ 2008-09-26  1:09         ` Vikram Noel Ambrose
  0 siblings, 0 replies; 6+ messages in thread
From: Vikram Noel Ambrose @ 2008-09-26  1:09 UTC (permalink / raw)
  To: Joshua Brindle; +Cc: SE Linux

[-- Attachment #1: Type: text/plain, Size: 2591 bytes --]

Joshua Brindle wrote:
> Joshua Brindle wrote:
>   
>> Vikram Noel Ambrose wrote:
>>     
>>> Joshua Brindle wrote:
>>>       
>>>> Vikram Noel Ambrose wrote:
>>>>  
>>>>         
>>>>> Here's the fix to that libselinux ld error you were getting.
>>>>>
>>>>>     
>>>>>           
>>>> Ok, applied and built fine. One interesting thing is that even without
>>>> building the swig wrappers (--disable-swig) it still installs
>>>> lib/python2.5/site-packages/selinux, which obviously wouldn't work
>>>> without the accompanying .so file.
>>>>
>>>>   
>>>>         
>>> I'll have a look at that, thanks.
>>>
>>>       
>>>> Also, it looks like any library that installs to /lib will also put
>>>> their python stuff in /lib/python2.5. I don't know if python even
>>>> knows to look there, and even if it does there is really no reason to
>>>> put them there. libselinux.so and libsepol.so will need to go to /lib
>>>> but the python stuff should go to /usr/lib and I don't see a different
>>>> argument for the python stuff (only --libdir).
>>>>
>>>>
>>>>   
>>>>         
>>> Here you are referring to libpy*.so? if so then, Yes, python does know
>>> to look for it in its site-packages/$pkg/ folder.
>>>
>>>       
>> I know that, I mean no python .so files or .py files are put in /lib/python2.5, they are all put in /usr/lib/python2.5. However, since libselinux.so and libsepol.so (the real libs) have to be in /lib/ there is no way to tell configure to split those up (since they both use libdir)
>>
>>     
>
> Ping?
>
>   
Sorry for the radio silence, been tied up of late.

I *think* I understand the problem,

Using the attached patch, python site packages folder resolution
is done as follows:

1. Try get python-site folder by asking "python"
--- This only really works if HOST machine = BUILD machine, and
    if the host's python was not relocated at installation.

2. User supplies --with-python-site=/some/where/python2.4/site-packages

So either way, the site-packages folder can be specified.


This patch also:

1. Stops the swig interface from being rebuilt when python
headers are not found, even if swig is found. This is done
because the interface is not going to be built without the
headers, so no point on rebuilding it's source.

2. Prevents selinux/__init__.py from being installed, if the
libpyselinux.so wrapper cannot be built. Done because the python
module is useless without the wrapper.

3. A little bit of white space clean up and formatting.


If i've understood the problem correctly, then i'll patch the
others (libsemanage etc..)

thanks josh,


Vikram




[-- Attachment #2: better-handle-python-site-folder.patch --]
[-- Type: text/plain, Size: 4145 bytes --]

diff --git a/libselinux/configure.ac b/libselinux/configure.ac
index 5d97078..a437404 100644
--- a/libselinux/configure.ac
+++ b/libselinux/configure.ac
@@ -92,15 +92,18 @@ AM_CONDITIONAL([enable_avc], [ test "$_enable_avc" = yes])
 AM_CONDITIONAL([enable_bool], [ test "$_enable_bool" = yes])
 AM_CONDITIONAL([enable_docs], [ test "$_enable_docs" = yes])
 
-AC_ARG_WITH([pythonver],
-	[AC_HELP_STRING([--with-pythonver=x],[Python version (eg 2.4) ])],
-        [],
-        [with_pythonver=$PYTHON_VERSION]
+AC_ARG_WITH([python-site],
+	[AC_HELP_STRING([--with-python-site=PATH],
+			[Optional path to python site-packages folder,
+			eg /usr/lib/python2.4/site-packages])],
+	[]
 )
 
-if test -n "$with_pythonver" ; then
-        AC_SUBST([pythondir],[$libdir/python$with_pythonver/site-packages])
-        AC_SUBST([pyexecdir],[$libdir/python$with_pythonver/site-packages])
+if test -n "$with_python_site" ; then
+	AC_SUBST([pythondir],[$with_python_site])
+	AC_SUBST([pyexecdir],[$with_python_site])
+else
+	AC_MSG_WARN([Python site folder not specified, guessing...])
 fi
 
 AC_ARG_WITH([python],
@@ -138,7 +141,7 @@ AC_ARG_WITH([static-libsepol],
         else
                 AC_MSG_RESULT([no found])
                 AC_MSG_WARN([[Cannot build libpyaudit2why.so python wrappper. 
-			Try --with-static-libsepol=PATH]])
+		Try --with-static-libsepol=PATH]])
 
         fi],
         [AC_MSG_CHECKING([for libsepol.a in $prefix/lib])]
@@ -148,7 +151,7 @@ AC_ARG_WITH([static-libsepol],
         else
                 AC_MSG_RESULT([not found])
                 AC_MSG_WARN([[Cannot build libpyaudit2why.so python wrappper. 
-			Try --with-static-libsepol=PATH]])
+		Try --with-static-libsepol=PATH]])
         fi]
 )
 
@@ -177,6 +180,14 @@ if test "$_enable_swig" = "yes" -a -z "$SWIG" ; then
 		or install swig])
 fi
 
+# If libpy*.so wrapper cannot be built, then do not rebuild swig interface
+# even if swig is available, and do not install selinux/__init__.py
+if test "$have_python" != "yes" ; then
+	_enable_swig=no
+	AC_MSG_NOTICE([Swig interface does not need to be regenerated 
+		because libpyselinux.so wrapper cannot be built])
+fi
+
 # slip in fake swig if needed
 if test "$_enable_swig" != "yes" ; then
 	AC_SUBST([SWIG],[/bin/true])
@@ -201,10 +212,12 @@ $PRINT "\n*** Libselinux Configuration summary ***\n"
 if test "$have_python" != yes ; then
  $PRINT "\taudit2why\t\t= no "
  $PRINT "(try --with-python=/usr/include/python$PYTHON_VERSION) \n"
- $PRINT "\tlibpyselinux.so\t\t= no\n"
+ $PRINT "\tlibpyselinux.so\t\t= no "
+ $PRINT "(try --with-python=/usr/include/python$PYTHON_VERSION) \n"
 else
  $PRINT "\taudit2why\t\t= yes (Using python headers $with_python) \n"
  $PRINT "\tlibpyselinux.so\t\t= yes\n"
+ $PRINT "\tPython site folder\t= $pythondir\n"
 fi
 
 if test -n "$LIBSEPOL_A_PATH" ; then
@@ -221,5 +234,4 @@ $PRINT "\tSELinux utlities\t= yes\n"
 $PRINT "\tInstall Man pages\t= $_enable_docs\n"
 $PRINT "\tSELinux Type\t\t= $with_policyname\n"
 $PRINT "\tRegenerate py wrapper\t= $_enable_swig\n"
-$PRINT "\tPython Packages folder\t= $pythondir\n"
 $PRINT "------------------------------------------------------------\n" 
diff --git a/libselinux/src/Makefile.am b/libselinux/src/Makefile.am
index fd22726..a32f4a9 100644
--- a/libselinux/src/Makefile.am
+++ b/libselinux/src/Makefile.am
@@ -30,7 +30,7 @@ lib_LTLIBRARIES			= libselinux.la
 selinux_pyexecdir		= $(pyexecdir)/selinux
 selinux_pythondir		= $(pythondir)/selinux
 selinux_pyexec_LTLIBRARIES	= $(extra_lib)
-selinux_python_PYTHON		= __init__.py
+selinux_python_PYTHON		= $(extra_py) 
 
 sysconf_DATA			= config
 config:Makefile
@@ -38,12 +38,14 @@ config:Makefile
 		
 PACKAGE				= selinux
 extra_lib			=
+extra_py			=
 libselinux_la_SOURCES		= $(BUILDSRC)
 libselinux_la_LDFLAGS		= -Wl,--as-needed -version-info 1
 if enable_python
 selinuxswig_wrap.c: Makefile selinuxswig.i selinuxswig_python.i
 	$(SWIG) -o $@ $(SWIG_FLAGS) -interface libpyselinux $(srcdir)/selinuxswig_python.i 
 extra_lib			+= libpyselinux.la
+extra_py			+= __init__.py
 libpyselinux_la_SOURCES		= selinuxswig_wrap.c
 libpyselinux_la_CPPFLAGS	= \
 	-I@PYTHON_INCLUDE_DIR@

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-09-26  1:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-04  3:41 [PATCH][autotools] libselinux/load_policy.o compile error Vikram Noel Ambrose
2008-09-04 15:33 ` Joshua Brindle
2008-09-04 16:51   ` Vikram Noel Ambrose
2008-09-04 18:09     ` Joshua Brindle
2008-09-15 21:15       ` Joshua Brindle
2008-09-26  1:09         ` Vikram Noel Ambrose

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.