diff options
-rw-r--r-- | debian/changelog | 103 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 29 | ||||
-rw-r--r-- | debian/copyright | 68 | ||||
-rw-r--r-- | debian/gbp.conf | 6 | ||||
-rw-r--r-- | debian/libck-dev.install | 4 | ||||
-rw-r--r-- | debian/libck0.install | 1 | ||||
-rw-r--r-- | debian/patches/allow-disable-sse.patch | 57 | ||||
-rw-r--r-- | debian/patches/glibc-2.30.patch | 52 | ||||
-rw-r--r-- | debian/patches/series | 2 | ||||
-rwxr-xr-x | debian/rules | 31 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/source/options | 2 | ||||
-rw-r--r-- | debian/source/patch-header | 10 | ||||
-rw-r--r-- | debian/watch | 3 |
15 files changed, 370 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..7495ac9 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,103 @@ +ck (0.6.0-2) unstable; urgency=medium + + * Uploading to unstable. + * New maintainer (Closes: #991427), thanks to Robert for his past work. + * Updating vcs fields. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Fri, 23 Jul 2021 13:25:19 +0200 + +ck (0.6.0-1.4) unstable; urgency=medium + + * Non-maintainer upload. + * Explicitly set the platform option when building for armhf + rather than rely on the configure script's autodetection. + + -- JCF Ploemen (jcfp) <linux@jcf.pm> Sat, 04 Apr 2020 05:20:03 +0000 + +ck (0.6.0-1.3) unstable; urgency=medium + + * Non-maintainer upload. + * Backport upstream commit b520d58 to fix build failure against + glibc 2.30; patch provided by Logan Rosen. (Closes: #951384) + + -- JCF Ploemen (jcfp) <linux@jcf.pm> Fri, 27 Mar 2020 10:14:22 +0000 + +ck (0.6.0-1.2) unstable; urgency=medium + + * Non-maintainer upload. + * Backport upstream patch to disable SSE on x86. (Closes: #906697) + + -- Dominik George <natureshadow@debian.org> Thu, 21 Nov 2019 09:38:52 +0100 + +ck (0.6.0-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Apply patch from Niels Thykier to fix FTBFS with + debhelper >= 11.1. (Closes: #888591) + + -- Adrian Bunk <bunk@debian.org> Sat, 24 Feb 2018 21:32:28 +0200 + +ck (0.6.0-1) unstable; urgency=medium + + * New upstream version 0.6.0 + + -- Robert Edmonds <edmonds@debian.org> Fri, 10 Mar 2017 18:38:50 -0500 + +ck (0.5.2-2) unstable; urgency=medium + + * debian/control: Only build on architectures supported by upstream + * debian/rules: Limit tests to 2 cores (Closes: #764827) + * debian/gbp.conf: New (enable pristine-tar, pristine-tar-commit) + + -- Robert Edmonds <edmonds@debian.org> Thu, 29 Dec 2016 16:59:42 -0500 + +ck (0.5.2-1) unstable; urgency=medium + + * New upstream version 0.5.2 (Closes: #813145) + * debian/control: Update Maintainer (Closes: #848656) + * debian/control: Use HTTPS Vcs-* URLs + * debian/control: Standards-Version 3.9.8 (no changes) + * debian/control: Build-Depend on debhelper 10 + * debian/compat: Compat level 10 + * debian/copyright: BSD -> BSD-2-clause (Fixes Lintian + "invalid-short-name-in-dep5-copyright") + * debian/copyright: Remove Source header (dead link) + * debian/copyright: Correct path to include/gcc/x86_64/ck_pr_rtm.h (Fixes + Lintian "wildcard-matches-nothing-in-dep5-copyright ck_pr_rtm", + "unused-file-paragraph-in-dep5-copyright") + * debian/watch: Add watch file for GitHub releases + * debian/source/: Use 3.0 (quilt) source format, plus options and patch + header + + -- Robert Edmonds <edmonds@debian.org> Wed, 21 Dec 2016 18:59:51 -0500 + +ck (0.4.4-2) unstable; urgency=low + + * Update maintainer to Debian QA up (orphaning the package) + + -- Daniel Pocock <daniel@pocock.pro> Mon, 19 Dec 2016 10:07:18 +0100 + +ck (0.4.4-1) unstable; urgency=medium + + * New upstream release. + + -- Daniel Pocock <daniel@pocock.pro> Wed, 10 Sep 2014 22:16:03 +0200 + +ck (0.4.3-1) unstable; urgency=medium + + * New upstream release. + + -- Daniel Pocock <daniel@pocock.pro> Sat, 02 Aug 2014 16:28:29 +0200 + +ck (0.4.2-1) unstable; urgency=medium + + * New upstream release. + * Fixes some build issues for non-Intel platforms. + + -- Daniel Pocock <daniel@pocock.pro> Fri, 02 May 2014 09:17:48 +0200 + +ck (0.3.5-1) unstable; urgency=low + + * Initial packaging (Closes: #740392) + + -- Daniel Pocock <daniel@pocock.com.au> Fri, 28 Feb 2014 23:48:09 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..26ac1a2 --- /dev/null +++ b/debian/control @@ -0,0 +1,29 @@ +Source: ck +Section: libs +Priority: optional +Maintainer: Daniel Baumann <daniel.baumann@progress-linux.org> +Build-Depends: debhelper (>= 10) +Standards-Version: 3.9.8 +Homepage: http://concurrencykit.org/ +Vcs-Browser: https://git.progress-linux.org/users/daniel.baumann/debian/packages/ck +Vcs-Git: https://git.progress-linux.org/users/daniel.baumann/debian/packages/ck + +Package: libck0 +Architecture: amd64 arm64 armhf i386 ppc64el +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Concurrency Kit - shared libraries + Concurrency primitives, safe memory reclamation mechanisms and + non-blocking data structures designed to aid in the research, + design and implementation of high performance concurrent systems. + +Package: libck-dev +Section: libdevel +Architecture: amd64 arm64 armhf i386 ppc64el +Depends: libck0 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: Concurrency Kit - development files + Concurrency primitives, safe memory reclamation mechanisms and + non-blocking data structures designed to aid in the research, + design and implementation of high performance concurrent systems. + . + This package provides header files needed by developers. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..b4d9a79 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,68 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ck + +Files: * +Copyright: 2010-2013, Samy Al Bahra. + 2011-2013, AppNexus, Inc. +License: BSD-2-clause + +Files: src/ck_hp.c +Copyright: 2008, IBM Corporation +License: Apache + +Files: include/gcc/x86_64/ck_pr_rtm.h +Copyright: 2012-2013, Intel Corporation +License: Intel + +Files: debian/* +Copyright: 2014, Daniel Pocock http://danielpocock.com +License: BSD-2-clause + +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: Apache + (c) Copyright 2008, IBM Corporation. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License: Intel + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that: (1) source code distributions + retain the above copyright notice and this paragraph in its entirety, (2) + distributions including binary code include the above copyright notice and + this paragraph in its entirety in the documentation or other materials + provided with the distribution + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..b839864 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,6 @@ +[import-orig] +pristine-tar = True + +[buildpackage] +pristine-tar = True +pristine-tar-commit = True diff --git a/debian/libck-dev.install b/debian/libck-dev.install new file mode 100644 index 0000000..47065cd --- /dev/null +++ b/debian/libck-dev.install @@ -0,0 +1,4 @@ +usr/include +usr/lib/*/lib*.so +usr/lib/*/pkgconfig +usr/share/man diff --git a/debian/libck0.install b/debian/libck0.install new file mode 100644 index 0000000..3ddde58 --- /dev/null +++ b/debian/libck0.install @@ -0,0 +1 @@ +usr/lib/*/lib*.so.* diff --git a/debian/patches/allow-disable-sse.patch b/debian/patches/allow-disable-sse.patch new file mode 100644 index 0000000..181ab04 --- /dev/null +++ b/debian/patches/allow-disable-sse.patch @@ -0,0 +1,57 @@ +--- a/configure ++++ b/configure +@@ -119,6 +119,7 @@ generate() + -e "s#@GZIP_SUFFIX@#$GZIP_SUFFIX#g" \ + -e "s#@POINTER_PACK_ENABLE@#$POINTER_PACK_ENABLE#g" \ + -e "s#@DISABLE_DOUBLE@#$DISABLE_DOUBLE#g" \ ++ -e "s#@SSE_DISABLE@#$SSE_DISABLE#g" \ + -e "s#@RTM_ENABLE@#$RTM_ENABLE#g" \ + -e "s#@LSE_ENABLE@#$LSE_ENABLE#g" \ + -e "s#@VMA_BITS@#$VMA_BITS_R#g" \ +@@ -160,6 +161,7 @@ generate_stdout() + echo " MEMORY_MODEL = $MM" + echo " RTM = $RTM_ENABLE" + echo " LSE = $LSE_ENABLE" ++ echo " SSE = $SSE_DISABLE" + echo + echo "Headers will be installed in $HEADERS" + echo "Libraries will be installed in $LIBRARY" +@@ -201,6 +203,7 @@ for option; do + echo " --platform=N Force the platform type, instead of relying on autodetection" + echo " --use-cc-builtins Use the compiler atomic bultin functions, instead of the CK implementation" + echo " --disable-double Don't generate any of the functions using the \"double\" type" ++ echo " --disable-sse Do not use any SSE instructions (x86 only)" + echo + echo "The following options affect regression testing." + echo " --cores=N Specify number of cores available on target machine" +@@ -243,6 +246,9 @@ for option; do + --enable-lse) + LSE_ENABLE_SET="CK_MD_LSE_ENABLE" + ;; ++ --disable-sse) ++ SSE_DISABLE="CK_MD_SSE_DISABLE" ++ ;; + --cores=*) + CORES=$value + ;; +@@ -313,6 +319,7 @@ GZIP=${GZIP:-"gzip -c"} + POINTER_PACK_ENABLE=${POINTER_PACK_ENABLE:-"CK_MD_POINTER_PACK_DISABLE"} + DISABLE_DOUBLE=${DISABLE_DOUBLE:-"CK_PR_ENABLE_DOUBLE"} + RTM_ENABLE=${RTM_ENABLE_SET:-"CK_MD_RTM_DISABLE"} ++SSE_DISABLE=${SSE_DISABLE:-"CK_MD_SSE_ENABLE"} + LSE_ENABLE=${LSE_ENABLE_SET:-"CK_MD_LSE_DISABLE"} + VMA_BITS=${VMA_BITS:-"unknown"} + +--- a/include/ck_md.h.in ++++ b/include/ck_md.h.in +@@ -47,6 +47,10 @@ + #define @POINTER_PACK_ENABLE@ + #endif /* @POINTER_PACK_ENABLE@ */ + ++#ifndef @SSE_DISABLE@ ++#define @SSE_DISABLE@ ++#endif /* @SSE_DISABLE@ */ ++ + #ifndef @VMA_BITS@ + #define @VMA_BITS@ @VMA_BITS_VALUE@ + #endif /* @VMA_BITS@ */ diff --git a/debian/patches/glibc-2.30.patch b/debian/patches/glibc-2.30.patch new file mode 100644 index 0000000..22a4042 --- /dev/null +++ b/debian/patches/glibc-2.30.patch @@ -0,0 +1,52 @@ +From b520d58d00b7ed6c5cc9bc97c62f07e09f4f49ad Mon Sep 17 00:00:00 2001 +From: Samy Al Bahra <sbahra@backtrace.io> +Date: Tue, 29 Oct 2019 17:30:09 -0400 +Subject: [PATCH] regressions/common: rename gettid wrapper to common_gettid. + +glibc-2.30 added a wrapper to gettid (https://lwn.net/Articles/795127/). +gettid will clash with the glibc-provided symbol. Remove the +macro and instead move to a dedicated namespace. + +We go this route to avoid introducing unnecessary complexity to +build. + +Fixes #147 +--- + regressions/common.h | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +--- a/regressions/common.h ++++ b/regressions/common.h +@@ -267,13 +267,11 @@ + #define AFFINITY_INITIALIZER {0, 0} + + #ifdef __linux__ +-#ifndef gettid + static pid_t +-gettid(void) ++common_gettid(void) + { + return syscall(__NR_gettid); + } +-#endif /* gettid */ + + CK_CC_UNUSED static int + aff_iterate(struct affinity *acb) +@@ -285,7 +283,7 @@ + CPU_ZERO(&s); + CPU_SET(c % CORES, &s); + +- return sched_setaffinity(gettid(), sizeof(s), &s); ++ return sched_setaffinity(common_gettid(), sizeof(s), &s); + } + + CK_CC_UNUSED static int +@@ -297,7 +295,7 @@ + CPU_ZERO(&s); + CPU_SET((*core) % CORES, &s); + +- return sched_setaffinity(gettid(), sizeof(s), &s); ++ return sched_setaffinity(common_gettid(), sizeof(s), &s); + } + #elif defined(__MACH__) + CK_CC_UNUSED static int diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..422ecb0 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +allow-disable-sse.patch +glibc-2.30.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..468baa9 --- /dev/null +++ b/debian/rules @@ -0,0 +1,31 @@ +#!/usr/bin/make -f + +PLATFORM := +$(call lazy,DEB_HOST_ARCH,$$(shell dpkg-architecture -qDEB_HOST_ARCH)) +ifneq (,$(findstring armhf,$(DEB_HOST_ARCH))) + PLATFORM += --platform=armv7l +endif + +override_dh_auto_configure: + ./configure \ + --includedir=/usr/include \ + --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \ + --mandir=/usr/share/man \ + --prefix=/usr \ + --cores=2 \ + --disable-sse \ + $(PLATFORM) + +override_dh_auto_test: + make -j1 check + +%: + dh $@ + +# The build target must not be empty. Sadly because of how make +# works, we have do duplicate the target in this case. +build: + dh $@ + +.PHONY: build + 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/source/options b/debian/source/options new file mode 100644 index 0000000..519a92d --- /dev/null +++ b/debian/source/options @@ -0,0 +1,2 @@ +single-debian-patch +compression = "gzip" diff --git a/debian/source/patch-header b/debian/source/patch-header new file mode 100644 index 0000000..3bde7c6 --- /dev/null +++ b/debian/source/patch-header @@ -0,0 +1,10 @@ +Subject: Collected Debian patches for ck +Author: Robert Edmonds <edmonds@debian.org> + +The ck package is maintained in Git rather than maintaining +patches as separate files, and separating the patches doesn't seem to +be worth the effort. They are therefore all included in this single +Debian patch. + +For full commit history and separated commits, see the packaging Git +repository. diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..36e6a29 --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=2 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/<project>-$1\.tar\.gz/ \ + https://github.com/concurrencykit/ck/releases .*/v?(\d\S+)\.tar\.gz |