Use `sed` to simplify the man pages generation. Keep the .in files intact during make and generate the actual man pages with sed. Additionally package tools already gz the man pages during install so it doesn't really need to do that during make and it breaks reproducibility of the package due to timestamps on files. Motivation: https://reproducible-builds.org Signed-off-by: Leonidas Spyropoulos <artafinde@xxxxxxxxxxxxx> --- Makefile | 20 +++++++++---------- makedumpfile.8 => makedumpfile.8.in | 2 +- makedumpfile.conf.5 => makedumpfile.conf.5.in | 2 +- 3 files changed, 11 insertions(+), 13 deletions(-) rename makedumpfile.8 => makedumpfile.8.in (99%) rename makedumpfile.conf.5 => makedumpfile.conf.5.in (99%) diff --git a/Makefile b/Makefile index 9f9fd22..f118b31 100644 --- a/Makefile +++ b/Makefile @@ -112,26 +112,24 @@ $(OBJ_ARCH): $(SRC_ARCH) makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH) $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS) - echo .TH MAKEDUMPFILE 8 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.8 - grep -v "^.TH MAKEDUMPFILE 8" $(VPATH)makedumpfile.8 >> temp.8 - mv temp.8 makedumpfile.8 - gzip -c ./makedumpfile.8 > ./makedumpfile.8.gz - echo .TH MAKEDUMPFILE.CONF 5 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.5 - grep -v "^.TH MAKEDUMPFILE.CONF 5" $(VPATH)makedumpfile.conf.5 >> temp.5 - mv temp.5 makedumpfile.conf.5 - gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz + @sed -e "s/@DATE@/$(DATE)/" \ + -e "s/@VERSION@/$(VERSION)/" \ + $(VPATH)makedumpfile.8.in > $(VPATH)makedumpfile.8 + @sed -e "s/@DATE@/$(DATE)/" \ + -e "s/@VERSION@/$(VERSION)/" \ + $(VPATH)makedumpfile.conf.5.in > $(VPATH)makedumpfile.conf.5 eppic_makedumpfile.so: extension_eppic.c $(CC) $(CFLAGS) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo clean: - rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8.gz makedumpfile.conf.5.gz + rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8 makedumpfile.conf.5 install: install -m 755 -d ${DESTDIR}/usr/sbin ${DESTDIR}/usr/share/man/man5 ${DESTDIR}/usr/share/man/man8 ${DESTDIR}/etc install -m 755 -t ${DESTDIR}/usr/sbin makedumpfile $(VPATH)makedumpfile-R.pl - install -m 644 -t ${DESTDIR}/usr/share/man/man8 makedumpfile.8.gz - install -m 644 -t ${DESTDIR}/usr/share/man/man5 makedumpfile.conf.5.gz + install -m 644 -t ${DESTDIR}/usr/share/man/man8 makedumpfile.8 + install -m 644 -t ${DESTDIR}/usr/share/man/man5 makedumpfile.conf.5 install -m 644 -D $(VPATH)makedumpfile.conf ${DESTDIR}/etc/makedumpfile.conf.sample mkdir -p ${DESTDIR}/usr/share/makedumpfile-${VERSION}/eppic_scripts install -m 644 -t ${DESTDIR}/usr/share/makedumpfile-${VERSION}/eppic_scripts/ $(VPATH)eppic_scripts/* diff --git a/makedumpfile.8 b/makedumpfile.8.in similarity index 99% rename from makedumpfile.8 rename to makedumpfile.8.in index ce8c700..d22588e 100644 --- a/makedumpfile.8 +++ b/makedumpfile.8.in @@ -1,4 +1,4 @@ -.TH MAKEDUMPFILE 8 "8 Nov 2021" "makedumpfile v1.7.0++" "Linux System Administrator's Manual" +.TH MAKEDUMPFILE 8 "@DATE@" "makedumpfile v@VERSION@" "Linux System Administrator's Manual" .SH NAME makedumpfile \- make a small dumpfile of kdump .SH SYNOPSIS diff --git a/makedumpfile.conf.5 b/makedumpfile.conf.5.in similarity index 99% rename from makedumpfile.conf.5 rename to makedumpfile.conf.5.in index 0f1a49b..54e1be8 100644 --- a/makedumpfile.conf.5 +++ b/makedumpfile.conf.5.in @@ -1,4 +1,4 @@ -.TH MAKEDUMPFILE.CONF 5 "8 Nov 2021" "makedumpfile v1.7.0++" "Linux System Administrator's Manual" +.TH MAKEDUMPFILE.CONF 5 "@DATE@" "makedumpfile v@VERSION@" "Linux System Administrator's Manual" .SH NAME makedumpfile.conf \- The filter configuration file for makedumpfile(8). .SH DESCRIPTION -- 2.35.1 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec