debian/0000775000000000000000000000000012623526450007175 5ustar debian/source/0000775000000000000000000000000012621452250010467 5ustar debian/source/format0000664000000000000000000000001412621452250011675 0ustar 3.0 (quilt) debian/patches/0000775000000000000000000000000012621452250010616 5ustar debian/patches/disable-sse.patch0000664000000000000000000000572112621452250014037 0ustar Description: Disable SSE flags In Debian, we don't know which type of CPU the package will be run on, and if it has support for SSE or not. Therefore, we have to disable SSE completely. . Note that it should be possible to have a specific build of the lib with SSE support within a specific directory, but I haven't investigated how to do that yet. Patches to do exactly that would be welcome! Author: Thomas Goirand Forwarded: no Last-Update: 2014-11-14 --- a/configure.ac +++ b/configure.ac @@ -23,8 +23,6 @@ AC_PROG_CXX AC_PROG_INSTALL AC_PROG_MAKE_SET -AX_EXT() - ################################################################################ # System Headers ################################################################################ @@ -94,68 +92,6 @@ dnl Expand the sources and objects neede AC_SUBST(ac_aux_dir) AC_SUBST(OBJECTS) -dnl Do CPUID and associated compiler flag checks - -SUPPORTED_FLAGS="" -$CC - -E -mmmx /dev/null 2>&1 -if [[ $? == "0" ]]; then - SUPPORTED_FLAGS="-mmmx" - AC_MSG_RESULT([$CC supports -mmmx]) -fi -$CC - -E -msse /dev/null 2>&1 -if [[ $? == "0" ]]; then - SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse" - AC_MSG_RESULT([$CC supports -msse]) -fi -$CC - -E -msse2 /dev/null 2>&1 -if [[ $? == "0" ]]; then - SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse2" - AC_MSG_RESULT([$CC supports -msse2]) -fi -$CC - -E -msse3 /dev/null 2>&1 -if [[ $? == "0" ]]; then - SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse3" - AC_MSG_RESULT([$CC supports -msse3]) -fi -$CC - -E -mssse3 /dev/null 2>&1 -if [[ $? == "0" ]]; then - SUPPORTED_FLAGS="$SUPPORTED_FLAGS -mssse3" - AC_MSG_RESULT([$CC supports -mssse3]) -fi -$CC - -E -msse4.1 /dev/null 2>&1 -if [[ $? == "0" ]]; then - SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse4.1" - AC_MSG_RESULT([$CC supports -msse4.1]) -fi -$CC - -E -msse4.2 /dev/null 2>&1 -if [[ $? == "0" ]]; then - SUPPORTED_FLAGS="$SUPPORTED_FLAGS -msse4.2" - AC_MSG_RESULT([$CC supports -msse4.2]) -fi -$CC - -E -mavx /dev/null 2>&1 -if [[ $? == "0" ]]; then - SUPPORTED_FLAGS="$SUPPORTED_FLAGS -mavx" - AC_MSG_RESULT([$CC supports -mavx]) -fi - -# Detect the SIMD features supported by both the compiler and the CPU -SIMD_FLAGS="" -cat get_flags_from_cpuid.c | sed "s/FLAGSFROMAUTOCONF/${SUPPORTED_FLAGS}/" | $CC -x c -g - -o get_flags_from_cpuid -if [[ -e ./get_flags_from_cpuid ]]; then - chmod 755 get_flags_from_cpuid; ./get_flags_from_cpuid; rm ./get_flags_from_cpuid - if [[ -e compiler_flags ]]; then - SIMD_FLAGS=`cat compiler_flags` - rm -f compiler_flags - else - AC_MSG_WARN([Could not run the CPUID detection program]) - fi -else - AC_MSG_WARN([Could not compile the CPUID detection program]) -fi - -AC_MSG_RESULT([Generating with SIMD flags: $SIMD_FLAGS]) -CFLAGS="$CFLAGS $SIMD_FLAGS" - # Certain code may be dependent on 32 vs. 64-bit arch, so add a # flag for 64-bit AC_CHECK_SIZEOF([long]) debian/patches/series0000664000000000000000000000005012621452250012026 0ustar disable-sse.patch use-full-soname.patch debian/patches/use-full-soname.patch0000664000000000000000000000563312621452250014662 0ustar Description: Ensure ec backends can actually be loaded. Use the actual soname rather than the fully unversioned name, ensuring that systems that don't have -dev packages actually work. Author: James Page Forwared: no --- a/src/backends/jerasure/jerasure_rs_vand.c +++ b/src/backends/jerasure/jerasure_rs_vand.c @@ -41,7 +41,7 @@ #if defined(__MACOS__) || defined(__MACOSX__) || defined(__OSX__) || defined(__APPLE__) #define JERASURE_RS_VAND_SO_NAME "libJerasure.dylib" #else -#define JERASURE_RS_VAND_SO_NAME "libJerasure.so" +#define JERASURE_RS_VAND_SO_NAME "libJerasure.so.2" #endif /* Forward declarations */ --- a/src/backends/jerasure/jerasure_rs_cauchy.c +++ b/src/backends/jerasure/jerasure_rs_cauchy.c @@ -41,7 +41,7 @@ #if defined(__MACOS__) || defined(__MACOSX__) || defined(__OSX__) || defined(__APPLE__) #define JERASURE_RS_CAUCHY_SO_NAME "libJerasure.dylib" #else -#define JERASURE_RS_CAUCHY_SO_NAME "libJerasure.so" +#define JERASURE_RS_CAUCHY_SO_NAME "libJerasure.so.2" #endif /* Forward declarations */ --- a/src/backends/rs_vand/liberasurecode_rs_vand.c +++ b/src/backends/rs_vand/liberasurecode_rs_vand.c @@ -39,7 +39,7 @@ #if defined(__MACOS__) || defined(__MACOSX__) || defined(__OSX__) || defined(__APPLE__) #define LIBERASURECODE_RS_VAND_SO_NAME "liberasurecode_rs_vand.dylib" #else -#define LIBERASURECODE_RS_VAND_SO_NAME "liberasurecode_rs_vand.so" +#define LIBERASURECODE_RS_VAND_SO_NAME "liberasurecode_rs_vand.so.1" #endif /* Forward declarations */ --- a/src/backends/xor/flat_xor_hd.c +++ b/src/backends/xor/flat_xor_hd.c @@ -41,7 +41,7 @@ #if defined(__MACOS__) || defined(__MACOSX__) || defined(__OSX__) || defined(__APPLE__) #define FLAT_XOR_SO_NAME "libXorcode.dylib" #else -#define FLAT_XOR_SO_NAME "libXorcode.so" +#define FLAT_XOR_SO_NAME "libXorcode.so.1" #endif #define DEFAULT_W 32 --- a/src/backends/null/null.c +++ b/src/backends/null/null.c @@ -39,7 +39,7 @@ #if defined(__MACOS__) || defined(__MACOSX__) || defined(__OSX__) || defined(__APPLE__) #define NULL_SO_NAME "libnullcode.dylib" #else -#define NULL_SO_NAME "libnullcode.so" +#define NULL_SO_NAME "libnullcode.so.1" #endif /* Forward declarations */ struct ec_backend null; --- a/src/backends/isa-l/isa_l_rs_vand.c +++ b/src/backends/isa-l/isa_l_rs_vand.c @@ -42,7 +42,7 @@ #if defined(__MACOS__) || defined(__MACOSX__) || defined(__OSX__) || defined(__APPLE__) #define ISA_L_RS_VAND_SO_NAME "libisal.dylib" #else -#define ISA_L_RS_VAND_SO_NAME "libisal.so" +#define ISA_L_RS_VAND_SO_NAME "libisal.so.2" #endif /* Forward declarations */ --- a/src/backends/shss/shss.c +++ b/src/backends/shss/shss.c @@ -64,7 +64,7 @@ struct shss_descriptor { #if defined(__MACOS__) || defined(__MACOSX__) || defined(__OSX__) || defined(__APPLE__) #define SHSS_SO_NAME "libshss.dylib" #else -#define SHSS_SO_NAME "libshss.so" +#define SHSS_SO_NAME "libshss.so.1" #endif #define DEFAULT_W 128 #define METADATA 32 debian/compat0000664000000000000000000000000212621452250010365 0ustar 9 debian/control0000664000000000000000000000267612621452250010605 0ustar Source: liberasurecode Section: libs Priority: extra Maintainer: PKG OpenStack Uploaders: Thomas Goirand Build-Depends: autoconf-archive, autotools-dev, debhelper (>= 9), dh-autoreconf, Standards-Version: 3.9.6 Homepage: https://bitbucket.org/tsg-/liberasurecode/ Vcs-Git: git://anonscm.debian.org/openstack/liberasurecode.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=openstack/liberasurecode.git;a=summary Package: liberasurecode-dev Section: libdevel Architecture: any Depends: liberasurecode1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}, Description: support of multiple erasure code backends - development files Liberasurecode is an erasure code library which can support multiple erasure code 'backends'. The repository includes a Jerasure for Reed-Solomon implementation. . This package contains the development files needed to build against the shared library. Package: liberasurecode1 Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, Breaks: liberasurecode0, Replaces: liberasurecode0, Multi-Arch: same Description: support of multiple erasure code backends - shared library Liberasurecode is an erasure code library which can support multiple erasure code 'backends'. The repository includes a Jerasure for Reed-Solomon implementation. . This package contains the shared library. debian/watch0000664000000000000000000000023412621452250010217 0ustar version=3 opts="uversionmangle=s/[\.-](b|rc)/~$1/" \ https://bitbucket.org/tsg-/liberasurecode/downloads /tsg-/liberasurecode/get/v(\d[brc\d\.-]+)\.tar\.gz debian/changelog0000664000000000000000000000640412623526450011053 0ustar liberasurecode (1.1.0-2~ubuntu14.04.1) trusty-backports; urgency=medium * No-change backport to trusty (LP: #1517713) -- Micah Gersten Thu, 19 Nov 2015 23:18:32 -0600 liberasurecode (1.1.0-2) unstable; urgency=medium * Drop manual dependency on libjerasure2. This "manual" dependency should never have been there, as it should be calculated by dh_shlibdeps, and also upstream confirms that this dep shouldn't be there at all anyway. -- Thomas Goirand Fri, 13 Nov 2015 22:19:29 +0100 liberasurecode (1.1.0-1) unstable; urgency=medium [ James Page ] * d/rules: Support parallel builds. * d/control: Mark liberasurecode1 as Multi-Arch: same. [ Thomas Goirand ] * New upstream release. -- Thomas Goirand Tue, 10 Nov 2015 11:03:48 +0000 liberasurecode (1.0.8-3) unstable; urgency=medium * Team upload. * d/p/disable-sse.patch: Strip out liberasurecode specific configuration checks which are turning on CPU optimizations that are not supported on all CPU variants. -- James Page Mon, 07 Sep 2015 16:51:05 +0100 liberasurecode (1.0.8-2) unstable; urgency=medium * Team upload. * Place under PKG OpenStack team maintenance as discussed with Thomas. * d/p/use-full-soname.patch: Use true sonames when loading backends. * d/control: Add runtime dependency on libjerasure2, ensuring that a useful backend can be loaded by default. * d/control: Drop BD's on libjerasure-dev and libgf-complete-dev as they are not required to build liberasurecode. * d/control,rules: Add BD on libjerasure2, enable unit test suite execution for builtin and jerasure backends. -- James Page Mon, 07 Sep 2015 11:53:47 +0100 liberasurecode (1.0.8-1) unstable; urgency=medium * New upstream release. -- Thomas Goirand Wed, 05 Aug 2015 10:27:35 +0200 liberasurecode (1.0.7-1) unstable; urgency=medium * New upstream release. * Removed debian/patches/Do-not-include-emmintrin.h.patch now not needed. -- Thomas Goirand Thu, 04 Jun 2015 10:15:05 +0200 liberasurecode (1.0.5-2) unstable; urgency=medium * Adds Breaks: liberasurecode0, Replaces: liberasurecode0. Note that I know this shouldn't really be necessary, and that it could be an issue for upgrades, but at the same time, I know there's no user of this package yet since PyECLib isn't used by Swift & Ceph yet. -- Thomas Goirand Fri, 13 Mar 2015 23:17:04 +0000 liberasurecode (1.0.5-1) unstable; urgency=medium * New upstream release. * Renamed liberasurecode0 into liberasurecode1 as upstream bumped the SONAME. -- Thomas Goirand Fri, 13 Mar 2015 23:51:34 +0100 liberasurecode (1.0-1) unstable; urgency=medium * New upstream release. * Standards-Version is now 3.9.6. * Added a watch file. * Added a patch to not include emmintrin.h so that the lib can build on non-x86 platforms (Closes: #779958). * Fixed debian/copyright after FTP masters comments. -- Thomas Goirand Sun, 08 Mar 2015 16:14:24 +0100 liberasurecode (0.9.10-1) unstable; urgency=low * Initial release (Closes: #769516). -- Thomas Goirand Sun, 25 May 2014 16:35:49 +0800 debian/copyright0000664000000000000000000000732612621452250011132 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: liberasurecode Source: https://bitbucket.org/tsg-/liberasurecode Files: debian/* Copyright: (c) 2014, Thomas Goirand License: BSD-style Files: src/utils/chksum/crc32.c Copyright: (c) 1986, Gary S. Brown License: crc32-license Files: include/erasurecode/list.h Copyright: (c) 1991, 1993 The Regents of the University of California License: BSD-with-add-clause Files: * Copyright: (c) 2014, Eric Lambert (c) 2014, Tushar Gohad (c) 2014, Kevin Greenan License: BSD-style License: crc32-license You may use this program, or code or tables extracted from it, as desired without restriction. License: BSD-with-add-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. . 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. . 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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: BSD-style Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . * 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. debian/gbp.conf0000664000000000000000000000023312621452250010604 0ustar [DEFAULT] upstream-branch = master debian-branch = debian/unstable upstream-tag = %(version)s compression = xz [buildpackage] export-dir = ../build-area/ debian/liberasurecode1.install0000664000000000000000000000002412621452250013624 0ustar usr/lib/*/lib*.so.* debian/liberasurecode-dev.install0000664000000000000000000000011412621452250014317 0ustar #usr/lib/pkgconfig/* #usr/share/pkgconfig/* usr/include/* usr/lib/*/lib*.so debian/rules0000775000000000000000000000202512621452250010246 0ustar #!/usr/bin/make -f UPSTREAM_GIT ?= https://bitbucket.org/tsg-/liberasurecode.git DEBVERS ?= $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p') VERSION ?= $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//') DEBFLAVOR ?= $(shell dpkg-parsechangelog | grep -E ^Distribution: | cut -d" " -f2) DEBPKGNAME ?= $(shell dpkg-parsechangelog | grep -E ^Source: | cut -d" " -f2) GIT_TAG ?= $(shell echo '$(VERSION)' | sed -e 's/~/_/') export HOME=$(CURDIR) %: dh $@ --with autoreconf --parallel gen-orig-xz: git tag -v $(GIT_TAG) || true if [ ! -f ../$(DEBPKGNAME)_$(VERSION).orig.tar.xz ] ; then \ git archive --prefix=$(DEBPKGNAME)-$(VERSION)/ $(GIT_TAG) | xz >../$(DEBPKGNAME)_$(VERSION).orig.tar.xz ; \ fi [ ! -e ../build-area ] && mkdir ../build-area || true [ ! -e ../build-area/$(DEBPKGNAME)_$(VERSION).orig.tar.xz ] && cp ../$(DEBPKGNAME)_$(VERSION).orig.tar.xz ../build-area fetch-upstream-remote: git remote add upstream $(UPSTREAM_GIT) || true git fetch upstream