Skip to content

Commit bfcf8bc

Browse files
authored
Merge pull request #5956 from kmk3/build-fix-dep-syntax
build: add missing makefile dep & syntax improvements
2 parents fd05c9a + 204c45a commit bfcf8bc

File tree

2 files changed

+37
-30
lines changed

2 files changed

+37
-30
lines changed

Makefile

+36-29
Original file line numberDiff line numberDiff line change
@@ -64,31 +64,31 @@ $(MYDIRS):
6464

6565
.PHONY: filters
6666
filters: $(SECCOMP_FILTERS)
67-
seccomp: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize
67+
seccomp: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize Makefile
6868
src/fseccomp/fseccomp default seccomp
6969
src/fsec-optimize/fsec-optimize seccomp
7070

71-
seccomp.debug: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize
71+
seccomp.debug: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize Makefile
7272
src/fseccomp/fseccomp default seccomp.debug allow-debuggers
7373
src/fsec-optimize/fsec-optimize seccomp.debug
7474

75-
seccomp.32: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize
75+
seccomp.32: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize Makefile
7676
src/fseccomp/fseccomp secondary 32 seccomp.32
7777
src/fsec-optimize/fsec-optimize seccomp.32
7878

79-
seccomp.block_secondary: src/fseccomp/fseccomp
79+
seccomp.block_secondary: src/fseccomp/fseccomp Makefile
8080
src/fseccomp/fseccomp secondary block seccomp.block_secondary
8181

82-
seccomp.mdwx: src/fseccomp/fseccomp
82+
seccomp.mdwx: src/fseccomp/fseccomp Makefile
8383
src/fseccomp/fseccomp memory-deny-write-execute seccomp.mdwx
8484

85-
seccomp.mdwx.32: src/fseccomp/fseccomp
85+
seccomp.mdwx.32: src/fseccomp/fseccomp Makefile
8686
src/fseccomp/fseccomp memory-deny-write-execute.32 seccomp.mdwx.32
8787

88-
seccomp.namespaces: src/fseccomp/fseccomp
88+
seccomp.namespaces: src/fseccomp/fseccomp Makefile
8989
src/fseccomp/fseccomp restrict-namespaces seccomp.namespaces cgroup,ipc,net,mnt,pid,time,user,uts
9090

91-
seccomp.namespaces.32: src/fseccomp/fseccomp
91+
seccomp.namespaces.32: src/fseccomp/fseccomp Makefile
9292
src/fseccomp/fseccomp restrict-namespaces seccomp.namespaces.32 cgroup,ipc,net,mnt,pid,time,user,uts
9393

9494
.PHONY: man
@@ -103,58 +103,65 @@ contrib: syntax
103103
syntax: $(SYNTAX_FILES)
104104

105105
# TODO: include/rlimit are false positives
106-
contrib/syntax/lists/profile_commands_arg0.list: src/firejail/profile.c
106+
contrib/syntax/lists/profile_commands_arg0.list: src/firejail/profile.c Makefile
107+
@printf 'Generating %s from %s\n' $@ $<
107108
@sed -En 's/.*strn?cmp\(ptr, "([^ "]*[^ ])".*/\1/p' $< | \
108-
grep -Ev '^(include|rlimit)$$' | sed 's/\./\\./' | LC_ALL=C sort -u >$@
109+
grep -Ev '^(include|rlimit)$$' | LC_ALL=C sort -u >$@
109110

110111
# TODO: private-lib is special-cased in the code and doesn't match the regex
111-
contrib/syntax/lists/profile_commands_arg1.list: src/firejail/profile.c
112-
@{ sed -En 's/.*strn?cmp\(ptr, "([^"]+) ".*/\1/p' $<; echo private-lib; } | \
113-
LC_ALL=C sort -u >$@
112+
contrib/syntax/lists/profile_commands_arg1.list: src/firejail/profile.c Makefile
113+
@printf 'Generating %s from %s\n' $@ $<
114+
@{ sed -En 's/.*strn?cmp\(ptr, "([^"]+) ".*/\1/p' $<; \
115+
echo private-lib; } | LC_ALL=C sort -u >$@
114116

