aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.in
Commit message (Collapse)AuthorAge
* build: reduce autoconf input files from 32 to 2Libravatar Kelvin M. Klann2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure summary: autoconf essentially only parses configure.ac and generates the configure script (that is, the "./configure" shell script). The latter is what actually checks what is available on the system and internally sets the value of the output variables. It then, for every filename foo in AC_CONFIG_FILES (and for every output variable name BAR in AC_SUBST), reads foo.in, replaces every occurrence of `@BAR@` with the value of the shell variable `$BAR` and generates the file foo from the result. After this, configure is finished and `make` could be executed to start the build. Now that (as of #5140) all output variables are only defined on config.mk.in and on config.sh.in, there is no need to generate any makefile nor any other mkfile or shell script at configure time. So rename every "Makefile.in" to "Makefile", mkdeb.sh.in to mkdeb.sh, src/common.mk.in to src/common.mk and leave just config.mk and config.sh as the files to be generated at configure time. This allows editing and committing all makefiles directly, without potentially having to run ./configure in between. Commands used to rename the makefiles: $ git ls-files -z -- '*Makefile.in' | xargs -0 -I '{}' sh -c \ "git mv '{}' \"\$(dirname '{}')/Makefile\"" Additionally, from my (rudimentary) testing, this commit reduces the time it takes to run ./configure by about 20~25% compared to commit 72ece92ea ("Transmission fixes: drop private-lib (#5213)", 2022-06-22). Environment: dash 0.5.11.5-1, gcc 12.1.0-2, Artix Linux, ext4 on an HDD. Commands used for benchmarking each commit: $ : >time_configure && ./configure && make distclean && for i in $(seq 1 10); do { time -p ./configure; } 2>>time_configure; done $ grep real time_configure | awk '{ total += $2 } END { print total/NR }'
* mkdeb.sh.in: move configure-time vars into new config.sh.inLibravatar Kelvin M. Klann2022-06-12
| | | | | For better organization and so that they can be used by other shell scripts by just sourcing config.sh.
* makefiles: deduplicate configure-time vars into new config.mk.inLibravatar Kelvin M. Klann2022-06-12
| | | | | | | | | | | Currently, the configure-time variables (that is, the ones that assign to placeholders, such as "@HAVE_MAN@", which are set/replaced at configure-time) are defined on multiple files (such as on Makefile.in and on common.mk.in). To avoid duplication, centralize these variables on a single file (config.mk.in) and replace all of the other definitions of them with an include of config.mk.
* Makefile.in: stop trying to remove config.h on distcleanLibravatar Kelvin M. Klann2022-06-12
| | | | | | | | | | | | | | | | | | | | | | There is no config.h nor config.h.in in the repository: $ git ls-files -- '*config.h*' $ The filename is only mentioned on the generated configure script, as a generic example of an autoconf config file: $ git grep -F -A 1 -B 2 config.h | grep -v '^Makefile.in' -- configure-# Set up the scripts for CONFIG_FILES section. configure-# No need to generate them if there are no CONFIG_FILES. configure:# This happens for instance with `./config.status config.h'. configure-if test -n "$CONFIG_FILES"; then -- configure- # Let's still pretend it is `configure' which instantiates (i.e., don't configure- # use $as_me), people would be surprised to read: configure: # /* config.h. Generated by config.status. */ configure- configure_input='Generated from '`
* Makefile.in: sort DISTFILESLibravatar Kelvin M. Klann2022-06-12
|
* Makefile.in: list one file per line on DISTFILESLibravatar Kelvin M. Klann2022-06-12
| | | | | | | | To make it easier to read and edit them and to make the diffs clearer. vim commands used to search and replace: :0/DISTFILES/ | s/\v ([^=])/ \\\r\1/g | s/$/\r/
* Makefile.in: remove redundant quotes around DISTFILES varsLibravatar Kelvin M. Klann2022-06-12
| | | | | | | | | | | | | They are being double-quoted twice, as in `""$(DISTFILES)""`, which is equivalent to not using quotes at all, as each double-quote pair gets expanded into nothing, leaving only `$(DISTFILES)`. Note that DISTFILES and DISTFILES_TEST are the only variables defined with quoted values and that make does not work with filenames that contain whitespace anyway. Added on commit da19d2d1b ("Simplify dist target and add missing test/sysutils to tarball", 2016-07-25) / PR #646.
* Revert "Makefile.in: stop running distclean on dist"Libravatar Kelvin M. Klann2022-06-08
| | | | | | | | | | | | | | | | | | | | This reverts commit 1fb814e51149d105233f1edc1abb0de202f71b4d. If distclean is not executed before copying the files on dist, then the generated files inside src/ are included in the dist archive: $ ./configure >/dev/null && make distclean >/dev/null && ./configure >/dev/null && make dist | grep 'Makefile$' | wc -l 26 This happens because src/ is copied wholesale on dist (see DISTFILES). Revert the commit to ensure that only the input files (such as the "Makefile.in" files) are archived. Related discussion: https://github.com/netblue30/firejail/pull/5154#pullrequestreview-980810845 Relates to #5142.
* mkdeb.sh.in: pass remaining arguments to ./configureLibravatar Kelvin M. Klann2022-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, mkdeb.sh (which is used to make a .deb package) runs ./configure with hardcoded options (some of which are automatically detected based on configure-time variables). To work around the hardcoding, contrib/fj-mkdeb.py is used to add additional options by rewriting the actual call to ./configure on mkdeb.sh. For example, the following invocation adds --disable-firetunnel to mkdeb.sh: $ ./configure && ./contrib/fj-mkdeb.py --disable-firetunnel To avoid depending on another script and to avoid re-generating mkdeb.sh, just let the latter pass the remaining arguments (the first one is an optional package filename suffix) to ./configure directly. Example: $ make distclean && ./configure && make dist && ./mkdeb.sh "" --disable-firetunnel Additionally, change contrib/fj-mkdeb.py to do roughly the same as the above example, by simply forwarding the arguments that it receives to ./mkdeb.sh (which then forwards them to ./configure). Also, remove the --only-fix-mkdeb option, since the script does not change mkdeb.sh anymore. With these changes, the script's usage (other than when using --only-fix-mkdeb) should remain the same. Note: To clean the generated files and then make a .deb package using the default configuration, the invocation is still the same: $ make distclean && ./configure && make deb Note2: Running ./configure in the above examples is only needed for generating Makefile/mkdeb.sh from Makefile.in/mkdeb.sh.in after running distclean, so that running `make` / `./mkdeb.sh` afterwards works. Should fully fix #772. Relates to #1205 #3414 #5148.
* Makefile.in: stop running distclean on distLibravatar Kelvin M. Klann2022-05-13
| | | | | | | | | | | | | | | | | | | | | distclean erases user-made modifications to the files generated by the configure script; it is not obvious that a non-"clean" target would ever run it. That is, instead of: ./configure --enable-foo && make distclean && make dist It would probably be safer (and more maintainable) to do: make distclean && ./configure --enable-foo && make dist So drop the distclean call and the file-moving hacks around it. Added on commit 137985136 ("Baseline firejail 0.9.28", 2015-08-08). Relates to commit 684919100 ("bug: preserve config.status during make dist", 2016-09-19) and commit 31dc1218a ("fixups", 2020-07-19).
* more on firecfg --guide: fzenityLibravatar netblue302022-04-25
|
* firecfg --guideLibravatar netblue302022-04-19
|
* nettraceLibravatar netblue302022-04-08
|
* fix profstats installLibravatar netblue302022-02-07
|
* hostnames -> static-ip-mapLibravatar netblue302022-01-20
|
* more on nettraceLibravatar netblue302022-01-07
|
* nettrace/netlockLibravatar netblue302021-12-28
|
* testingLibravatar netblue302021-12-18
|
* profstats fix (#4733)Libravatar netblue302021-12-10
|
* install profstats in /etc/firejail directory - undocumented, used only for ↵Libravatar netblue302021-11-30
| | | | development
* build: Normalize HAVE_SUIDLibravatar Kelvin M. Klann2021-11-25
| | | | | | | | | | | | | | See commit 15d793838 ("Try to fix #2310 -- Can't create run directory without suid-root", 2021-05-13) / PR #4273. It is the only "HAVE_" option whose value is set by if/else on a makefile. Also, it is set in different places to either "yes", "no", blank or "-DHAVE_SUID". Set the value only on configure.ac and only to either blank or to "-DHAVE_SUID". Misc: The `ifeq ($(HAVE_SUID),-DHAVE_SUID)` comparison that this adds is based on the existing `ifeq ($(HAVE_APPARMOR),-DHAVE_APPARMOR)` comparison on Makefile.in.
* Relocate firecfg.config to /etc/firejail/Libravatar Hank Leininger2021-11-05
| | | | | | | | | | | | This should make it easier for users, and distributions, to customize which programs they want firejail to wrap. Also fixed some firecfg.cfg -> firecfg.config references. Signed-off-by: Hank Leininger <hlein@korelogic.com> Closes: https://github.com/netblue30/firejail/issues/408 Bug: https://github.com/netblue30/firejail/issues/2097 Bug: https://github.com/netblue30/firejail/issues/2829 Bug: https://github.com/netblue30/firejail/issues/3665
* add basic Firejail support to AppArmor base abstraction (#3226)Libravatar smitsohu2021-10-21
|
* intrusion detection systemLibravatar netblue302021-07-28
|
* man: install jailcheck man page in section 1Libravatar Reiner Herrmann2021-06-04
| | | | like it is declared in the man page itself and referenced by other pages.
* jailtest -> jailcheck (#4268)Libravatar netblue302021-05-18
|
* Merge pull request #4024 from kmk3/improve-makefilesLibravatar Reiner Herrmann2021-03-01
|\ | | | | Makefile improvements
| * makefiles: make all, clean and distclean PHONYLibravatar Kelvin M. Klann2021-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid a stat() call for each affected target and also potentially speed up parallel builds. From the GNU make manual[1]: > Phony targets are also useful in conjunction with recursive > invocations of make (see Recursive Use of make). In this situation > the makefile will often contain a variable which lists a number of > sub-directories to be built. [...] > The implicit rule search (see Implicit Rules) is skipped for .PHONY > targets. This is why declaring a target as .PHONY is good for > performance, even if you are not worried about the actual file > existing. Commands used to search, replace and cleanup: $ find -type f -name '*Makefile.in' -exec sed -i.bak \ -e 's/^all:/.PHONY: all\nall:/' \ -e 's/^clean:/.PHONY: clean\nclean:/' \ -e 's/^distclean:/.PHONY: distclean\ndistclean:/' '{}' + $ find -type f -name '*Makefile.in.bak' -exec rm '{}' + [1]: https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
| * makefiles: fix misc blank line consistencyLibravatar Kelvin M. Klann2021-03-01
| |
| * makefiles: fix whitespaceLibravatar Kelvin M. Klann2021-03-01
| | | | | | | | | | | | | | | | With a fun little script: $ git ls-files -z -- '*Makefile*' | xargs -0 -I '{}' sh -c \ "test -s '{}' && printf '%s\n' \"\`git stripspace <'{}'\`\" >'{}'"
* | tests: also remove arguments tests which also depend on fauditLibravatar Reiner Herrmann2021-03-01
|/
* retiring --audit (replaced by jailtest)Libravatar netblue302021-03-01
|
* jaitest - simple sandbox testing utility programLibravatar netblue302021-02-20
|
* Merge pull request #3864 from haraldkubota/masterLibravatar rusty-snake2021-02-13
|\ | | | | Add first version of zsh completion
| * Add first version of zsh completionLibravatar Harald Kubota2021-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't have duplicate descriptions and put = signs where they belong to zsh completion function now dynamically adjusts for options (e.g. no --apparmor option without AppArmor configured) No EXTRA_CFLAGS for cpp Found main.c which does the argument processing. Moved some arguments into the correct #ifdef blocks Profile selection now much better Not more cpp. Using preproc.awk instead. Updated bash firejail command completion to add profiles ignore bash and zsh dynamically created completion scripts Moved bash/zsh completions out of ALL_ITEMS to fix make install Cleanup
* | build: clean generated test/MakefileLibravatar Reiner Herrmann2021-01-31
| |
* | non-dumpable pluginsLibravatar smitsohu2021-01-04
|/ | | | | (hopefully) fixes the issues that led to reverting commits 6abb65d328af61d67361890743190bd4c57f8e3c and 98e42dc6da4e4b1e47ed2aa020012d4dedc1e80e
* adding test-profiles to ci testLibravatar netblue302020-11-08
|
* full ci testLibravatar netblue302020-11-08
|
* Merge branch 'master' into testsLibravatar netblue302020-11-08
|\
| * ci: drop Travis CI because of their new pricing modelLibravatar Reiner Herrmann2020-11-04
| | | | | | | | | | | | Meanwhile most tests are also run via GitHub Actions Fixes #3721
* | ci: enable test-fs tests on github-ciLibravatar Reiner Herrmann2020-11-01
|/
* fix #3712Libravatar netblue302020-11-01
|
* add new Makefile.in to distributed filesLibravatar Reiner Herrmann2020-10-24
|
* let github CI run testsLibravatar Reiner Herrmann2020-10-24
|
* refactor test targets and let build fail on test errorsLibravatar Reiner Herrmann2020-10-24
|
* build: let manpages depend on src/man target instead of non-existing .man filesLibravatar Reiner Herrmann2020-10-06
|
* Revert "install vim files to addons directory instead of vimfiles"Libravatar rusty-snake2020-10-06
| | | | | | | | | This reverts commit 4422ce65a9d1e903e583d0f2eca9dc1ee7c839e9. ------ Revert for now as it breaks on some distros (namely Fedora), see https://github.com/netblue30/firejail/commit/4422ce65a9d1e903e583d0f2eca9dc1ee7c839e9#commitcomment-42999952
* install vim files to addons directory instead of vimfilesLibravatar Reiner Herrmann2020-10-05
|
* testing 0.9.64rc1Libravatar netblue302020-10-04
|