This commit is contained in:
openeuler-basic 2020-01-01 00:11:11 +08:00
parent 08156f74f2
commit 8bf35c9140
3 changed files with 181 additions and 0 deletions

166
python-rtslib.spec Normal file
View File

@ -0,0 +1,166 @@
%bcond_without python2
%bcond_with python3
%global oname rtslib-fb
Name: python-rtslib
Version: 2.1.70
Release: 2
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
Source1: target.service
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 %{SOURCE1} %{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
* Wed 1 1 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.1.70-2
- Strenthen spec
* Wed Sep 18 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.1.70-1
- Package init

BIN
rtslib-fb-2.1.70.tar.gz Normal file

Binary file not shown.

15
target.service Normal file
View File

@ -0,0 +1,15 @@
[Unit]
Description=Restore LIO kernel target configuration
Requires=sys-kernel-config.mount
After=sys-kernel-config.mount network.target local-fs.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/targetctl restore
ExecStop=/usr/bin/targetctl clear
SyslogIdentifier=target
[Install]
WantedBy=multi-user.target