@@ -2,6 +2,7 @@
Config
static-syms.h
config.*
+include/Version.h
*.o
*.a
*.so
@@ -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
@@ -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"
@@ -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':
@@ -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();
@@ -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;
@@ -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--;
@@ -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 '?':
@@ -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 '?':
@@ -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
@@ -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++;
@@ -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;
@@ -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;
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@networkplumber.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(-)