[PATCH] Fix LIBDIR usage for load_policy (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 Fri, 2011-09-09 at 19:46 +0200, Guido Trentalancia 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.
> 
> Well, as long as it is a git-only thing, perhaps a README file would do.
> 
> It could be improved too...
> 
> For example, load_policy does not honour LIBDIR or SHLIBDIR:

It was in a broken format and now I've also changed the subject. The
following one should be better:

--- selinux-05092011/policycoreutils/load_policy/Makefile	2011-09-02 04:19:47.317716618 +0200
+++ selinux-05092011-fix-LIBDIR/policycoreutils/load_policy/Makefile	2011-09-09 19:44:23.710064117 +0200
@@ -3,11 +3,12 @@ PREFIX ?= ${DESTDIR}/usr
 SBINDIR ?= $(DESTDIR)/sbin
 USRSBINDIR ?= $(PREFIX)/sbin
 MANDIR ?= $(PREFIX)/share/man
+LIBDIR ?= $(PREFIX)/usr/lib
 LOCALEDIR ?= /usr/share/locale
 
 CFLAGS ?= -Werror -Wall -W
 override CFLAGS += $(LDFLAGS) -I$(PREFIX)/include -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\""
-LDLIBS += -lsepol -lselinux -L$(PREFIX)/lib
+LDLIBS += -lsepol -lselinux -L$(LIBDIR)
 
 TARGETS=$(patsubst %.c,%,$(wildcard *.c))
 

The top-level Makefile could be improved too perhaps...

> --- selinux-05092011/policycoreutils/load_policy/Makefile	2011-09-02
> 04:19:47.317716618 +0200
> +++ selinux-05092011-fix-LIBDIR/policycoreutils/load_policy/Makefile
> 2011-09-09 19:44:23.710064117 +0200
> @@ -3,11 +3,12 @@ PREFIX ?= ${DESTDIR}/usr
>  SBINDIR ?= $(DESTDIR)/sbin
>  USRSBINDIR ?= $(PREFIX)/sbin
>  MANDIR ?= $(PREFIX)/share/man
> +LIBDIR ?= $(PREFIX)/usr/lib
>  LOCALEDIR ?= /usr/share/locale
>  
>  CFLAGS ?= -Werror -Wall -W
>  override CFLAGS += $(LDFLAGS) -I$(PREFIX)/include -DUSE_NLS
> -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\""
> -LDLIBS += -lsepol -lselinux -L$(PREFIX)/lib
> +LDLIBS += -lsepol -lselinux -L$(LIBDIR)
>  
>  TARGETS=$(patsubst %.c,%,$(wildcard *.c))
>  
> 
> 
> > 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....
> > 
> > -Eric
> > 
> > On Fri, Sep 9, 2011 at 1:17 PM, Guido Trentalancia
> > <guido@xxxxxxxxxxxxxxxx> wrote:
> > > It only happens when building from git (because it uses the top-level
> > > Makefile which is not being distributed with the released components).
> > >
> > > On Fri, 2011-09-09 at 19:01 +0200, Guido Trentalancia wrote:
> > >> Hello,
> > >>
> > >> I am not able to build semodule from the current git unless the
> > >> following patch is applied.
> > >>
> > >> Also, it would still be problematic if an outdated version of handle.h
> > >> is getting picked up directly from the root include directory (as it
> > >> happens now) and not from the local build directory... In other words,
> > >> the Makefile and build system should be modified so that the local
> > >> header files are picked up during each new build rather than the
> > >> system-wide ones from previous installations.
> > >>
> > >> But at least this is a start:
> > >>
> > >> Include <semanage/handle.h> for semodule_set_root() currently used by semodule
> > >>
> > >> --- selinux-05092011/policycoreutils/semodule/semodule.c      2011-09-02 04:19:47.357716917 +0200
> > >> +++ selinux-05092011-fix-semanage_set_root/policycoreutils/semodule/semodule.c        2011-09-09 18:41:24.078319022 +0200
> > >> @@ -21,6 +21,7 @@
> > >>  #include <sys/types.h>
> > >>
> > >>  #include <semanage/modules.h>
> > >> +#include <semanage/handle.h>
> > >>
> > >>  enum client_modes { NO_MODE, INSTALL_M, UPGRADE_M, BASE_M, ENABLE_M, DISABLE_M, REMOVE_M,
> > >>       LIST_M, RELOAD
> > >>
> > >>
> > >> --
> > >> 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.
> > >>
> > >
> > >
> > >
> > > --
> > > 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.
> > >
> > 
> 
> 
> 
> --
> 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.
> 



--
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