Kexec Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Leonidas Spyropoulos <artafinde@archlinux.org>
To: kexec@lists.infradead.org
Subject: [PATCH v2 1/1] Simplify the generation of man pages
Date: Fri,  4 Mar 2022 15:17:48 +0000	[thread overview]
Message-ID: <20220304151748.138775-1-artafinde@archlinux.org> (raw)

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>
---
 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 at 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 at VERSION@" "Linux System Administrator's Manual"
 .SH NAME
 makedumpfile.conf \- The filter configuration file for makedumpfile(8).
 .SH DESCRIPTION
-- 
2.35.1



             reply	other threads:[~2022-03-04 15:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-04 15:17 Leonidas Spyropoulos [this message]
2022-03-09  1:37 ` [PATCH v2 1/1] Simplify the generation of man pages HAGIO KAZUHITO =?unknown-8bit?b?6JCp5bC+IOS4gOS7gQ==?=
2022-04-24  2:09 ` Coiby Xu
  -- strict thread matches above, loose matches on Subject: below --
2022-03-04 19:29 Guilherme G. Piccoli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220304151748.138775-1-artafinde@archlinux.org \
    --to=artafinde@archlinux.org \
    --cc=kexec@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox