%global _sbindir /sbin %global _libdir /%{_lib} %if 0%{?fedora} >= 17 %global _udevdir %{_prefix}/lib/udev %global _dracutdir %{_prefix}/lib/dracut %else %global _udevdir /lib/udev %global _dracutdir %{_prefix}/share/dracut %endif %bcond_with debug %bcond_with blkid %bcond_with systemd # Generic enable switch for systemd %if %{with systemd} %define _systemd 1 %endif # Fedora >= 15 comes with systemd, but only >= 18 has # the proper macros %if 0%{?fedora} >= 18 %define _systemd 1 %endif # opensuse >= 12.1 comes with systemd, but only >= 13.1 # has the proper macros %if 0%{?suse_version} >= 1310 %define _systemd 1 %endif Name: @PACKAGE@ Version: @VERSION@ Release: @RELEASE@%{?dist} Summary: Commands to control the kernel modules and libraries Group: System Environment/Kernel License: @ZFS_META_LICENSE@ URL: http://zfsonlinux.org/ Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ExclusiveArch: i386 i686 x86_64 # May build but untested on ppc/ppc64 ExcludeArch: ppc ppc64 Requires: spl = %{version} Requires: %{name}-kmod = %{version} Provides: %{name}-kmod-common = %{version} # zfs-fuse provides the same commands and man pages that ZoL does. Renaming # those on either side would conflict with all available documentation. Conflicts: zfs-fuse %if 0%{?rhel}%{?fedora}%{?suse_version} BuildRequires: zlib-devel BuildRequires: libuuid-devel %if %{with blkid} BuildRequires: libblkid-devel %endif %endif %if 0%{?_systemd} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd BuildRequires: systemd %endif %description This package contains the ZFS command line utilities and libraries. %package devel Summary: Development headers Group: System Environment/Kernel Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains the header files needed for building additional applications against the ZFS libraries. %package test Summary: Test infrastructure Group: System Environment/Kernel Requires: %{name}%{?_isa} = %{version}-%{release} Requires: parted Requires: lsscsi Requires: mdadm Requires: bc %description test This package contains test infrastructure and support scripts for validating the file system. %package dracut Summary: Dracut module Group: System Environment/Kernel Requires: %{name}%{?_isa} = %{version}-%{release} Requires: dracut %description dracut This package contains a dracut module used to construct an initramfs image which is ZFS aware. %prep %if %{with debug} %define debug --enable-debug %else %define debug --disable-debug %endif %if %{with blkid} %define blkid --with-blkid %else %define blkid --without-blkid %endif %if 0%{?_systemd} %define systemd --enable-systemd --with-systemdunitdir=%{_unitdir} --with-systemdpresetdir=%{_presetdir} --disable-sysvinit %else %define systemd --enable-sysvinit --disable-systemd %endif %setup -q %build %configure \ --with-config=user \ --with-udevdir=%{_udevdir} \ --with-dracutdir=%{_dracutdir} \ --disable-static \ %{debug} \ %{blkid} \ %{systemd} make %{?_smp_mflags} %install %{__rm} -rf $RPM_BUILD_ROOT make install DESTDIR=%{?buildroot} find %{?buildroot}%{_libdir} -name '*.la' -exec rm -f {} \; %post /sbin/ldconfig %if 0%{?_systemd} %systemd_post zfs.target %else [ -x /sbin/chkconfig ] && /sbin/chkconfig --add zfs %endif exit 0 %preun %if 0%{?_systemd} %systemd_preun zfs.target %else if [ $1 -eq 0 ] ; then [ -x /sbin/chkconfig ] && /sbin/chkconfig --del zfs fi %endif exit 0 %postun /sbin/ldconfig %if 0%{?_systemd} %systemd_postun zfs.target %endif %files %doc AUTHORS COPYRIGHT DISCLAIMER %doc OPENSOLARIS.LICENSE README.markdown %{_sbindir}/* %{_bindir}/* %{_libdir}/*.so.* %{_mandir}/man1/* %{_mandir}/man5/* %{_mandir}/man8/* %{_udevdir}/vdev_id %{_udevdir}/zvol_id %{_udevdir}/rules.d/* %config(noreplace) %{_sysconfdir}/%{name} %if 0%{?_systemd} /usr/lib/modules-load.d/* %{_unitdir}/* %{_presetdir}/* %else %{_sysconfdir}/init.d/* %endif %files devel %{_libdir}/*.so %{_includedir}/* %files test %{_datadir}/%{name} %files dracut %doc dracut/README.dracut.markdown %{_dracutdir}/modules.d/* %changelog * Wed Aug 21 2013 Brian Behlendorf - 0.6.2-1 - Released 0.6.2-1 * Fri Mar 22 2013 Brian Behlendorf - 0.6.1-1 - First official stable release.