Port TrueNAS contrib changes and adjust github workflows

Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
This commit is contained in:
Ryan Moeller 2020-09-14 16:05:06 -04:00 committed by Ameer Hamza
parent 8f2f6cd2ac
commit fd0406e5b3
8 changed files with 241 additions and 12 deletions

44
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,44 @@
name: CI
on: [push]
jobs:
build-native-deb:
runs-on: ubuntu-22.04
container:
image: debian:testing
steps:
- name: Installing Dependencies
run: |
apt update > /dev/null 2>&1
apt install -y linux-image-amd64 linux-headers-amd64 debhelper-compat devscripts > /dev/null 2>&1
- name: Checkout
uses: actions/checkout@v2
- name: Build deb package
run: |
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'
debuild -us -uc -b
debian/rules override_dh_binary-modules
- 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-native
path: artifacts
if: success()

28
.github/workflows/docker_image.yml vendored Normal file
View File

@ -0,0 +1,28 @@
name: build_image
on:
push:
branches:
- 'truenas/zfs-2.1-release'
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
tags: ixsystems/zfs:latest
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View File

@ -103,9 +103,7 @@ ERRLOGS=0
if [ ! -f Summary/Summary.md ]; then
# first call, we do the default summary (~500k)
echo -n > Summary.md
summarize_s "Sanity Tests Ubuntu 20.04" Logs-20.04-sanity
summarize_s "Sanity Tests Ubuntu 22.04" Logs-22.04-sanity
summarize_f "Functional Tests Ubuntu 20.04" Logs-20.04-functional
summarize_f "Functional Tests Ubuntu 22.04" Logs-22.04-functional
cat Summary.md >> $GITHUB_STEP_SUMMARY

View File

@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [20.04, 22.04]
os: [22.04]
runs-on: ubuntu-${{ matrix.os }}
steps:
- uses: actions/checkout@v4
@ -32,7 +32,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [20.04, 22.04]
os: [22.04]
needs: build
uses: ./.github/workflows/zfs-linux-tests.yml
with:

View File

@ -17,3 +17,152 @@ openzfs-linux (2.1.99-1) unstable; urgency=low
* This packaging is a fork of Debian zfs-linux 2.1.6-2 release.
-- Umer Saleem <usaleem@ixsystems.com> Fri, 11 Oct 2022 15:00:00 -0400
openzfs-linux (2.1.12-0) unstable; urgency=medium
* Merge tag zfs-2.1.12
-- Ameer Hamza <ahamza@ixsystems.com> Wed, 14 Jun 2023 09:00:00 -0500
openzfs-linux (2.1.11-0) unstable; urgency=medium
* Merge tag zfs-2.1.11
-- Ameer Hamza <ahamza@ixsystems.com> Thu, 20 Apr 2023 13:00:00 -0500
openzfs-linux (2.1.10-0) unstable; urgency=medium
* Merge tag zfs-2.1.10
-- Ameer Hamza <ahamza@ixsystems.com> Mon, 17 Apr 2023 12:00:00 -0500
openzfs-linux (2.1.9-0) unstable; urgency=medium
* Merge tag zfs-2.1.9
-- Ryan Moeller <ryan@ixsystems.com> Wed, 25 Jan 2023 14:00:00 -0500
openzfs-linux (2.1.8-0) unstable; urgency=medium
* Merge tag zfs-2.1.8
-- Ryan Moeller <ryan@ixsystems.com> Fri, 20 Jan 2023 12:30:00 -0500
openzfs-linux (2.1.7-1) unstable; urgency=medium
* Integrate native Debian packaging with TrueNAS ZFS.
* This packaging is a fork of Debian zfs-linux 2.1.6-2 release.
-- Umer Saleem <usaleem@ixsystems.com> Wed, 14 Dec 2022 15:00:00 -0400
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 <ryan@ixsystems.com> 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 <ryan@ixsystems.com> Wed, 22 Jun 2022 16:00:00 -0500
openzfs (2.1.5-0) unstable; urgency=medium
* Merged tag zfs-2.1.5
-- Ryan Moeller <ryan@ixsystems.com> 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 <ryan@ixsystems.com> 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 <ryan@ixsystems.com> Wed, 18 May 2022 14:00:00 -0500
openzfs (2.1.3-0) unstable; urgency=medium
* Merged OpenZFS zfs-2.1.3
-- Ryan Moeller <ryan@ixsystems.com> 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 <ryan@ixsystems.com> 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 <ryan@ixsystems.com> 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 <ryan@ixsystems.com> Thu, 07 Oct 2021 14:09:30 -0400
openzfs (2.1.0-0) unstable; urgency=medium
* Rebased to OpenZFS 2.1.0
-- Ryan Moeller <ryan@ixsystems.com> Thu, 01 Apr 2021 13:00:00 -0500
openzfs (2.0.4-0) unstable; urgency=medium
* Rebased to OpenZFS 2.0.4
-- Ryan Moeller <ryan@ixsystems.com> Tue, 09 Mar 2021 14:00:00 -0500
openzfs (2.0.3-0) unstable; urgency=medium
* Rebased to OpenZFS 2.0.3
-- Ryan Moeller <ryan@ixsystems.com> Wed, 24 Feb 2021 15:00:00 -0500
openzfs (2.0.2-0) unstable; urgency=medium
* Rebased to OpenZFS 2.0.2
-- Ryan Moeller <ryan@ixsystems.com> Mon, 01 Feb 2021 15:00:00 -0500
openzfs (2.0.1-0) unstable; urgency=medium
* Rebased to OpenZFS 2.0.1
-- Ryan Moeller <ryan@ixsystems.com> 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 <ryan@ixsystems.com> Mon, 14 Sep 2020 22:01:55 -0400

