kiss-mfavila-small/community-mod/iproute2/patches/0001-make-iproute2-fhs-compliant.patch

102 lines
2.6 KiB
Diff

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