aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@protonmail.com>2023-07-07 14:01:20 -0400
committerLibravatar netblue30 <netblue30@protonmail.com>2023-07-07 14:01:20 -0400
commit9e206b7f2cef2db87b964da8d8199cc47c5c4a8b (patch)
tree50d8ebaf4d99796900a4d92f8fe1b6650ff6af3a
parentMerge pull request #5885 from pirate486743186/lobster (diff)
downloadfirejail-9e206b7f2cef2db87b964da8d8199cc47c5c4a8b.tar.gz
firejail-9e206b7f2cef2db87b964da8d8199cc47c5c4a8b.tar.zst
firejail-9e206b7f2cef2db87b964da8d8199cc47c5c4a8b.zip
rework src/man Makefile
-rw-r--r--.gitignore8
-rw-r--r--Makefile34
-rw-r--r--src/man/Makefile41
-rwxr-xr-xsrc/man/mkman.sh (renamed from mkman.sh)6
4 files changed, 57 insertions, 32 deletions
diff --git a/.gitignore b/.gitignore
index aae7b817d..180f623eb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,3 +65,11 @@ aclocal.m4
65__pycache__ 65__pycache__
66*.pyc 66*.pyc
67*.pyo 67*.pyo
68src/fnettrace/static-ip-map
69src/man/firecfg.1.gz
70src/man/firejail-login.5.gz
71src/man/firejail-profile.5.gz
72src/man/firejail-users.5.gz
73src/man/firejail.1.gz
74src/man/firemon.1.gz
75src/man/jailcheck.1.gz
diff --git a/Makefile b/Makefile
index 35bd9dc44..30e1ad176 100644
--- a/Makefile
+++ b/Makefile
@@ -2,11 +2,6 @@
2ROOT = . 2ROOT = .
3-include config.mk 3-include config.mk
4 4
5ifneq ($(HAVE_MAN),no)
6MAN_TARGET = man
7MAN_SRC = src/man
8endif
9
10ifneq ($(HAVE_CONTRIB_INSTALL),no) 5ifneq ($(HAVE_CONTRIB_INSTALL),no)
11CONTRIB_TARGET = contrib 6CONTRIB_TARGET = contrib
12endif 7endif
@@ -19,11 +14,10 @@ SBOX_APPS_NON_DUMPABLE = src/fcopy/fcopy src/fldd/fldd src/fnet/fnet src/fnetfil
19SBOX_APPS_NON_DUMPABLE += src/fsec-optimize/fsec-optimize src/fsec-print/fsec-print src/fseccomp/fseccomp 14SBOX_APPS_NON_DUMPABLE += src/fsec-optimize/fsec-optimize src/fsec-print/fsec-print src/fseccomp/fseccomp
20SBOX_APPS_NON_DUMPABLE += src/fnettrace/fnettrace src/fnettrace-dns/fnettrace-dns src/fnettrace-sni/fnettrace-sni 15SBOX_APPS_NON_DUMPABLE += src/fnettrace/fnettrace src/fnettrace-dns/fnettrace-dns src/fnettrace-sni/fnettrace-sni
21SBOX_APPS_NON_DUMPABLE += src/fnettrace-icmp/fnettrace-icmp 16SBOX_APPS_NON_DUMPABLE += src/fnettrace-icmp/fnettrace-icmp
22MYDIRS = src/lib $(MAN_SRC) $(COMPLETIONDIRS) 17MYDIRS = src/lib src/man $(COMPLETIONDIRS)
23MYLIBS = src/libpostexecseccomp/libpostexecseccomp.so src/libtrace/libtrace.so src/libtracelog/libtracelog.so 18MYLIBS = src/libpostexecseccomp/libpostexecseccomp.so src/libtrace/libtrace.so src/libtracelog/libtracelog.so
24COMPLETIONS = src/zsh_completion/_firejail src/bash_completion/firejail.bash_completion 19COMPLETIONS = src/zsh_completion/_firejail src/bash_completion/firejail.bash_completion
25SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32 20SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32
26MANPAGES = firejail.1 firemon.1 firecfg.1 firejail-profile.5 firejail-login.5 firejail-users.5 jailcheck.1
27 21
28SYSCALL_HEADERS := $(sort $(wildcard src/include/syscall*.h)) 22SYSCALL_HEADERS := $(sort $(wildcard src/include/syscall*.h))
29 23
@@ -43,7 +37,7 @@ SYNTAX_FILES := $(SYNTAX_FILES_IN:.in=)
43ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS) 37ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS)
44 38
45.PHONY: all 39.PHONY: all
46all: all_items mydirs filters $(MAN_TARGET) $(CONTRIB_TARGET) 40all: all_items mydirs filters $(CONTRIB_TARGET)
47 41
48config.mk config.sh: 42config.mk config.sh:
49 @printf 'error: run ./configure to generate %s\n' "$@" >&2 43 @printf 'error: run ./configure to generate %s\n' "$@" >&2
@@ -82,12 +76,6 @@ seccomp.mdwx: src/fseccomp/fseccomp
82seccomp.mdwx.32: src/fseccomp/fseccomp 76seccomp.mdwx.32: src/fseccomp/fseccomp
83 src/fseccomp/fseccomp memory-deny-write-execute.32 seccomp.mdwx.32 77 src/fseccomp/fseccomp memory-deny-write-execute.32 seccomp.mdwx.32
84 78
85$(MANPAGES): src/man config.mk
86 ./mkman.sh $(VERSION) src/man/$(basename $@).man $@
87
88.PHONY: man
89man: $(MANPAGES)
90
91# Makes all targets in contrib/ 79# Makes all targets in contrib/
92.PHONY: contrib 80.PHONY: contrib
93contrib: syntax 81contrib: syntax
@@ -158,7 +146,7 @@ clean:
158 done 146 done
159 $(MAKE) -C test clean 147 $(MAKE) -C test clean
160 rm -f $(SECCOMP_FILTERS) 148 rm -f $(SECCOMP_FILTERS)
161 rm -f $(MANPAGES) $(MANPAGES:%=%.gz) firejail*.rpm 149 rm -f firejail*.rpm
162 rm -f $(SYNTAX_FILES) 150 rm -f $(SYNTAX_FILES)
163 rm -f src/fnettrace/static-ip-map 151 rm -f src/fnettrace/static-ip-map
164 rm -f test/utils/index.html* 152 rm -f test/utils/index.html*
@@ -248,15 +236,13 @@ endif
248ifneq ($(HAVE_MAN),no) 236ifneq ($(HAVE_MAN),no)
249 # man pages 237 # man pages
250 install -m 0755 -d $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 238 install -m 0755 -d $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5
251 for man in $(MANPAGES); do \ 239 install -m 0644 src/man/firejail.1.gz $(DESTDIR)$(mandir)/man1/
252 rm -f $$man.gz; \ 240 install -m 0644 src/man/firemon.1.gz $(DESTDIR)$(mandir)/man1/
253 gzip -9n $$man; \ 241 install -m 0644 src/man/firecfg.1.gz $(DESTDIR)$(mandir)/man1/
254 case "$$man" in \ 242 install -m 0644 src/man/jailcheck.1.gz $(DESTDIR)$(mandir)/man1/
255 *.1) install -m 0644 $$man.gz $(DESTDIR)$(mandir)/man1/; ;; \ 243 install -m 0644 src/man/firejail-login.5.gz $(DESTDIR)$(mandir)/man5/
256 *.5) install -m 0644 $$man.gz $(DESTDIR)$(mandir)/man5/; ;; \ 244 install -m 0644 src/man/firejail-users.5.gz $(DESTDIR)$(mandir)/man5/
257 esac; \ 245 install -m 0644 src/man/firejail-profile.5.gz $(DESTDIR)$(mandir)/man5/
258 done
259 rm -f $(MANPAGES) $(MANPAGES:%=%.gz)
260endif 246endif
261 # bash completion 247 # bash completion
262 install -m 0755 -d $(DESTDIR)$(datarootdir)/bash-completion/completions 248 install -m 0755 -d $(DESTDIR)$(datarootdir)/bash-completion/completions
diff --git a/src/man/Makefile b/src/man/Makefile
index 197f76192..17c5cde13 100644
--- a/src/man/Makefile
+++ b/src/man/Makefile
@@ -2,14 +2,45 @@
2ROOT = ../.. 2ROOT = ../..
3-include $(ROOT)/config.mk 3-include $(ROOT)/config.mk
4 4
5.PHONY: all 5all: firecfg.1.gz firejail.1.gz firejail-login.5.gz firejail-users.5.gz firejail-profile.5.gz firemon.1.gz jailcheck.1.gz
6all: firecfg.man firejail.man firejail-login.man firejail-users.man firejail-profile.man firemon.man jailcheck.man 6
7#firecfg.1.gz: firecfg.txt
8# gawk -f ./preproc.awk -- $(MANFLAGS) < $< > firecfg.1
9# ./mkman.sh $(VERSION) firecfg.1
10# gzip -n9 firecfg.1
11
12# a small function to build a manpage
13define build
14 gawk -f ./preproc.awk -- $(MANFLAGS) < $1 > $2
15 ./mkman.sh $(VERSION) ./$2
16 rm -f $2.gz
17 gzip -n9 $2
18endef
19
20firecfg.1.gz: firecfg.txt
21 $(call build,firecfg.txt,firecfg.1)
22
23firejail.1.gz: firejail.txt
24 $(call build,firejail.txt,firejail.1)
25
26firejail-login.5.gz: firejail-login.txt
27 $(call build,firejail-login.txt,firejail-login.5)
28
29firejail-users.5.gz: firejail-users.txt
30 $(call build,firejail-users.txt,firejail-users.5)
31
32firejail-profile.5.gz: firejail-profile.txt
33 $(call build,firejail-profile.txt,firejail-profile.5)
34
35firemon.1.gz: firemon.txt
36 $(call build,firemon.txt,firemon.1)
37
38jailcheck.1.gz: jailcheck.txt
39 $(call build,jailcheck.txt,jailcheck.1)
7 40
8%.man: %.txt $(ROOT)/config.mk
9 gawk -f ./preproc.awk -- $(MANFLAGS) < $< > $@
10 41
11.PHONY: clean 42.PHONY: clean
12clean:; rm -fr *.man 43clean:; rm -fr *.1 *.5 *.gz
13 44
14.PHONY: distclean 45.PHONY: distclean
15distclean: clean 46distclean: clean
diff --git a/mkman.sh b/src/man/mkman.sh
index 58a44ecda..b538b0126 100755
--- a/mkman.sh
+++ b/src/man/mkman.sh
@@ -5,8 +5,8 @@
5 5
6set -e 6set -e
7 7
8sed "s/VERSION/$1/g" "$2" > "$3" 8sed -i "s/VERSION/$1/g" "$2"
9MONTH="$(LC_ALL=C date -u --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%b)" 9MONTH="$(LC_ALL=C date -u --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%b)"
10sed -i "s/MONTH/$MONTH/g" "$3" 10sed -i "s/MONTH/$MONTH/g" "$2"
11YEAR="$(LC_ALL=C date -u --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y)" 11YEAR="$(LC_ALL=C date -u --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y)"
12sed -i "s/YEAR/$YEAR/g" "$3" 12sed -i "s/YEAR/$YEAR/g" "$2"