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.