[MDEV-11355] Debian dist-upgrade test does not work when new dependencies are introduced Created: 2016-11-25 Updated: 2021-01-16 |
|
| Status: | Stalled |
| Project: | MariaDB Server |
| Component/s: | Platform Debian, Tests |
| Affects Version/s: | N/A |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Minor |
| Reporter: | Elena Stepanova | Assignee: | Elena Stepanova |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Description |
|
In order to keep dist-upgrade limited to MariaDB only, to avoid lengthy system-wide upgrades, after initial installation the test removes from sources.list everything, except for the local repo. Normally it works fine, because a previous minor version has already been installed. So, it also serves as an additional check that no new dependencies have been introduced, because normally a minor upgrade should not bring any. But pre-GA versions are allowed to have new dependencies, e.g. current 10.2.3 wants libnuma1, which cannot be installed without default repos, so the test fails.
Ideally, it would be good to find a smarter way to limit dist-upgrade than to remove all repos from the list. Pinning repos with low priority isn't simple because we don't know in advance which exact repos are present on the list, so it might require some tricky parsing. It should be doable though if there is no other way. |
| Comments |
| Comment by Elena Stepanova [ 2016-11-25 ] |
|
As a quick workaround, I've changed dist-upgrade to minor upgrade (install current packages over the last release of the same major version). Since it does not involve system upgrade, there is no need to disable default repos. Still, it would be good to have dist-upgrade among tests, because sometimes it behaves differently from install. I'll keep it open until we have a good solution for it. |
| Comment by Daniel Bartholomew [ 2016-11-28 ] |
|
I can install libnuma1 on whatever VMs it is needed on. |
| Comment by Elena Stepanova [ 2016-11-28 ] |
|
I understand, but I also want to find a general solution for the problem. Running dist-upgrade without default repos is not the right thing to do, it was done this way because I didn't know any better (and still don't). |
| Comment by Elena Stepanova [ 2016-12-01 ] |
|
Thinking about it, maybe it's actually a good thing that the test is run without repos. We just shouldn't run it for pre-RC versions. So, the plan is, to have both
Unfortunately, buildbot does not know which are GA and which are not, so it will have to be configured manually, but new major releases don't happen so often, so it's not a big problem. Thus, there should be no need to pre-install libnuma1. The minor upgrade test runs with default repos enabled, so it should be able to pull the library as a dependency. When the release approaches GA, the previously released version should already have all dependencies, so they will be pulled when we install X.Y.Z (it happens while default repos are still enabled). We disable the repos after that, but it shouldn't matter, because there must be no new dependencies for X.Y.Z+1. |
| Comment by Elena Stepanova [ 2021-01-16 ] |
|
There is now a variant of minor-upgrade test "deps" (stands for dependencies) which run the upgrade with default repos disabled, to ensure that no dependencies are introduced in a post-RC release. |