mirror of
https://github.com/terrapkg/packages.git
synced 2026-07-03 01:10:51 +00:00
initial commit
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
%global buildforkernels akmod
|
||||
%global debug_package %{nil}
|
||||
%global modulename zfs
|
||||
|
||||
Name: akmod-openzfs
|
||||
Summary: Kernel module (kmod) for OpenZFS filesystem
|
||||
Version: 2.4.0
|
||||
Release: 1%?dist
|
||||
License: CDDL-1.0
|
||||
URL: https://github.com/openzfs/zfs
|
||||
Source0: https://github.com/openzfs/zfs/releases/download/zfs-%{version}/zfs-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
BuildRequires: kmodtool
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libtirpc-devel
|
||||
BuildRequires: libblkid-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: zlib-ng-compat-devel
|
||||
BuildRequires: libaio-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
|
||||
Requires: akmods
|
||||
Requires: kernel-devel
|
||||
Requires: openzfs = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Conflicts: %{modulename}-dkms
|
||||
Conflicts: dkms-zfs
|
||||
Provides: akmod-%{modulename} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: akmod-openzfs = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: %{modulename}-kmod-common = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
Packager: Willow Reed <willow@willowidk.dev>
|
||||
|
||||
%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
|
||||
|
||||
%description
|
||||
This package contains the OpenZFS kernel modules built using akmods.
|
||||
|
||||
%prep
|
||||
%{?kmodtool_check}
|
||||
|
||||
kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
|
||||
|
||||
%setup -q -c
|
||||
(cd zfs-%{version}
|
||||
)
|
||||
|
||||
for kernel_version in %{?kernel_versions} ; do
|
||||
cp -a zfs-%{version} _kmod_build_${kernel_version%%___*}
|
||||
done
|
||||
|
||||
%build
|
||||
for kernel_version in %{?kernel_versions} ; do
|
||||
cd _kmod_build_${kernel_version%%___*}
|
||||
|
||||
./autogen.sh
|
||||
|
||||
./configure \
|
||||
--with-config=kernel \
|
||||
--with-linux=${kernel_version##*___} \
|
||||
--with-linux-obj=${kernel_version##*___}
|
||||
|
||||
make %{?_smp_mflags} -C ${kernel_version##*___} M=${PWD}/module modules
|
||||
|
||||
cd ..
|
||||
done
|
||||
|
||||
%install
|
||||
for kernel_version in %{?kernel_versions}; do
|
||||
mkdir -p %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
|
||||
install -D -m 755 _kmod_build_${kernel_version%%___*}/module/avl/zavl.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -D -m 755 _kmod_build_${kernel_version%%___*}/module/nvpair/znvpair.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -D -m 755 _kmod_build_${kernel_version%%___*}/module/unicode/zunicode.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -D -m 755 _kmod_build_${kernel_version%%___*}/module/zcommon/zcommon.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -D -m 755 _kmod_build_${kernel_version%%___*}/module/zstd/zzstd.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -D -m 755 _kmod_build_${kernel_version%%___*}/module/icp/icp.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -D -m 755 _kmod_build_${kernel_version%%___*}/module/spl/spl.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -D -m 755 _kmod_build_${kernel_version%%___*}/module/zfs/zfs.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
|
||||
chmod a+x %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/*.ko
|
||||
done
|
||||
%{?akmod_install}
|
||||
|
||||
%changelog
|
||||
* Thu Jan 01 2026 Willow Reed <willow@willowidk.dev> - 2.4.0-1
|
||||
- Initial package
|
||||
@@ -0,0 +1,5 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "akmod-openzfs.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
let ver = gh("openzfs/zfs").strip_prefix("zfs-");
|
||||
rpm.version(ver);
|
||||
@@ -0,0 +1,5 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "dkms-openzfs.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
%global debug_package %{nil}
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
|
||||
%define module openzfs
|
||||
|
||||
Name: %{module}-dkms
|
||||
Version: 2.4.0
|
||||
Release: 1%?dist
|
||||
Summary: ZFS DKMS Kernel Modules
|
||||
URL: https://github.com/openzfs/zfs
|
||||
Source0: https://github.com/openzfs/zfs/releases/download/zfs-%{version}/zfs-%{version}.tar.gz
|
||||
License: CDDL-1.0
|
||||
BuildArch: noarch
|
||||
|
||||
Requires: dkms >= 2.2.0.3
|
||||
Requires: gcc, make, perl, diffutils, kernel-devel, kernel-modules
|
||||
Requires: openzfs = %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
Provides: %{module}-kmod = %{version}
|
||||
Conflicts: akmod-openzfs
|
||||
|
||||
Packager: Willow Reed <willow@willowidk.dev>
|
||||
|
||||
%description
|
||||
This package contains the dkms ZFS kernel modules.
|
||||
|
||||
%prep
|
||||
%autosetup -n zfs-%{version}
|
||||
|
||||
%build
|
||||
scripts/dkms.mkconf -n %{module} -v %{version} -f dkms.conf
|
||||
|
||||
%install
|
||||
if [ "$RPM_BUILD_ROOT" != "/" ]; then
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
fi
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/src/
|
||||
cp -rf ${RPM_BUILD_DIR}/%{module}-%{version} $RPM_BUILD_ROOT/usr/src/
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
/usr/src/%{module}-%{version}
|
||||
|
||||
%pre
|
||||
# Remove any existing zfs dkms modules
|
||||
dkms_root=/var/lib/dkms
|
||||
if [ -d ${dkms_root}/%{module} ]; then
|
||||
cd ${dkms_root}/%{module}
|
||||
for x in [[:digit:]]*; do
|
||||
[ -d "$x" ] || continue
|
||||
otherver="$x"
|
||||
if [ "$otherver" != %{version} ]; then
|
||||
if [ `dkms status -m %{module} -v "$otherver" | grep -c %{module}` -gt 0 ]; then
|
||||
echo "Removing old %{module} dkms modules version $otherver from all kernels."
|
||||
dkms remove -m %{module} -v "$otherver" --all ||:
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Remove previous version when upgrading/installing
|
||||
if [ `dkms status -m %{module} -v %{version} | grep -c %{module}` -gt 0 ]; then
|
||||
echo "Removing %{module} dkms modules version %{version} from all kernels."
|
||||
dkms remove -m %{module} -v %{version} --all ||:
|
||||
fi
|
||||
|
||||
%post
|
||||
echo "Adding %{module} dkms modules version %{version} to dkms."
|
||||
dkms add -m %{module} -v %{version} --rpm_safe_upgrade ||:
|
||||
|
||||
echo "Installing %{module} dkms modules version %{version} for the current kernel."
|
||||
dkms install --force -m %{module} -v %{version} ||:
|
||||
|
||||
%preun
|
||||
# Do nothing if upgrade
|
||||
if [ "$1" = "1" -o "$1" = "upgrade" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Remove modules on uninstall
|
||||
if [ "$1" = "0" -o "$1" = "remove" -o "$1" = "purge" ] ; then
|
||||
if [ `dkms status -m %{module} -v %{version} | grep -c %{module}` -gt 0 ]; then
|
||||
echo "Removing %{module} dkms modules version %{version} from all kernels."
|
||||
dkms remove -m %{module} -v %{version} --all --rpm_safe_upgrade ||:
|
||||
fi
|
||||
fi
|
||||
|
||||
%changelog
|
||||
* Thu Jan 01 2026 Willow Reed <willow@willowidk.dev> - 2.4.0-1
|
||||
- Initial package
|
||||
@@ -0,0 +1,2 @@
|
||||
let ver = gh("openzfs/zfs").strip_prefix("zfs-");
|
||||
rpm.version(ver);
|
||||
@@ -0,0 +1,5 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "openzfs.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
%global debug_package %{nil}
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
|
||||
Name: openzfs
|
||||
Version: 2.4.0
|
||||
Release: 1%?dist
|
||||
Summary: OpenZFS filesystem userspace utilities
|
||||
License: CDDL-1.0
|
||||
URL: https://openzfs.org
|
||||
Source0: https://github.com/openzfs/zfs/releases/download/zfs-%{version}/zfs-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: libblkid-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: libtirpc-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: libaio-devel
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: zlib-ng-compat-devel
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-cffi
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
Recommends: akmod-openzfs
|
||||
|
||||
# we assume openzfs as the name for consistency, but if someone wants to install just zfs, this shows that this package provides zfs.
|
||||
Provides: zfs = %{version}-%{release}
|
||||
|
||||
Packager: Willow Reed <willow@willowidk.dev>
|
||||
|
||||
%description
|
||||
OpenZFS userspace tools
|
||||
|
||||
%package libs
|
||||
Summary: OpenZFS libraries
|
||||
%description libs
|
||||
Libraries for OpenZFS filesystem utilities.
|
||||
|
||||
%package devel
|
||||
Summary: OpenZFS development headers
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
%description devel
|
||||
Development headers for OpenZFS libraries.
|
||||
|
||||
%prep
|
||||
%autosetup -n zfs-%{version}
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
|
||||
%configure \
|
||||
--with-config=user \
|
||||
--with-systemdunitdir=%{_unitdir} \
|
||||
--with-systemdpresetdir=%{_presetdir} \
|
||||
--with-systemdgeneratordir=%{_systemdgeneratordir} \
|
||||
--with-mounthelperdir=%{_sbindir} \
|
||||
--with-pamdir=%{_libdir}/security \
|
||||
--with-pamconfdir=%{_sysconfdir}/security \
|
||||
--with-udevdir=%{_udevrulesdir} \
|
||||
--with-pkgconfigdir=%{_libdir}/pkgconfig \
|
||||
--enable-systemd \
|
||||
--enable-pyzfs \
|
||||
--disable-static
|
||||
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
find %{buildroot} -name '*.la' -delete
|
||||
|
||||
%files
|
||||
???
|
||||
|
||||
%files libs
|
||||
???
|
||||
|
||||
%files devel
|
||||
???
|
||||
|
||||
%post
|
||||
%systemd_post zfs-import-cache.service
|
||||
%systemd_post zfs-import-scan.service
|
||||
%systemd_post zfs-mount.service
|
||||
%systemd_post zfs-share.service
|
||||
%systemd_post zfs-zed.service
|
||||
%systemd_post zfs.target
|
||||
|
||||
%preun
|
||||
%systemd_preun zfs-import-cache.service
|
||||
%systemd_preun zfs-import-scan.service
|
||||
%systemd_preun zfs-mount.service
|
||||
%systemd_preun zfs-share.service
|
||||
%systemd_preun zfs-zed.service
|
||||
%systemd_preun zfs.target
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart zfs-import-cache.service
|
||||
%systemd_postun_with_restart zfs-import-scan.service
|
||||
%systemd_postun_with_restart zfs-mount.service
|
||||
%systemd_postun_with_restart zfs-share.service
|
||||
%systemd_postun_with_restart zfs-zed.service
|
||||
|
||||
%changelog
|
||||
* Thu Jan 01 2026 Willow Reed <willow@willowidk.dev> - 2.4.0-1
|
||||
- Initial package
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("openzfs/zfs").strip_prefix("zfs-"));
|
||||
Reference in New Issue
Block a user