summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/changelog103
-rw-r--r--debian/compat1
-rw-r--r--debian/control29
-rw-r--r--debian/copyright68
-rw-r--r--debian/gbp.conf6
-rw-r--r--debian/libck-dev.install4
-rw-r--r--debian/libck0.install1
-rw-r--r--debian/patches/allow-disable-sse.patch57
-rw-r--r--debian/patches/glibc-2.30.patch52
-rw-r--r--debian/patches/series2
-rwxr-xr-xdebian/rules31
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/options2
-rw-r--r--debian/source/patch-header10
-rw-r--r--debian/watch3
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