2013-02-17 20:10:17 +00:00
|
|
|
%global _sbindir /sbin
|
|
|
|
%global _libdir /%{_lib}
|
2014-06-06 14:07:58 +00:00
|
|
|
|
|
|
|
# Set the default udev directory based on distribution.
|
2014-06-12 20:11:26 +00:00
|
|
|
%if %{undefined _udevdir}
|
2014-06-06 14:07:58 +00:00
|
|
|
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
|
2013-02-17 20:10:17 +00:00
|
|
|
%global _udevdir %{_prefix}/lib/udev
|
|
|
|
%else
|
|
|
|
%global _udevdir /lib/udev
|
2014-06-06 14:07:58 +00:00
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# Set the default udevrule directory based on distribution.
|
2014-06-12 20:11:26 +00:00
|
|
|
%if %{undefined _udevruledir}
|
2014-06-06 14:07:58 +00:00
|
|
|
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
|
2014-06-12 20:11:26 +00:00
|
|
|
%global _udevruledir %{_prefix}/lib/udev/rules.d
|
2014-06-06 14:07:58 +00:00
|
|
|
%else
|
2014-06-12 20:11:26 +00:00
|
|
|
%global _udevruledir /lib/udev/rules.d
|
2014-06-06 14:07:58 +00:00
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# Set the default dracut directory based on distribution.
|
2014-06-12 20:11:26 +00:00
|
|
|
%if %{undefined _dracutdir}
|
2014-06-06 14:07:58 +00:00
|
|
|
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
|
|
|
|
%global _dracutdir %{_prefix}/lib/dracut
|
|
|
|
%else
|
2013-12-18 02:33:40 +00:00
|
|
|
%global _dracutdir %{_prefix}/share/dracut
|
2013-02-17 20:10:17 +00:00
|
|
|
%endif
|
2014-06-06 14:07:58 +00:00
|
|
|
%endif
|
2013-02-17 20:10:17 +00:00
|
|
|
|
2015-07-20 20:16:16 +00:00
|
|
|
%if %{undefined _initconfdir}
|
|
|
|
%global _initconfdir /etc/sysconfig
|
|
|
|
%endif
|
|
|
|
|
2018-11-12 02:06:36 +00:00
|
|
|
%if %{undefined _unitdir}
|
|
|
|
%global _unitdir %{_prefix}/lib/systemd/system
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{undefined _presetdir}
|
|
|
|
%global _presetdir %{_prefix}/lib/systemd/system-preset
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{undefined _modulesloaddir}
|
|
|
|
%global _modulesloaddir %{_prefix}/lib/modules-load.d
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{undefined _systemdgeneratordir}
|
|
|
|
%global _systemdgeneratordir %{_prefix}/lib/systemd/system-generators
|
|
|
|
%endif
|
|
|
|
|
2013-02-17 20:10:17 +00:00
|
|
|
%bcond_with debug
|
2018-01-10 18:49:27 +00:00
|
|
|
%bcond_with debuginfo
|
|
|
|
%bcond_with asan
|
2014-01-19 14:36:49 +00:00
|
|
|
%bcond_with systemd
|
2013-02-17 20:10:17 +00:00
|
|
|
|
2014-01-19 14:36:49 +00:00
|
|
|
# Generic enable switch for systemd
|
|
|
|
%if %{with systemd}
|
|
|
|
%define _systemd 1
|
|
|
|
%endif
|
|
|
|
|
2014-06-02 20:04:57 +00:00
|
|
|
# RHEL >= 7 comes with systemd
|
|
|
|
%if 0%{?rhel} >= 7
|
|
|
|
%define _systemd 1
|
|
|
|
%endif
|
|
|
|
|
2014-01-19 14:36:49 +00:00
|
|
|
# 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
|
2013-02-17 20:10:17 +00:00
|
|
|
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
# When not specified default to distribution provided version. This
|
|
|
|
# is normally Python 3, but for RHEL <= 7 only Python 2 is provided.
|
|
|
|
%if %{undefined __use_python}
|
|
|
|
%if 0%{?rhel} && 0%{?rhel} <= 7
|
|
|
|
%define __python /usr/bin/python2
|
|
|
|
%define __python_pkg_version 2
|
|
|
|
%define __python_cffi_pkg python-cffi
|
|
|
|
%else
|
|
|
|
%define __python /usr/bin/python3
|
|
|
|
%define __python_pkg_version 3
|
|
|
|
%define __python_cffi_pkg python3-cffi
|
|
|
|
%endif
|
|
|
|
%else
|
|
|
|
%define __python %{__use_python}
|
|
|
|
%define __python_pkg_version %{__use_python_pkg_version}
|
|
|
|
%define __python_cffi_pkg python%{__python_pkg_version}-cffi
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# By default python-pyzfs is enabled, with the exception of
|
|
|
|
# RHEL 6 which by default uses Python 2.6 which is too old.
|
|
|
|
%if 0%{?rhel} == 6
|
|
|
|
%bcond_with pyzfs
|
|
|
|
%else
|
|
|
|
%bcond_without pyzfs
|
|
|
|
%endif
|
|
|
|
|
2013-02-17 20:10:17 +00:00
|
|
|
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)
|
2014-05-17 11:20:59 +00:00
|
|
|
Requires: libzpool2 = %{version}
|
|
|
|
Requires: libnvpair1 = %{version}
|
|
|
|
Requires: libuutil1 = %{version}
|
|
|
|
Requires: libzfs2 = %{version}
|
2013-08-26 06:04:38 +00:00
|
|
|
Requires: %{name}-kmod = %{version}
|
2013-02-17 20:10:17 +00:00
|
|
|
Provides: %{name}-kmod-common = %{version}
|
2018-02-16 01:53:18 +00:00
|
|
|
Obsoletes: spl
|
2013-02-17 20:10:17 +00:00
|
|
|
|
2014-02-08 21:48:53 +00:00
|
|
|
# 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
|
|
|
|
|
2013-02-17 20:10:17 +00:00
|
|
|
%if 0%{?rhel}%{?fedora}%{?suse_version}
|
2018-11-07 23:48:24 +00:00
|
|
|
BuildRequires: gcc, make
|
2013-02-17 20:10:17 +00:00
|
|
|
BuildRequires: zlib-devel
|
|
|
|
BuildRequires: libuuid-devel
|
|
|
|
BuildRequires: libblkid-devel
|
2016-05-20 20:50:31 +00:00
|
|
|
BuildRequires: libudev-devel
|
|
|
|
BuildRequires: libattr-devel
|
2017-09-12 20:15:11 +00:00
|
|
|
BuildRequires: openssl-devel
|
2018-05-03 17:47:46 +00:00
|
|
|
%if 0%{?fedora} >= 28
|
|
|
|
BuildRequires: libtirpc-devel
|
|
|
|
%endif
|
2017-09-12 20:15:11 +00:00
|
|
|
Requires: openssl
|
2017-12-17 22:08:48 +00:00
|
|
|
%if 0%{?_systemd}
|
|
|
|
BuildRequires: systemd
|
|
|
|
%endif
|
2013-02-17 20:10:17 +00:00
|
|
|
%endif
|
2017-12-17 22:08:48 +00:00
|
|
|
|
2014-01-19 14:36:49 +00:00
|
|
|
%if 0%{?_systemd}
|
|
|
|
Requires(post): systemd
|
|
|
|
Requires(preun): systemd
|
|
|
|
Requires(postun): systemd
|
|
|
|
%endif
|
2013-02-17 20:10:17 +00:00
|
|
|
|
2017-04-21 16:27:04 +00:00
|
|
|
# The zpool iostat/status -c scripts call some utilities like lsblk and iostat
|
|
|
|
Requires: util-linux
|
|
|
|
Requires: sysstat
|
|
|
|
|
2013-02-17 20:10:17 +00:00
|
|
|
%description
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
This package contains the core ZFS command line utilities.
|
2013-02-17 20:10:17 +00:00
|
|
|
|
2014-05-17 11:20:59 +00:00
|
|
|
%package -n libzpool2
|
|
|
|
Summary: Native ZFS pool library for Linux
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
|
|
|
%description -n libzpool2
|
|
|
|
This package contains the zpool library, which provides support
|
|
|
|
for managing zpools
|
|
|
|
|
2014-12-15 04:23:25 +00:00
|
|
|
%post -n libzpool2 -p /sbin/ldconfig
|
2014-05-17 11:20:59 +00:00
|
|
|
%postun -n libzpool2 -p /sbin/ldconfig
|
|
|
|
|
|
|
|
%package -n libnvpair1
|
|
|
|
Summary: Solaris name-value library for Linux
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
|
|
|
%description -n libnvpair1
|
|
|
|
This package contains routines for packing and unpacking name-value
|
|
|
|
pairs. This functionality is used to portably transport data across
|
|
|
|
process boundaries, between kernel and user space, and can be used
|
|
|
|
to write self describing data structures on disk.
|
|
|
|
|
2014-12-15 04:23:25 +00:00
|
|
|
%post -n libnvpair1 -p /sbin/ldconfig
|
2014-05-17 11:20:59 +00:00
|
|
|
%postun -n libnvpair1 -p /sbin/ldconfig
|
|
|
|
|
|
|
|
%package -n libuutil1
|
|
|
|
Summary: Solaris userland utility library for Linux
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
|
|
|
%description -n libuutil1
|
|
|
|
This library provides a variety of compatibility functions for ZFS on Linux:
|
|
|
|
* libspl: The Solaris Porting Layer userland library, which provides APIs
|
|
|
|
that make it possible to run Solaris user code in a Linux environment
|
|
|
|
with relatively minimal modification.
|
|
|
|
* libavl: The Adelson-Velskii Landis balanced binary tree manipulation
|
|
|
|
library.
|
|
|
|
* libefi: The Extensible Firmware Interface library for GUID disk
|
|
|
|
partitioning.
|
|
|
|
* libshare: NFS, SMB, and iSCSI service integration for ZFS.
|
|
|
|
|
2014-12-15 04:23:25 +00:00
|
|
|
%post -n libuutil1 -p /sbin/ldconfig
|
2014-05-17 11:20:59 +00:00
|
|
|
%postun -n libuutil1 -p /sbin/ldconfig
|
|
|
|
|
|
|
|
%package -n libzfs2
|
|
|
|
Summary: Native ZFS filesystem library for Linux
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
|
|
|
|
%description -n libzfs2
|
|
|
|
This package provides support for managing ZFS filesystems
|
|
|
|
|
2014-12-15 04:23:25 +00:00
|
|
|
%post -n libzfs2 -p /sbin/ldconfig
|
2014-05-17 11:20:59 +00:00
|
|
|
%postun -n libzfs2 -p /sbin/ldconfig
|
|
|
|
|
|
|
|
%package -n libzfs2-devel
|
2013-02-17 20:10:17 +00:00
|
|
|
Summary: Development headers
|
|
|
|
Group: System Environment/Kernel
|
2014-05-17 11:20:59 +00:00
|
|
|
Requires: libzfs2 = %{version}
|
|
|
|
Requires: libzpool2 = %{version}
|
|
|
|
Requires: libnvpair1 = %{version}
|
|
|
|
Requires: libuutil1 = %{version}
|
|
|
|
Provides: libzpool2-devel
|
|
|
|
Provides: libnvpair1-devel
|
|
|
|
Provides: libuutil1-devel
|
|
|
|
Obsoletes: zfs-devel
|
2013-02-17 20:10:17 +00:00
|
|
|
|
2014-05-17 11:20:59 +00:00
|
|
|
%description -n libzfs2-devel
|
2013-02-17 20:10:17 +00:00
|
|
|
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
|
2015-07-01 22:23:09 +00:00
|
|
|
Requires: ksh
|
2017-11-15 17:12:52 +00:00
|
|
|
Requires: fio
|
|
|
|
Requires: acl
|
|
|
|
Requires: sudo
|
|
|
|
Requires: sysstat
|
2018-07-31 17:17:44 +00:00
|
|
|
Requires: libaio
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
Requires: python%{__python_pkg_version}
|
2018-08-26 19:43:27 +00:00
|
|
|
%if 0%{?rhel}%{?fedora}%{?suse_version}
|
2018-08-23 16:34:34 +00:00
|
|
|
BuildRequires: libaio-devel
|
2018-08-26 19:43:27 +00:00
|
|
|
%endif
|
2017-11-15 17:12:52 +00:00
|
|
|
AutoReqProv: no
|
2013-02-17 20:10:17 +00:00
|
|
|
|
|
|
|
%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
|
2018-07-31 17:17:44 +00:00
|
|
|
Requires: /usr/bin/awk
|
|
|
|
Requires: grep
|
2013-02-17 20:10:17 +00:00
|
|
|
|
|
|
|
%description dracut
|
|
|
|
This package contains a dracut module used to construct an initramfs
|
|
|
|
image which is ZFS aware.
|
|
|
|
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
%if %{with pyzfs}
|
|
|
|
%package -n python%{__python_pkg_version}-pyzfs
|
|
|
|
Summary: Python %{python_version} wrapper for libzfs_core
|
Adopt pyzfs from ClusterHQ
This commit introduces several changes:
* Update LICENSE and project information
* Give a good PEP8 talk to existing Python source code
* Add RPM/DEB packaging for pyzfs
* Fix some outstanding issues with the existing pyzfs code caused by
changes in the ABI since the last time the code was updated
* Integrate pyzfs Python unittest with the ZFS Test Suite
* Add missing libzfs_core functions: lzc_change_key,
lzc_channel_program, lzc_channel_program_nosync, lzc_load_key,
lzc_receive_one, lzc_receive_resumable, lzc_receive_with_cmdprops,
lzc_receive_with_header, lzc_reopen, lzc_send_resume, lzc_sync,
lzc_unload_key, lzc_remap
Note: this commit slightly changes zfs_ioc_unload_key() ABI. This allow
to differentiate the case where we tried to unload a key on a
non-existing dataset (ENOENT) from the situation where a dataset has
no key loaded: this is consistent with the "change" case where trying
to zfs_ioc_change_key() from a dataset with no key results in EACCES.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #7230
2018-03-18 08:34:45 +00:00
|
|
|
Group: Development/Languages/Python
|
|
|
|
License: Apache-2.0
|
|
|
|
BuildArch: noarch
|
|
|
|
Requires: libzfs2 = %{version}
|
|
|
|
Requires: libnvpair1 = %{version}
|
|
|
|
Requires: libffi
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
Requires: python%{__python_pkg_version}
|
|
|
|
Requires: %{__python_cffi_pkg}
|
Adopt pyzfs from ClusterHQ
This commit introduces several changes:
* Update LICENSE and project information
* Give a good PEP8 talk to existing Python source code
* Add RPM/DEB packaging for pyzfs
* Fix some outstanding issues with the existing pyzfs code caused by
changes in the ABI since the last time the code was updated
* Integrate pyzfs Python unittest with the ZFS Test Suite
* Add missing libzfs_core functions: lzc_change_key,
lzc_channel_program, lzc_channel_program_nosync, lzc_load_key,
lzc_receive_one, lzc_receive_resumable, lzc_receive_with_cmdprops,
lzc_receive_with_header, lzc_reopen, lzc_send_resume, lzc_sync,
lzc_unload_key, lzc_remap
Note: this commit slightly changes zfs_ioc_unload_key() ABI. This allow
to differentiate the case where we tried to unload a key on a
non-existing dataset (ENOENT) from the situation where a dataset has
no key loaded: this is consistent with the "change" case where trying
to zfs_ioc_change_key() from a dataset with no key results in EACCES.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #7230
2018-03-18 08:34:45 +00:00
|
|
|
%if 0%{?rhel}%{?fedora}%{?suse_version}
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
BuildRequires: python%{__python_pkg_version}-devel
|
Adopt pyzfs from ClusterHQ
This commit introduces several changes:
* Update LICENSE and project information
* Give a good PEP8 talk to existing Python source code
* Add RPM/DEB packaging for pyzfs
* Fix some outstanding issues with the existing pyzfs code caused by
changes in the ABI since the last time the code was updated
* Integrate pyzfs Python unittest with the ZFS Test Suite
* Add missing libzfs_core functions: lzc_change_key,
lzc_channel_program, lzc_channel_program_nosync, lzc_load_key,
lzc_receive_one, lzc_receive_resumable, lzc_receive_with_cmdprops,
lzc_receive_with_header, lzc_reopen, lzc_send_resume, lzc_sync,
lzc_unload_key, lzc_remap
Note: this commit slightly changes zfs_ioc_unload_key() ABI. This allow
to differentiate the case where we tried to unload a key on a
non-existing dataset (ENOENT) from the situation where a dataset has
no key loaded: this is consistent with the "change" case where trying
to zfs_ioc_change_key() from a dataset with no key results in EACCES.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #7230
2018-03-18 08:34:45 +00:00
|
|
|
BuildRequires: libffi-devel
|
|
|
|
%endif
|
|
|
|
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
%description -n python%{__python_pkg_version}-pyzfs
|
Adopt pyzfs from ClusterHQ
This commit introduces several changes:
* Update LICENSE and project information
* Give a good PEP8 talk to existing Python source code
* Add RPM/DEB packaging for pyzfs
* Fix some outstanding issues with the existing pyzfs code caused by
changes in the ABI since the last time the code was updated
* Integrate pyzfs Python unittest with the ZFS Test Suite
* Add missing libzfs_core functions: lzc_change_key,
lzc_channel_program, lzc_channel_program_nosync, lzc_load_key,
lzc_receive_one, lzc_receive_resumable, lzc_receive_with_cmdprops,
lzc_receive_with_header, lzc_reopen, lzc_send_resume, lzc_sync,
lzc_unload_key, lzc_remap
Note: this commit slightly changes zfs_ioc_unload_key() ABI. This allow
to differentiate the case where we tried to unload a key on a
non-existing dataset (ENOENT) from the situation where a dataset has
no key loaded: this is consistent with the "change" case where trying
to zfs_ioc_change_key() from a dataset with no key results in EACCES.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #7230
2018-03-18 08:34:45 +00:00
|
|
|
This package provides a python wrapper for the libzfs_core C library.
|
|
|
|
%endif
|
|
|
|
|
Initramfs scripts for ZoL.
* Supports booting of a ZFS snapshot.
Do this by cloning the snapshot into a dataset. If this, the resulting
dataset, already exists, destroy it. Then mount it on root.
* If snapshot does not exist, use base dataset (the part before '@')
as boot filesystem instead.
* If no snapshot is specified on the 'root=' kernel command line, but there
is an '@', then get a list of snapshots below that filesystem and ask the
user which to use.
* Clone with 'mountpoint=none' and 'canmount=noauto' - we mount manually
and explicitly.
* For sub-filesystems, that doesn't have a mountpoint property set, we use
the 'org.zol:mountpoint' to keep track of it's mountpoint.
* Allow rollback of snapshots instead of clone it and boot from the clone.
* Allow mounting a root- and subfs with mountpoint=legacy set
* Allow mounting a filesystem which is using nativ encryption.
* Support all currently used kernel command line arguments
All the different distributions have their own standard on what to specify
on the kernel command line to boot of a ZFS filesystem.
* Extra options:
* zfsdebug=(on,yes,1) Show extra debugging information
* zfsforce=(on,yes,1) Force import the pool
* rollback=(on,yes,1) Rollback (instead of clone) the snapshot
* Only try to import pool if it haven't already been imported
* This will negate the need to force import a pool that have not been exported cleanly.
* Support exclusion of pools to import by setting ZFS_POOL_EXCEPTIONS in /etc/default/zfs.
* Support additional configuration variable ZFS_INITRD_ADDITIONAL_DATASETS
to mount additional filesystems not located under your root dataset.
* Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if it/they exist.
* Include the udev rule to use by-vdev for pool imports.
* Include the /etc/default/zfs file to the initrd.
* Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set.
* Use /dev/disk/by-vdev before anything.
* Add /dev as a last ditch attempt.
* Fallback to using the cache file if that exist if nothing else worked.
* Use /sbin/modprobe instead of built-in (BusyBox) modprobe.
This gets rid of the message "modprobe: can't load module zcommon".
Thanx to pcoultha for finding this.
Signed-off-by: Turbo Fredriksson <turbo@bayour.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2116
Closes #2114
2014-01-30 16:26:48 +00:00
|
|
|
%if 0%{?_initramfs}
|
|
|
|
%package initramfs
|
|
|
|
Summary: Initramfs module
|
|
|
|
Group: System Environment/Kernel
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
Requires: initramfs-tools
|
|
|
|
|
|
|
|
%description initramfs
|
|
|
|
This package contains a initramfs module used to construct an initramfs
|
|
|
|
image which is ZFS aware.
|
|
|
|
%endif
|
|
|
|
|
2013-02-17 20:10:17 +00:00
|
|
|
%prep
|
|
|
|
%if %{with debug}
|
|
|
|
%define debug --enable-debug
|
|
|
|
%else
|
|
|
|
%define debug --disable-debug
|
|
|
|
%endif
|
2018-01-10 18:49:27 +00:00
|
|
|
|
|
|
|
%if %{with debuginfo}
|
|
|
|
%define debuginfo --enable-debuginfo
|
|
|
|
%else
|
|
|
|
%define debuginfo --disable-debuginfo
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if %{with asan}
|
|
|
|
%define asan --enable-asan
|
|
|
|
%else
|
|
|
|
%define asan --disable-asan
|
|
|
|
%endif
|
|
|
|
|
2014-01-19 14:36:49 +00:00
|
|
|
%if 0%{?_systemd}
|
2018-11-12 02:06:36 +00:00
|
|
|
%define systemd --enable-systemd --with-systemdunitdir=%{_unitdir} --with-systemdpresetdir=%{_presetdir} --with-systemdmodulesloaddir=%{_modulesloaddir} --with-systemdgeneratordir=%{_systemdgeneratordir} --disable-sysvinit
|
2017-12-14 01:09:22 +00:00
|
|
|
%define systemd_svcs zfs-import-cache.service zfs-import-scan.service zfs-mount.service zfs-share.service zfs-zed.service zfs.target zfs-import.target
|
2014-01-19 14:36:49 +00:00
|
|
|
%else
|
|
|
|
%define systemd --enable-sysvinit --disable-systemd
|
|
|
|
%endif
|
2013-02-17 20:10:17 +00:00
|
|
|
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
%if %{with pyzfs}
|
|
|
|
%define pyzfs --enable-pyzfs
|
|
|
|
%else
|
|
|
|
%define pyzfs --disable-pyzfs
|
|
|
|
%endif
|
|
|
|
|
2013-02-17 20:10:17 +00:00
|
|
|
%setup -q
|
|
|
|
|
|
|
|
%build
|
|
|
|
%configure \
|
|
|
|
--with-config=user \
|
|
|
|
--with-udevdir=%{_udevdir} \
|
2014-06-06 14:07:58 +00:00
|
|
|
--with-udevruledir=%{_udevruledir} \
|
2013-02-17 20:10:17 +00:00
|
|
|
--with-dracutdir=%{_dracutdir} \
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
--with-python=%{__python} \
|
2013-02-17 20:10:17 +00:00
|
|
|
--disable-static \
|
|
|
|
%{debug} \
|
2018-01-10 18:49:27 +00:00
|
|
|
%{debuginfo} \
|
|
|
|
%{asan} \
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
%{systemd}\
|
|
|
|
%{pyzfs}
|
2013-02-17 20:10:17 +00:00
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
%install
|
|
|
|
%{__rm} -rf $RPM_BUILD_ROOT
|
|
|
|
make install DESTDIR=%{?buildroot}
|
|
|
|
find %{?buildroot}%{_libdir} -name '*.la' -exec rm -f {} \;
|
|
|
|
|
2013-07-03 23:12:37 +00:00
|
|
|
%post
|
2014-01-19 14:36:49 +00:00
|
|
|
%if 0%{?_systemd}
|
2018-02-02 21:50:42 +00:00
|
|
|
%if 0%{?systemd_post:1}
|
2016-11-02 17:56:36 +00:00
|
|
|
%systemd_post %{systemd_svcs}
|
2014-01-19 14:36:49 +00:00
|
|
|
%else
|
2018-02-02 21:50:42 +00:00
|
|
|
if [ "$1" = "1" -o "$1" = "install" ] ; then
|
|
|
|
# Initial installation
|
|
|
|
systemctl preset %{systemd_svcs} >/dev/null || true
|
|
|
|
fi
|
|
|
|
%endif
|
|
|
|
%else
|
Base init scripts for SYSV systems
* Based on the init scripts included with Debian GNU/Linux, then take code
from the already existing ones, trying to merge them into one set of
scripts that will work for 'everyone' for better maintainability.
* Add configurable variables to control the workings of the init scripts:
* ZFS_INITRD_PRE_MOUNTROOT_SLEEP
Set a sleep time before we load the module (used primarily by initrd
scripts to allow for slower media (such as USB devices etc) to be
availible before we load the zfs module).
* ZFS_INITRD_POST_MODPROBE_SLEEP
Set a timed sleep in the initrd to after the load of the zfs module.
* ZFS_INITRD_ADDITIONAL_DATASETS
To allow for mounting additional datasets in the initrd. Primarily used
in initrd scripts to allow for when filesystem needed to boot (such as
/usr, /opt, /var etc) isn't directly under the root dataset.
* ZFS_POOL_EXCEPTIONS
Exclude pools from being imported (in the initrd and/or init scripts).
* ZFS_DKMS_ENABLE_DEBUG, ZFS_DKMS_ENABLE_DEBUG_DMU_TX, ZFS_DKMS_DISABLE_STRIP
Set to control how dkms should build the dkms packages.
* ZPOOL_IMPORT_PATH
Set path(s) where "zpool import" should import pools from.
This was previously the job of "USE_DISK_BY_ID" (which is still used
for backwards compatibility) but was renamed to allow for better
control of import path(s).
* If old USE_DISK_BY_ID is set, but not new ZPOOL_IMPORT_PATH, then we
set ZPOOL_IMPORT_PATH to sane defaults just to be on the safe side.
* ZED_ARGS
To allow for local options to zed without having to change the init script.
* The import function, do_import(), imports pools by name instead of '-a'
for better control of pools to import and from where.
* If USE_DISK_BY_ID is set (for backwards compatibility), but isn't 'yes'
then ignore it.
* If pool(s) isn't found with a simple "zpool import" (seen it happen),
try looking for them in /dev/disk/by-id (if it exists). Any duplicates
(pools found with both commands) is filtered out.
* IF we have found extra pool(s) this way, we must force USE_DISK_BY_ID
so that the first, simple "zpool import $pool" is able to find it.
* Fallback on importing the pool using the cache file (if it exists) only
if 'simple' import (either with ZPOOL_IMPORT_PATH or the 'built in'
defaults) didn't work.
* The export function, do_export(), will export all pools imported, EXCEPT
the root pool (if there is one).
* ZED script from the Debian GNU/Linux packages added.
* Refreshed ZED init script from behlendorf@5e7a660 to be portable so it
may be used on both LSB and Redhat style systems.
* If there is no pool(s) imported and zed successfully shut down, we will
unload the zfs modules.
* The function library file for the ZoL init script is installed as
/etc/init.d/zfs-functions.
* The four init scripts, the /etc/{defaults,sysconfig,conf.d}/zfs config file
as well as the common function library is tagged as '%config(noreplace)' in
the rpm rules file to make sure they are not replaced automatically if locally
modifed.
* Pitfals and workarounds:
* If we're running from init, remove stale /etc/dfs/sharetab before importing
pools in the zfs-import init script.
* On Debian GNU/Linux, there's a 'sendsigs' script that will kill basically
everything quite early in the shutdown phase and zed is/should be stopped
much later than that. We don't want zed to be among the ones killed, so add
the zed pid to list of pids for 'sendsigs' to ignore.
* CentOS uses echo_success() and echo_failure() to print out status of
command. These in turn uses "echo -n \0xx[etc]" to move cursor and choose
colour etc. This doesn't work with the modified IFS variable we need to
use in zfs-import for some reason, so work around that when we define
zfs_log_{end,failure}_msg() for RedHat and derivative distributions.
* All scripts passes ShellCheck (with one false positive in do_mount()).
Signed-off-by: Turbo Fredriksson turbo@bayour.com
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Richard Yao <ryao@gentoo.org>
Reviewed by: Chris Dunlap <cdunlap@llnl.gov>
Closes #2974
Closes #2107
2015-04-23 18:35:45 +00:00
|
|
|
if [ -x /sbin/chkconfig ]; then
|
|
|
|
/sbin/chkconfig --add zfs-import
|
|
|
|
/sbin/chkconfig --add zfs-mount
|
|
|
|
/sbin/chkconfig --add zfs-share
|
|
|
|
/sbin/chkconfig --add zfs-zed
|
|
|
|
fi
|
2014-01-19 14:36:49 +00:00
|
|
|
%endif
|
2013-07-04 04:38:45 +00:00
|
|
|
exit 0
|
2013-07-03 23:12:37 +00:00
|
|
|
|
2018-03-13 17:45:55 +00:00
|
|
|
# On RHEL/CentOS 7 the static nodes aren't refreshed by default after
|
|
|
|
# installing a package. This is the default behavior for Fedora.
|
|
|
|
%posttrans
|
|
|
|
%if 0%{?rhel} == 7 || 0%{?centos} == 7
|
|
|
|
systemctl restart kmod-static-nodes
|
|
|
|
systemctl restart systemd-tmpfiles-setup-dev
|
|
|
|
udevadm trigger
|
|
|
|
%endif
|
|
|
|
|
2013-07-03 23:12:37 +00:00
|
|
|
%preun
|
2014-01-19 14:36:49 +00:00
|
|
|
%if 0%{?_systemd}
|
2018-02-02 21:50:42 +00:00
|
|
|
%if 0%{?systemd_preun:1}
|
2016-11-02 17:56:36 +00:00
|
|
|
%systemd_preun %{systemd_svcs}
|
2014-01-19 14:36:49 +00:00
|
|
|
%else
|
2018-02-02 21:50:42 +00:00
|
|
|
if [ "$1" = "0" -o "$1" = "remove" ] ; then
|
|
|
|
# Package removal, not upgrade
|
|
|
|
systemctl --no-reload disable %{systemd_svcs} >/dev/null || true
|
|
|
|
systemctl stop %{systemd_svcs} >/dev/null || true
|
|
|
|
fi
|
|
|
|
%endif
|
|
|
|
%else
|
|
|
|
if [ "$1" = "0" -o "$1" = "remove" ] && [ -x /sbin/chkconfig ]; then
|
Base init scripts for SYSV systems
* Based on the init scripts included with Debian GNU/Linux, then take code
from the already existing ones, trying to merge them into one set of
scripts that will work for 'everyone' for better maintainability.
* Add configurable variables to control the workings of the init scripts:
* ZFS_INITRD_PRE_MOUNTROOT_SLEEP
Set a sleep time before we load the module (used primarily by initrd
scripts to allow for slower media (such as USB devices etc) to be
availible before we load the zfs module).
* ZFS_INITRD_POST_MODPROBE_SLEEP
Set a timed sleep in the initrd to after the load of the zfs module.
* ZFS_INITRD_ADDITIONAL_DATASETS
To allow for mounting additional datasets in the initrd. Primarily used
in initrd scripts to allow for when filesystem needed to boot (such as
/usr, /opt, /var etc) isn't directly under the root dataset.
* ZFS_POOL_EXCEPTIONS
Exclude pools from being imported (in the initrd and/or init scripts).
* ZFS_DKMS_ENABLE_DEBUG, ZFS_DKMS_ENABLE_DEBUG_DMU_TX, ZFS_DKMS_DISABLE_STRIP
Set to control how dkms should build the dkms packages.
* ZPOOL_IMPORT_PATH
Set path(s) where "zpool import" should import pools from.
This was previously the job of "USE_DISK_BY_ID" (which is still used
for backwards compatibility) but was renamed to allow for better
control of import path(s).
* If old USE_DISK_BY_ID is set, but not new ZPOOL_IMPORT_PATH, then we
set ZPOOL_IMPORT_PATH to sane defaults just to be on the safe side.
* ZED_ARGS
To allow for local options to zed without having to change the init script.
* The import function, do_import(), imports pools by name instead of '-a'
for better control of pools to import and from where.
* If USE_DISK_BY_ID is set (for backwards compatibility), but isn't 'yes'
then ignore it.
* If pool(s) isn't found with a simple "zpool import" (seen it happen),
try looking for them in /dev/disk/by-id (if it exists). Any duplicates
(pools found with both commands) is filtered out.
* IF we have found extra pool(s) this way, we must force USE_DISK_BY_ID
so that the first, simple "zpool import $pool" is able to find it.
* Fallback on importing the pool using the cache file (if it exists) only
if 'simple' import (either with ZPOOL_IMPORT_PATH or the 'built in'
defaults) didn't work.
* The export function, do_export(), will export all pools imported, EXCEPT
the root pool (if there is one).
* ZED script from the Debian GNU/Linux packages added.
* Refreshed ZED init script from behlendorf@5e7a660 to be portable so it
may be used on both LSB and Redhat style systems.
* If there is no pool(s) imported and zed successfully shut down, we will
unload the zfs modules.
* The function library file for the ZoL init script is installed as
/etc/init.d/zfs-functions.
* The four init scripts, the /etc/{defaults,sysconfig,conf.d}/zfs config file
as well as the common function library is tagged as '%config(noreplace)' in
the rpm rules file to make sure they are not replaced automatically if locally
modifed.
* Pitfals and workarounds:
* If we're running from init, remove stale /etc/dfs/sharetab before importing
pools in the zfs-import init script.
* On Debian GNU/Linux, there's a 'sendsigs' script that will kill basically
everything quite early in the shutdown phase and zed is/should be stopped
much later than that. We don't want zed to be among the ones killed, so add
the zed pid to list of pids for 'sendsigs' to ignore.
* CentOS uses echo_success() and echo_failure() to print out status of
command. These in turn uses "echo -n \0xx[etc]" to move cursor and choose
colour etc. This doesn't work with the modified IFS variable we need to
use in zfs-import for some reason, so work around that when we define
zfs_log_{end,failure}_msg() for RedHat and derivative distributions.
* All scripts passes ShellCheck (with one false positive in do_mount()).
Signed-off-by: Turbo Fredriksson turbo@bayour.com
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Richard Yao <ryao@gentoo.org>
Reviewed by: Chris Dunlap <cdunlap@llnl.gov>
Closes #2974
Closes #2107
2015-04-23 18:35:45 +00:00
|
|
|
/sbin/chkconfig --del zfs-import
|
|
|
|
/sbin/chkconfig --del zfs-mount
|
|
|
|
/sbin/chkconfig --del zfs-share
|
|
|
|
/sbin/chkconfig --del zfs-zed
|
2013-07-03 23:12:37 +00:00
|
|
|
fi
|
2014-01-19 14:36:49 +00:00
|
|
|
%endif
|
2013-07-04 04:38:45 +00:00
|
|
|
exit 0
|
2013-02-17 20:10:17 +00:00
|
|
|
|
2014-01-19 14:36:49 +00:00
|
|
|
%postun
|
|
|
|
%if 0%{?_systemd}
|
2018-02-02 21:50:42 +00:00
|
|
|
%if 0%{?systemd_postun:1}
|
2016-11-02 17:56:36 +00:00
|
|
|
%systemd_postun %{systemd_svcs}
|
2018-02-02 21:50:42 +00:00
|
|
|
%else
|
|
|
|
systemctl --system daemon-reload >/dev/null || true
|
|
|
|
%endif
|
2014-01-19 14:36:49 +00:00
|
|
|
%endif
|
2013-02-17 20:10:17 +00:00
|
|
|
|
|
|
|
%files
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
# Core utilities
|
2013-02-17 20:10:17 +00:00
|
|
|
%{_sbindir}/*
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
%{_bindir}/raidz_test
|
|
|
|
%{_bindir}/zgenhostid
|
|
|
|
# Optional Python 2/3 scripts
|
|
|
|
%{_bindir}/arc_summary
|
|
|
|
%{_bindir}/arcstat
|
|
|
|
%{_bindir}/dbufstat
|
|
|
|
# Man pages
|
2013-02-17 20:10:17 +00:00
|
|
|
%{_mandir}/man1/*
|
|
|
|
%{_mandir}/man5/*
|
|
|
|
%{_mandir}/man8/*
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
# Configuration files and scripts
|
|
|
|
%{_libexecdir}/%{name}
|
2013-02-17 20:10:17 +00:00
|
|
|
%{_udevdir}/vdev_id
|
|
|
|
%{_udevdir}/zvol_id
|
|
|
|
%{_udevdir}/rules.d/*
|
2014-01-19 14:36:49 +00:00
|
|
|
%if 0%{?_systemd}
|
|
|
|
%{_unitdir}/*
|
|
|
|
%{_presetdir}/*
|
2018-11-12 02:06:36 +00:00
|
|
|
%{_modulesloaddir}/*
|
|
|
|
%{_systemdgeneratordir}/*
|
2014-01-19 14:36:49 +00:00
|
|
|
%else
|
Base init scripts for SYSV systems
* Based on the init scripts included with Debian GNU/Linux, then take code
from the already existing ones, trying to merge them into one set of
scripts that will work for 'everyone' for better maintainability.
* Add configurable variables to control the workings of the init scripts:
* ZFS_INITRD_PRE_MOUNTROOT_SLEEP
Set a sleep time before we load the module (used primarily by initrd
scripts to allow for slower media (such as USB devices etc) to be
availible before we load the zfs module).
* ZFS_INITRD_POST_MODPROBE_SLEEP
Set a timed sleep in the initrd to after the load of the zfs module.
* ZFS_INITRD_ADDITIONAL_DATASETS
To allow for mounting additional datasets in the initrd. Primarily used
in initrd scripts to allow for when filesystem needed to boot (such as
/usr, /opt, /var etc) isn't directly under the root dataset.
* ZFS_POOL_EXCEPTIONS
Exclude pools from being imported (in the initrd and/or init scripts).
* ZFS_DKMS_ENABLE_DEBUG, ZFS_DKMS_ENABLE_DEBUG_DMU_TX, ZFS_DKMS_DISABLE_STRIP
Set to control how dkms should build the dkms packages.
* ZPOOL_IMPORT_PATH
Set path(s) where "zpool import" should import pools from.
This was previously the job of "USE_DISK_BY_ID" (which is still used
for backwards compatibility) but was renamed to allow for better
control of import path(s).
* If old USE_DISK_BY_ID is set, but not new ZPOOL_IMPORT_PATH, then we
set ZPOOL_IMPORT_PATH to sane defaults just to be on the safe side.
* ZED_ARGS
To allow for local options to zed without having to change the init script.
* The import function, do_import(), imports pools by name instead of '-a'
for better control of pools to import and from where.
* If USE_DISK_BY_ID is set (for backwards compatibility), but isn't 'yes'
then ignore it.
* If pool(s) isn't found with a simple "zpool import" (seen it happen),
try looking for them in /dev/disk/by-id (if it exists). Any duplicates
(pools found with both commands) is filtered out.
* IF we have found extra pool(s) this way, we must force USE_DISK_BY_ID
so that the first, simple "zpool import $pool" is able to find it.
* Fallback on importing the pool using the cache file (if it exists) only
if 'simple' import (either with ZPOOL_IMPORT_PATH or the 'built in'
defaults) didn't work.
* The export function, do_export(), will export all pools imported, EXCEPT
the root pool (if there is one).
* ZED script from the Debian GNU/Linux packages added.
* Refreshed ZED init script from behlendorf@5e7a660 to be portable so it
may be used on both LSB and Redhat style systems.
* If there is no pool(s) imported and zed successfully shut down, we will
unload the zfs modules.
* The function library file for the ZoL init script is installed as
/etc/init.d/zfs-functions.
* The four init scripts, the /etc/{defaults,sysconfig,conf.d}/zfs config file
as well as the common function library is tagged as '%config(noreplace)' in
the rpm rules file to make sure they are not replaced automatically if locally
modifed.
* Pitfals and workarounds:
* If we're running from init, remove stale /etc/dfs/sharetab before importing
pools in the zfs-import init script.
* On Debian GNU/Linux, there's a 'sendsigs' script that will kill basically
everything quite early in the shutdown phase and zed is/should be stopped
much later than that. We don't want zed to be among the ones killed, so add
the zed pid to list of pids for 'sendsigs' to ignore.
* CentOS uses echo_success() and echo_failure() to print out status of
command. These in turn uses "echo -n \0xx[etc]" to move cursor and choose
colour etc. This doesn't work with the modified IFS variable we need to
use in zfs-import for some reason, so work around that when we define
zfs_log_{end,failure}_msg() for RedHat and derivative distributions.
* All scripts passes ShellCheck (with one false positive in do_mount()).
Signed-off-by: Turbo Fredriksson turbo@bayour.com
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Richard Yao <ryao@gentoo.org>
Reviewed by: Chris Dunlap <cdunlap@llnl.gov>
Closes #2974
Closes #2107
2015-04-23 18:35:45 +00:00
|
|
|
%config(noreplace) %{_sysconfdir}/init.d/*
|
|
|
|
%config(noreplace) %{_initconfdir}/zfs
|
2014-01-19 14:36:49 +00:00
|
|
|
%endif
|
Base init scripts for SYSV systems
* Based on the init scripts included with Debian GNU/Linux, then take code
from the already existing ones, trying to merge them into one set of
scripts that will work for 'everyone' for better maintainability.
* Add configurable variables to control the workings of the init scripts:
* ZFS_INITRD_PRE_MOUNTROOT_SLEEP
Set a sleep time before we load the module (used primarily by initrd
scripts to allow for slower media (such as USB devices etc) to be
availible before we load the zfs module).
* ZFS_INITRD_POST_MODPROBE_SLEEP
Set a timed sleep in the initrd to after the load of the zfs module.
* ZFS_INITRD_ADDITIONAL_DATASETS
To allow for mounting additional datasets in the initrd. Primarily used
in initrd scripts to allow for when filesystem needed to boot (such as
/usr, /opt, /var etc) isn't directly under the root dataset.
* ZFS_POOL_EXCEPTIONS
Exclude pools from being imported (in the initrd and/or init scripts).
* ZFS_DKMS_ENABLE_DEBUG, ZFS_DKMS_ENABLE_DEBUG_DMU_TX, ZFS_DKMS_DISABLE_STRIP
Set to control how dkms should build the dkms packages.
* ZPOOL_IMPORT_PATH
Set path(s) where "zpool import" should import pools from.
This was previously the job of "USE_DISK_BY_ID" (which is still used
for backwards compatibility) but was renamed to allow for better
control of import path(s).
* If old USE_DISK_BY_ID is set, but not new ZPOOL_IMPORT_PATH, then we
set ZPOOL_IMPORT_PATH to sane defaults just to be on the safe side.
* ZED_ARGS
To allow for local options to zed without having to change the init script.
* The import function, do_import(), imports pools by name instead of '-a'
for better control of pools to import and from where.
* If USE_DISK_BY_ID is set (for backwards compatibility), but isn't 'yes'
then ignore it.
* If pool(s) isn't found with a simple "zpool import" (seen it happen),
try looking for them in /dev/disk/by-id (if it exists). Any duplicates
(pools found with both commands) is filtered out.
* IF we have found extra pool(s) this way, we must force USE_DISK_BY_ID
so that the first, simple "zpool import $pool" is able to find it.
* Fallback on importing the pool using the cache file (if it exists) only
if 'simple' import (either with ZPOOL_IMPORT_PATH or the 'built in'
defaults) didn't work.
* The export function, do_export(), will export all pools imported, EXCEPT
the root pool (if there is one).
* ZED script from the Debian GNU/Linux packages added.
* Refreshed ZED init script from behlendorf@5e7a660 to be portable so it
may be used on both LSB and Redhat style systems.
* If there is no pool(s) imported and zed successfully shut down, we will
unload the zfs modules.
* The function library file for the ZoL init script is installed as
/etc/init.d/zfs-functions.
* The four init scripts, the /etc/{defaults,sysconfig,conf.d}/zfs config file
as well as the common function library is tagged as '%config(noreplace)' in
the rpm rules file to make sure they are not replaced automatically if locally
modifed.
* Pitfals and workarounds:
* If we're running from init, remove stale /etc/dfs/sharetab before importing
pools in the zfs-import init script.
* On Debian GNU/Linux, there's a 'sendsigs' script that will kill basically
everything quite early in the shutdown phase and zed is/should be stopped
much later than that. We don't want zed to be among the ones killed, so add
the zed pid to list of pids for 'sendsigs' to ignore.
* CentOS uses echo_success() and echo_failure() to print out status of
command. These in turn uses "echo -n \0xx[etc]" to move cursor and choose
colour etc. This doesn't work with the modified IFS variable we need to
use in zfs-import for some reason, so work around that when we define
zfs_log_{end,failure}_msg() for RedHat and derivative distributions.
* All scripts passes ShellCheck (with one false positive in do_mount()).
Signed-off-by: Turbo Fredriksson turbo@bayour.com
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Richard Yao <ryao@gentoo.org>
Reviewed by: Chris Dunlap <cdunlap@llnl.gov>
Closes #2974
Closes #2107
2015-04-23 18:35:45 +00:00
|
|
|
%config(noreplace) %{_sysconfdir}/%{name}
|
2017-06-05 17:52:15 +00:00
|
|
|
%attr(440, root, root) %config(noreplace) %{_sysconfdir}/sudoers.d/*
|
2013-02-17 20:10:17 +00:00
|
|
|
|
2014-05-17 11:20:59 +00:00
|
|
|
%files -n libzpool2
|
|
|
|
%{_libdir}/libzpool.so.*
|
|
|
|
|
|
|
|
%files -n libnvpair1
|
|
|
|
%{_libdir}/libnvpair.so.*
|
|
|
|
|
|
|
|
%files -n libuutil1
|
|
|
|
%{_libdir}/libuutil.so.*
|
|
|
|
|
|
|
|
%files -n libzfs2
|
|
|
|
%{_libdir}/libzfs*.so.*
|
|
|
|
|
|
|
|
%files -n libzfs2-devel
|
2014-06-06 23:23:22 +00:00
|
|
|
%{_datadir}/pkgconfig/libzfs.pc
|
|
|
|
%{_datadir}/pkgconfig/libzfs_core.pc
|
2013-02-17 20:10:17 +00:00
|
|
|
%{_libdir}/*.so
|
|
|
|
%{_includedir}/*
|
2018-02-16 01:53:18 +00:00
|
|
|
%doc AUTHORS COPYRIGHT LICENSE NOTICE README.md
|
2013-02-17 20:10:17 +00:00
|
|
|
|
|
|
|
%files test
|
|
|
|
%{_datadir}/%{name}
|
|
|
|
|
|
|
|
%files dracut
|
2015-07-09 18:41:14 +00:00
|
|
|
%doc contrib/dracut/README.dracut.markdown
|
2013-02-17 20:10:17 +00:00
|
|
|
%{_dracutdir}/modules.d/*
|
|
|
|
|
pyzfs: python3 support (build system)
Almost all of the Python code in the respository has been updated
to be compatibile with Python 2.6, Python 3.4, or newer. The only
exceptions are arc_summery3.py which requires Python 3, and pyzfs
which requires at least Python 2.7. This allows us to maintain a
single version of the code and support most default versions of
python. This change does the following:
* Sets the default shebang for all Python scripts to python3. If
only Python 2 is available, then at install time scripts which
are compatible with Python 2 will have their shebangs replaced
with /usr/bin/python. This is done for compatibility until
Python 2 goes end of life. Since only the installed versions
are changed this means Python 3 must be installed on the system
for test-runner when testing in-tree.
* Added --with-python=<2|3|3.4,etc> configure option which sets
the PYTHON environment variable to target a specific python
version. By default the newest installed version of Python
will be used or the preferred distribution version when
creating pacakges.
* Fixed --enable-pyzfs configure checks so they are run when
--enable-pyzfs=check and --enable-pyzfs=yes.
* Enabled pyzfs for Python 3.4 and newer, which is now supported.
* Renamed pyzfs package to python<VERSION>-pyzfs and updated to
install in the appropriate site location. For example, when
building with --with-python=3.4 a python34-pyzfs will be
created which installs in /usr/lib/python3.4/site-packages/.
* Renamed the following python scripts according to the Fedora
guidance for packaging utilities in /bin
- dbufstat.py -> dbufstat
- arcstat.py -> arcstat
- arc_summary.py -> arc_summary
- arc_summary3.py -> arc_summary3
* Updated python-cffi package name. On CentOS 6, CentOS 7, and
Amazon Linux it's called python-cffi, not python2-cffi. For
Python3 it's called python3-cffi or python3x-cffi.
* Install one version of arc_summary. Depending on the version
of Python available install either arc_summary2 or arc_summary3
as arc_summary. The user output is only slightly different.
Reviewed-by: John Ramsden <johnramsden@riseup.net>
Reviewed-by: Neal Gompa <ngompa@datto.com>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8096
2018-10-31 16:22:59 +00:00
|
|
|
%if %{with pyzfs}
|
|
|
|
%files -n python%{__python_pkg_version}-pyzfs
|
Adopt pyzfs from ClusterHQ
This commit introduces several changes:
* Update LICENSE and project information
* Give a good PEP8 talk to existing Python source code
* Add RPM/DEB packaging for pyzfs
* Fix some outstanding issues with the existing pyzfs code caused by
changes in the ABI since the last time the code was updated
* Integrate pyzfs Python unittest with the ZFS Test Suite
* Add missing libzfs_core functions: lzc_change_key,
lzc_channel_program, lzc_channel_program_nosync, lzc_load_key,
lzc_receive_one, lzc_receive_resumable, lzc_receive_with_cmdprops,
lzc_receive_with_header, lzc_reopen, lzc_send_resume, lzc_sync,
lzc_unload_key, lzc_remap
Note: this commit slightly changes zfs_ioc_unload_key() ABI. This allow
to differentiate the case where we tried to unload a key on a
non-existing dataset (ENOENT) from the situation where a dataset has
no key loaded: this is consistent with the "change" case where trying
to zfs_ioc_change_key() from a dataset with no key results in EACCES.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #7230
2018-03-18 08:34:45 +00:00
|
|
|
%doc contrib/pyzfs/README
|
|
|
|
%doc contrib/pyzfs/LICENSE
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%{python_sitelib}/libzfs_core/*
|
|
|
|
%{python_sitelib}/pyzfs*
|
|
|
|
%endif
|
|
|
|
|
Initramfs scripts for ZoL.
* Supports booting of a ZFS snapshot.
Do this by cloning the snapshot into a dataset. If this, the resulting
dataset, already exists, destroy it. Then mount it on root.
* If snapshot does not exist, use base dataset (the part before '@')
as boot filesystem instead.
* If no snapshot is specified on the 'root=' kernel command line, but there
is an '@', then get a list of snapshots below that filesystem and ask the
user which to use.
* Clone with 'mountpoint=none' and 'canmount=noauto' - we mount manually
and explicitly.
* For sub-filesystems, that doesn't have a mountpoint property set, we use
the 'org.zol:mountpoint' to keep track of it's mountpoint.
* Allow rollback of snapshots instead of clone it and boot from the clone.
* Allow mounting a root- and subfs with mountpoint=legacy set
* Allow mounting a filesystem which is using nativ encryption.
* Support all currently used kernel command line arguments
All the different distributions have their own standard on what to specify
on the kernel command line to boot of a ZFS filesystem.
* Extra options:
* zfsdebug=(on,yes,1) Show extra debugging information
* zfsforce=(on,yes,1) Force import the pool
* rollback=(on,yes,1) Rollback (instead of clone) the snapshot
* Only try to import pool if it haven't already been imported
* This will negate the need to force import a pool that have not been exported cleanly.
* Support exclusion of pools to import by setting ZFS_POOL_EXCEPTIONS in /etc/default/zfs.
* Support additional configuration variable ZFS_INITRD_ADDITIONAL_DATASETS
to mount additional filesystems not located under your root dataset.
* Include /etc/modprobe.d/{zfs,spl}.conf in the initrd if it/they exist.
* Include the udev rule to use by-vdev for pool imports.
* Include the /etc/default/zfs file to the initrd.
* Only try /dev/disk/by-* in the initrd if USE_DISK_BY_ID is set.
* Use /dev/disk/by-vdev before anything.
* Add /dev as a last ditch attempt.
* Fallback to using the cache file if that exist if nothing else worked.
* Use /sbin/modprobe instead of built-in (BusyBox) modprobe.
This gets rid of the message "modprobe: can't load module zcommon".
Thanx to pcoultha for finding this.
Signed-off-by: Turbo Fredriksson <turbo@bayour.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2116
Closes #2114
2014-01-30 16:26:48 +00:00
|
|
|
%if 0%{?_initramfs}
|
|
|
|
%files initramfs
|
|
|
|
%doc contrib/initramfs/README.initramfs.markdown
|
|
|
|
/usr/share/initramfs-tools/*
|
|
|
|
%else
|
|
|
|
# Since we're not building the initramfs package,
|
|
|
|
# ignore those files.
|
|
|
|
%exclude /usr/share/initramfs-tools
|
|
|
|
%endif
|