commit
943f0ab96d
166
python-rtslib.spec
Normal file
166
python-rtslib.spec
Normal 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
BIN
rtslib-fb-2.1.70.tar.gz
Normal file
Binary file not shown.
15
target.service
Normal file
15
target.service
Normal 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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user