lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat,  1 Aug 2020 10:32:35 -0700
From:   Stephen Hemminger <stephen@...workplumber.org>
To:     netdev@...r.kernel.org
Cc:     Stephen Hemminger <stephen@...workplumber.org>
Subject: [RFC] replace SNAPSHOT with auto-generated version

Replace the iproute2 snapshot with a version string which is
autogenerated as part of the build process using git describe.

This will also allow seeing if the version of the command
is built from the same sources is as upstream.

Signed-off-by: Stephen Hemminger <stephen@...workplumber.org>
---
One additional tweak needed will be to put Version.h in the
tarball for building outside of git.

 .gitignore        |  1 +
 Makefile          | 10 +++++-----
 bridge/bridge.c   |  2 +-
 devlink/devlink.c |  4 ++--
 genl/genl.c       |  4 ++--
 ip/ip.c           |  4 ++--
 ip/rtmon.c        |  4 ++--
 misc/ifstat.c     |  4 ++--
 misc/nstat.c      |  4 ++--
 misc/rtacct.c     |  4 ++--
 misc/ss.c         |  4 ++--
 rdma/rdma.c       |  6 +++---
 tc/tc.c           |  4 ++--
 13 files changed, 28 insertions(+), 27 deletions(-)

diff --git a/.gitignore b/.gitignore
index e5234a3dc948..8c553394453a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
 Config
 static-syms.h
 config.*
+include/Version.h
 *.o
 *.a
 *.so
diff --git a/Makefile b/Makefile
index 25d05fac952a..61056cf6d7b2 100644
--- a/Makefile
+++ b/Makefile
@@ -60,7 +60,7 @@ SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma man
 LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a
 LDLIBS += $(LIBNETLINK)
 
-all: config.mk
+all: config.mk include/Version.h
 	@set -e; \
 	for i in $(SUBDIRS); \
 	do echo; echo $$i; $(MAKE) $(MFLAGS) -C $$i; done
@@ -93,9 +93,9 @@ install: all
 	install -m 0644 bash-completion/devlink $(DESTDIR)$(BASH_COMPDIR)
 	install -m 0644 include/bpf_elf.h $(DESTDIR)$(HDRDIR)
 
-snapshot:
-	echo "static const char SNAPSHOT[] = \""`date +%y%m%d`"\";" \
-		> include/SNAPSHOT.h
+include/Version.h:
+	echo "static const char Version[] = \""`git describe --tags --long`"\";" \
+		> include/Version.h
 
 clean:
 	@for i in $(SUBDIRS) testsuite; \
@@ -104,7 +104,7 @@ clean:
 clobber:
 	touch config.mk
 	$(MAKE) $(MFLAGS) clean
-	rm -f config.mk cscope.*
+	rm -f config.mk cscope.* include/Version.h
 
 distclean: clobber
 
diff --git a/bridge/bridge.c b/bridge/bridge.c
index a50d9d59b4c5..db2984ad7d88 100644
--- a/bridge/bridge.c
+++ b/bridge/bridge.c
@@ -12,7 +12,7 @@
 #include <string.h>
 #include <errno.h>
 
-#include "SNAPSHOT.h"
+#include "Version.h"
 #include "utils.h"
 #include "br_common.h"
 #include "namespace.h"
diff --git a/devlink/devlink.c b/devlink/devlink.c
index 7f83fb746fd6..b558137caa0e 100644
--- a/devlink/devlink.c
+++ b/devlink/devlink.c
@@ -34,7 +34,7 @@
 #include <sys/socket.h>
 #include <sys/types.h>
 
-#include "SNAPSHOT.h"
+#include "Version.h"
 #include "list.h"
 #include "mnlg.h"
 #include "json_print.h"
