]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
iproute: DESTDIR vs LIBDIR.
authorAndreas Henriksson <andreas@fatal.se>
Fri, 22 Aug 2008 14:54:12 +0000 (16:54 +0200)
committerStephen Hemminger <stephen.hemminger@vyatta.com>
Thu, 18 Sep 2008 05:04:02 +0000 (22:04 -0700)
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 <stephen.hemminger@vyatta.com>
Makefile
ip/iplink.c
tc/Makefile
tc/tc_util.c

index cfb27f42278acee1beb267196382ae0d4e320090..6096a99179d1ba38cbd36f30ee95f66043806296 100644 (file)
--- 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
index 9a092630e97bb923c7c42869d962c0ba6c87319e..f4cbeb3ea7237934f8f563cea0d633ac609b8917 100644 (file)
@@ -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 */
index 41aa59ddf594d2327778351c3c6da26b31175af0..a3005e92b73ccac986256bc1cfc9760a52ea4ba6 100644 (file)
@@ -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:
index ef14d8d96cd33442aaa0465d943963c109b6d2cd..fe2c7eb53e6bb0d4d4deecc84ef8357130b78e66 100644 (file)
@@ -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;
 }