Compare commits

...

No commits in common. "c9" and "c8" have entirely different histories.
c9 ... c8

4 changed files with 155 additions and 98 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/rtslib-fb-2.1.76.tar.gz SOURCES/rtslib-fb-2.1.75.tar.gz

View File

@ -1 +1 @@
ba3bc968a3e3111ed22fca7cab166e6ab126ee77 SOURCES/rtslib-fb-2.1.76.tar.gz 358077a7fef2e71230a1b5c87b1765c9292f17f6 SOURCES/rtslib-fb-2.1.75.tar.gz

15
SOURCES/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

View File

@ -1,67 +1,97 @@
%global oname rtslib-fb %if 0%{?fedora} || 0%{?rhel} > 7
# Enable python3 build by default
%bcond_without python3
%else
%bcond_with python3
%endif
# epydoc is gone, so disable for now %if 0%{?rhel} > 7
%bcond_with apidocs # Disable python2 build by default
# disable also docs build as they require python2
%bcond_with python2
%bcond_with docs
%else
%bcond_without python2
%bcond_without docs
%endif
%global oname rtslib-fb
Name: python-rtslib Name: python-rtslib
License: ASL 2.0 License: ASL 2.0
Group: System Environment/Libraries
Summary: API for Linux kernel LIO SCSI target Summary: API for Linux kernel LIO SCSI target
Version: 2.1.76 Version: 2.1.75
Release: 1%{?dist} Release: 4%{?dist}
URL: https://github.com/open-iscsi/%{oname} URL: https://github.com/open-iscsi/%{oname}
Source: %{url}/archive/v%{version}/%{oname}-%{version}.tar.gz Source: %{url}/archive/v%{version}/%{oname}-%{version}.tar.gz
Source1: target.service
Patch0: 0001-Turn-off-unsupported-fabrics.patch Patch0: 0001-Turn-off-unsupported-fabrics.patch
Patch1: 0002-default_dbroot.patch Patch1: 0002-default_dbroot.patch
BuildArch: noarch BuildArch: noarch
%if %{with apidocs} BuildRequires: systemd-units
BuildRequires: epydoc Requires(post): systemd
%endif Requires(preun): systemd
BuildRequires: systemd Requires(postun): systemd
%global _description\ %global _description\
API for generic Linux SCSI kernel target. Includes the 'target'\ API for generic Linux SCSI kernel target. Includes the 'target'\
service and targetctl tool for restoring configuration. service and targetctl tool for restoring configuration.\
%description %_description %description %_description
%if %{with python2}
%package -n python2-rtslib
Summary: %summary
%if %{with apidocs} BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: epydoc
Requires: python2-kmod
Requires: python2-six
Requires: python2-pyudev
%{?python_provide:%python_provide python2-rtslib}
%description -n python2-rtslib %_description
%endif # with python2
%if %{with docs}
%package doc %package doc
Summary: Documentation for python-rtslib Summary: Documentation for python-rtslib
Requires: python3-rtslib = %{version}-%{release} Requires: python2-rtslib = %{version}-%{release}
%description doc %description doc
API documentation for rtslib, to configure the generic Linux SCSI API documentation for rtslib, to configure the generic Linux SCSI
multiprotocol kernel target. multiprotocol kernel target.
%endif %endif # with docs
%if %{with python3}
%package -n python3-rtslib %package -n python3-rtslib
Summary: API for Linux kernel LIO SCSI target Summary: API for Linux kernel LIO SCSI target
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-setuptools BuildRequires: python3-setuptools
BuildRequires: python3-kmod
BuildRequires: python3-six
BuildRequires: python3-pyudev
Requires: python3-kmod Requires: python3-kmod
Requires: python3-six Requires: python3-six
Requires: python3-pyudev Requires: python3-pyudev
%if ! %{with apidocs}
Obsoletes: %{name}-doc < %{version}-%{release}
%endif
%description -n python3-rtslib %description -n python3-rtslib
API for generic Linux SCSI kernel target. API for generic Linux SCSI kernel target.
%endif # with python3
%package -n target-restore %package -n target-restore
Summary: Systemd service for targetcli/rtslib Summary: Systemd service for targetcli/rtslib
Requires: python3-rtslib = %{version}-%{release} %if %{with python3}
Requires(post): systemd Requires: python3-rtslib = %{version}-%{release}
Requires(preun): systemd %else
Requires(postun): systemd Requires: python2-rtslib = %{version}-%{release}
%endif # with python3
%description -n target-restore %description -n target-restore
Systemd service to restore the LIO kernel target settings Systemd service to restore the LIO kernel target settings
@ -73,18 +103,43 @@ on system restart.
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%if %{with python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif # with python3
%build %build
%py3_build %if %{with python2}
%py2_build
%if %{with apidocs}
mkdir -p doc/html mkdir -p doc/html
epydoc --no-sourcecode --html -n rtslib -o doc/html rtslib/*.py epydoc --no-sourcecode --html -n rtslib -o doc/html rtslib/*.py
%endif %endif # with python2
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 # with python3
%install %install
# remove py2 scripts if py3 enabled # remove py2 scripts if py3 enabled
%if %{with python3}
pushd %{py3dir}
%py3_install %py3_install
popd
%if %{with python2}
%{__python2} setup.py install --skip-build --root %{buildroot} --install-scripts py2scripts
rm -rf %{buildroot}/py2scripts
%endif # with python2
%else
%if %{with python2}
%py2_install
%endif # with python2
%endif # with python3
mkdir -p %{buildroot}%{_mandir}/man8/ mkdir -p %{buildroot}%{_mandir}/man8/
mkdir -p %{buildroot}%{_mandir}/man5/ mkdir -p %{buildroot}%{_mandir}/man5/
@ -92,9 +147,9 @@ mkdir -p %{buildroot}%{_unitdir}
mkdir -p %{buildroot}%{_sysconfdir}/target/backup mkdir -p %{buildroot}%{_sysconfdir}/target/backup
mkdir -p %{buildroot}%{_localstatedir}/target/pr mkdir -p %{buildroot}%{_localstatedir}/target/pr
mkdir -p %{buildroot}%{_localstatedir}/target/alua mkdir -p %{buildroot}%{_localstatedir}/target/alua
install -m 644 systemd/target.service %{buildroot}%{_unitdir}/target.service install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/target.service
install -m 644 doc/targetctl.8 %{buildroot}%{_mandir}/man8/ install -m 644 doc/targetctl.8.gz %{buildroot}%{_mandir}/man8/
install -m 644 doc/saveconfig.json.5 %{buildroot}%{_mandir}/man5/ install -m 644 doc/saveconfig.json.5.gz %{buildroot}%{_mandir}/man5/
%post -n target-restore %post -n target-restore
%systemd_post target.service %systemd_post target.service
@ -105,11 +160,19 @@ install -m 644 doc/saveconfig.json.5 %{buildroot}%{_mandir}/man5/
%postun -n target-restore %postun -n target-restore
%systemd_postun_with_restart target.service %systemd_postun_with_restart target.service
%if %{with python2}
%files -n python2-rtslib
%license COPYING
%{python2_sitelib}/*
%doc README.md doc/getting_started.md
%endif # with python2
%if %{with python3}
%files -n python3-rtslib %files -n python3-rtslib
%license COPYING %license COPYING
%{python3_sitelib}/rtslib* %{python3_sitelib}/*
%doc README.md doc/getting_started.md %doc README.md doc/getting_started.md
%endif # with python3
%files -n target-restore %files -n target-restore
%{_bindir}/targetctl %{_bindir}/targetctl
@ -119,88 +182,67 @@ install -m 644 doc/saveconfig.json.5 %{buildroot}%{_mandir}/man5/
%dir %{_localstatedir}/target %dir %{_localstatedir}/target
%dir %{_localstatedir}/target/pr %dir %{_localstatedir}/target/pr
%dir %{_localstatedir}/target/alua %dir %{_localstatedir}/target/alua
%{_mandir}/man8/targetctl.8* %{_mandir}/man8/targetctl.8.gz
%{_mandir}/man5/saveconfig.json.5* %{_mandir}/man5/saveconfig.json.5.gz
%if %{with apidocs} %if %{with python2}
%files doc %files doc
%doc doc/html %doc doc/html
%endif %endif # with python2
%changelog %changelog
* Mon Oct 30 2023 Maurizio Lombardi <mlombard@redhat.com> - 2.1.76-1
- Update to version 2.1.76
* Thu May 19 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.1.75-1 * Wed Jun 15 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.1.75-4
- Update to version 2.1.75 - Updates to the gating tests from mhoyer
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 2.1.74-7 * Wed Jun 15 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.1.75-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Update the gating tests
Related: rhbz#1991688
* Mon Jul 12 2021 Maurizio Lombardi <mlombard@redhat.com> - 2.1.74-6 * Wed Jun 15 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.1.75-2
- Fix the gating tests - Fix the gating tests
* Thu Jun 24 2021 Maurizio Lombardi <mlombard@redhat.com> - 2.1.74-5 * Mon Jun 06 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.1.75-1
- Add the gating.yaml file - Update to the latest upstream version
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.1.74-4 * Mon Oct 26 2020 Maurizio Lombardi <mlombard@redhat.com> - 2.1.74-1
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Update to the latest upstream version
* Fri Apr 09 2021 Maurizio Lombardi <mlombard@redhat.com> - 2.1.74-3 * Tue Jul 21 2020 Maurizio Lombardi <mlombard@redhat.com> - 2.1.73-2
- Merge a fix to prevent a potential data leak when saving the config file
* Thu Jun 25 2020 Maurizio Lombardi <mlombard@redhat.com> - 2.1.73-1
- Update to new upstream version
* Mon May 11 2020 Maurizio Lombardi <mlombard@redhat.com> - 2.1.72-1
- Update to new upstream version
* Thu Dec 12 2019 Maurizio Lombardi <mlombard@redhat.com> - 2.1.71-4
- LIO should use /var/target for its runtime files
* Thu Nov 28 2019 Maurizio Lombardi <mlombard@redhat.com> - 2.1.71-2
- Remove support to qla2xxx
* Tue Nov 19 2019 Maurizio Lombardi <mlombard@redhat.com> - 2.1.71-1
- Update to new upstream version
* Wed May 15 2019 Maurizio Lombardi <mlombard@redhat.com> - 2.1.fb69-4
- report the correct size for partitions
* Thu Jan 17 2019 Maurizio Lombardi <mlombard@redhat.com> - 2.1.fb69-3
- Disable the FCoE fabric module
* Fri Sep 28 2018 Maurizio Lombardi <mlombard@redhat.com> - 2.1.fb69-2
- Disable the unsupported fabrics - Disable the unsupported fabrics
- set dbroot to /var/target as in RHEL8
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.74-2 * Tue Sep 18 2018 Maurizio Lombardi <mlombard@redhat.com> - 2.1.fb69-1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - New upstream version that fixes a syntax error problem with python3
* Mon Aug 31 2020 Maurizio Lombardi <mlombard@redhat.com> - 2.1.74-1 * Wed Sep 05 2018 Maurizio Lombardi <mlombard@redhat.com> - 2.1.fb68-1
- New upstream version - New upstream version
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.73-2 * Mon Jun 25 2018 Maurizio Lombardi <mlombard@redhat.com> - 2.1.fb67-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - epydoc is used only with python2 but the latter is not supported in RHEL8
I remove the dependency
* Thu Jun 25 2020 Matt Coleman <matt@datto.com> - 2.1.73-1
- New upstream version
- Use upstream's systemd service
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.1.fb69-9
- Rebuilt for Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.fb69-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Nov 01 2019 Neal Gompa <ngompa13@gmail.com> - 2.1.fb69-7
- Fix file list for python3-rtslib subpackage
- Don't compress manpages in build phase, as rpm auto-compresses manpages
- Move systemd requires to the target-restore subpackage
- Disable building apidocs as epydoc is gone
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.1.fb69-6
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.1.fb69-5
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.fb69-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.fb69-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Oct 12 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.fb69-2
- Python2 binary package has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
* Wed Oct 10 2018 Andy Grover <agrover@redhat.com> - 2.1.fb69-1
- New upstream version
- Fix URL so spectool -g works
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.fb67-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.1.fb67-4
- Rebuilt for Python 3.7
* Fri Mar 16 2018 Charalampos Stratakis <cstratak@redhat.com> - 2.1.fb67-3 * Fri Mar 16 2018 Charalampos Stratakis <cstratak@redhat.com> - 2.1.fb67-3
- Don't build the Python 2 subpackage on EL > 7 - Don't build the Python 2 subpackage on EL > 7