From: Andreas Henriksson Date: Fri, 22 Aug 2008 14:54:12 +0000 (+0200) Subject: iproute: DESTDIR vs LIBDIR. X-Git-Tag: v2.6.27~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e3bb534ae179be141a92eb1a4e2eb48094193b7;p=thirdparty%2Fiproute2.git iproute: DESTDIR vs LIBDIR. Hello Rafael Almeida. I noticed your patch adding DESTDIR support in the latest iproute2 release. Much appreciated! Soon the debian packages might be able to move to actually using "make install" rather then it's own installation procedure when building packages. I've noticed something that will break though.... Debian packages usually sets DESTDIR=debian/tmp/ and packages the contents of that directory as if it where the root file system. This will break the /usr/lib/{tc,ip}/ module loading, because they DESTDIR (/usr) will be /whatever-the-build-path-was/debian/tmp/lib/{tc,ip}/. I beleive others usually call this the LIBDIR to make the separation between DISTDIR being the (possibly temporary) place things are put when build is done, and LIBDIR (and others) are used for actual runtime paths. I'm attaching a patch that I think fixes this, but would be really happy if you could have a look at to verify I'm not screwing something up. -- Regards, Andreas Henriksson Signed-off-by: Stephen Hemminger --- diff --git a/Makefile b/Makefile index cfb27f422..6096a9917 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ DESTDIR=/usr/ +LIBDIR=/usr/lib/ SBINDIR=/sbin CONFDIR=/etc/iproute2 DOCDIR=/share/doc/iproute2 @@ -7,7 +8,7 @@ MANDIR=/share/man # Path to db_185.h include DBM_INCLUDE:=/usr/include -DEFINES= -DRESOLVE_HOSTNAMES -DDESTDIR=\"$(DESTDIR)\" +DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" #options if you have a bind>=4.9.4 libresolv (or, maybe, glibc) LDLIBS=-lresolv diff --git a/ip/iplink.c b/ip/iplink.c index 9a092630e..f4cbeb3ea 100644 --- a/ip/iplink.c +++ b/ip/iplink.c @@ -33,8 +33,8 @@ #include "ip_common.h" #define IPLINK_IOCTL_COMPAT 1 -#ifndef DESTDIR -#define DESTDIR "/usr/" +#ifndef LIBDIR +#define LIBDIR "/usr/lib/" #endif static void usage(void) __attribute__((noreturn)); @@ -81,7 +81,7 @@ struct link_util *get_link_kind(const char *id) if (strcmp(l->id, id) == 0) return l; - snprintf(buf, sizeof(buf), DESTDIR "/lib/ip/link_%s.so", id); + snprintf(buf, sizeof(buf), LIBDIR "/ip/link_%s.so", id); dlh = dlopen(buf, RTLD_LAZY); if (dlh == NULL) { /* look in current binary, only open once */ diff --git a/tc/Makefile b/tc/Makefile index 41aa59ddf..a3005e92b 100644 --- a/tc/Makefile +++ b/tc/Makefile @@ -73,10 +73,10 @@ libtc.a: $(TCLIB) $(AR) rcs $@ $(TCLIB) install: all - mkdir -p $(DESTDIR)/lib/tc + mkdir -p $(DESTDIR)$(LIBDIR)/tc install -m 0755 tc $(DESTDIR)$(SBINDIR) for i in $(TCSO); \ - do install -m 755 $$i $(DESTDIR)/lib/tc; \ + do install -m 755 $$i $(DESTDIR)$(LIBDIR)/tc; \ done clean: diff --git a/tc/tc_util.c b/tc/tc_util.c index ef14d8d96..fe2c7eb53 100644 --- a/tc/tc_util.c +++ b/tc/tc_util.c @@ -24,8 +24,8 @@ #include "utils.h" #include "tc_util.h" -#ifndef DESTDIR -#define DESTDIR "/usr/" +#ifndef LIBDIR +#define LIBDIR "/usr/lib/" #endif const char *get_tc_lib(void) @@ -34,7 +34,7 @@ const char *get_tc_lib(void) lib_dir = getenv("TC_LIB_DIR"); if (!lib_dir) - lib_dir = DESTDIR "/lib/tc"; + lib_dir = LIBDIR "/tc/"; return lib_dir; }