aboutsummaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorUmer Saleem <[email protected]>2022-12-14 06:33:05 +0500
committerGitHub <[email protected]>2022-12-13 17:33:05 -0800
commite6e31dd5406d59edaaf5a7eeebd2fb83fb86236f (patch)
tree31d9f64ac3d4db04e9477ad510a5a97a30d996ad /.github
parentf3f5263f8a9b0f8b51051698f68fbd76e181a685 (diff)
Add native-deb* targets to build native Debian packages
In continuation of previous #13451, this commits adds native-deb* targets for make to build native debian packages. Github workflows are updated to build and test native Debian packages. Native packages only build with pre-configured paths (see the dh_auto_configure section in contrib/debian/rules.in). While building native packages, paths should not be configured. Initial config flags e.g. '--enable-debug' are replaced in contrib/debian/rules.in. Additional packages on top of existing zfs packages required to build native packages include debhelper-compat, dh-python, dkms, po-debconf, python3-all-dev, python3-sphinx. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Ryan Moeller <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Umer Saleem <[email protected]> Closes #14265
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build-dependencies.txt6
-rw-r--r--.github/workflows/zfs-tests-functional.yml11
-rw-r--r--.github/workflows/zfs-tests-sanity.yml11
3 files changed, 20 insertions, 8 deletions
diff --git a/.github/workflows/build-dependencies.txt b/.github/workflows/build-dependencies.txt
index 482d82fff..73921865c 100644
--- a/.github/workflows/build-dependencies.txt
+++ b/.github/workflows/build-dependencies.txt
@@ -6,6 +6,9 @@ bc
build-essential
curl
dbench
+debhelper-compat
+dh-python
+dkms
fakeroot
fio
gdb
@@ -33,12 +36,15 @@ mdadm
nfs-kernel-server
pamtester
parted
+po-debconf
python3
+python3-all-dev
python3-cffi
python3-dev
python3-packaging
python3-pip
python3-setuptools
+python3-sphinx
rng-tools-debian
rsync
samba
diff --git a/.github/workflows/zfs-tests-functional.yml b/.github/workflows/zfs-tests-functional.yml
index 69ca539b7..b592a9c13 100644
--- a/.github/workflows/zfs-tests-functional.yml
+++ b/.github/workflows/zfs-tests-functional.yml
@@ -32,15 +32,18 @@ jobs:
./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan
- name: Make
run: |
- make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod
+ make --no-print-directory --silent native-deb-utils native-deb-kmod
+ mv ../*.deb .
+ rm ./openzfs-zfs-dkms*.deb ./openzfs-zfs-dracut*.deb
- name: Install
run: |
- sudo dpkg -i *.deb
# Update order of directories to search for modules, otherwise
# Ubuntu will load kernel-shipped ones.
sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
- sudo depmod
- sudo modprobe zfs
+ sudo dpkg -i *.deb
+ # Native Debian packages enable and start the services
+ # Stop zfs-zed daemon, as it may interfere with some ZTS test cases
+ sudo systemctl stop zfs-zed
# Workaround for cloud-init bug
# see https://github.com/openzfs/zfs/issues/12644
FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules
diff --git a/.github/workflows/zfs-tests-sanity.yml b/.github/workflows/zfs-tests-sanity.yml
index f3fc607cb..7ec534f01 100644
--- a/.github/workflows/zfs-tests-sanity.yml
+++ b/.github/workflows/zfs-tests-sanity.yml
@@ -28,15 +28,18 @@ jobs:
./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan
- name: Make
run: |
- make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod
+ make --no-print-directory --silent native-deb-utils native-deb-kmod
+ mv ../*.deb .
+ rm ./openzfs-zfs-dkms*.deb ./openzfs-zfs-dracut*.deb
- name: Install
run: |
- sudo dpkg -i *.deb
# Update order of directories to search for modules, otherwise
# Ubuntu will load kernel-shipped ones.
sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
- sudo depmod
- sudo modprobe zfs
+ sudo dpkg -i *.deb
+ # Native Debian packages enable and start the services
+ # Stop zfs-zed daemon, as it may interfere with some ZTS test cases
+ sudo systemctl stop zfs-zed
# Workaround for cloud-init bug
# see https://github.com/openzfs/zfs/issues/12644
FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules