-
Notifications
You must be signed in to change notification settings - Fork 91
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 support for devuan, ccache, eatmydata, git format #125
base: master
Are you sure you want to change the base?
Conversation
Thanks for this PR! It includes great features which I'd absolutely like to have in j-d-g available out of the box! There are some minor things I'd like to change though:
I just need some more time to think about it and merge it with configs from some of my customer setups, so please give me some more time until I can finalize + merge this PR. PS: Is there any chance that someone of the devuan team is at debconf15? I'll give a talk about j-d-g (https://summit.debconf.org/debconf15/meeting/286/continuous-delivery-of-debian-packages/) and I'm waiting for acceptance of a j-d-g BoF session as well where contributors of j-d-g will meet and I'd love to have someone of devuan attend the session as well! Thanks! 👍 |
Hello Mika, For the "devuan" specific package, it isn't our specific config, we use a more complex one, it's a standard config for who want to build packages for devuan, assuming even a debian or ubuntu use can do that without installing devuan. For debian and ubuntu there are some hardcoded checks if i remember right, for devuan, as it set some things like the needs of a different keyring, i preferred to let it as an optional external package, i think it can be accepted even in case of addition on debian. Anyway, feel free to remove the changes for that ( basically 2 lines in debian/rules, the "devuan" directory, the .install file and the package declaration in the control file ) and, in this case, i will split it to a separate package distributed by our repository. for debconf15 i don't know if anyone from devuan will go, i will be at more than 10k km from germany, but in case i will let you know For our devuan jdg setup, we maintain our package here: https://git.devuan.org/devuan-infrastructure/jenkins-debian-glue and our build cluster use it at https://ci.devuan.org Thanks! |
echo 'if [ -z "$LD_PRELOAD" ]; then' >> "$pbuilderrc" | ||
echo ' LD_PRELOAD=libeatmydata.so' >> "$pbuilderrc" | ||
echo 'else' >> "$pbuilderrc" | ||
echo ' LD_PRELOAD="$LD_PRELOAD":libeatmydata.so' >> "$pbuilderrc" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can use LD_PRELOAD="${LD_PRELOAD:+$LD_PRELOAD:}libeatmydata.so"
instead of the if thing
JFTR, I didn't forget about that but need further time to work on this since e.g. support on older distributions needs to be tested as well. I'll try to get towards it ASAP. |
… match) + ccache eatmydata support gets enabled by default if it's installed on the host system and when building for a recent Debian/Ubuntu version (Debian/jessie + Ubuntu/vivid or newer). Usage can be forced via USE_EATMYDATA=true and disabled via USE_EATMYDATA=false. ccache support can be enabled via USE_CCACHE=true Thanks to Franco (nextime) Lanza for the initial patch in #125
The eatmydata + ccache support is implemented as of 220f87e Looking at the rest now. |
Provide a way to limit the size of the git clone for git format packages, this is very usefull for packages with a huge commit history. Thanks: Franco (nextime) Lanza <[email protected]> for the initial patch
Provide a way to limit the size of the git clone for git format packages, this is very usefull for packages with a huge commit history. Thanks: Franco (nextime) Lanza <[email protected]> for the initial patch
I just took care of the git source format thingy in: 6658d9a Some notes about it:
What do you think of my branch, does that implement what you'd need? |
Hi @nextime, did you notice my recent work WRT to your PR? Any chance you could take a look at it? |
hello @mika sorry for the late response, i was in a long working trip around the world and really busy, i'll look at it tonight (italian timezone) but seems good at first look, thanks! |
Hej @nextime, no worries at all, take your time, just wanted to make sure it doesn't get lost/forgotten. :) Looking forward to your feedback and greetings towards Italian from Austria. :) |
@mika seems good for me:
Thanks for your time and j-d-g! |
I think that the vendor specific config/behavior could be integrated upstream by using the dpkg-vendor logic. So by default it would use the default vendor, which could be overridden via DEB_VENDOR as usual. This would allow for a somewhat vendor-neutral upstream, and something easy to maintain even in Debian or on downstreams. Just putting this out there. :) |
@mika maybe close this issue ? :) |
As we in devuan build packages intensively, performances are needed, so, with this pull request we add:
Also, we add a jenkins-debian-glue-buildenv-devuan optional package that install some files specific for devuan packages
Last but not least, we introduce a way to limit the size of the git clone for git format packages, this is very usefull for packages with a huge commit history.
Enjoy!