From e084e9f65bace1d8456199530a83132147013417 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Mon, 15 Jul 2024 21:23:38 -0400 Subject: [PATCH] update debian/ from upstream 'make deb' works Signed-off-by: Kent Overstreet --- debian/bcachefs.triggers | 1 + debian/changelog | 176 ++++++++++++++++++++++++++++++++------- debian/compat | 1 - debian/control | 36 ++++++-- debian/copyright | 89 ++++++++++++-------- debian/gbp.conf | 2 +- debian/rules | 36 +++++++- debian/watch | 2 +- 8 files changed, 267 insertions(+), 76 deletions(-) create mode 100644 debian/bcachefs.triggers delete mode 100644 debian/compat diff --git a/debian/bcachefs.triggers b/debian/bcachefs.triggers new file mode 100644 index 00000000..6c9f4543 --- /dev/null +++ b/debian/bcachefs.triggers @@ -0,0 +1 @@ +activate update-initramfs diff --git a/debian/changelog b/debian/changelog index 7dfc7df1..b2eaedce 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,44 +1,158 @@ -bcachefs-tools (1.0.8-2~bpo8+1) jessie-backports; urgency=medium +bcachefs-tools (1:1.9.1-1) unstable; urgency=medium - * Rebuild for jessie-backports. + * New upstream release + * New build-depency: librust-strum-dev + * Update copyright file - -- Mathieu Parent Mon, 21 Sep 2015 21:18:39 +0200 + -- Jonathan Carter Thu, 20 Jun 2024 17:28:12 +0200 -bcachefs-tools (1.0.8-2) unstable; urgency=medium +bcachefs-tools (1:1.7.0-1) unstable; urgency=medium - * Only run update-initramfs if installed. Fix dracut. (Closes: #788442) + * Upload to unstable (Closes: #1066929) + * Bump epoch + - Ack from pochu: + https://lists.debian.org/msgid-search/1c5f86c9-1525-4d44-996f-3d4eed1e64d6@debian.org - -- David Mohr Thu, 11 Jun 2015 10:23:48 -0600 + -- Jonathan Carter Wed, 15 May 2024 12:04:38 +0200 -bcachefs-tools (1.0.8-1) unstable; urgency=medium +bcachefs-tools (24+really1.7.0-1~exp1) experimental; urgency=medium - [ James Page ] - * d/control: Add Vcs fields. + [ Steinar H. Gunderson ] + * New upstream release. + * Remove the do-not-install-mount-symlink patch. + * Add epoch to deal with new upstream versioning scheme, + and disable pristine-tar option in gbp.conf, since there is no + pristine-tar branch. (Closes: #1054620) + * revert-bindgen-changes.patch: New patch, reinstates upstream + hack that makes bcachefs-tools work with bindgen older than 0.69.4 + (which isn't in Debian yet). + * Build-depend on systemd-dev, since udev.pc has moved there. + * Enable Rust parts, including mount.bcachefs. (Closes: #1060256) + * Include the right .mk flags to get DEB_HOST_RUST_TYPE etc., and + export that (needed for Debian's cargo wrapper). + * Override CARGO, and set CARGO_HOME during installation. + * Run prepare-debian in dh_auto_configure, and clean up the vendor dir + in dh_auto_clean. + * Remove Cargo.lock before the build, so that we can use Debian's versions + of all Rust crates. Also remove it in dh_auto_clean, so that it does not + take a diff. + * revert-bindgen-changes.patch: New patch, loosen required versions + of Rust crates + - errno (0.2 -> >= 0.2, < 1; Debian has 0.4) + - udev (0.7 -> >= 0.7, < 1; Debian has 0.8) + - memoffset (0.8.0 -> 0.6; Debian has 0.6.5, so a downgrade) + - paste (1.0.11 -> 1.0; Debian has 1.0.8, so a downgrade) + - bindgen (0.69.4 -> 0.66; see revert-bindgen-changes.patch above) + * Add build-dependency on all relevant Rust crates, and on python3:native + due to use of the Cargo wrapper. + * Build-Depend on pkgconf instead of pkg-config (Lintian warning). + * Add debhelper tokens to postinst and postrm scripts (Lintian warning). + * Depend on python3:any due to bcachefsck_all being a Python script + (Lintian warning). - [ David Mohr ] - * Don't depend on initramfs-tools, instead recommend it (Closes: #775674) - * New upstream release 1.0.8 - * Update changelog - * Add patch to clean bcache-register - * Update changelog - * Adding dep3 headers to the 0001 patch - * Update watch to use http://evilpiepirate.org/git/bcache-tools.git - * Add patch for gcc-5 compatibility. - Thanks to James Cowgill (Closes: #777798) + [ Jonathan Carter ] + * Upload to experimental + * Add librust-chrono-dev, librust-getset-dev and + librust-gag-dev to build-depends + * Recreate dependencies patch to match new upstream source + * Update standards version to 4.7.0 + * Update above mentioned revert-bindgen-changes.patch - -- David Mohr Tue, 26 May 2015 20:57:58 -0600 + -- Jonathan Carter Thu, 25 Apr 2024 13:53:55 +0200 -bcachefs-tools (1.0.7-1) unstable; urgency=medium +bcachefs-tools (24+really1.3.4-2) unstable; urgency=medium - [ David Mohr ] - * Based on work by Gabriel de Perthuis - * Initial release. (Closes: #708132) + * Upload to unstable - [ Robie Basak ] - * Remove unnecessary file bcache-tools.postrm. - * debian/copyright fixes. - * Add shebang to bcache-tools.preinst. - * Drop Vcs-* for now. - * Add self to Uploaders. + -- Jonathan Carter Wed, 03 Jan 2024 17:06:16 +0200 - -- Robie Basak Mon, 27 Oct 2014 13:32:08 +0000 +bcachefs-tools (24+really1.3.4-2~exp1) experimental; urgency=medium + + [ Chris Hofstaedtler ] + * Non-maintainer upload. + * Install files into /usr instead of /. (Closes: #1059373) + + [ Jonathan Carter ] + * Do not install bcachefs.mount symlink (Closes: #1057295) + + -- Jonathan Carter Wed, 27 Dec 2023 19:22:06 +0200 + +bcachefs-tools (24+really1.3.4-1) unstable; urgency=medium + + * New upstream release + + -- Jonathan Carter Tue, 21 Nov 2023 17:26:13 +0200 + +bcachefs-tools (24+really1.2-1) unstable; urgency=medium + + * New upstream release (Closes: #1054613) + * Disable new rust build + (dependencies currently unavailable in Debian, see debian/README.todo) + * Remove unneeded override_dh_auto_clean from debian/rules + (Closes: #1043654) + + -- Jonathan Carter Thu, 28 Sep 2023 19:54:47 +0200 + +bcachefs-tools (24-1) unstable; urgency=medium + + * New upstream release + + -- Jonathan Carter Tue, 29 Nov 2022 09:40:27 +0200 + +bcachefs-tools (23-1) unstable; urgency=medium + + * New upstream release + * Update standards version to 4.6.1 + + -- Jonathan Carter Mon, 31 Oct 2022 11:45:25 +0200 + +bcachefs-tools (0.1+git20220216.a1e928a-1) unstable; urgency=medium + + * New upstream snapshot + * Grab patch from Ubuntu to reduce memory on amd64 builders + (http://launchpadlibrarian.net/580140160/bcachefs-tools_0.1+git20210805.6c42566-2_0.1+git20210805.6c42566-2ubuntu1.diff.gz) + * Update copyright years + + -- Jonathan Carter Wed, 16 Feb 2022 14:42:20 +0200 + +bcachefs-tools (0.1+git20210805.6c42566-2) unstable; urgency=medium + + * Remove valgrind as build-dependency, seems unneeded unless + doing debug work and is not available on all architectures. + + -- Jonathan Carter Fri, 03 Sep 2021 16:07:11 +0200 + +bcachefs-tools (0.1+git20210805.6c42566-1) unstable; urgency=medium + + * New upstream snapshot + * Update standards version to 4.6.0 + * Add python3-docutils as dependency + * Do not run tests at package build time + + -- Jonathan Carter Tue, 06 Apr 2021 15:11:27 +0200 + +bcachefs-tools (0.1+git20201025.742dbbdb-1) unstable; urgency=medium + + * New upstream snapshot + + -- Jonathan Carter Mon, 26 Oct 2020 08:45:37 +0200 + +bcachefs-tools (0.1+git20201017.8a4408-1~exp1) unstable; urgency=medium + + * New upstream release + * Bump debhelper-compat to 13 + * Update standards version to 4.5.0 + * Declare Rules-Requires-Root: no + * debian/copyright: + - Update copyright years + - Update copyright owners + - Add intel and ccan copyright + * Add build-dep on libudev-dev, python3-pytest and valgrind + + -- Jonathan Carter Sun, 18 Oct 2020 17:29:27 +0200 + +bcachefs-tools (0.1+git20190829.aa2a42b-1~exp1) experimental; urgency=medium + + * Initial Release (Closes: #935178) + + -- Jonathan Carter Mon, 16 Sep 2019 10:36:04 +0000 diff --git a/debian/compat b/debian/compat deleted file mode 100644 index f599e28b..00000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -10 diff --git a/debian/control b/debian/control index 6f5bcb7b..b8dfcba9 100644 --- a/debian/control +++ b/debian/control @@ -1,18 +1,40 @@ Source: bcachefs-tools -Maintainer: Kent Overstreet +Maintainer: Jonathan Carter Section: utils Priority: optional -Standards-Version: 3.9.5 -Build-Depends: debhelper (>= 9), dh-python, pkg-config, libaio-dev, libblkid-dev, - libkeyutils-dev, liblz4-dev, libsodium-dev, liburcu-dev, libudev-dev, - libzstd-dev, uuid-dev, zlib1g-dev, python3, python3-docutils, - rustc, cargo, llvm, clang, libclang-dev, systemd, udev +Standards-Version: 4.7.0 +Rules-Requires-Root: no +Build-Depends: debhelper-compat (= 13), + cargo, + python3:native, + pkgconf, + python3-docutils, + python3-pytest, + libaio-dev, + libfuse3-dev, + libblkid-dev, + libkeyutils-dev, + liblz4-dev, + libscrypt-dev, + libsodium-dev, + libudev-dev, + liburcu-dev, + libzstd-dev, + systemd-dev, + uuid-dev, + zlib1g-dev, Homepage: https://bcachefs.org/ +Vcs-Git: https://salsa.debian.org/jcc/bcachefs-tools.git +Vcs-Browser: https://salsa.debian.org/jcc/bcachefs-tools Package: bcachefs-tools Architecture: linux-any -Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, python3:any Recommends: initramfs-tools | linux-initramfs-tool Description: bcachefs userspace tools Userspace tools for bcachefs, a modern copy on write, checksumming, multi device filesystem. + . + Note: The current Debian kernels do not come with bcachefs support, you + will have to use your own kernel or one provided by a 3rd party that + contains bcachefs support. diff --git a/debian/copyright b/debian/copyright index 42f273a6..4a1d369b 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,22 +1,67 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Contact: kent.overstreet@gmail.com - linux-bcachefs@vger.kernel.org +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Contact: kmo@daterainc.com + linux-bcache@vger.kernel.org Source: https://evilpiepirate.org/git/bcachefs-tools.git Files: * -Copyright: 2013 Kent Overstreet +Copyright: 2023-2024 Oracle + 2013-2022 Kent Overstreet + 2018 SUSE Linux + 2012-2016, Yann Collet + 2013 Gabriel de Perthuis + 2015 Martin Willi + 2007-2015 Herbert Xu + 2014-2015 Thomas Graf + 2008-2014 Patrick McHardy + 2004-2014 Red Hat Inc, Steven Rostedt + 2012 Google Inc + 2010-2011 Inter Corp + 2009-2010 Jozsef Kadlecsik (kadlec@blackhole.kfki.hu) + 2006-2008 Greg Kroah-Hartman + 2006-2008 Novell Inc. + 2007-2008 Intel Corporation + 2002-2003 Patrick Mochel + 2002-2003 Open Source Development Labs + 2002 James Morris + 2001-2002 Silicon Graphics, Inc. + 2002 David S. Miller (davem@redhat.com) + 2001 Jens Axboe + 2001 Ming Lei + 2001 by Andreas Gruenbacher + 2001 Linus Torvalds License: GPL-2 -Files: bcache-super-show.c -Copyright: 2013 Gabriel de Perthuis -License: GPL-2 +Files: ccan/* +Copyright: Copyright waived +License: cc0-1.0 + On Debian systems, the complete text of the Creative Commons CC0 1.0 + Universal license (CC0-1.0) can be found in + "/usr/share/common-licenses/CC0-1.0". -Files: bcache.c -Copyright: 1996-2001, PostgreSQL Global Development Group -License: PostgreSQL +Files: ccan/darray/* +Copyright: 2011 Joseph Adams +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. Files: debian/* -Copyright: 2014 Tom Strickx , +Copyright: 2019-2024 Jonathan Carter + 2014 Tom Strickx , 2014 David Mohr License: GPL-2+ @@ -62,25 +107,3 @@ License: GPL-2+ On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. - -License: PostgreSQL - Permission to use, copy, modify, and distribute this - software and its documentation for any purpose, without fee, - and without a written agreement is hereby granted, provided - that the above copyright notice and this paragraph and the - following two paragraphs appear in all copies. - . - IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO - ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT - OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF - THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - . - THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" - BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS - TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR - MODIFICATIONS. diff --git a/debian/gbp.conf b/debian/gbp.conf index a347f100..27e23cb0 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -1,5 +1,5 @@ [DEFAULT] -pristine-tar = True +pristine-tar = False upstream-tag = v%(version)s ignore-branch = True diff --git a/debian/rules b/debian/rules index f7278e80..17729457 100755 --- a/debian/rules +++ b/debian/rules @@ -1,9 +1,41 @@ #!/usr/bin/make -f +include /usr/share/dpkg/architecture.mk +include /usr/share/rustc/architecture.mk + +export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all +export CARGO=/usr/share/cargo/bin/cargo +export CARGO_HOME=$(CURDIR)/debian/cargo_home +export DEB_CARGO_CRATE=bcachefs-tools_$(DEB_VERSION_UPSTREAM) + PREFIX := /usr +ROOT_SBINDIR := /usr/sbin + +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) + +ifeq ($(DEB_BUILD_ARCH),amd64) + DEB_BUILD_MAINT_OPTIONS += optimize=-lto +endif %: - dh $@ --with python3 + dh $@ + +override_dh_auto_configure: + $(CARGO) prepare-debian $(CURDIR)/vendor --link-from-system + +override_dh_auto_build: + $(RM) Cargo.lock + dh_auto_build -- CARGO="$(CARGO)" override_dh_auto_install: - dh_auto_install -- "PREFIX=$(PREFIX)" + dh_auto_install -- "PREFIX=$(PREFIX)" "ROOT_SBINDIR=$(ROOT_SBINDIR)" + +override_dh_auto_clean: + ! [ -d $(CURDIR)/vendor ] || $(RM) -r $(CURDIR)/vendor + ! [ -d $(CARGO_HOME) ] || $(RM) -r $(CARGO_HOME) + $(RM) Cargo.lock + dh_auto_clean + +override_dh_auto_test: diff --git a/debian/watch b/debian/watch index a6755b16..12df5313 100644 --- a/debian/watch +++ b/debian/watch @@ -1,3 +1,3 @@ version=4 -opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/bcachefs-tools_$1\.tar\.gz/ \ +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/bcachefs-tools_$1\.tar\.gz/,uversionmangle=s/(\d)/$1/ \ https://github.com/koverstreet/bcachefs-tools/tags .*/v?(\d\S+)\.tar\.gz