@@ -7606,7 +7606,7 @@ int main(int argc, char **argv)
 
 		switch (opt) {
 		case 'V':
-			printf("devlink utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("devlink utility, iproute2-%s\n", Version);
 			ret = EXIT_SUCCESS;
 			goto dl_free;
 		case 'f':
diff --git a/genl/genl.c b/genl/genl.c
index aba3c13afd34..cf30c7af20f6 100644
--- a/genl/genl.c
+++ b/genl/genl.c
@@ -22,7 +22,7 @@
 #include <errno.h>
 #include <linux/netlink.h>
 #include <linux/rtnetlink.h> /* until we put our own header */
-#include "SNAPSHOT.h"
+#include "Version.h"
 #include "utils.h"
 #include "genl_utils.h"
 
@@ -118,7 +118,7 @@ int main(int argc, char **argv)
 		} else if (matches(argv[1], "-raw") == 0) {
 			++show_raw;
 		} else if (matches(argv[1], "-Version") == 0) {
-			printf("genl utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("genl utility, iproute2-%s\n", Version);
 			exit(0);
 		} else if (matches(argv[1], "-help") == 0) {
 			usage();
diff --git a/ip/ip.c b/ip/ip.c
index 4249df0377f9..ac7caa1b0171 100644
--- a/ip/ip.c
+++ b/ip/ip.c
@@ -18,7 +18,7 @@
 #include <string.h>
 #include <errno.h>
 
-#include "SNAPSHOT.h"
+#include "Version.h"
 #include "utils.h"
 #include "ip_common.h"
 #include "namespace.h"
@@ -255,7 +255,7 @@ int main(int argc, char **argv)
 			++timestamp;
 			++timestamp_short;
 		} else if (matches(opt, "-Version") == 0) {
-			printf("ip utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("ip utility, iproute2-%s\n", Version);
 			exit(0);
 		} else if (matches(opt, "-force") == 0) {
 			++force;
diff --git a/ip/rtmon.c b/ip/rtmon.c
index bccddedddd17..d42bbd30c0fb 100644
--- a/ip/rtmon.c
+++ b/ip/rtmon.c
@@ -19,7 +19,7 @@
 #include <netinet/in.h>
 #include <string.h>
 
-#include "SNAPSHOT.h"
+#include "Version.h"
 
 #include "utils.h"
 #include "libnetlink.h"
@@ -107,7 +107,7 @@ main(int argc, char **argv)
 		} else if (strcmp(argv[1], "-0") == 0) {
 			family = AF_PACKET;
 		} else if (matches(argv[1], "-Version") == 0) {
-			printf("rtmon utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("rtmon utility, iproute2-%s\n", Version);
 			exit(0);
 		} else if (matches(argv[1], "file") == 0) {
 			argc--;
diff --git a/misc/ifstat.c b/misc/ifstat.c
index 03327af83ae8..abbd10cb9866 100644
--- a/misc/ifstat.c
+++ b/misc/ifstat.c
@@ -33,7 +33,7 @@
 
 #include "libnetlink.h"
 #include "json_writer.h"
-#include "SNAPSHOT.h"
+#include "Version.h"
 #include "utils.h"
 
 int dump_zeros;
@@ -869,7 +869,7 @@ int main(int argc, char *argv[])
 			break;
 		case 'v':
 		case 'V':
-			printf("ifstat utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("ifstat utility, iproute2-%s\n", Version);
 			exit(0);
 		case 'h':
 		case '?':
diff --git a/misc/nstat.c b/misc/nstat.c
index 88f52eaf8c8c..189a2d74602e 100644
--- a/misc/nstat.c
+++ b/misc/nstat.c
@@ -29,7 +29,7 @@
 #include <getopt.h>
 
 #include <json_writer.h>
-#include <SNAPSHOT.h>
+#include "Version.h"
 #include "utils.h"
 
 int dump_zeros;
@@ -621,7 +621,7 @@ int main(int argc, char *argv[])
 			break;
 		case 'v':
 		case 'V':
-			printf("nstat utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("nstat utility, iproute2-%s\n", Version);
 			exit(0);
 		case 'h':
 		case '?':
diff --git a/misc/rtacct.c b/misc/rtacct.c
index c4bb5bc3888c..ec475b9b5bd7 100644
--- a/misc/rtacct.c
+++ b/misc/rtacct.c
@@ -30,7 +30,7 @@
 
 #include "rt_names.h"
 
-#include <SNAPSHOT.h>
+#include "Version.h"
 
 int reset_history;
 int ignore_history;
@@ -463,7 +463,7 @@ int main(int argc, char *argv[])
 			break;
 		case 'v':
 		case 'V':
-			printf("rtacct utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("rtacct utility, iproute2-%s\n", Version);
 			exit(0);
 		case 'M':
 			/* Some secret undocumented option, nobody
diff --git a/misc/ss.c b/misc/ss.c
index 5aa10e4a715f..08521672a154 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -35,7 +35,7 @@
 #include "ll_map.h"
 #include "libnetlink.h"
 #include "namespace.h"
-#include "SNAPSHOT.h"
+#include "Version.h"
 #include "rt_names.h"
 #include "cg_map.h"
 
@@ -5411,7 +5411,7 @@ int main(int argc, char *argv[])
 			break;
 		case 'v':
 		case 'V':
-			printf("ss utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("ss utility, iproute2-%s\n", Version);
 			exit(0);
 		case 'z':
 			show_sock_ctx++;
diff --git a/rdma/rdma.c b/rdma/rdma.c
index 22050555735d..0e7251fe26ef 100644
--- a/rdma/rdma.c
+++ b/rdma/rdma.c
@@ -5,7 +5,7 @@
  */
 
 #include "rdma.h"
-#include "SNAPSHOT.h"
+#include "Version.h"
 #include "color.h"
 
 static void help(char *name)
@@ -131,8 +131,8 @@ int main(int argc, char **argv)
 				  long_options, NULL)) >= 0) {
 		switch (opt) {
 		case 'V':
-			printf("%s utility, iproute2-ss%s\n",
-			       filename, SNAPSHOT);
+			printf("%s utility, iproute2-%s\n",
+			       filename, Version);
 			return EXIT_SUCCESS;
 		case 'p':
 			pretty = 1;
diff --git a/tc/tc.c b/tc/tc.c
index b72657ec2e60..31c9030d1ed1 100644
--- a/tc/tc.c
+++ b/tc/tc.c
@@ -24,7 +24,7 @@
 #include <string.h>
 #include <errno.h>
 
-#include "SNAPSHOT.h"
+#include "Version.h"
 #include "utils.h"
 #include "tc_util.h"
 #include "tc_common.h"
@@ -299,7 +299,7 @@ int main(int argc, char **argv)
 		} else if (matches(argv[1], "-graph") == 0) {
 			show_graph = 1;
 		} else if (matches(argv[1], "-Version") == 0) {
-			printf("tc utility, iproute2-ss%s\n", SNAPSHOT);
+			printf("tc utility, iproute2-%s\n", Version);
 			return 0;
 		} else if (matches(argv[1], "-iec") == 0) {
 			++use_iec;
-- 
2.27.0

Powered by blists - more mailing lists