[CDRIVER-2818] cmake find_package uses incorrect path on Ubuntu 18 Created: 08/Sep/18 Updated: 28/Oct/23 Resolved: 10/Sep/18 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | packaging |
| Affects Version/s: | 1.9.5 |
| Fix Version/s: | 1.10.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | A. Jesse Jiryu Davis | Assignee: | Roberto Sanchez |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Roberto, at your leisure could you investigate the bug reported here?: https://bugs.launchpad.net/ubuntu/+source/libmongoc/+bug/1790771 |
| Comments |
| Comment by A. Jesse Jiryu Davis [ 10/Sep/18 ] |
|
Thanks Roberto! We'll consider this fixed then and Ubuntu users will eventually receive the fix. |
| Comment by Roberto Sanchez [ 10/Sep/18 ] |
|
Actually, I just realize that I made a mistake in my last comment. I wrongly took the 1.9.5 version to indicate a Debian package instead of an Ubuntu package. The current Debian stable release has 1.4.2, which does not have the bug in question (because it did not ship a CMake script). So, only Debian testing/unstable is affected by this. We have a 1.11.0 package waiting in the NEW queue and this bug will be fixed in Debian when that package is approved and makes it into the archive. That will eventually filter into Ubuntu, but I do not know if will be soon enough for the 18.10 release. I doubt it will be. Though, given the low reported usage of the official packages on Ubuntu I still think it is not worth trying to through the point release update process there. So, there is nothing to do here. Would it be appropriate to close this ticket, or is there some other action I am missing? |
| Comment by A. Jesse Jiryu Davis [ 10/Sep/18 ] |
|
Thanks! Please start the gears turning for a Debian fix, at your convenience. |
| Comment by Roberto Sanchez [ 10/Sep/18 ] |
|
In terms of upstream work, the patch would be trivial as it it is just a cherry-pick of a commit (or part of a commit). However, the process for getting a non-security fix into a stable Debian release has several steps involved. The first step would be to get a determination from the stable release managers that the proposed fix would be acceptable for the next point release. The process for Ubuntu is likely very similar. Whether or not it is worthwhile in terms of the effort required to make the update to a Debian/Ubuntu point release is a determination you will need to make based on how many users you think might be affected by this (i.e., they are using the Debian/Ubuntu packages in a CMake project). To give you an idea, the Debian popcon report for libmongoc shows about 850 installations (libbson has about the same number as well). It is well known that few people participate in popcon, so a 10x factor is usually applied to get a "more realistic" number. Of course, this may still under represent large deployments. Still, call it 10,000 installations just on Debian. The proportion of users affected by the bug is still unknown because we can't determine from that information how many use the library in an autotools fashion (which doesn't have this problem) versus those using CMake. There is also the number of Ubuntu installations to consider. The popcon report for Ubuntu only shows 10 installations, but I do not know the estimation factor for converting that to a "real" number of users. Based on just the numbers, a fix for Debian looks to make sense, while a fix to Ubuntu does not. |
| Comment by A. Jesse Jiryu Davis [ 10/Sep/18 ] |
|
Thanks very much for investigating! We're not going to do any more actual releases in the 1.9.x branch now, do you think it's worthwhile to submit a fix just for the Debian packages in 18.04 (currently 1.9.2+dfsg-1build1) and 18.10 (currently 1.9.5+dfsg-1)? |
| Comment by Roberto Sanchez [ 10/Sep/18 ] |
|
jesse, this bug originates from the old manually written code in libbson-1.0-config.cmake.in that emulated the way autotools calculated directory names. I suspect that it never worked quite right. In any event, this was changed in commit 2a18b4cc739ca3f8eae8bb6162b8f3968451734b prior to the release of 1.10.0 and is not an issue in newer libbson and libmongoc versions. However, the fact remains that it is a bug in Ubuntu 18.04. I suspect that it might be possible to do a targeted update to the libbson and libmongoc (version 1.9.2) in that release. Is that something that we should investigate? Otherwise, users of those packages will have to specify the directories/locations manually (which largely defeats the purpose of the CMake package script). |