Re: [PATCH] Fix includes for userspace tools and libraries (was Re: [PATCH] Fix include semanage/handle.h for semanage_set_root() as used by semodule)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2011-09-12 at 18:01 -0400, Eric Paris wrote:
> On 09/12/2011 04:29 PM, Guido Trentalancia wrote:
> > Hi Stephen.
> > 
> > On Mon, 2011-09-12 at 08:57 -0400, Stephen Smalley wrote:
> >> On Fri, 2011-09-09 at 13:31 -0400, Eric Paris wrote:
> >>> I'm also really annoyed by this at times, but I don't know what the
> >>> right answer is.
> >>>
> >>> We really treat it like we have 5+ separate projects which just all
> >>> happen to live in the same git tree.  Thus to build libselinux you
> >>> must have already built and installed libsepol.  And then to build
> >>> libsemanage you need to have done that with both libsepol and
> >>> libselinux.  Then of course to get the builds and install right (on
> >>> Fedora/RHEL) you have to know to use LIBDIR=/usr/lib64 SHLIBDIR=/lib64
> >>> for libsepol and libsepol, but SHLIBDIR=/usr/lib64 for libsemanage.
> >>> Its a mess, but I don't know what to do that's better....
> >>
> >> make DESTDIR=~/out at top-level should work fine - it will build and
> >> install each library into a private tree (as specified by DESTDIR) and
> >> then build and install the programs against those libraries.  Without
> >> needing to clobber the system ones.
> > 
> > At the moment, it does not, until the Makefile(s) are modified or at
> > least until the libraries are manually installed first.
> > 
> > Try by yourself, but do not forget to remove
> > $(PREFIX)/usr/include/{selinux,semanage,sepol} and
> > $(PREFIX){/usr,}/lib/libse{linux,manage,pol}* first !
> 
> I recently added the patch which changed the global to be 'build'
> instead of 'install', so sds might not realize that 'install' is no
> longer the default, however I think Guido is right about the install
> having a number of paces that it hard coded things...

Your patch was wrong and should have been rejected.  make DESTDIR=~/out
was the way to build the entire source tree.  It ensured that the right
headers are picked up (by adding -I~/out/usr/include to CFLAGS, which
then take precedence over the system ones), and that the right libraries
are linked against (likewise with LDFLAGS), and it didn't require you to
be root to build.

-- 
Stephen Smalley
National Security Agency


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


[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux