[MDEV-5977] MariaDB 10.0 is not installable on Trusty when "trusty-updates universe" is in sources.list Created: 2014-03-28 Updated: 2015-07-18 Resolved: 2015-06-17 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Packaging, Platform Debian |
| Affects Version/s: | 10.0.9 |
| Fix Version/s: | 10.0.20 |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | packaging | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
Ubuntu recently released MariaDB 5.5.36 in their trusty-updates universe repo. Now, if some MariaDB 5.5 is installed on the machine (either MariaDB's or Ubuntu's package), and if trusty-updates universe repo is present in sources.list (which it is by default), MariaDB 10.0 cannot be installed in a normal way:
However, installing core packages separately works, and they pull the rest along with them:
...
Just in case it helps, here is some information about packages on which installation breaks:
Our mariadb-server-5.5:
Ubuntu's mariadb-server-5.5:
My best guess is that it has something to do with what MariaDB 5.5 provides and what MariaDB 10.0 replaces/conflicts with. |
| Comments |
| Comment by Otto Kekäläinen [ 2014-03-28 ] | |
|
This turned out to be a rather complex chaing of conflicting 'Conflicts' and 'Provides' in the control file and between two generations of Debian packaging (old in mariadb.org and new in Debian/Ubuntu). Instead of doing a risky fix quickly, I suggest just to release as is, and put this in release notes:
| |
| Comment by Elena Stepanova [ 2014-03-28 ] | |
It is not the whole problem. As the description says, upgrade from MariaDB's MariaDB 5.5 to MariaDB's 10.0 is also affected. | |
| Comment by Otto Kekäläinen [ 2014-03-30 ] | |
|
I've yesterday created a solution for this, but need help to test more to ensure there are no regressions somewhere. To domain is rather complex and I've done this under as an emergency solution under pressure and while attending a conference/coding event.. 1) Take a virtual Ubuntu 14.04 installation which has the Ubuntu native mariadb-server (5.5) installed
For me this works, but I haven't had time to do variations or redo everything on a perfectly clean install of Ubuntu 14.04. If this works for you too, then take the file created at http://labs.seravo.fi/~otto/mariadb-repo/MDEV-5977/control and replace the current control files in lp:maria/trunk/debian/dist/*/ | |
| Comment by Elena Stepanova [ 2014-04-03 ] | |
|
I gave the suggested fix a try on buildbot (10.0-elenst tree). The issue is the dependencies, in this case libboost-dev and libjemalloc-dev. We do have boost on the machine, but it was installed from source; and we don't have jemalloc, but it builds just fine with the bundled one. I don't think we can re-configure all build machines just for the sake of the new control files. | |
| Comment by Otto Kekäläinen [ 2014-04-03 ] | |
|
As Buildbot does not handle installing build dependencies automatically, you should run manually the commands to install them. In this case simply running 'sudo apt-get install libboost-dev libjemalloc-dev' should be enough. These are both available in Debian, no source installs required. | |
| Comment by Elena Stepanova [ 2014-04-03 ] | |
|
But why should we do it? I'll leave this to serg to decide, to me it does not sound like a reasonable requirement. | |
| Comment by Otto Kekäläinen [ 2014-04-04 ] | |
|
Thanks for your feedback! If you want to build in customized ways that differ from how a Debian or Ubuntu build machine would do it, then you can remove from the files the build dependencies you want. But would it not be best if as much as possible of the Debian packaging and building was standardized across Debian, Ubuntu, X, Y, Z and MariaDB.org deb package releases? The out-of-box-experience should be as good as possible and packages building correctly by default in as many places as possible? If somebody wants to do something custom, aren't they most likely to build and install from sources all of MariaDB, or maybe in special case download sources, modify the debian/* contents and then build for their own deployment scenario? Shouldn't the contents of debian/* in MariaDB repositories be the most optimized and most featureful version, the default that fully works which others can then diverge from? If we leave out important build dependencies from the control file then building deb packages will be "broken" out of the box. For example an undefined libboost-dev will fail the .deb build process in a later step when ha_oqgraph.so is not found. About libjemalloc: if you think it would be better to use the built in version, please tell me what are the correct build arguments (in debian/rules file) and I'll switch to using that style in Debian and Ubuntu. Some version of libjemalloc should be there by default, otherwise the out-of-the-box default is broken on multiple architectures. | |
| Comment by Elena Stepanova [ 2014-04-04 ] | |
|
As I said, I'll leave it to serg to decide. I have a side note though. Current mariadb installation from Trusty universe (without any involvement of MariaDB repos) works strange. I install mariadb-server, which is currently 5.5.36-1, and through dependencies it pulls libmysqlclient18. Only I guess Trusty repo does not have libmysqlclient18, so it pulls one from MySQL, which is 5.5.35+dfsg. This is just weird, MariaDB 5.5 is not a drop-in replacement anymore, as apparently can't be installed without upstream MySQL. | |
| Comment by Otto Kekäläinen [ 2014-05-11 ] | |
|
Serg: I can take care of this if you want, and maybe you can help by simply | |
| Comment by Sergei Golubchik [ 2014-05-22 ] | |
|
otto, right, but it needs to be assigned to me if I am to review it. Otherwise it won't show up in searches when I look for tasks to do, I simply won't know it's waiting for me. | |
| Comment by Sergei Golubchik [ 2014-07-03 ] | |
|
otto, I don't quite understand some of the changes you've done, could you please explain?
| |
| Comment by Otto Kekäläinen [ 2014-07-04 ] | |
|
As said in the comment https://mariadb.atlassian.net/browse/MDEV-5977?focusedCommentId=45512&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-45512 the linked new version of control file was made hasty to a urgent need I was notified about. For your two first questions I don't remember the reason now 3 months later. Thanks for spotting them, they might very well be sour changes. To your third question: these provides messed up the automatic install/upgrade of MariaDB and MySQL in Debian. Now the provides and breaks and replaces are supposed to be optimal. Virtual-mysql-client is a new virtual provides that was agreed upon in Debian. The root cause of this bug ( Once that is done I'll do a new merge request that does almost the same changes for 10.0 series, and after that for 10.1 series. While merging these I assume a lot of bugs will be fixed and can be closed in JIRA. However there are a lot of moving parts so I hope to do the 5.5 series first and perhaps iterate it until the same basis is used to do a merge request for 10.0 and 10.1 series. | |
| Comment by Sergei Golubchik [ 2014-07-04 ] | |
|
For the record: I tried to remove unrelated changes from your control file and get a minimal patch. Conflicts/Breaks changes are obviously necessary. But it turns out that Provides changes are required too. | |
| Comment by Elena Stepanova [ 2014-11-12 ] | |
|
It's been 5 releases and counting, our upgrade is still broken on Trusty. | |
| Comment by Otto Kekäläinen [ 2014-11-12 ] | |
|
I am sorry but I can't make this any faster as higher priorities like getting 10.0 into Debian Jessie and Ubuntu security upgrades eat up my little time. Considering that Sergei made a big review on my git repo with the Debian packaging this summer and since then all (or at least most) of the things Sergei commented are fixed plus a million other fixes, could somebody else maybe step in and start moving the contents from my debian/* to upstream to close https://github.com/ottok/mariadb-5.5 | |
| Comment by Sergei Golubchik [ 2015-06-17 ] | |
|
affects utopic as well |