The fixes for the missing Kbuild
targets in the make system were merged into ZFS today. The rest of the build issues are due to upstream modification to AC_CONFIG_FILES
, a change to dkms.conf
, as well as a new helper script needed during build. The following patch to the current AUR should fix things:
diff --git a/0001-only-build-the-module-in-dkms.conf.patch b/0001-only-build-the-module-in-dkms.conf.patch
index 0cc0903..40696d3 100644
--- a/0001-only-build-the-module-in-dkms.conf.patch
+++ b/0001-only-build-the-module-in-dkms.conf.patch
@@ -13,7 +13,7 @@ diff --git a/scripts/dkms.mkconf b/scripts/dkms.mkconf
index 046ce9edc..e805bf211 100755
--- a/scripts/dkms.mkconf
+++ b/scripts/dkms.mkconf
-@@ -29,14 +29,7 @@ PRE_BUILD="configure
+@@ -29,14 +29,8 @@ PRE_BUILD="configure
--disable-dependency-tracking
--prefix=/usr
--with-config=kernel
@@ -26,6 +26,7 @@ index 046ce9edc..e805bf211 100755
- fi
- )
+ --with-linux="\${kernel_source_dir}"
++ --enable-linux-experimental
--with-linux-obj="\${kernel_source_dir}"
\$(
[[ -n \"\${ICP_ROOT}\" ]] && \\
diff --git a/PKGBUILD b/PKGBUILD
index c37ed8c..3a6da89 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,7 +10,7 @@
#
pkgname=zfs-dkms-git
-pkgver=2.3.99.r437.g8170eb6ebc
+pkgver=2.3.99.r489.g4bd7a2eaa5
pkgrel=1
epoch=2
pkgdesc="Kernel modules for the Zettabyte File System."
@@ -25,11 +25,14 @@ provides+=('zfs')
provides+=("zfs-dkms=${pkgver}")
conflicts=('zfs-dkms')
source=("git+https://github.com/openzfs/zfs.git"
- "0001-only-build-the-module-in-dkms.conf.patch")
+ "0001-only-build-the-module-in-dkms.conf.patch"
+ "only-build-mod.patch")
sha256sums=('SKIP'
- '3e742db489eec60dbabb52178f590b96e29b166f359fc2167e188eeabceb0921')
+ '867555973cd233d8bcd4058f182c589307be5c73c31a0fe804a99475ef13f1ea'
+ '20704bcdc1fb9ec4ff6b0f308e994b3757e2b3cd327e3adddc432921a11af34f')
b2sums=('SKIP'
- '62ea720676e0cbf096d8c5f3b944d77ce6f3f54f55e221f80afd00061d577b5dea177150cfc785bb91586f93e1b3eb500661b38bb4d2cba26e8929b245957ee3')
+ '33c81a97c8ced752bd4aeb4ea27582222b80a7e2de76d8da0d507826e66f9216f4bd2d904ae6891972823fdd756b110c5fdc76e106bb8cb8ba075640d86d16f4'
+ 'b14e3634bed825f7bd24ceee3435ac2673bdd13abca74647252827ffd6fc22329a7f191d8de04c85eaf43dfbcb968952e1f3af7d0b1d04563a8877e756f6dfd2')
pkgver() {
cd zfs
@@ -41,13 +44,7 @@ prepare() {
cd zfs
patch -p1 -i ../0001-only-build-the-module-in-dkms.conf.patch
-
- # remove unneeded sections from module build
- sed -ri "/AC_CONFIG_FILES/,/]\)/{
-/AC_CONFIG_FILES/n
-/]\)/n
-/^\s*(module\/.*|zfs.release|Makefile)/!d
-}" configure.ac
+ patch -p1 -i ../only-build-mod.patch
./autogen.sh
}
@@ -71,5 +68,5 @@ package() {
install -d "${dkmsdir}"/{config,scripts}
cp -a configure dkms.conf Makefile.in META zfs_config.h.in zfs.release.in include/ module/ "${dkmsdir}"/
cp config/compile config/config.* config/missing config/*sh "${dkmsdir}"/config/
- cp scripts/dkms.postbuild "${dkmsdir}"/scripts/
+ cp scripts/dkms.postbuild scripts/objtool-wrapper.in "${dkmsdir}"/scripts/
}
diff --git a/only-build-mod.patch b/only-build-mod.patch
new file mode 100644
index 0000000..4dfc9d4
--- /dev/null
+++ b/only-build-mod.patch
@@ -0,0 +1,27 @@
+diff --git a/configure.ac b/configure.ac
+index f4b52e1f7..5dc43a5b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -68,22 +68,9 @@ ZFS_AC_DEBUG_INVARIANTS
+ ZFS_AC_OBJTOOL_WERROR
+
+ AC_CONFIG_FILES([
+- contrib/debian/rules
+- contrib/debian/changelog
+ Makefile
+- include/Makefile
+- lib/libzfs/libzfs.pc
+- lib/libzfs_core/libzfs_core.pc
+- lib/libzfsbootenv/libzfsbootenv.pc
+ module/Kbuild
+ module/Makefile
+- rpm/generic/zfs-dkms.spec
+- rpm/generic/zfs-kmod.spec
+- rpm/generic/zfs.spec
+- rpm/redhat/zfs-dkms.spec
+- rpm/redhat/zfs-kmod.spec
+- rpm/redhat/zfs.spec
+- tests/zfs-tests/tests/Makefile
+ zfs.release
+ ])
+
Pinned Comments
yurikoles commented on 2023-08-14 16:42 (UTC) (edited on 2023-08-14 16:44 (UTC) by yurikoles)
In order to update this package and avoid version pinning cycle, you need to build both packages,
zfs-utils-git
andzfs-dkms-git
without installing them. Then install a same newer version of both of them in one transaction viapacman -U <path/to/built/zfs-utils-git> <path/to/built/zfs-dkms-git>
.