aboutsummaryrefslogtreecommitdiffstats
path: root/mkdeb.sh.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.
* mkdeb.sh.in: stop enabling apparmorLibravatar Kelvin M. Klann2022-06-05
| | | | | | | | | | | | | Since `make deb-apparmor` already exists, use that for now instead of changing what `make deb` does. This fixes CI. Added on commit 494b26d50 ("adding --enable-apparmor by default for make deb - most Debian-based distros have apparmor enabled by default", 2022-06-03). Kind of relates to #5154.
* adding --enable-apparmor by default for make deb - most Debian-based distros ↵Libravatar netblue302022-06-03
| | | | have apparmor enabled by default
* 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.
* mkdeb.sh.in: remove unused PACKAGE_TARNAME/TOP varsLibravatar Kelvin M. Klann2022-05-27
| | | | | | | | PACKAGE_TARNAME was added on commit 87e7b3139 ("Configure Debian package with AA and SELinux options", 2020-05-13) / PR #3414. TOP was added on commit ed4a24ce7 ("porting make deb-apparmor from LTS build", 2019-01-26).
* 2022 copyright updateLibravatar netblue302022-01-07
|
* Fix some shellcheck warningsLibravatar a13460542021-11-05
| | | | | | | | | | Note: This does not modify the configure script, which is a source of a lot of the remaining shellcheck warnings, because it comes from autoconf and so it makes little sense to try to fix it here. Also, it does not modify the scripts in contrib, because they possibly are maintained at some other place. Similarly with the other scripts that don't appear to be called from any of the makefiles.
* copyright updateLibravatar startx20172021-02-15
|
* rel 0.9.24.2 testingLibravatar netblue302021-01-26
|
* mkdeb.sh should not use files outside $CODE_DIRLibravatar dandelionred2020-08-07
|
* Configure Debian package with AA and SELinux optionsLibravatar Topi Miettinen2020-05-14
Configure Debian package with AA and SELinux options if they are enabled.