From cc88b84e5d0a15aa47447af95421abc777e668e8 Mon Sep 17 00:00:00 2001 From: Umer Saleem Date: Wed, 15 Nov 2023 15:22:41 +0500 Subject: [PATCH 1/3] Packaging: Auto-generate changelog during configure Auto-generate changelog based off on @VERSION@ during configure, so that it is not needed to be update with new releases / version updates. Signed-off-by: Umer Saleem --- .gitignore | 1 + configure.ac | 1 + contrib/debian/{changelog => changelog.in} | 6 ++++++ 3 files changed, 8 insertions(+) rename contrib/debian/{changelog => changelog.in} (96%) diff --git a/.gitignore b/.gitignore index 85f32decd0..e5ee9cacec 100644 --- a/.gitignore +++ b/.gitignore @@ -82,6 +82,7 @@ modules.order Makefile Makefile.in +changelog nfs41acl.h nfs41acl_xdr.c *.patch diff --git a/configure.ac b/configure.ac index e755dcc602..655669f164 100644 --- a/configure.ac +++ b/configure.ac @@ -69,6 +69,7 @@ ZFS_AC_DEBUG_INVARIANTS AC_CONFIG_FILES([ contrib/debian/rules + contrib/debian/changelog Makefile include/Makefile lib/libzfs/libzfs.pc diff --git a/contrib/debian/changelog b/contrib/debian/changelog.in similarity index 96% rename from contrib/debian/changelog rename to contrib/debian/changelog.in index 5470ec0254..55b2b8a295 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog.in @@ -1,3 +1,9 @@ +openzfs-linux (@VERSION@-1) unstable; urgency=low + + * OpenZFS @VERSION@ is tagged. + + -- Umer Saleem Wed, 15 Nov 2023 15:00:00 +0500 + openzfs-linux (2.2.0-0) unstable; urgency=medium * Merge tag zfs-2.2.0 From 08b4d2f79e90c429b6c0a53308a5f0cf7bf9f626 Mon Sep 17 00:00:00 2001 From: Umer Saleem Date: Tue, 21 Nov 2023 17:17:14 +0500 Subject: [PATCH 2/3] Remove contrib/truenas contrib/truenas contains Debian wrapper for Alien based RPM converted Debian packages. This was bein used in Bluefin but since there are no future release for Bluefin and we have adapted to native Debian packaging in Cobia, it makes sense to remove this directory. With automatic changelog generation via configure, a manual changelog entry is still required in contrib/truenas/changelog, to to make CI happy that tests for this Debian wrapper based packaging, which is not being used anywhere anymore. Signed-off-by: Umer Saleem --- .github/workflows/ci.yml | 35 --------- contrib/truenas/changelog | 154 -------------------------------------- contrib/truenas/compat | 1 - contrib/truenas/control | 10 --- contrib/truenas/copyright | 7 -- contrib/truenas/rules | 47 ------------ 6 files changed, 254 deletions(-) delete mode 100644 contrib/truenas/changelog delete mode 100644 contrib/truenas/compat delete mode 100644 contrib/truenas/control delete mode 100644 contrib/truenas/copyright delete mode 100644 contrib/truenas/rules diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a10ed9b28..8c84352676 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,41 +3,6 @@ name: CI on: [push] jobs: - build-deb: - runs-on: ubuntu-20.04 - container: - image: debian:testing - steps: - - name: Installing Dependencies - run: | - apt update > /dev/null 2>&1 - apt install -y debhelper-compat devscripts > /dev/null 2>&1 - - - name: Checkout - uses: actions/checkout@v2 - - - name: Build deb package - run: | - cp -a contrib/truenas debian - mk-build-deps --build-dep - apt install -y ./*.deb - dch -b -M --force-distribution --distribution bullseye-truenas-unstable 'Tagged from zfs CI' - debuild -us -uc -b - - - name: Create artifacts dir - run: mkdir artifacts - if: success() - - - name: Move artifacts - run: mv ../*.deb artifacts - if: success() - - - uses: actions/upload-artifact@v1 - with: - name: zfs - path: artifacts - if: success() - build-native-deb: runs-on: ubuntu-22.04 container: diff --git a/contrib/truenas/changelog b/contrib/truenas/changelog deleted file mode 100644 index 5c46266971..0000000000 --- a/contrib/truenas/changelog +++ /dev/null @@ -1,154 +0,0 @@ -openzfs (2.2.0-0) unstable; urgency=medium - - * Merge tag zfs-2.2.0 - - -- Ameer Hamza Mon, 03 Jul 2023 10:00:00 -0500 - -openzfs (2.1.99-1) unstable; urgency=medium - - * Merge tag zfs-2.1.99. - - -- Ameer Hamza Wed, 20 Jun 2023 09:00:00 -0500 - -openzfs (2.1.12-0) unstable; urgency=medium - - * Merge tag zfs-2.1.12 - - -- Ameer Hamza Wed, 14 Jun 2023 09:00:00 -0500 - -openzfs (2.1.11-0) unstable; urgency=medium - - * Merge tag zfs-2.1.11 - - -- Ameer Hamza Thu, 20 Apr 2023 13:00:00 -0500 - -openzfs (2.1.10-0) unstable; urgency=medium - - * Merge tag zfs-2.1.10 - - -- Ameer Hamza Mon, 17 Apr 2023 12:00:00 -0500 - -openzfs (2.1.9-0) unstable; urgency=medium - - * Merge tag zfs-2.1.9 - - -- Ryan Moeller Wed, 25 Jan 2023 14:00:00 -0500 - -openzfs (2.1.8-0) unstable; urgency=medium - - * Merge tag zfs-2.1.8 - - -- Ryan Moeller Fri, 20 Jan 2023 12:30:00 -0500 - -openzfs (2.1.7-0) unstable; urgency=medium - - * Merge tag zfs-2.1.7 - * Expose libzutil error info in libpc_handle_t - * Build packages with debug symbols - * Add support for overlayfs for docker - * Optimize microzaps - * zed: Avoid core dump if wholedisk property does not exist - * zed: post a udev change event from spa_vdev_attach() - * SCALE: ignore wholedisk - * Skip trivial permission checks on xattrs for POSIX ACL type - - -- Ryan Moeller Wed, 07 Dec 2022 16:00:00 -0500 - -openzfs (2.1.6-0) unstable; urgency=medium - - * Merge tag zfs-2.1.6 - * zed: mark disks as REMOVED when they are removed - * Provide kfpu_begin/end from spl - * Add snapshots_changed as property - * Add createtxg sort support for simple snapshot iterator - * Expose ZFS dataset case sensitivity setting via sb_opts - - -- Ryan Moeller Wed, 22 Jun 2022 16:00:00 -0500 - -openzfs (2.1.5-0) unstable; urgency=medium - - * Merged tag zfs-2.1.5 - - -- Ryan Moeller Wed, 22 Jun 2022 16:00:00 -0500 - -openzfs (2.1.4-1) unstable; urgency=medium - - * Merged from zfs-2.1.5-staging - * Remove wrong assertion in log spacemap - * Add debug symbols to the truenas package - - -- Ryan Moeller Thu, 02 Jun 2022 08:00:00 -0500 - -openzfs (2.1.4-0) unstable; urgency=medium - - * Merged OpenZFS zfs-2.1.4 - * Also merged from zfs-2.1.5-staging - * Fix zfs send -V - * Expose zpool guids through kstats - - -- Ryan Moeller Wed, 18 May 2022 14:00:00 -0500 - -openzfs (2.1.3-0) unstable; urgency=medium - - * Merged OpenZFS zfs-2.1.3 - - -- Ryan Moeller Thu, 10 Mar 2021 16:00:00 -0400 - -openzfs (2.1.2-1) unstable; urgency=medium - - * Merged OpenZFS zfs-2.1.2-release - * Implement FS_IOC_GETVERSION - * Improve log spacemap load time after unclean export - - -- Ryan Moeller Mon, 20 Dec 2021 10:00:00 -0400 - -openzfs (2.1.2-0) unstable; urgency=medium - - * Merged OpenZFS zfs-2.1.2-staging - * Updated Python build dependencies - * Linux 5.14 build fixes - - -- Ryan Moeller Wed, 03 Nov 2021 10:00:00 -0400 - -openzfs (2.1.1-0) unstable; urgency=medium - - * Merged OpenZFS 2.1.1 - * Removed feature@xattr_compat and xattr_fallback property - - -- Ryan Moeller Thu, 07 Oct 2021 14:09:30 -0400 - -openzfs (2.1.0-0) unstable; urgency=medium - - * Rebased to OpenZFS 2.1.0 - - -- Ryan Moeller Thu, 01 Apr 2021 13:00:00 -0500 - -openzfs (2.0.4-0) unstable; urgency=medium - - * Rebased to OpenZFS 2.0.4 - - -- Ryan Moeller Tue, 09 Mar 2021 14:00:00 -0500 - -openzfs (2.0.3-0) unstable; urgency=medium - - * Rebased to OpenZFS 2.0.3 - - -- Ryan Moeller Wed, 24 Feb 2021 15:00:00 -0500 - -openzfs (2.0.2-0) unstable; urgency=medium - - * Rebased to OpenZFS 2.0.2 - - -- Ryan Moeller Mon, 01 Feb 2021 15:00:00 -0500 - -openzfs (2.0.1-0) unstable; urgency=medium - - * Rebased to OpenZFS 2.0.1 - - -- Ryan Moeller Thu, 07 Jan 2021 17:34:28 -0500 - -openzfs (2.0.0-0) unstable; urgency=medium - - * Initial package for TrueNAS SCALE based on OpenZFS 2.0.0 - - -- Ryan Moeller Mon, 14 Sep 2020 22:01:55 -0400 diff --git a/contrib/truenas/compat b/contrib/truenas/compat deleted file mode 100644 index 48082f72f0..0000000000 --- a/contrib/truenas/compat +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/contrib/truenas/control b/contrib/truenas/control deleted file mode 100644 index 59a08d25a2..0000000000 --- a/contrib/truenas/control +++ /dev/null @@ -1,10 +0,0 @@ -Source: openzfs -Maintainer: Ryan Moeller -Section: truenas -Priority: extra -Build-Depends: build-essential, autoconf, automake, libtool, gawk, alien, fakeroot, libblkid-dev, uuid-dev, libudev-dev, libssl-dev, zlib1g-dev, libaio-dev, libattr1-dev, libelf-dev, linux-image-amd64, linux-headers-amd64, python3, python3-dev, python3-setuptools, python3-cffi, python3-packaging, python3-distlib, libffi-dev, libbsd-dev - -Package: openzfs -Architecture: amd64 -Depends: zfs, ${kmod}, linux-image-amd64, libnvpair3, libuutil3, libzfs5, libzpool5 -Description: OpenZFS 2.1 for TrueNAS SCALE diff --git a/contrib/truenas/copyright b/contrib/truenas/copyright deleted file mode 100644 index c608246779..0000000000 --- a/contrib/truenas/copyright +++ /dev/null @@ -1,7 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: openzfs/zfs -Source: https://github.com/openzfs/zfs - -Files: * -Copyright: See AUTHORS file -License: See COPYRIGHT and LICENSE files diff --git a/contrib/truenas/rules b/contrib/truenas/rules deleted file mode 100644 index 2b79ce4b68..0000000000 --- a/contrib/truenas/rules +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/make -f -export DH_VERBOSE = 1 - -%: - dh $@ - -debarch!= dpkg --print-architecture -# Prefer the TrueNAS kernel image but fall back to the generic image. -image!= apt info 'linux-image-truenas-$(debarch)' 'linux-image-$(debarch)' | \ - awk '/^Package:/ { print $$2; exit }' - -ifneq (,$(findstring truenas,$(image))) - # TrueNAS kernel image *is not* a metapackage - vers!= apt info $(image) | awk '/^Source:/ { print $$2 }' | \ - sed 's/linux-//' - obj= linux-headers-$(vers) - src= $(obj) - kmod= kmod-zfs-$(vers) -else - # Debian kernel image *is* a metapackage - krn!= apt info $(image) | awk '/^Depends:/ { print $$2 }' - obj= $(subst image,headers,$(krn)) - src= $(subst $(debarch),common,$(obj)) - kmod= kmod-zfs-$(subst linux-image-,,$(krn)) -endif - -override_dh_auto_configure: - dh_auto_configure -- \ - --enable-debuginfo \ - --with-linux=/usr/src/${src} \ - --with-linux-obj=/usr/src/${obj} - -override_dh_auto_test: - -override_dh_shlibdeps: - -override_dh_auto_install: - -override_dh_gencontrol: - echo kmod=$(kmod) >> debian/openzfs.substvars - dh_gencontrol - -override_dh_builddeb: - $(MAKE) deb-kmod deb-utils - mv *.deb ../ - mv ../openzfs-build-deps-depends_*.deb ./ - dh_builddeb From bb616aa0aba06c1bbf63ee8e68fc61fa66c10397 Mon Sep 17 00:00:00 2001 From: Umer Saleem Date: Tue, 21 Nov 2023 00:54:51 +0500 Subject: [PATCH 3/3] Update CI This commit updates CI to adapt to new changelog generation process. Signed-off-by: Umer Saleem --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c84352676..8dd405bb11 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,9 +18,11 @@ jobs: - name: Build deb package run: | - cp -a contrib/debian debian - mk-build-deps --build-dep + mk-build-deps --build-dep contrib/debian/control apt install -y ./*.deb + sh autogen.sh + ./configure + cp -a contrib/debian debian sed 's/@CFGOPTS@/--enable-debuginfo/g' debian/rules.in > debian/rules chmod +x debian/rules dch -b -M --force-distribution --distribution bullseye-truenas-unstable 'Tagged from zfs CI'