[CXX-1647] Package the C++ Driver for Debian Created: 07/Sep/18  Updated: 28/Oct/23  Resolved: 13/Apr/20

Status: Closed
Project: C++ Driver
Component/s: Release
Affects Version/s: None
Fix Version/s: 3.4.1

Type: New Feature 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

Issue Links:
Depends
depends on CXX-1569 CXX ABI Blocked
Gantt Dependency
has to be done after CXX-1076 Generate .deb with CPack and make ava... Closed
Related
related to CXX-1648 Package the C++ Driver for Fedora/RedHat Closed

 Comments   
Comment by Roland Deschain [ 14/Apr/20 ]

Thanks for the update, highly appreciated!

Comment by Roberto Sanchez [ 13/Apr/20 ]

The Debian package has been accepted: https://tracker.debian.org/pkg/mongo-cxx-driver

Comment by Roberto Sanchez [ 13/Apr/20 ]

kellard0or@gmail.com, here is the documentation I promised back in February: https://community.mongodb.com/t/c-and-c-driver-for-debian-ubuntu-users/2732/2

Comment by Roberto Sanchez [ 30/Mar/20 ]

I have uploaded version 3.4.1-1, which includes corrections requested by the Debian FTP Master team. It is pending final review and acceptance into Debian.

Comment by Roberto Sanchez [ 06/Feb/20 ]

The point that I was trying to make regarding the targeting of Debian experimental is that the package will not automatically synchronize to Ubuntu. Once a stable ABI is declared, then we will upload to Debian unstable. At that point then the C++ driver package will be automatically synchronized into the Ubuntu universe component. But that will likely be quite some time from now. In addition, the C++ driver package will not be included in any Ubuntu versions that have been release prior to that future point when it is synchronized from Debian.

Comment by Roland Deschain [ 05/Feb/20 ]

Alright, good luck then with the new upload

As for the Ubuntu compatibility I noticed for example that the dependency libmongoc-dev (>= 1.13.0) would not be satisfied at the moment because only version 1.9.2 is available.

 

I can look into documenting the process for building the package on Ubuntu once it is in its final form.

This would be highly appreciated.

Comment by Roberto Sanchez [ 05/Feb/20 ]

kellard0or@gmail.com we are aware of the situation. A few weeks ago the Debian FTP masters rejected the first upload. I have one or two other tasks to complete before I can return to this to make the necessary revisions and then make a new upload; I am hopeful that the revised upload is accepted.

Packages in Debian usually automatically migrate into Ubuntu after a few weeks. However, because we have not yet declared a stable ABI for the C++ driver, we are targeting the experimental distribution of Debian. So far as I know, Ubuntu does not automatically synchronize packages from Debian experimental. I can look into documenting the process for building the package on Ubuntu once it is in its final form.

Comment by Roland Deschain [ 05/Feb/20 ]

Just a quick heads-up: The https://ftp-master.debian.org/new/mongo-cxx-driver_3.4.0-1.html link is not working at the moment. Maybe this affects the acceptance process?

A related question: Are there plans to also release the mongocxx driver on Ubuntu (Bionic)? A quick search here on Jira did not turn up an issue for that. Of course, once the Debian package is finished, one could install it also under Ubuntu but the dependencies looked a bit challenging to resolve at a first glance.

Comment by Roberto Sanchez [ 13/Feb/19 ]

The Debian package has been built and uploaded. Status is available here: https://ftp-master.debian.org/new/mongo-cxx-driver_3.4.0-1.html

I will leave this ticket open until the package passes the NEW queue and is accepted in the Debian archive,

Comment by Githook User [ 13/Feb/19 ]

Author:

{'name': 'Roberto C. Sánchez', 'email': 'roberto@connexer.com', 'username': 'rcsanchez97'}

Message: CXX-1647 package c++ driver for Debian, prepare for next version
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/eefb84e76b0accffe374abe8bd18dd3dcaf43c34

Comment by Githook User [ 13/Feb/19 ]

Author:

{'name': 'Roberto C. Sánchez', 'email': 'roberto@connexer.com', 'username': 'rcsanchez97'}

Message: CXX-1647 package c++ driver for Debian
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/9197c995f4a8cff4bccc5a329fc8b9839091bc89

Comment by Roberto Sanchez [ 25/Nov/18 ]

Since we still do not have a stable ABI (CXX-1569) I have inquired on the Debian Developers list about how we might best handle the situation. I still think that uploading to experimental is best as it will allow greater flexibility without the risk of being disruptive to those expecting the greater stability of a package in unstable/testing. The thread on the developers list starts here: https://lists.debian.org/debian-devel/2018/11/msg00553.html

Comment by Roberto Sanchez [ 25/Nov/18 ]

That makes things somewhat easier. Thanks for the clarification.

Comment by A. Jesse Jiryu Davis [ 25/Nov/18 ]

Great! I got a notice via the mongo-cxx-driver-debian Google Group of the intent to package.

If we've handled things correctly, mongo-cxx-driver-dev won't depend on libmongoc-dev or libbson-dev, only on libmongoc and libbson. The C++ Driver uses the C Driver only for implementation, with no leakage of the C Driver's API into the C++ Driver's API. None of the C++ Driver's public headers include any C Driver headers.

It's theoretically possible to someday swap out the C Driver for another implementation without affecting the C++ Driver's API. We won't actually do that, but it's a good mental model of the separation between the two drivers.

Comment by Roberto Sanchez [ 25/Nov/18 ]

Here is the Debian intent to package bug: https://bugs.debian.org/914573

Generated at Wed Feb 07 22:03:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.