View File

@ -4,10 +4,9 @@ Priority: optional
Maintainer: ZFS on Linux specific mailing list <zfs-discuss@list.zfsonlinux.org>
Build-Depends: debhelper-compat (= 12),
dh-python,
dh-sequence-dkms | dkms (>> 2.1.1.2-5),
dh-sequence-dkms,
libaio-dev,
libblkid-dev,
libcurl4-openssl-dev,
libelf-dev,
libpam0g-dev,
libssl-dev | libssl1.0-dev,
@ -35,6 +34,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}
Breaks: libnvpair1, libnvpair3
Replaces: libnvpair1, libnvpair3, libnvpair3linux
Conflicts: libnvpair3linux
Provides: libnvpair3
Description: Solaris name-value library for Linux
This library provides routines for packing and unpacking nv pairs for
transporting data across process boundaries, transporting between
@ -46,6 +46,7 @@ Architecture: linux-any
Depends: libpam-runtime, ${misc:Depends}, ${shlibs:Depends}
Replaces: libpam-zfs
Conflicts: libpam-zfs
Provides: pam-zfs-key
Description: PAM module for managing encryption keys for ZFS
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
@ -61,6 +62,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}
Breaks: libuutil1, libuutil3
Replaces: libuutil1, libuutil3, libuutil3linux
Conflicts: libuutil3linux
Provides: libuutil3
Description: Solaris userland utility library for Linux
This library provides a variety of glue functions for ZFS on Linux:
* libspl: The Solaris Porting Layer userland library, which provides APIs
@ -84,7 +86,7 @@ Depends: libssl-dev | libssl1.0-dev,
${misc:Depends}
Replaces: libzfslinux-dev
Conflicts: libzfslinux-dev
Provides: libnvpair-dev, libuutil-dev
Provides: libnvpair-dev, libuutil-dev, libzfs5-devel
Description: OpenZFS filesystem development files for Linux
Header files and static libraries for compiling software against
libraries of OpenZFS filesystem.
@ -102,6 +104,7 @@ Recommends: libcurl4
Breaks: libzfs2, libzfs4
Replaces: libzfs2, libzfs4, libzfs4linux
Conflicts: libzfs4linux
Provides: libzfs5
Description: OpenZFS filesystem library for Linux - general support
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
@ -130,6 +133,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}
Breaks: libzpool2, libzpool5
Replaces: libzpool2, libzpool5, libzpool5linux
Conflicts: libzpool5linux
Provides: libzpool5
Description: OpenZFS pool library for Linux
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
@ -146,6 +150,7 @@ Depends: python3-cffi,
${python3:Depends}
Replaces: python3-pyzfs
Conflicts: python3-pyzfs
Provides: python3-pyzfs
Description: wrapper for libzfs_core C library
libzfs_core is intended to be a stable interface for programmatic
administration of ZFS. This wrapper provides one-to-one wrappers for
@ -197,6 +202,7 @@ Recommends: openzfs-zfs-zed, openzfs-zfsutils (>= ${source:Version}), ${linux:Re
Suggests: debhelper
Breaks: spl-dkms (<< 0.8.0~rc1)
Replaces: spl-dkms, zfs-dkms
Conflicts: zfs-dkms
Provides: openzfs-zfs-modules
Description: OpenZFS filesystem kernel modules for Linux
OpenZFS is a storage platform that encompasses the functionality of
@ -216,6 +222,7 @@ Depends: busybox-initramfs | busybox-static | busybox,
Breaks: zfsutils-linux (<= 0.7.11-2)
Replaces: zfsutils-linux (<= 0.7.11-2), zfs-initramfs
Conflicts: zfs-initramfs
Provides: zfs-initramfs
Description: OpenZFS root filesystem capabilities for Linux - initramfs
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
@ -232,6 +239,7 @@ Depends: dracut,
${misc:Depends}
Conflicts: zfs-dracut
Replaces: zfs-dracut
Provides: zfs-dracut
Description: OpenZFS root filesystem capabilities for Linux - dracut
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
@ -248,10 +256,11 @@ Depends: openzfs-libnvpair3 (= ${binary:Version}),
openzfs-libuutil3 (= ${binary:Version}),
openzfs-libzfs4 (= ${binary:Version}),
openzfs-libzpool5 (= ${binary:Version}),
openzfs-zfs-modules | openzfs-zfs-dkms,
python3,
${misc:Depends},
${shlibs:Depends}
Recommends: lsb-base, openzfs-zfs-modules | openzfs-zfs-dkms, openzfs-zfs-zed
Recommends: lsb-base, openzfs-zfs-zed
Breaks: openrc,
spl (<< 0.7.9-2),
spl-dkms (<< 0.8.0~rc1),
@ -262,7 +271,7 @@ Conflicts: zfs, zfs-fuse, zfsutils-linux
Suggests: nfs-kernel-server,
samba-common-bin (>= 3.0.23),
openzfs-zfs-initramfs | openzfs-zfs-dracut
Provides: openzfsutils
Provides: openzfs
Description: command-line tools to manage OpenZFS filesystems
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
@ -316,6 +325,7 @@ Recommends: nfs-kernel-server
Breaks: zfsutils-linux (<= 0.7.9-2)
Replaces: zfsutils-linux (<= 0.7.9-2), zfs-test
Conflicts: zutils, zfs-test
Provides: zfs-test
Description: OpenZFS test infrastructure and support scripts
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,

View File

@ -5,7 +5,7 @@ Maintainer: ZFS on Linux specific mailing list <zfs-discuss@list.zfsonlinux.org>
Build-Depends: debhelper-compat (= 10),
dkms (>> 2.1.1.2-5),
libtool,
linux-headers-_KVERS_ | raspberrypi-kernel-headers
linux-headers-_KVERS_
Standards-Version: 4.3.0
Homepage: http://www.openzfs.org/
Vcs-Git: https://github.com/openzfs/zfs.git
@ -14,7 +14,7 @@ Vcs-Browser: https://github.com/openzfs/zfs
Package: openzfs-zfs-modules-_KVERS_
Architecture: _ARCH_
Provides: openzfs-zfs-modules
Depends: linux-image-_KVERS_ | raspberrypi-kernel
Depends: linux-image-_KVERS_ | linux-image-amd64
Recommends: openzfsutils
Replaces: zfs-modules-_KVERS_
Conflicts: zfs-modules-_KVERS_

View File

@ -25,7 +25,7 @@ PARALLEL = $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NJOBS = -j$(or $(PARALLEL),$(NUM_CPUS),1)
%:
dh $@ --with autoreconf,dkms,python3,sphinxdoc
dh $@ --with autoreconf,python3,sphinxdoc
override_dh_autoreconf:
@# Embed the downstream version in the module.