A first shot at packaging zchunk for Debian.
authorPeter Pentchev <roam@debian.org>
Sat, 30 May 2020 12:21:04 +0000 (15:21 +0300)
committerPeter Pentchev <roam@debian.org>
Sat, 30 May 2020 12:21:04 +0000 (15:21 +0300)
To do:
- autopkgtest
- write some trivial manual pages
- more minor clean-up tasks

13 files changed:
debian/changelog [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/libzck-dev.docs [new file with mode: 0644]
debian/libzck-dev.install [new file with mode: 0644]
debian/libzck1.install [new file with mode: 0644]
debian/libzck1.symbols [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/upstream/metadata [new file with mode: 0644]
debian/watch [new file with mode: 0644]
debian/zchunk.docs [new file with mode: 0644]
debian/zchunk.install [new file with mode: 0644]

diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..b199591
--- /dev/null
@@ -0,0 +1,5 @@
+zchunk (1.1.6+ds1-1) UNRELEASED; urgency=low
+
+  * Initial release. Closes: #961801
+
+ -- Peter Pentchev <roam@debian.org>  Fri, 29 May 2020 19:35:39 +0300
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..7f40e25
--- /dev/null
@@ -0,0 +1,63 @@
+Source: zchunk
+Section: utils
+Priority: optional
+Maintainer: RPM packaging team <team+pkg-rpm@tracker.debian.org>
+Uploaders: Peter Pentchev <roam@debian.org>
+Build-Depends:
+ debhelper-compat (= 13),
+ libcurl4-openssl-dev,
+ libzstd-dev,
+ meson,
+ pkg-config,
+Standards-Version: 4.5.0
+Vcs-Git: https://salsa.debian.org/pkg-rpm-team/zchunk.git
+Vcs-Browser: https://salsa.debian.org/pkg-rpm-team/zchunk
+Homepage: https://github.com/zchunk/zchunk
+Rules-Requires-Root: no
+
+Package: zchunk
+Architecture: any
+Multi-Arch: foreign
+Depends: ${misc:Depends}, ${shlibs:Depends}, libzck1 (= ${binary:Version})
+Description: compress a file into independent chunks
+ zchunk is a compressed file format that splits the file into independent
+ chunks. This allows one to only download changed chunks when
+ downloading a new version of the file, and also makes zchunk files
+ efficient over rsync.
+ .
+ zchunk files are protected with strong checksums to verify that the file
+ downloaded is, in fact, the file desired.
+ .
+ This package contains the command-line tools.
+
+Package: libzck1
+Section: libs
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: compress a file into independent chunks - shared library
+ zchunk is a compressed file format that splits the file into independent
+ chunks. This allows one to only download changed chunks when
+ downloading a new version of the file, and also makes zchunk files
+ efficient over rsync.
+ .
+ zchunk files are protected with strong checksums to verify that the file
+ downloaded is, in fact, the file desired.
+ .
+ This package contains the shared library.
+
+Package: libzck-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, libzck1 (= ${binary:Version})
+Description: compress a file into independent chunks - development files
+ zchunk is a compressed file format that splits the file into independent
+ chunks. This allows one to only download changed chunks when
+ downloading a new version of the file, and also makes zchunk files
+ efficient over rsync.
+ .
+ zchunk files are protected with strong checksums to verify that the file
+ downloaded is, in fact, the file desired.
+ .
+ This package contains the header files used for development.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..46ef110
--- /dev/null
@@ -0,0 +1,151 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: zchunk
+Upstream-Contact: Jonathan Dieter <jdieter@gmail.com>
+Source: https://github.com/zchunk/zchunk
+License: BSD-2-clause
+Files-Excluded:
+ test/abi/stable/*
+
+Files: *
+Copyright:
+ 2018 Jonathan Dieter <jdieter@gmail.com>
+License: BSD-2-clause
+
+Files: src/lib/buzhash/*
+Copyright:
+ (c) 2015, the urlblock developers.
+ (c) 2018 Jonathan Dieter <jdieter@gmail.com>
+License: Expat
+
+Files: src/lib/hash/sha1/*
+Copyright:
+ NO COPYRIGHT - THIS IS 100% IN THE PUBLIC DOMAIN
+License: public-sha1
+
+Files: src/lib/hash/sha2/*
+Copyright:
+ (C) 2005, 2007 Olivier Gay <olivier.gay@a3.epfl.ch>
+License: BSD-3-clause
+
+Files: src/lib/uthash.h
+Copyright:
+ (c) 2003-2018, Troy D. Hanson     http://troydhanson.github.com/uthash/
+License: BSD-1-clause
+
+Files: src/memmem.c
+Copyright:
+ (C) 2008 The Android Open Source Project
+License: BSD-2-clause
+
+Files: debian/*
+Copyright:
+ (c) 2020 Peter Pentchev <roam@debian.org>
+License: BSD-2-clause
+
+License: BSD-1-clause
+ All rights reserved.
+ .
+ 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.
+ .
+ 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 OWNER
+ 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-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 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.
+
+License: BSD-3-clause
+ All rights reserved.
+ .
+ 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. Neither the name of the project 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 PROJECT 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 PROJECT 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: Expat
+ 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.
+
+License: public-sha1
+ NO COPYRIGHT - THIS IS 100% IN THE PUBLIC DOMAIN
+ .
+ The original unmodified version is available at:
+    ftp://ftp.funet.fi/pub/crypt/hash/sha/sha1.c
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) 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(S) 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.
diff --git a/debian/libzck-dev.docs b/debian/libzck-dev.docs
new file mode 100644 (file)
index 0000000..5b2130b
--- /dev/null
@@ -0,0 +1 @@
+zchunk_format.txt
diff --git a/debian/libzck-dev.install b/debian/libzck-dev.install
new file mode 100644 (file)
index 0000000..275578c
--- /dev/null
@@ -0,0 +1,3 @@
+usr/include
+usr/lib/*/libzck.so
+usr/lib/*/pkgconfig/zck.pc
diff --git a/debian/libzck1.install b/debian/libzck1.install
new file mode 100644 (file)
index 0000000..928cae2
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libzck.so.*
diff --git a/debian/libzck1.symbols b/debian/libzck1.symbols
new file mode 100644 (file)
index 0000000..0e77a42
--- /dev/null
@@ -0,0 +1,77 @@
+libzck.so.1 libzck1 #MINVER#
+* Build-Depends-Package: libzck-devel
+ zck_clear_error@Base 1.1.6
+ zck_close@Base 1.1.6
+ zck_comp_name_from_type@Base 1.1.6
+ zck_compare_chunk_digest@Base 1.1.6
+ zck_copy_chunks@Base 1.1.6
+ zck_create@Base 1.1.6
+ zck_dl_free@Base 1.1.6
+ zck_dl_get_bytes_downloaded@Base 1.1.6
+ zck_dl_get_bytes_uploaded@Base 1.1.6
+ zck_dl_get_range@Base 1.1.6
+ zck_dl_get_zck@Base 1.1.6
+ zck_dl_init@Base 1.1.6
+ zck_dl_reset@Base 1.1.6
+ zck_dl_set_header_cb@Base 1.1.6
+ zck_dl_set_header_data@Base 1.1.6
+ zck_dl_set_range@Base 1.1.6
+ zck_dl_set_write_cb@Base 1.1.6
+ zck_dl_set_write_data@Base 1.1.6
+ zck_dl_set_zck@Base 1.1.6
+ zck_end_chunk@Base 1.1.6
+ zck_failed_chunks@Base 1.1.6
+ zck_find_valid_chunks@Base 1.1.6
+ zck_free@Base 1.1.6
+ zck_get_chunk@Base 1.1.6
+ zck_get_chunk_comp_data@Base 1.1.6
+ zck_get_chunk_comp_size@Base 1.1.6
+ zck_get_chunk_count@Base 1.1.6
+ zck_get_chunk_data@Base 1.1.6
+ zck_get_chunk_digest@Base 1.1.6
+ zck_get_chunk_digest_size@Base 1.1.6
+ zck_get_chunk_hash_type@Base 1.1.6
+ zck_get_chunk_number@Base 1.1.6
+ zck_get_chunk_size@Base 1.1.6
+ zck_get_chunk_start@Base 1.1.6
+ zck_get_chunk_valid@Base 1.1.6
+ zck_get_data_digest@Base 1.1.6
+ zck_get_data_length@Base 1.1.6
+ zck_get_error@Base 1.1.6
+ zck_get_fd@Base 1.1.6
+ zck_get_first_chunk@Base 1.1.6
+ zck_get_full_digest_size@Base 1.1.6
+ zck_get_full_hash_type@Base 1.1.6
+ zck_get_header_digest@Base 1.1.6
+ zck_get_header_length@Base 1.1.6
+ zck_get_lead_length@Base 1.1.6
+ zck_get_length@Base 1.1.6
+ zck_get_min_download_size@Base 1.1.6
+ zck_get_missing_range@Base 1.1.6
+ zck_get_next_chunk@Base 1.1.6
+ zck_get_range@Base 1.1.6
+ zck_get_range_char@Base 1.1.6
+ zck_get_range_count@Base 1.1.6
+ zck_hash_name_from_type@Base 1.1.6
+ zck_header_cb@Base 1.1.6
+ zck_init_adv_read@Base 1.1.6
+ zck_init_read@Base 1.1.6
+ zck_init_write@Base 1.1.6
+ zck_is_error@Base 1.1.6
+ zck_missing_chunks@Base 1.1.6
+ zck_range_free@Base 1.1.6
+ zck_read@Base 1.1.6
+ zck_read_header@Base 1.1.6
+ zck_read_lead@Base 1.1.6
+ zck_reset_failed_chunks@Base 1.1.6
+ zck_set_fd@Base 1.1.6
+ zck_set_ioption@Base 1.1.6
+ zck_set_log_fd@Base 1.1.6
+ zck_set_log_level@Base 1.1.6
+ zck_set_soption@Base 1.1.6
+ zck_validate_checksums@Base 1.1.6
+ zck_validate_data_checksum@Base 1.1.6
+ zck_validate_lead@Base 1.1.6
+ zck_write@Base 1.1.6
+ zck_write_chunk_cb@Base 1.1.6
+ zck_write_zck_header_cb@Base 1.1.6
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..b5297b6
--- /dev/null
@@ -0,0 +1,14 @@
+#!/usr/bin/make -f
+
+# Aim for the top, adapt if anything should break on the buildds.
+DEB_BUILD_MAINT_OPTIONS=       hardening=+all
+export DEB_BUILD_MAINT_OPTIONS
+
+%:
+       dh '$@'
+
+override_dh_auto_configure:
+       dh_auto_configure -- -Dwith-openssl=disabled
+
+override_dh_makeshlibs:
+       dh_makeshlibs -- -c4
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644 (file)
index 0000000..a314eeb
--- /dev/null
@@ -0,0 +1,5 @@
+Bug-Database: https://github.com/zchunk/zchunk/issues
+Bug-Submit: https://github.com/zchunk/zchunk/issues/new
+Security-Contact: Jonathan Dieter <jdieter@gmail.com>
+Repository: https://github.com/zchunk/zchunk.git
+Repository-Browse: https://github.com/zchunk/zchunk
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..5b9be27
--- /dev/null
@@ -0,0 +1,3 @@
+version=4
+opts=repack,repacksuffix=+ds1,dversionmangle=s/\+ds[1-9][0-9]*//,filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/zchunk-$1\.tar\.gz/ \
+  https://github.com/zchunk/zchunk/tags .*/v?(\d\S+)\.tar\.gz
diff --git a/debian/zchunk.docs b/debian/zchunk.docs
new file mode 100644 (file)
index 0000000..b43bf86
--- /dev/null
@@ -0,0 +1 @@
+README.md
diff --git a/debian/zchunk.install b/debian/zchunk.install
new file mode 100644 (file)
index 0000000..e772481
--- /dev/null
@@ -0,0 +1 @@
+usr/bin