115-
contrib/syntax/lists/profile_conditionals.list: src/firejail/profile.c
117+
contrib/syntax/lists/profile_conditionals.list: src/firejail/profile.c Makefile
118+
@printf 'Generating %s from %s\n' $@ $<
116119
@awk -- 'BEGIN {process=0;} /^Cond conditionals\[\] = \{$$/ {process=1;} \
117120
/\t*\{"[^"]+".*/ \
118121
{ if (process) {print gensub(/^\t*\{"([^"]+)".*$$/, "\\1", 1);} } \
119122
/^\t\{ NULL, NULL \}$$/ {process=0;}' \
120123
$< | LC_ALL=C sort -u >$@
121124

122-
contrib/syntax/lists/profile_macros.list: src/firejail/macros.c
125+
contrib/syntax/lists/profile_macros.list: src/firejail/macros.c Makefile
126+
@printf 'Generating %s from %s\n' $@ $<
123127
@sed -En 's/.*\$$\{([^}]+)\}.*/\1/p' $< | LC_ALL=C sort -u >$@
124128

125-
contrib/syntax/lists/syscall_groups.list: src/lib/syscall.c
129+
contrib/syntax/lists/syscall_groups.list: src/lib/syscall.c Makefile
130+
@printf 'Generating %s from %s\n' $@ $<
126131
@sed -En 's/.*"@([^",]+).*/\1/p' $< | LC_ALL=C sort -u >$@
127132

128-
contrib/syntax/lists/syscalls.list: $(SYSCALL_HEADERS)
133+
contrib/syntax/lists/syscalls.list: $(SYSCALL_HEADERS) Makefile
134+
@printf 'Generating %s\n' $@
129135
@sed -n 's/{\s\+"\([^"]\+\)",.*},/\1/p' $(SYSCALL_HEADERS) | \
130136
LC_ALL=C sort -u >$@
131137

132-
contrib/syntax/lists/system_errnos.list: src/lib/errno.c
138+
contrib/syntax/lists/system_errnos.list: src/lib/errno.c Makefile
139+
@printf 'Generating %s from %s\n' $@ $<
133140
@sed -En 's/.*"(E[^"]+).*/\1/p' $< | LC_ALL=C sort -u >$@
134141

135-
pipe_fromlf = { tr '\n' '|' | sed 's/|$$//'; }
136-
space_fromlf = { tr '\n' ' ' | sed 's/ $$//'; }
142+
regex_fromlf = { tr '\n' '|' | sed -e 's/|$$//' -e 's/\./\\\\./g'; }
143+
space_fromlf = { tr '\n' ' ' | sed -e 's/ $$//'; }
137144
edit_syntax_file = sed \
138145
-e "s/@make_input@/$$(basename $@). Generated from $$(basename $<) by make./" \
139-
-e "s/@FJ_PROFILE_COMMANDS_ARG0@/$$($(pipe_fromlf) <contrib/syntax/lists/profile_commands_arg0.list)/" \
140-
-e "s/@FJ_PROFILE_COMMANDS_ARG1@/$$($(pipe_fromlf) <contrib/syntax/lists/profile_commands_arg1.list)/" \
141-
-e "s/@FJ_PROFILE_CONDITIONALS@/$$($(pipe_fromlf) <contrib/syntax/lists/profile_conditionals.list)/" \
142-
-e "s/@FJ_PROFILE_MACROS@/$$($(pipe_fromlf) <contrib/syntax/lists/profile_macros.list)/" \
146+
-e "s/@FJ_PROFILE_COMMANDS_ARG0@/$$($(regex_fromlf) <contrib/syntax/lists/profile_commands_arg0.list)/" \
147+
-e "s/@FJ_PROFILE_COMMANDS_ARG1@/$$($(regex_fromlf) <contrib/syntax/lists/profile_commands_arg1.list)/" \
148+
-e "s/@FJ_PROFILE_CONDITIONALS@/$$($(regex_fromlf) <contrib/syntax/lists/profile_conditionals.list)/" \
149+
-e "s/@FJ_PROFILE_MACROS@/$$($(regex_fromlf) <contrib/syntax/lists/profile_macros.list)/" \
143150
-e "s/@FJ_SYSCALLS@/$$($(space_fromlf) <contrib/syntax/lists/syscalls.list)/" \
144-
-e "s/@FJ_SYSCALL_GROUPS@/$$($(pipe_fromlf) <contrib/syntax/lists/syscall_groups.list)/" \
145-
-e "s/@FJ_SYSTEM_ERRNOS@/$$($(pipe_fromlf) <contrib/syntax/lists/system_errnos.list)/"
151+
-e "s/@FJ_SYSCALL_GROUPS@/$$($(regex_fromlf) <contrib/syntax/lists/syscall_groups.list)/" \
152+
-e "s/@FJ_SYSTEM_ERRNOS@/$$($(regex_fromlf) <contrib/syntax/lists/system_errnos.list)/"
146153

147-
contrib/syntax/files/example: contrib/syntax/files/example.in $(SYNTAX_LISTS)
154+
contrib/syntax/files/example: contrib/syntax/files/example.in $(SYNTAX_LISTS) Makefile
148155
@printf 'Generating %s from %s\n' $@ $<
149156
@$(edit_syntax_file) $< >$@
150157

151158
# gtksourceview language-specs
152-
contrib/syntax/files/%.lang: contrib/syntax/files/%.lang.in $(SYNTAX_LISTS)
159+
contrib/syntax/files/%.lang: contrib/syntax/files/%.lang.in $(SYNTAX_LISTS) Makefile
153160
@printf 'Generating %s from %s\n' $@ $<
154161
@$(edit_syntax_file) $< >$@
155162

156163
# vim syntax files
157-
contrib/syntax/files/%.vim: contrib/syntax/files/%.vim.in $(SYNTAX_LISTS)
164+
contrib/syntax/files/%.vim: contrib/syntax/files/%.vim.in $(SYNTAX_LISTS) Makefile
158165
@printf 'Generating %s from %s\n' $@ $<
159166
@$(edit_syntax_file) $< >$@
160167

contrib/syntax/lists/profile_commands_arg0.list

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ private-tmp
4141
quiet
4242
restrict-namespaces
4343
seccomp
44-
seccomp\.block-secondary
44+
seccomp.block-secondary
4545
tab
4646
tracelog
4747
writable-etc

0 commit comments

Comments
 (0)