summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/changelog28
-rw-r--r--debian/clean1
-rw-r--r--debian/control59
-rw-r--r--debian/copyright34
-rw-r--r--debian/gbp.conf4
-rw-r--r--debian/libsexpp-dev.install3
-rw-r--r--debian/libsexpp0.install1
-rw-r--r--debian/libsexpp0.lintian-overrides5
-rw-r--r--debian/patches/0001-Fetch-Googletest-from-local-package-installation.patch23
-rw-r--r--debian/patches/0003-Do-not-use-git-to-derive-version-information.patch88
-rw-r--r--debian/patches/series2
-rwxr-xr-xdebian/rules18
-rw-r--r--debian/sexpp.install1
-rw-r--r--debian/sexpp.manpages1
-rw-r--r--debian/source/format1
-rw-r--r--debian/watch6
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