diff options
-rw-r--r-- | debian/changelog | 28 | ||||
-rw-r--r-- | debian/clean | 1 | ||||
-rw-r--r-- | debian/control | 59 | ||||
-rw-r--r-- | debian/copyright | 34 | ||||
-rw-r--r-- | debian/gbp.conf | 4 | ||||
-rw-r--r-- | debian/libsexpp-dev.install | 3 | ||||
-rw-r--r-- | debian/libsexpp0.install | 1 | ||||
-rw-r--r-- | debian/libsexpp0.lintian-overrides | 5 | ||||
-rw-r--r-- | debian/patches/0001-Fetch-Googletest-from-local-package-installation.patch | 23 | ||||
-rw-r--r-- | debian/patches/0003-Do-not-use-git-to-derive-version-information.patch | 88 | ||||
-rw-r--r-- | debian/patches/series | 2 | ||||
-rwxr-xr-x | debian/rules | 18 | ||||
-rw-r--r-- | debian/sexpp.install | 1 | ||||
-rw-r--r-- | debian/sexpp.manpages | 1 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/watch | 6 |
16 files changed, 275 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..55b0410 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,28 @@ +sexpp (0.8.7-3.1) unstable; urgency=medium + + * Non-maintainer upload + + [ Mechtilde ] + * [a1ca100] Fix noheck FTBFS. (Closes: #1050329) + + Thanks Helmut Grohne for the patch + + -- Mechtilde Stehmann <mechtilde@debian.org> Sun, 01 Oct 2023 10:06:24 +0200 + +sexpp (0.8.7-3) unstable; urgency=medium + + * drop .symbols file, since the C++ name mangling makes it too fragile + to maintain safely. + + -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 14 Aug 2023 20:17:57 -0400 + +sexpp (0.8.7-2) unstable; urgency=medium + + * move to unstable + + -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 14 Aug 2023 11:47:15 -0400 + +sexpp (0.8.7-1) experimental; urgency=medium + + * Release to debian experimental (Closes: #1038812) + + -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 27 Jun 2023 17:56:15 -0400 diff --git a/debian/clean b/debian/clean new file mode 100644 index 0000000..27ea2c7 --- /dev/null +++ b/debian/clean @@ -0,0 +1 @@ +tests/include/sexp-samples-folder.h diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..c7f5d07 --- /dev/null +++ b/debian/control @@ -0,0 +1,59 @@ +Source: sexpp +Section: utils +Priority: optional +Maintainer: Daniel Kahn Gillmor <dkg@fifthhorseman.net> +Build-Depends: + cmake (>= 3.14), + debhelper-compat (= 13), + googletest <!nocheck>, + pkg-config, +Standards-Version: 4.6.2 +Vcs-Git: https://salsa.debian.org/debian/sexpp.git +Vcs-Browser: https://salsa.debian.org/debian/sexpp +Homepage: https://github.com/rnpgp/sexpp +Rules-Requires-Root: no + +Package: sexpp +Architecture: any +Multi-Arch: foreign +Pre-Depends: + ${misc:Pre-Depends}, +Depends: + libsexpp0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Description: S-expressions parser and generator command-line tool + S-expressions are data structures for representing complex data as a + variation on LISP S-expressions. + . + sexpp is a command-line tool for reading, parsing, and emitting + S-expressions. + +Package: libsexpp0 +Architecture: any +Section: libs +Multi-Arch: same +Pre-Depends: + ${misc:Pre-Depends}, +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Description: S-expressions parser and generator library + S-expressions are data structures for representing complex data as a + variation on LISP S-expressions. + . + This package contains a shared library for dealing with + S-expressions, libsexpp. + +Package: libsexpp-dev +Section: libdevel +Architecture: any +Depends: + libsexpp0 (= ${binary:Version}), + ${misc:Depends}, +Description: S-expressions parser and generator development files + S-expressions are data structures for representing complex data as a + variation on LISP S-expressions. + . + This package contains the development headers and documentation used + to build other tools against the libsexpp library. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..85415f9 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,34 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: sexpp +Upstream-Contact: Ribose Inc <packaging@ribose.com> +Source: https://github.com/rnpgp/sexpp + +Files: * +Copyright: + 1997 Ronald L. Rivest, Butler Lampson + 1997 MIT Laboratory for Computer Science + 2022-2023 Ribose Inc. +License: MIT + +Files: debian/* +Copyright: + 2023 Daniel Kahn Gillmor <dkg@fifthhorseman.net> +License: MIT + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..cc2da7b --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,4 @@ +[DEFAULT] +debian-branch = debian/unstable +upstream-tag = v%(version)s +pristine-tar = False diff --git a/debian/libsexpp-dev.install b/debian/libsexpp-dev.install new file mode 100644 index 0000000..0efcb53 --- /dev/null +++ b/debian/libsexpp-dev.install @@ -0,0 +1,3 @@ +usr/include/sexpp/*.h +usr/lib/${DEB_HOST_MULTIARCH}/libsexpp.so +usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/sexpp.pc diff --git a/debian/libsexpp0.install b/debian/libsexpp0.install new file mode 100644 index 0000000..73765f8 --- /dev/null +++ b/debian/libsexpp0.install @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libsexpp.so.0* diff --git a/debian/libsexpp0.lintian-overrides b/debian/libsexpp0.lintian-overrides new file mode 100644 index 0000000..cf9a4d7 --- /dev/null +++ b/debian/libsexpp0.lintian-overrides @@ -0,0 +1,5 @@ +# C++ symbols vary between different architectures in ways that make +# it challenging to maintain a reasonable symbols file across the +# various platforms supported by Debian. See +# https://www.eyrie.org/~eagle/journal/2012-02/001.html +libsexpp0: no-symbols-control-file usr/lib/*/libsexpp.so.0.* diff --git a/debian/patches/0001-Fetch-Googletest-from-local-package-installation.patch b/debian/patches/0001-Fetch-Googletest-from-local-package-installation.patch new file mode 100644 index 0000000..26d0295 --- /dev/null +++ b/debian/patches/0001-Fetch-Googletest-from-local-package-installation.patch @@ -0,0 +1,23 @@ +From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> +Date: Tue, 20 Jun 2023 10:55:38 -0400 +Subject: Fetch Googletest from local package installation + +Forwarded: not-needed +--- + CMakeLists.txt | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9ac363c..eb863d2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -210,8 +210,7 @@ if(WITH_SEXP_TESTS) + include(FetchContent) + FetchContent_Declare( + googletest +- GIT_REPOSITORY https://github.com/google/googletest.git +- GIT_TAG ${GTEST_TAG} ++ SOURCE_DIR /usr/src/googletest + ) + # maintain compiler/linker settings on Windows + set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) diff --git a/debian/patches/0003-Do-not-use-git-to-derive-version-information.patch b/debian/patches/0003-Do-not-use-git-to-derive-version-information.patch new file mode 100644 index 0000000..27b065f --- /dev/null +++ b/debian/patches/0003-Do-not-use-git-to-derive-version-information.patch @@ -0,0 +1,88 @@ +From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> +Date: Wed, 21 Jun 2023 11:28:38 -0400 +Subject: Do not use git to derive version information + +For debian, we want the versioning to come from the tarball, whether +or not it's being built from a git repository. + +Forwarded: not-needed +--- + cmake/version.cmake | 58 ----------------------------------------------------- + 1 file changed, 58 deletions(-) + +diff --git a/cmake/version.cmake b/cmake/version.cmake +index 41287e4..511d56f 100644 +--- a/cmake/version.cmake ++++ b/cmake/version.cmake +@@ -19,21 +19,6 @@ + # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + # + +-# desired length of commit hash +-set(GIT_REV_LEN 7) +- +-# call git, store output in var (can fail) +-macro(_git var) +- execute_process( +- COMMAND "${GIT_EXECUTABLE}" ${ARGN} +- WORKING_DIRECTORY "${source_dir}" +- RESULT_VARIABLE _git_ec +- OUTPUT_VARIABLE ${var} +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ERROR_QUIET +- ) +-endmacro() +- + function(extract_version_info version var_prefix) + # extract the main components + # v1.9.0-3-g5b92266+1546836556 +@@ -79,49 +64,6 @@ function(determine_version source_dir var_prefix) + else() + message(STATUS "Found no version.txt.") + endif() +- # for GIT_EXECUTABLE +- find_package(Git) +- # get a description of the version, something like: +- # v1.9.1-0-g38ffe82 (a tagged release) +- # v1.9.1-0-g38ffe82-dirty (a tagged release with local modifications) +- # v1.9.0-3-g5b92266 (post-release snapshot) +- # v1.9.0-3-g5b92266-dirty (post-release snapshot with local modifications) +- _git(version describe --abbrev=${GIT_REV_LEN} --match "v[0-9]*" --long --dirty) +- if (NOT _git_ec EQUAL 0) +- # no annotated tags, fake one +- message(STATUS "Found no annotated tags.") +- _git(revision rev-parse --short=${GIT_REV_LEN} --verify HEAD) +- if (_git_ec EQUAL 0) +- set(version "v${base_version}-0-g${revision}") +- # check if dirty (this won't detect untracked files, but should be ok) +- _git(changes diff-index --quiet HEAD --) +- if (NOT _git_ec EQUAL 0) +- string(APPEND version "-dirty") +- endif() +- # append the commit timestamp of the most recent commit (only +- # in non-release branches -- typically master) +- _git(commit_timestamp show -s --format=%ct) +- if (_git_ec EQUAL 0) +- string(APPEND version "+${commit_timestamp}") +- endif() +- elseif(has_version_txt) +- # Nothing to get from git - so use version.txt completely +- set(version "${version_file}") +- else() +- # Sad case - no git, no version.txt +- set(version "v${base_version}") +- endif() +- else() +- set(has_release_tag YES) +- message(STATUS "Found annotated tag ${version}") +- endif() +- extract_version_info("${version}" "${local_prefix}") +- if ("${has_version_txt}" AND NOT ${base_version} STREQUAL ${local_prefix}_VERSION) +- message(WARNING "Tagged version ${${local_prefix}_VERSION} doesn't match one from the version.txt: ${base_version}") +- if (${base_version} VERSION_GREATER ${local_prefix}_VERSION) +- set(${local_prefix}_VERSION ${base_version}) +- endif() +- endif() + foreach(suffix VERSION VERSION_NCOMMITS VERSION_GIT_REV VERSION_IS_DIRTY VERSION_COMMIT_TIMESTAMP) + if (NOT DEFINED ${local_prefix}_${suffix}) + message(FATAL_ERROR "Unable to determine version.") diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..ba6777f --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +0001-Fetch-Googletest-from-local-package-installation.patch +0003-Do-not-use-git-to-derive-version-information.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..fd6a449 --- /dev/null +++ b/debian/rules @@ -0,0 +1,18 @@ +#!/usr/bin/make -f + +include /usr/share/dpkg/pkg-info.mk +export DEB_VERSION + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +CONFIGURE_OPTIONS = -DBUILD_SHARED_LIBS=on + +ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) +CONFIGURE_OPTIONS += -DWITH_SEXP_TESTS=off +endif + +override_dh_auto_configure: + dh_auto_configure --builddirectory=build -- $(CONFIGURE_OPTIONS) + +%: + dh $@ --builddirectory=build diff --git a/debian/sexpp.install b/debian/sexpp.install new file mode 100644 index 0000000..335dc0a --- /dev/null +++ b/debian/sexpp.install @@ -0,0 +1 @@ +usr/bin/sexpp diff --git a/debian/sexpp.manpages b/debian/sexpp.manpages new file mode 100644 index 0000000..f7a566c --- /dev/null +++ b/debian/sexpp.manpages @@ -0,0 +1 @@ +usr/share/man/man1/sexpp.1 diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..641a247 --- /dev/null +++ b/debian/watch @@ -0,0 +1,6 @@ +version=4 +# This rewrite is necessary because rnp now uses submodules upstream. +# Thus, we need to fetch the upstream "release", not just the tag. +# The rewrite was suggested by David Steele in https://bugs.debian.org/1019696#30 : +https://github.com/rnpgp/sexpp/tags/ \ + (?:.*?/)?v(\d[\d.]*)\.tar\.gz |