Skip to content

Commit

Permalink
[PATCH v2] Simplify the generation of man pages
Browse files Browse the repository at this point in the history
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@archlinux.org>
Reviewed-and-tested-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
  • Loading branch information
inglor authored and k-hagio committed Mar 9, 2022
1 parent 59b1726 commit 2169de6
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 13 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -78,3 +78,5 @@ GTAGS
*~
\#*#
makedumpfile
makedumpfile.8
makedumpfile.conf.5
20 changes: 9 additions & 11 deletions Makefile
Expand Up @@ -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/*
2 changes: 1 addition & 1 deletion makedumpfile.8 → 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
Expand Down
2 changes: 1 addition & 1 deletion makedumpfile.conf.5 → 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
Expand Down

0 comments on commit 2169de6

Please sign in to comment.