%bcond_without python2 %bcond_with python3 %global oname rtslib-fb Name: python-rtslib Version: 2.1.70 Release: 3 Summary: Python object API for Linux kernel LIO SCSI target License: ASL 2.0 URL: https://github.com/open-iscsi/%{oname} Source0: %{url}/archive/v%{version}/%{oname}-%{version}.tar.gz BuildArch: noarch BuildRequires: epydoc, systemd-units Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Provides: python-rtslib-doc Obsoletes: python-rtslib-doc %description %{name} is a python object API for generic Linux SCSI kernel target which includes the 'target' service and targetctl tool for restoring configuration. %if %{with python2} %package -n python2-rtslib Summary: Python2 object API for Linux kernel LIO SCSI target BuildRequires: python2-devel, python2-setuptools Requires: python2-kmod, python2-six, python2-pyudev %{?python_provide:%python_provide python2-rtslib} %description -n python2-rtslib python2-rtslib is a python object API for generic Linux SCSI kernel target which includes the 'target' service and targetctl tool for restoring configuration. %endif %if %{with python3} %package -n python3-rtslib Summary: Python3 object API for Linux kernel LIO SCSI target BuildRequires: python3-devel, python3-setuptools Requires: python3-kmod, python3-six, python3-pyudev %{?python_provide:%python_provide python3-rtslib} %description -n python3-rtslib python3-rtslib is a python object API for generic Linux SCSI kernel target which includes the 'target' service and targetctl tool for restoring configuration. %endif %package -n target-restore Summary: Systemd service for targetcli/rtslib %if %{with python3} Requires: python3-rtslib = %{version}-%{release} %else Requires: python2-rtslib = %{version}-%{release} %endif %description -n target-restore Systemd service to restore the LIO kernel target settings on system restart. %package_help %prep %autosetup -n %{oname}-%{version} -p1 %if %{with python3} rm -rf %{py3dir} cp -a . %{py3dir} %endif %build %if %{with python2} %py2_build mkdir -p doc/html epydoc --no-sourcecode --html -n rtslib -o doc/html rtslib/*.py %endif gzip --stdout doc/targetctl.8 > doc/targetctl.8.gz gzip --stdout doc/saveconfig.json.5 > doc/saveconfig.json.5.gz %if 0%{?with_python3} pushd %{py3dir} %py3_build popd %endif %install %if %{with python3} pushd %{py3dir} %py3_install popd %if %{with python2} %{__python2} setup.py install --skip-build --root %{buildroot} --install-scripts py2scripts rm -rf %{buildroot}/py2scripts %endif %else %if %{with python2} %py2_install %endif %endif mkdir -p %{buildroot}%{_mandir}/man8/ mkdir -p %{buildroot}%{_mandir}/man5/ mkdir -p %{buildroot}%{_unitdir} mkdir -p %{buildroot}%{_sysconfdir}/target/backup mkdir -p %{buildroot}%{_localstatedir}/target/pr mkdir -p %{buildroot}%{_localstatedir}/target/alua install -m 644 systemd/target.service %{buildroot}%{_unitdir}/target.service install -m 644 doc/targetctl.8.gz %{buildroot}%{_mandir}/man8/ install -m 644 doc/saveconfig.json.5.gz %{buildroot}%{_mandir}/man5/ %post -n target-restore %systemd_post target.service %preun -n target-restore %systemd_preun target.service %postun -n target-restore %systemd_postun_with_restart target.service %if %{with python2} %files -n python2-rtslib %defattr(-,root,root) %license COPYING %{python2_sitelib}/* %endif %if %{with python3} %files -n python3-rtslib %defattr(-,root,root) %license COPYING %{python3_sitelib}/* %endif %files -n target-restore %defattr(-,root,root) %{_bindir}/targetctl %{_unitdir}/target.service %dir %{_sysconfdir}/target %dir %{_sysconfdir}/target/backup %dir %{_localstatedir}/target %dir %{_localstatedir}/target/pr %dir %{_localstatedir}/target/alua %files help %defattr(-,root,root) %if %{with python2} %doc doc/html %endif %doc README.md doc/getting_started.md %{_mandir}/man8/targetctl.8.gz %{_mandir}/man5/saveconfig.json.5.gz %changelog * Thu Jan 09 2020 openEuler Buildteam - 2.1.70-3 - re-package for rtslib-fb * Wed Jan 01 2020 openEuler Buildteam - 2.1.70-2 - Strenthen spec * Wed Sep 18 2019 openEuler Buildteam - 2.1.70-1 - Package init