[master] Update "deb" packaging to use "dh_installsystemd"#686
[master] Update "deb" packaging to use "dh_installsystemd"#686thaJeztah merged 1 commit intodocker:masterfrom
Conversation
|
Some failures on raspbian buster (could that be "too old"?) Let me kick CI again, just in case it was a glitch |
| @@ -0,0 +1 @@ | |||
| engine/contrib/init/systemd/docker.service No newline at end of file | |||
There was a problem hiding this comment.
How does this work? 🤔 Can the file contain the name of "actual file to look for"? Or is this just a "placeholder"? (trying to understand what this does)
There was a problem hiding this comment.
Oh sorry, this is a symlink! We could probably replace the other init scripts with symlinks too (if they're unchanged from what's in moby/moby).
There was a problem hiding this comment.
Oh! LOL
Didn't expect it to show up as a regular file in github's UI 🤦♂️😂
There was a problem hiding this comment.
Yeahhhhh, I really wish symlinks were more obviously labelled in diffs, but at least it shows something! 😄
deb/debian-buster/Dockerfile
Outdated
| ARG DEBIAN_FRONTEND=noninteractive | ||
| RUN apt-get update && apt-get install -y curl devscripts equivs git | ||
| ARG SUITE | ||
| RUN apt-get update && apt-get install -y curl devscripts equivs git debhelper/${SUITE}-backports dwz/${SUITE}-backports |
There was a problem hiding this comment.
what's the dwz/ ? Is that something defined by deb_helper ?
There was a problem hiding this comment.
Ah yeah, I should've explained better -- dwz is a dependency used by debhelper, and when we pull in the newer debhelper, we also need the newer dwz (the failure noted in #686 (comment) is related -- it needs the same change, but Raspbian has no backports so uh, this gets complicated and might force this PR to be reworked / abandoned for now 🙈).
There was a problem hiding this comment.
We could go to debhelper-compat version 12 instead, and then Buster would no longer need backports, but then we run into bugs with dh_dwz (which frankly, even if it works correctly, won't be doing anything), so we'd have to also add override_dh_dwz that's a no-op. It's probably worth updating this to that so you can see that (perhaps in a separate commit so you can see both?).
7626726 to
2398dd7
Compare
This also removes the now-obsolete upstart script and updates the "debhelper compat level" to 12 (which necessitates adding "override_dh_dwz" -- safe to remove once we can update to debhelper-compat 13+). (See also https://lists.debian.org/debian-devel-announce/2020/02/msg00000.html) Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
2398dd7 to
f9ac2f6
Compare
|
Latest push removes the Also, in case I didn't say it explicitly, this is not suitable to backport to the 20.xx branches as-is (we'll have to revisit that |
|
Now the only part of this I'm not sure about is the expanded GitHub Actions matrix (which I'm happy to trim back down). 👍 |
Probably fine for now; we created that action to do some initial testing. Those jobs run in parallel, so shouldn't make CI longer to run (and eventually we want to just have CI run on actions - no support for non-x86 though yet) |
|
Hmm... I suspect this change may have introduced an issue in our "verify" step in the internal pipeline (which we should still upstream to this repository 😞) DetailsPossibly because that install check is using offline packages (before they're published) That dependency was already added long time ago (and is already in 20.10); #571 Previously we did things manually, and possibly the automated bits don't take some of this into account? |
|
So, I'm likely able to fix it in our verify script, but want to understand "what changed" (and if it's indeed to be expected, so just a missing thing in the verify script). I'm doing a build of ubuntu bionic (18.04) before/after this change, and try to find the differences in the packages before/after (metadata, post install scripts, etc). |
|
Can't find any differences, or at least, can't find anything that stands out 🤔 Did a compare between cd before; for f in *.deb; do dpkg-deb -I $f >> $f.txt; done; cd ../
cd after; for f in *.deb; do dpkg-deb -I $f >> $f.txt; done; cd ../
cd before; for f in *.deb; do mkdir "${f%.*}"; dpkg-deb -R $f "${f%.*}"; done; cd ../
cd after; for f in *.deb; do mkdir "${f%.*}"; dpkg-deb -R $f "${f%.*}"; done; cd ../ |
|
For future reference; this is what the same (on a test-build of docker 22.04) looked like DetailsAnd the new one (failure) DetailsOOOOOOH, and I now see the actual failure; |
|
And looks like others ran into that issue; sipwise/rtpengine#848
And this one https://lintian.debian.org/tags/skip-systemd-native-flag-missing-pre-depends |
|
Seems related to https://man7.org/linux/man-pages/man7/debhelper.7.html
|
|
For continuity here, copying #699 (comment):
|
This also removes the now-obsolete upstart script and updates the "debhelper compat level" to 13.
(See also https://lists.debian.org/debian-devel-announce/2020/02/msg00000.html)
Opened as a draft because it's still a WIP -- in theory, this should help with issues like moby/moby#41792 (by triggering
debhelperto generate the appropriatesystemctlcommands in ourpostrm).If this is something we want to actually pursue/merge, we probably want to revert the change to
.github/workflows/ci.yml(which I included just so I could make sure I was successfully building on all the things), and we'll need to updatedeb/common/docker-ce.maintscriptto include the correct "next" version number (see https://manpages.debian.org/bullseye/debhelper/dh_installdeb.1.en.html#package~8 and https://manpages.debian.org/bullseye/dpkg/dpkg-maintscript-helper.1.en.html#Removing_a_conffile / https://manpages.debian.org/bullseye/dpkg/dpkg-maintscript-helper.1.en.html#prior-version).I have not done any testing yet on the actual end result (I was already stretching to squeeze in doing commits periodically to get it to build successfully 🙈).
cc @thaJeztah