Skip to content

Commit 9197c99

Browse files
committed
CXX-1647 package c++ driver for Debian
1 parent 4338fe3 commit 9197c99

21 files changed

+306
-1
lines changed

.gitattributes

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,3 @@ examples/projects/mongocxx/pkg-config/static/build.sh eol=lf
1313
/.* export-ignore
1414
/appveyor.yml export-ignore
1515
/TODO.md export-ignore
16-
/Doxyfile export-ignore

debian/changelog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mongo-cxx-driver (3.4.0-1) experimental; urgency=low
2+
3+
* Initial release (Closes: #914573)
4+
5+
-- Roberto C. Sanchez <roberto@connexer.com> Tue, 29 Jan 2019 14:49:13 -0500

debian/compat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
11

debian/control

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
Source: mongo-cxx-driver
2+
Priority: optional
3+
Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
4+
Uploaders: A. Jesse Jiryu Davis <jesse@mongodb.com>,
5+
Kevin Albertson <kevin.albertson@mongodb.com>,
6+
Samantha Ritter <samantha.ritter@mongodb.com>,
7+
Roberto C. Sanchez <roberto@connexer.com>
8+
Build-Depends: debhelper (>= 11),
9+
cmake,
10+
libmongoc-dev (>= 1.13.0),
11+
libboost-dev,
12+
libsasl2-dev,
13+
libicu-dev,
14+
doxygen
15+
Standards-Version: 4.3.0
16+
Section: libs
17+
Homepage: http://mongocxx.org/
18+
Vcs-Git: https://github.com/mongodb/mongo-cxx-driver.git
19+
Vcs-Browser: https://github.com/mongodb/mongo-cxx-driver/tree/master
20+
21+
Package: libmongocxx-dev
22+
Section: libdevel
23+
Architecture: any
24+
Depends: libmongocxx-noabi (= ${binary:Version}),
25+
libbsoncxx-dev (= ${binary:Version}),
26+
libssl-dev,
27+
zlib1g-dev,
28+
libsnappy-dev,
29+
${misc:Depends}
30+
Description: MongoDB C++ client library - dev files
31+
libmongocxx is the officially supported MongoDB client library for C++
32+
applications.
33+
.
34+
This package contains all files necessary to develop applications which
35+
use libmongocxx.
36+
37+
Package: libmongocxx-noabi
38+
Architecture: any
39+
Depends: ${misc:Depends},
40+
${shlibs:Depends}
41+
Description: MongoDB C++ client library - runtime files
42+
libmongocxx is the officially supported MongoDB client library for C++
43+
applications.
44+
.
45+
This package contains the libmongocxx runtime libraries, for applications that
46+
have been built with libmongocxx.
47+
48+
Package: libmongocxx-doc
49+
Section: doc
50+
Architecture: all
51+
Depends: ${misc:Depends}
52+
Description: MongoDB C++ client library - documentation
53+
libmongocxx is the officially supported MongoDB client library for C++
54+
applications.
55+
.
56+
This package contains the documentation for libmongocxx and libbsoncxx.
57+
58+
Package: libbsoncxx-dev
59+
Section: libdevel
60+
Architecture: any
61+
Depends: libbsoncxx-noabi (= ${binary:Version}),
62+
${misc:Depends}
63+
Description: Library to parse and generate BSON documents - dev files
64+
libbsoncxx parses and generates BSON documents, the data format for
65+
MongoDB. It is a dependency for libmongocxx, the MongoDB client library,
66+
for which it provides BSON support as well as platform-compatibility
67+
functions and macros.
68+
.
69+
This package contains all files necessary to develop applications which
70+
use libbsoncxx.
71+
72+
Package: libbsoncxx-noabi
73+
Architecture: any
74+
Depends: ${misc:Depends},
75+
${shlibs:Depends}
76+
Description: Library to parse and generate BSON documents - runtime files
77+
libbsoncxx parses and generates BSON documents, the data format for
78+
MongoDB. It is a dependency for libmongocxx, the MongoDB client library,
79+
for which it provides BSON support as well as platform-compatibility
80+
functions and macros.
81+
.
82+
This package contains the libbsoncxx runtime libraries, for applications that
83+
have been built with libbsoncxx.

debian/copyright

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2+
Upstream-Name: mongo-cxx-driver
3+
Source: https://github.com/mongodb/mongo-cxx-driver/releases
4+
5+
Files: *
6+
Copyright: 2014-2019 MongoDB, Inc.
7+
License: Apache-2.0
8+
9+
Files: debian/*
10+
Copyright: 2015-2019 MongoDB, Inc.
11+
License: Apache-2.0
12+
13+
Files: src/third_party/catch/include/catch.hpp
14+
Copyright: 2017-2018 Two Blue Cubes Ltd.
15+
License: Boost-1.0
16+
Boost Software License - Version 1.0 - August 17th, 2003
17+
.
18+
Permission is hereby granted, free of charge, to any person or organization
19+
obtaining a copy of the software and accompanying documentation covered by
20+
this license (the "Software") to use, reproduce, display, distribute,
21+
execute, and transmit the Software, and to prepare derivative works of the
22+
Software, and to permit third-parties to whom the Software is furnished to
23+
do so, all subject to the following:
24+
.
25+
The copyright notices in the Software and this entire statement, including
26+
the above license grant, this restriction and the following disclaimer,
27+
must be included in all copies of the Software, in whole or in part, and
28+
all derivative works of the Software, unless such copies or derivative
29+
works are solely in the form of machine-executable object code generated by
30+
a source language processor.
31+
.
32+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
35+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
36+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
37+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
38+
DEALINGS IN THE SOFTWARE.
39+
40+
Files: src/third_party/catch/include/helpers.hpp
41+
Copyright: 2014 MongoDB, Inc.
42+
License: Apache-2.0
43+
44+
Files: src/third_party/catch/main.cpp
45+
Copyright: 2016 MongoDB, Inc.
46+
License: Apache-2.0
47+
48+
Files: src/bsoncxx/private/b64_ntop.hh
49+
Copyright: 1996, 1998 Internet Software Consortium
50+
1995 International Business Machines, Inc.
51+
License: ISC or Other-IBM
52+
53+
License: ISC
54+
Permission to use, copy, modify, and/or distribute this software for any
55+
purpose with or without fee is hereby granted, provided that the above
56+
copyright notice and this permission notice appear in all copies.
57+
.
58+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
59+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
60+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
61+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
62+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
63+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
64+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
65+
66+
License: Other-IBM
67+
Portions Copyright (c) 1995 by International Business Machines, Inc.
68+
.
69+
International Business Machines, Inc. (hereinafter called IBM) grants
70+
permission under its copyrights to use, copy, modify, and distribute this
71+
Software with or without fee, provided that the above copyright notice and
72+
all paragraphs of this notice appear in all copies, and that the name of IBM
73+
not be used in connection with the marketing of any product incorporating
74+
the Software or modifications thereof, without specific, written prior
75+
permission.
76+
.
77+
To the extent it has a right to do so, IBM grants an immunity from suit
78+
under its patents, if any, for the use, sale or manufacture of products to
79+
the extent that such products are used for performing Domain Name System
80+
dynamic updates in TCP/IP networks by means of the Software. No immunity is
81+
granted for any product per se or for any other function of any product.
82+
.
83+
THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES,
84+
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
85+
PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL,
86+
DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING
87+
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN
88+
IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
89+
90+
License: Apache-2.0
91+
Licensed under the Apache License, Version 2.0 (the "License");
92+
you may not use this file except in compliance with the License.
93+
You may obtain a copy of the License at
94+
.
95+
http://www.apache.org/licenses/LICENSE-2.0
96+
.
97+
Unless required by applicable law or agreed to in writing, software
98+
distributed under the License is distributed on an "AS IS" BASIS,
99+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
100+
See the License for the specific language governing permissions and
101+
limitations under the License.
102+
.
103+
On Debian systems, the complete text of the Apache version 2.0 license
104+
can be found in "/usr/share/common-licenses/Apache-2.0".
105+

debian/gbp.conf

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
[DEFAULT]
2+
pristine-tar = False
3+
no-create-orig = True
4+
pbuilder = True
5+
6+
prebuild = bash -c "
7+
# Show execution trace
8+
set -x &&
9+
# Use debian/changelog (not VERSION_CURRENT) to get upstream version to build
10+
upstream_version=$(dpkg-parsechangelog | sed -E -n 's/^Version: +(.*)-.*/\1/p') &&
11+
# Determine list of embedded sources to exclude from Debian source package
12+
js_filter_files=\"$(find docs/themes/mongodb -printf "mongo-cxx-driver-\${upstream_version}/%p ")\" &&
13+
js_rm_files=\"$(find docs/themes/mongodb/ -printf '%p ')\" &&
14+
# Determine if we are on a release branch and set the reference to use later
15+
# to create the upstream tarball (when on a release branch use the most
16+
# recent release tag, and when on any other branch use HEAD)
17+
release_branch=$(cd $GBP_GIT_DIR/..; git symbolic-ref --short HEAD | sed -n '/^v[0-9]\./p') &&
18+
if [ -n \"\${release_branch}\" ]; then archive_ref=$(cd $GBP_GIT_DIR/..; git describe --tags --abbrev=0 --match 'r3.*'); else archive_ref=HEAD; fi &&
19+
# Create upstream tarball from reference, exclude items that do not belong
20+
pushd $GBP_GIT_DIR/.. &&
21+
ls -1 &&
22+
git archive --format=tar --prefix=mongo-cxx-driver-\${upstream_version}/ \${archive_ref} | tar -f - --delete mongo-cxx-driver-\${upstream_version}/debian \$js_filter_files | gzip > $GBP_BUILD_DIR/../mongo-cxx-driver_\${upstream_version}.orig.tar.gz &&
23+
popd &&
24+
rm -rf \$js_rm_files"
25+
26+
upstream-tree = BRANCH
27+
upstream-branch = releases/stable
28+
upstream-tag = %(version)s
29+
debian-branch = releases/stable

debian/libbsoncxx-dev.dirs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
usr/lib
2+
usr/include

debian/libbsoncxx-dev.install

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
usr/include/bsoncxx*
2+
usr/lib/*/libbsoncxx*.so
3+
usr/lib/*/pkgconfig/libbsoncxx*
4+
usr/lib/*/cmake/libbsoncxx*

debian/libbsoncxx-noabi.dirs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
usr/lib

debian/libbsoncxx-noabi.install

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
usr/lib/*/libbsoncxx*.so.*
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Chosen not to maintain a symbols file, we'll check ABI stability with other
2+
# tools.
3+
libbsoncxx-noabi: no-symbols-control-file
4+
5+
# False positive on the spelling error
6+
libbsoncxx-noabi: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libbsoncxx.so.3.4.0 ment meant

debian/libmongocxx-dev.docs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
README.md

debian/libmongocxx-dev.install

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
usr/include/mongocxx*
2+
usr/lib/*/libmongocxx*.so
3+
usr/lib/*/pkgconfig/libmongocxx*
4+
usr/lib/*/cmake/libmongocxx*

debian/libmongocxx-doc.doc-base

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Document: libmongocxx-doc
2+
Title: libmongocxx Documentation
3+
Author: MongoDB, Inc.
4+
Abstract: Documentation for developing with the MongoDB C++ Driver
5+
Section: Programming
6+
7+
Format: HTML
8+
Index: /usr/share/doc/libmongocxx-dev/api/current/index.html
9+
Files: /usr/share/doc/libmongocxx-dev/api/current/*.html

debian/libmongocxx-doc.docs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build/docs/api

debian/libmongocxx-noabi.install

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
usr/lib/*/libmongocxx.so.*
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Chosen not to maintain a symbols file, we'll check ABI stability with other
2+
# tools.
3+
libmongocxx-noabi: no-symbols-control-file
4+
5+
# False positive on the spelling error
6+
libmongocxx-noabi: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libmongocxx.so.3.4.0 ment meant

debian/rules

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/make -f
2+
# See debhelper(7) (uncomment to enable)
3+
# output every command that modifies files on the build system.
4+
#DH_VERBOSE = 1
5+
6+
# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
7+
DPKG_EXPORT_BUILDFLAGS = 1
8+
include /usr/share/dpkg/default.mk
9+
include /usr/share/dpkg/pkg-info.mk
10+
11+
# see FEATURE AREAS in dpkg-buildflags(1)
12+
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
13+
14+
# see ENVIRONMENT in dpkg-buildflags(1)
15+
# package maintainers to append CFLAGS
16+
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
17+
# package maintainers to append LDFLAGS
18+
export DEB_LDFLAGS_MAINT_APPEND := -lpthread
19+
20+
# main packaging script based on dh7 syntax
21+
%:
22+
dh $@
23+
24+
override_dh_auto_configure:
25+
dh_auto_configure -B$(CURDIR)/build -- \
26+
-DBUILD_VERSION=$(DEB_VERSION_UPSTREAM) \
27+
-DBSONCXX_POLY_USE_BOOST=1
28+
29+
override_dh_auto_build:
30+
dh_auto_build -B$(CURDIR)/build -- all doxygen-current
31+
32+
override_dh_auto_install:
33+
dh_auto_install -B$(CURDIR)/build
34+
find $(CURDIR)/debian/tmp -type d -empty -delete
35+
36+
override_dh_auto_test:
37+
# do nothing
38+
39+
override_dh_missing:
40+
dh_missing --fail-missing
41+

debian/source/format

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.0 (quilt)

debian/source/options

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
extend-diff-ignore = (\.idea|cmake-build-debug)

debian/watch

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
version=3
2+
3+
opts="dversionmangle=s/\+dfsg[.\d]*//" \
4+
https://github.com/mongodb/mongo-cxx-driver/releases /mongodb/mongo-cxx-driver/releases/download/\d\S*/mongo-cxx-driver-(\d\S*)\.tar\.gz

0 commit comments

Comments
 (0)