-
Notifications
You must be signed in to change notification settings - Fork 567
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a script to build a .deb with custom configure options #1205
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
All merged, thanks. |
netblue30
pushed a commit
that referenced
this pull request
Apr 9, 2017
Install support is in! |
Hmm, it installs to I'll fix |
kmk3
added a commit
to kmk3/firejail
that referenced
this pull request
May 20, 2022
On firejail 0.9.68, one would run `./configure` (to generate Makefile from Makefile.in) and then running `make deb` would end up running something akin to: make distclean && make dist && ./configure --prefix=/usr && mkdeb.sh As of netblue30#5142, `make dist` does not run `make distclean` anymore, but `make deb` still overrides any configure options that the user might have set. Stop doing that and do just `make dist && mkdeb.sh` on `make deb`. To build everything from scratch as `make deb` would do on 0.9.68 (but without it overriding the configure options), one can run: make distclean && ./configure --prefix=/usr && make deb Note that this is basically what the "build_debian_package" job on .gitlab-ci.yml does (see also the "build_apparmor" job). Should fully fix netblue30#3523. Relates to netblue30#772 netblue30#1205.
kmk3
added a commit
to kmk3/firejail
that referenced
this pull request
May 20, 2022
It is no longer needed, as ./configure is not used inside mkdeb.sh anymore. Relates to netblue30#1205.
kmk3
added a commit
to kmk3/firejail
that referenced
this pull request
May 20, 2022
On firejail 0.9.68, one would run `./configure` (to generate Makefile from Makefile.in) and then running `make deb` would end up running something akin to: make distclean && make dist && ./configure --prefix=/usr && ./mkdeb.sh As of netblue30#5142, `make dist` does not run `make distclean` anymore, but `make deb` still overrides any configure options that the user might have set. Stop doing that and do just `make dist && ./mkdeb.sh` on `make deb`. To build everything from scratch as `make deb` would do on 0.9.68 (but without it overriding the configure options), one can run: make distclean && ./configure --prefix=/usr && make deb Note that this is basically what the "build_debian_package" job on .gitlab-ci.yml does (see also the "build_apparmor" job). Should fully fix netblue30#3523. Relates to netblue30#772 netblue30#1205.
kmk3
added a commit
to kmk3/firejail
that referenced
this pull request
May 20, 2022
It is no longer needed, as ./configure is not used inside mkdeb.sh anymore. Relates to netblue30#1205.
kmk3
added a commit
to kmk3/firejail
that referenced
this pull request
May 27, 2022
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 netblue30#772. Relates to netblue30#1205 netblue30#5148.
kmk3
added a commit
to kmk3/firejail
that referenced
this pull request
May 27, 2022
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 netblue30#772. Relates to netblue30#1205 netblue30#5148.
kmk3
added a commit
to kmk3/firejail
that referenced
this pull request
May 27, 2022
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 netblue30#772. Relates to netblue30#1205 netblue30#5148.
kmk3
added a commit
to kmk3/firejail
that referenced
this pull request
May 29, 2022
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 netblue30#772. Relates to netblue30#1205 netblue30#3414 netblue30#5148.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See #772