-
Notifications
You must be signed in to change notification settings - Fork 238
Autobuild: Fix broken .deb dependencies / Fix uninstallable 3.8.2 on Ubuntu 18.04 #2423
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
Autobuild: Fix broken .deb dependencies / Fix uninstallable 3.8.2 on Ubuntu 18.04 #2423
Conversation
The autobuild-produced Debian/Ubuntu packages use another `debian/control` file than manual builds. This is done by copying a special copy of the `control` file to the right place. 86807c1 mistakenly removed this logic. This results in broken dependencies (especially visible on Ubuntu 18.04) and wrong maintainer information. Fixes jamulussoftware#2422
|
The deb from https://github.com/hoffie/jamulus/actions/runs/1884500159 (0f9e948) installs for me on Ubuntu 18.04 (should be identical to this PR's artifact). So this PR fixes #2422. |
|
@npostavs If you could have a look here to confirm that the |
Hmm, for some reason¹ the checks in this PR list a totally different commit ID than my branch: https://github.com/jamulussoftware/jamulus/runs/5296375135?check_suite_focus=true Therefore, we can't use those packages 1:1. This run on my repo/branch would work though: https://github.com/hoffie/jamulus/actions/runs/1884500159 ¹ Maybe some auto-rebase by Github? |
Hmm, I think I copied it from @ann0see's patch in #1767; I agree it looks like a mistake. |
ann0see
left a comment
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.
Yes. Seems like a mistake. I would replace the deb file and give a small announcement
|
Yep, I'd go with "a -1 suffix" -- assuming the default deb didn't have a suffix. Otherwise, increment the suffix. lwks-12.5.0-amd64.deb would go to lwks-12.5.0-1_amd64.deb for a patch release. (Why am I keeping ancient .deb files in my Downloads directory..?) |
If we wanted to do that properly (probably a good idea...), then we'll have to bump debian_revision via an additional changelog entry: https://docs.huihoo.com/debian/manuals/maint-guide/ch-update.en.html#s-newrevision I can do that on a temporary tag or branch. |
|
OK, so:
Then, once it's built, we need the existing 3.8.2 release note updated. (Should we be using "ubuntu" in the .deb name, by the way?) Right? |
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.
Approving this as the correct fix to master. I think the ChangeLog entry is only needed in master, not for a revised 3.8.2 release, as the bug was just a regression, and there was no intended change from 3.8.1.
Happy just to replace the debs with working ones in the existing release page - both standard and headless. I don't have a strong view about whether to change the filename.
|
I've also verified on a new Ubuntu18 VM that the current release debs don't install, and @hoffie's ones from https://github.com/hoffie/jamulus/actions/runs/1884500159 do install fine. |
|
Ideally our CI/CD processes would catch things like this as regressions to stop them happening again. How long would it take to have a step spin up an Ubuntu docker image and install the .deb, checking it (a) installed okay; (b) runs on the default port; (c) a client (inside the container) can connect to it. All headless. |
|
Certainly testing like that is possible. But how would we check this specifically? |
|
The deploy would fail. If it fails, it needs fixing. It could fail for many reasons. It could install and still not work, hence the "can a client connect" check. We're not checking a "real" deploy - with firewalls, etc - just a sanity check. |
|
ok. So something like
|
|
Yeah. I don't know how headless client works too well, to be honest - the "zero status code" might be tricky :). |
|
Yes. That’s why a timeout would be good. Or we could abuse json-rpc |
Having that in would really help for testing. |
Well this issue was the debs were uninstallable. Since we are building on a fresh ubuntu-18, it should be possible just to try |
|
CHANGELOG: Bug: Fix dependency issue to allow Jamulus being installed on Ubuntu 18.04 (ported from last release to upstream) |
|
@pljones I just shortened the changelog. |
|
"(ported from last release to upstream)" is wrong. We don't have an upstream. If someone else who packages our build changes our build, they are downstream of us and we're backporting. Was this specific to 18.04 (i.e. no earlier or later version)? |
|
I think the issue only appeared on this specific version. |
|
OK. It shouldn't really have been done that way around - it should have been tested on a branch, merged to master, then back ported to created the 3.8.2.1 release... I'll go with: |
|
That’s also ok. |
Short description of changes
The autobuild-produced Debian/Ubuntu packages use another
debian/controlfile than manual builds. This is done by copying a special copy of thecontrolfile to the right place.86807c1 (squash of 3dadf23 and others) from #2138 mistakenly (I think?) removed this logic.
This results in broken dependencies (especially visible on Ubuntu 18.04) and wrong maintainer information:
We should also decide what to do regarding 3.8.2:
I'd tend towards option 1.
Context: Fixes an issue?
Fixes #2422
Does this change need documentation? What needs to be documented and how?
Yes:
Status of this Pull Request
Needs verification/testing.
What is missing until this pull request can be merged?
Needs verification/testing.
Checklist