commit 4f3bc58b864316527582a5c787f3fcad3a1ed1ba Author: CentOS Sources Date: Tue May 17 06:14:31 2022 -0400 import python-rtslib-2.1.74-7.el9 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ab54c3e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/rtslib-fb-2.1.74.tar.gz diff --git a/.python-rtslib.metadata b/.python-rtslib.metadata new file mode 100644 index 0000000..2c2654b --- /dev/null +++ b/.python-rtslib.metadata @@ -0,0 +1 @@ +298ec36a694f6f27b84ea16a627e349f5c0792f4 SOURCES/rtslib-fb-2.1.74.tar.gz diff --git a/SOURCES/0001-Turn-off-unsupported-fabrics.patch b/SOURCES/0001-Turn-off-unsupported-fabrics.patch new file mode 100644 index 0000000..3ef3e34 --- /dev/null +++ b/SOURCES/0001-Turn-off-unsupported-fabrics.patch @@ -0,0 +1,24 @@ +diff --git a/rtslib/fabric.py b/rtslib/fabric.py +index 02e156c..ff7387f 100644 +--- a/rtslib/fabric.py ++++ b/rtslib/fabric.py +@@ -464,13 +464,13 @@ fabric_modules = { + "srpt": SRPTFabricModule, + "iscsi": ISCSIFabricModule, + "loopback": LoopbackFabricModule, +- "qla2xxx": Qla2xxxFabricModule, +- "sbp": SBPFabricModule, +- "tcm_fc": FCoEFabricModule, ++# "qla2xxx": Qla2xxxFabricModule, ++# "sbp": SBPFabricModule, ++# "tcm_fc": FCoEFabricModule, + # "usb_gadget": USBGadgetFabricModule, # very rare, don't show +- "vhost": VhostFabricModule, +- "xen-pvscsi": XenPvScsiFabricModule, +- "ibmvscsis": IbmvscsisFabricModule, ++# "vhost": VhostFabricModule, ++# "xen-pvscsi": XenPvScsiFabricModule, ++# "ibmvscsis": IbmvscsisFabricModule, + } + + # diff --git a/SOURCES/0002-default_dbroot.patch b/SOURCES/0002-default_dbroot.patch new file mode 100644 index 0000000..1317489 --- /dev/null +++ b/SOURCES/0002-default_dbroot.patch @@ -0,0 +1,31 @@ +diff --git a/rtslib/root.py b/rtslib/root.py +index 2c5cf43..34bc57d 100644 +--- a/rtslib/root.py ++++ b/rtslib/root.py +@@ -166,21 +166,21 @@ class RTSRoot(CFSNode): + self._dbroot = self._default_dbroot + return + self._dbroot = fread(dbroot_path) +- if self._dbroot != self._preferred_dbroot: ++ if self._dbroot != self._default_dbroot: + if len(FabricModule.list_registered_drivers()) != 0: + # Writing to dbroot_path after drivers have been registered will make the kernel emit this error: + # db_root: cannot be changed: target drivers registered + from warnings import warn + warn("Cannot set dbroot to {}. Target drivers have already been registered." +- .format(self._preferred_dbroot)) ++ .format(self._default_dbroot)) + return + + try: +- fwrite(dbroot_path, self._preferred_dbroot+"\n") ++ fwrite(dbroot_path, self._default_dbroot+"\n") + except: +- if not os.path.isdir(self._preferred_dbroot): ++ if not os.path.isdir(self._default_dbroot): + raise RTSLibError("Cannot set dbroot to {}. Please check if this directory exists." +- .format(self._preferred_dbroot)) ++ .format(self._default_dbroot)) + self._dbroot = fread(dbroot_path) + + def _get_dbroot(self): diff --git a/SPECS/python-rtslib.spec b/SPECS/python-rtslib.spec new file mode 100644 index 0000000..fa53e2e --- /dev/null +++ b/SPECS/python-rtslib.spec @@ -0,0 +1,486 @@ +%global oname rtslib-fb + +# epydoc is gone, so disable for now +%bcond_with apidocs + +Name: python-rtslib +License: ASL 2.0 +Summary: API for Linux kernel LIO SCSI target +Version: 2.1.74 +Release: 7%{?dist} +URL: https://github.com/open-iscsi/%{oname} +Source: %{url}/archive/v%{version}/%{oname}-%{version}.tar.gz +Patch0: 0001-Turn-off-unsupported-fabrics.patch +Patch1: 0002-default_dbroot.patch +BuildArch: noarch +%if %{with apidocs} +BuildRequires: epydoc +%endif +BuildRequires: systemd + + +%global _description\ +API for generic Linux SCSI kernel target. Includes the 'target'\ +service and targetctl tool for restoring configuration. + +%description %_description + + +%if %{with apidocs} +%package doc +Summary: Documentation for python-rtslib +Requires: python3-rtslib = %{version}-%{release} + +%description doc +API documentation for rtslib, to configure the generic Linux SCSI +multiprotocol kernel target. +%endif + +%package -n python3-rtslib +Summary: API for Linux kernel LIO SCSI target + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-kmod +BuildRequires: python3-six +BuildRequires: python3-pyudev + +Requires: python3-kmod +Requires: python3-six +Requires: python3-pyudev +%if ! %{with apidocs} +Obsoletes: %{name}-doc < %{version}-%{release} +%endif + +%description -n python3-rtslib +API for generic Linux SCSI kernel target. + + +%package -n target-restore +Summary: Systemd service for targetcli/rtslib +Requires: python3-rtslib = %{version}-%{release} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description -n target-restore +Systemd service to restore the LIO kernel target settings +on system restart. + + +%prep +%setup -q -n %{oname}-%{version} +%patch0 -p1 +%patch1 -p1 + + +%build +%py3_build + +%if %{with apidocs} +mkdir -p doc/html +epydoc --no-sourcecode --html -n rtslib -o doc/html rtslib/*.py +%endif + +%install +# remove py2 scripts if py3 enabled +%py3_install + +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 %{buildroot}%{_mandir}/man8/ +install -m 644 doc/saveconfig.json.5 %{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 + + +%files -n python3-rtslib +%license COPYING +%{python3_sitelib}/rtslib* +%doc README.md doc/getting_started.md + +%files -n target-restore +%{_bindir}/targetctl +%{_unitdir}/target.service +%dir %{_sysconfdir}/target +%dir %{_sysconfdir}/target/backup +%dir %{_localstatedir}/target +%dir %{_localstatedir}/target/pr +%dir %{_localstatedir}/target/alua +%{_mandir}/man8/targetctl.8* +%{_mandir}/man5/saveconfig.json.5* + +%if %{with apidocs} +%files doc +%doc doc/html +%endif + +%changelog +* Tue Aug 10 2021 Mohan Boddu - 2.1.74-7 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Mon Jul 12 2021 Maurizio Lombardi - 2.1.74-6 +- Fix the gating tests + +* Thu Jun 24 2021 Maurizio Lombardi - 2.1.74-5 +- Add the gating.yaml file + +* Fri Apr 16 2021 Mohan Boddu - 2.1.74-4 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Fri Apr 09 2021 Maurizio Lombardi - 2.1.74-3 +- Disable the unsupported fabrics +- set dbroot to /var/target as in RHEL8 + +* Wed Jan 27 2021 Fedora Release Engineering - 2.1.74-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Aug 31 2020 Maurizio Lombardi - 2.1.74-1 +- New upstream version + +* Wed Jul 29 2020 Fedora Release Engineering - 2.1.73-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jun 25 2020 Matt Coleman - 2.1.73-1 +- New upstream version +- Use upstream's systemd service + +* Tue May 26 2020 Miro Hrončok - 2.1.fb69-9 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 2.1.fb69-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 01 2019 Neal Gompa - 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 - 2.1.fb69-6 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 2.1.fb69-5 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 2.1.fb69-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 2.1.fb69-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Oct 12 2018 Zbigniew Jędrzejewski-Szmek - 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 - 2.1.fb69-1 +- New upstream version +- Fix URL so spectool -g works + +* Sat Jul 14 2018 Fedora Release Engineering - 2.1.fb67-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 2.1.fb67-4 +- Rebuilt for Python 3.7 + +* Fri Mar 16 2018 Charalampos Stratakis - 2.1.fb67-3 +- Don't build the Python 2 subpackage on EL > 7 + +* Thu Feb 15 2018 Iryna Shcherbina - 2.1.fb67-2 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Feb 14 2018 Andy Grover - 2.1.fb67-1 +- New upstream version + +* Fri Feb 09 2018 Fedora Release Engineering - 2.1.fb66-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 31 2018 Andy Grover - 2.1.fb66-1 +- New upstream version + +* Fri Jan 26 2018 Andy Grover - 2.1.fb65-1 +- New upstream version + +* Fri Sep 29 2017 Troy Dawson - 2.1.fb63-4 +- Cleanup spec file conditionals + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 2.1.fb63-3 +- Python 2 binary package renamed to python2-rtslib + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Jul 27 2017 Fedora Release Engineering - 2.1.fb63-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 1 2017 Andy Grover - 2.1.fb63-1 +- New upstream version + +* Sat Feb 11 2017 Fedora Release Engineering - 2.1.fb60-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 2.1.fb60-3 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering - 2.1.fb60-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Apr 7 2016 Andy Grover - 2.1.fb60-1 +- New upstream version + +* Thu Feb 04 2016 Fedora Release Engineering - 2.1.fb59-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Dec 11 2015 Andy Grover - 2.1.fb59-1 +- New upstream version + +* Tue Dec 8 2015 Andy Grover - 2.1.fb58-2 +- Add patch 0001-disable-xen_pvscsi.patch + +* Tue Dec 1 2015 Andy Grover - 2.1.fb58-1 +- New upstream version + +* Tue Nov 10 2015 Fedora Release Engineering - 2.1.fb57-5 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Mon Aug 31 2015 Andy Grover - 2.1.fb57-4 +- Fix deps for python3 pkg + +* Fri Aug 28 2015 Andy Grover - 2.1.fb57-3 +- Fix an unowned directory + +* Tue Aug 18 2015 Andy Grover - 2.1.fb57-2 +- Move targetctl and scripts to separate 'target-restore' pkg + +* Tue Jun 23 2015 Andy Grover - 2.1.fb57-1 +- New upstream version +- Change from 2to3 to python-six + +* Thu Jun 18 2015 Fedora Release Engineering - 2.1.fb53-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Apr 17 2015 Andy Grover - 2.1.fb53-1 +- New upstream version + +* Tue Jan 13 2015 Andy Grover - 2.1.fb52-1 +- New upstream version + +* Tue Dec 2 2014 Andy Grover - 2.1.fb51-1 +- New upstream version + +* Wed Sep 24 2014 Andy Grover - 2.1.fb50-1 +- New upstream version + +* Thu Aug 28 2014 Andy Grover - 2.1.fb49-1 +- New upstream version + +* Fri Jun 20 2014 Andy Grover - 2.1.fb48-1 +- New upstream version + +* Sat Jun 07 2014 Fedora Release Engineering - 2.1.fb47-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 28 2014 Kalev Lember - 2.1.fb47-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Fri Mar 14 2014 Andy Grover - 2.1.fb47-1 +- New upstream version + +* Tue Feb 18 2014 Andy Grover - 2.1.fb46-1 +- New upstream version + +* Wed Jan 15 2014 Andy Grover - 2.1.fb45-1 +- New upstream version + +* Wed Dec 18 2013 Andy Grover - 2.1.fb44-1 +- New upstream version + +* Wed Dec 4 2013 Andy Grover - 2.1.fb43-1 +- New upstream version +- Remove rtslib-fix-setup.patch + +* Wed Nov 6 2013 Andy Grover - 2.1.fb41-3 +- Don't overwrite py2 scripts with py3 scripts + +* Mon Nov 4 2013 Andy Grover - 2.1.fb41-2 +- Update rtslib-fix-setup.patch with backported fixups +- Add in missing systemd requires + +* Fri Nov 1 2013 Andy Grover - 2.1.fb41-1 +- New upstream version +- Remove obsolete spec stuff: clean, buildroot +- Add target.service + +* Mon Sep 23 2013 Andy Grover - 2.1.fb40-1 +- New upstream version, fixes restore of mappedluns + +* Wed Sep 11 2013 Andy Grover - 2.1.fb39-1 +- New upstream version, fixes fcoe + +* Tue Sep 10 2013 Andy Grover - 2.1.fb38-1 +- New upstream version + +* Sun Aug 04 2013 Fedora Release Engineering - 2.1.fb37-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 23 2013 Andy Grover - 2.1.fb37-1 +- New upstream version +- License now Apache 2.0 + +* Tue Jul 2 2013 Andy Grover - 2.1.fb36-1 +- New upstream version +- Remove fix-tabs.patch + +* Fri Jun 7 2013 Andy Grover - 2.1.fb35-1 +- New upstream version +- add fix-tabs.patch + +* Thu May 9 2013 Andy Grover - 2.1.fb34-1 +- New upstream version + +* Thu May 2 2013 Andy Grover - 2.1.fb33-1 +- New upstream version +- Update source file location + +* Tue Apr 16 2013 Andy Grover - 2.1.fb32-2 +- Add python3 subpackage + +* Tue Apr 9 2013 Andy Grover - 2.1.fb32-1 +- New upstream version + +* Tue Feb 26 2013 Andy Grover - 2.1.fb30-1 +- New upstream version +- Update description and summary +- Remove patch0, upstream doesn't include usb gadget any more + +* Thu Feb 14 2013 Fedora Release Engineering - 2.1.fb28-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 7 2013 Andy Grover - 2.1.fb28-1 +- New upstream version + +* Wed Jan 2 2013 Andy Grover - 2.1.fb27-1 +- Specfiles removed upstream, remove handling +- Refresh no-usb.patch + +* Thu Dec 20 2012 Andy Grover - 2.1.fb26-1 +- New upstream release +- Remove kernel dependency +- Remove python-ethtool and python-ipaddr dependencies + +* Tue Nov 13 2012 Andy Grover - 2.1.fb24-1 +- New upstream release + +* Tue Oct 30 2012 Andy Grover - 2.1.fb23-1 +- New upstream release + +* Thu Sep 6 2012 Andy Grover - 2.1.fb22-1 +- New upstream release + +* Wed Aug 8 2012 Andy Grover - 2.1.fb21-1 +- New upstream release + +* Tue Aug 7 2012 Andy Grover - 2.1.fb20-2 +- Add patch no-usb.patch + +* Tue Aug 7 2012 Andy Grover - 2.1.fb20-1 +- New upstream release. Add kernel version dependency. +- Don't claim python_sitelib + +* Thu Aug 2 2012 Andy Grover - 2.1.fb19-1 +- New upstream release. Add kmod dependency. + +* Tue Jul 31 2012 Andy Grover - 2.1.fb18-1 +- New upstream release. Remove configobj dependency + +* Sat Jul 21 2012 Fedora Release Engineering - 2.1.fb17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jun 28 2012 Andy Grover - 2.1.fb17-1 +- New upstream release +- Remove patch retry-target-creation.patch, upstream has alternate + fix. + +* Tue Jun 12 2012 Andy Grover - 2.1.fb15-1 +- New upstream release + +* Wed May 30 2012 Andy Grover - 2.1.fb14-1 +- Update Source URL to proper tarball +- Add patch retry-target-creation.patch +- New upstream release + +* Mon Apr 9 2012 Andy Grover - 2.1.fb13-1 +- New upstream release + +* Wed Feb 29 2012 Andy Grover - 2.1.fb12-2 +- Add -doc package of epydoc-generated html docs + +* Wed Feb 29 2012 Andy Grover - 2.1.fb12-1 +- New upstream release + +* Tue Feb 21 2012 Andy Grover - 2.1.fb11-1 +- New upstream release + +* Fri Feb 10 2012 Andy Grover - 2.1.fb9-1 +- New upstream release + +* Fri Feb 3 2012 Andy Grover - 2.1.fb8-1 +- New upstream release + +* Tue Jan 24 2012 Andy Grover - 2.1.fb7-1 +- New upstream release + +* Tue Jan 24 2012 Andy Grover - 2.1.fb6-1 +- New upstream release + +* Fri Jan 13 2012 Andy Grover - 2.1.fb5-1 +- New upstream release + +* Fri Jan 13 2012 Andy Grover - 2.1.fb4-1 +- New upstream release + +* Tue Jan 10 2012 Andy Grover - 2.1.fb3-1 +- New upstream release + +* Tue Dec 6 2011 Andy Grover - 2.1.fb2-1 +- New upstream release + +* Tue Dec 6 2011 Andy Grover - 2.1.fb1-1 +- Change upstream URL +- New upstream release +- Remove upstreamed patches: + * python-rtslib-git-version.patch + * python-rtslib-use-ethtool.patch + * python-rtslib-update-specpath.patch + +* Mon Nov 14 2011 Andy Grover - 1.99.1.git644eece-8 +- Change archive instructions to use gzip -n +- Fix issues raised in Fedora package review (#744349) + +* Thu Oct 6 2011 Andy Grover - 1.99.1.git644eece-7 +- Remove patch + * python-rtslib-del-unused-specs.patch + +* Wed Aug 17 2011 Andy Grover - 1.99-6 +- Update based on review comments + - Fully document steps to build archive + - Remove commented-out extraneous text + - Remove a repeat in Requires line + - Update git-version.patch to have proper sha1 + - Change location of fabric spec files to /var/lib/target +- Remove unused specs + +* Tue May 10 2011 Andy Grover - 1.99-1 +- Initial packaging