123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- From f0624f6cc656cb177b64e2664f2a806221bfab58 Mon Sep 17 00:00:00 2001
- From: Christian Hesse <mail@eworm.de>
- Date: Thu, 28 Jul 2016 08:49:20 +0200
- Subject: [PATCH 1/1] make iproute2 fhs compliant
- Signed-off-by: Christian Hesse <mail@eworm.de>
- ---
- Makefile | 2 +-
- netem/Makefile | 4 ++--
- tc/q_netem.c | 2 +-
- tc/tc_util.c | 15 +++++++++++++++
- tc/tc_util.h | 1 +
- 5 files changed, 20 insertions(+), 4 deletions(-)
- diff --git a/Makefile b/Makefile
- index eb571a5..db0a04c 100644
- --- a/Makefile
- +++ b/Makefile
- @@ -14,7 +14,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include
-
- SHARED_LIBS = y
-
- -DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
- +DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DDATADIR=\"$(DATADIR)\"
- ifneq ($(SHARED_LIBS),y)
- DEFINES+= -DNO_SHARED_LIBS
- endif
- diff --git a/netem/Makefile b/netem/Makefile
- index e52e125..5b4d283 100644
- --- a/netem/Makefile
- +++ b/netem/Makefile
- @@ -20,9 +20,9 @@ stats: stats.c
- $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
-
- install: all
- - mkdir -p $(DESTDIR)$(LIBDIR)/tc
- + mkdir -p $(DESTDIR)$(DATADIR)/tc
- for i in $(DISTDATA); \
- - do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \
- + do install -m 644 $$i $(DESTDIR)$(DATADIR)/tc; \
- done
-
- clean:
- diff --git a/tc/q_netem.c b/tc/q_netem.c
- index 8fe2204..a15a5c7 100644
- --- a/tc/q_netem.c
- +++ b/tc/q_netem.c
- @@ -113,7 +113,7 @@ static int get_distribution(const char *type, __s16 *data, int maxdata)
- char *line = NULL;
- char name[128];
-
- - snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type);
- + snprintf(name, sizeof(name), "%s/%s.dist", get_tc_datadir(), type);
- if ((f = fopen(name, "r")) == NULL) {
- fprintf(stderr, "No distribution data for %s (%s: %s)\n",
- type, name, strerror(errno));
- diff --git a/tc/tc_util.c b/tc/tc_util.c
- index afc4cf5..728b854 100644
- --- a/tc/tc_util.c
- +++ b/tc/tc_util.c
- @@ -32,6 +32,10 @@
- #define LIBDIR "/usr/lib"
- #endif
-
- +#ifndef DATADIR
- +#define DATADIR "/usr/share"
- +#endif
- +
- static struct db_names *cls_names;
-
- #define NAMES_DB "/etc/iproute2/tc_cls"
- @@ -73,6 +77,17 @@ const char *get_tc_lib(void)
- return lib_dir;
- }
-
- +const char *get_tc_datadir(void)
- +{
- + const char *data_dir;
- +
- + data_dir = getenv("TC_DATA_DIR");
- + if (!data_dir)
- + data_dir = DATADIR "/tc/";
- +
- + return data_dir;
- +}
- +
- int get_qdisc_handle(__u32 *h, const char *str)
- {
- __u32 maj;
- diff --git a/tc/tc_util.h b/tc/tc_util.h
- index 61e60b1..6d448de 100644
- --- a/tc/tc_util.h
- +++ b/tc/tc_util.h
- @@ -55,6 +55,7 @@ struct exec_util {
- };
-
- const char *get_tc_lib(void);
- +const char *get_tc_datadir(void);
-
- struct qdisc_util *get_qdisc_kind(const char *str);
- struct filter_util *get_filter_kind(const char *str);
|