commit 9d6f64a4f2c9978055101066f019caf6e95e7622 Author: CentOS Sources Date: Tue May 18 02:49:19 2021 -0400 import targetcli-2.1.53-2.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c8658e0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/targetcli-fb-2.1.53.tar.gz diff --git a/.targetcli.metadata b/.targetcli.metadata new file mode 100644 index 0000000..030fdb9 --- /dev/null +++ b/.targetcli.metadata @@ -0,0 +1 @@ +cb06b7dc70606e63974df107d418c2344dcc7d7b SOURCES/targetcli-fb-2.1.53.tar.gz diff --git a/SOURCES/0001-setup.py-add-the-socket-and-service-files-to-the-dat.patch b/SOURCES/0001-setup.py-add-the-socket-and-service-files-to-the-dat.patch new file mode 100644 index 0000000..d850d1c --- /dev/null +++ b/SOURCES/0001-setup.py-add-the-socket-and-service-files-to-the-dat.patch @@ -0,0 +1,13 @@ +diff --git a/setup.py b/setup.py +index 4518165..2ebfc04 100755 +--- a/setup.py ++++ b/setup.py +@@ -34,7 +34,7 @@ setup( + 'scripts/targetcli', + 'daemon/targetclid' + ], +- data_files = [('/lib/systemd/system', ['systemd/targetclid.socket', 'systemd/targetclid.service'])], ++ data_files = [('/usr/lib/systemd/system', ['systemd/targetclid.socket', 'systemd/targetclid.service'])], + classifiers = [ + "Programming Language :: Python", + "Programming Language :: Python :: 3", diff --git a/SOURCES/0002-fileio-backstore-fix-sparse-file-creation.patch b/SOURCES/0002-fileio-backstore-fix-sparse-file-creation.patch new file mode 100644 index 0000000..49951f0 --- /dev/null +++ b/SOURCES/0002-fileio-backstore-fix-sparse-file-creation.patch @@ -0,0 +1,55 @@ +From 3176671662bda79d4b4059b8cc22b4b31a6547e0 Mon Sep 17 00:00:00 2001 +From: Maurizio Lombardi +Date: Fri, 13 Nov 2020 11:44:40 +0100 +Subject: [PATCH] fileio backstore: fix sparse file creation + +fallocate() can't be used to create sparse files because it +actually preallocates all the disk space that will be used by the file +backstore, sparse files do not have preallocated disk space +by definition. +We must therefore use ftruncate(). + +We can, on the other hand, use fallocate() to create non-sparse +files and fall back to the slower "while() fwrite()" if we +are running on Python version < 3.3 where fallocate() is not available + +Fixes 3bd4d8ef7c9b154c53e8b8dd863a570bce7f5c2c + +Signed-off-by: Maurizio Lombardi +--- + targetcli/ui_backstore.py | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/targetcli/ui_backstore.py b/targetcli/ui_backstore.py +index 8692f22..9bc0c58 100644 +--- a/targetcli/ui_backstore.py ++++ b/targetcli/ui_backstore.py +@@ -423,17 +423,17 @@ class UIFileIOBackstore(UIBackstore): + raise ExecutionError("Could not open %s" % filename) + try: + if sparse: ++ os.ftruncate(f.fileno(), size) ++ else: ++ self.shell.log.info("Writing %d bytes" % size) + try: ++ # Prior to version 3.3, Python does not provide fallocate + os.posix_fallocate(f.fileno(), 0, size) + except AttributeError: +- # Prior to version 3.3, Python does not provide fallocate +- os.ftruncate(f.fileno(), size) +- else: +- self.shell.log.info("Writing %d bytes" % size) +- while size > 0: +- write_size = min(size, 1024) +- f.write("\0" * write_size) +- size -= write_size ++ while size > 0: ++ write_size = min(size, 1024) ++ f.write("\0" * write_size) ++ size -= write_size + except (OSError, IOError): + os.remove(filename) + raise ExecutionError("Could not expand file to %d bytes" % size) +-- +2.28.0 + diff --git a/SPECS/targetcli.spec b/SPECS/targetcli.spec new file mode 100644 index 0000000..89fd561 --- /dev/null +++ b/SPECS/targetcli.spec @@ -0,0 +1,313 @@ +%global oname targetcli-fb + +Name: targetcli +License: ASL 2.0 +Group: System Environment/Libraries +Summary: An administration shell for storage targets +Version: 2.1.53 +Release: 2%{?dist} +URL: https://github.com/open-iscsi/%{oname} +Source: %{url}/archive/v%{version}/%{oname}-%{version}.tar.gz +Patch0: 0001-setup.py-add-the-socket-and-service-files-to-the-dat.patch +Patch1: 0002-fileio-backstore-fix-sparse-file-creation.patch +BuildArch: noarch +BuildRequires: python3-devel, python3-setuptools +Requires: python3-rtslib, target-restore, python3-configshell, python3-six, python3-dbus, python3-gobject-base + + +%description +An administration shell for configuring iSCSI, FCoE, and other +SCSI targets, using the TCM/LIO kernel target subsystem. FCoE +users will also need to install and use fcoe-utils. + + +%prep +%setup -q -n %{oname}-%{version} +%patch0 -p1 +%patch1 -p1 + +%build +%{__python3} setup.py build +gzip --stdout targetcli.8 > targetcli.8.gz +gzip --stdout targetclid.8 > targetclid.8.gz + +%install +mkdir -p %{buildroot}%{_unitdir} +%{__python3} setup.py install --skip-build --root %{buildroot} +mkdir -p %{buildroot}%{_sysconfdir}/target/backup +mkdir -p %{buildroot}%{_sysconfdir}/target/pr +mkdir -p %{buildroot}%{_mandir}/man8/ +install -m 644 targetcli.8.gz %{buildroot}%{_mandir}/man8/ +install -m 644 targetclid.8.gz %{buildroot}%{_mandir}/man8/ + +%files +%{python3_sitelib}/* +%{_bindir}/targetcli +%{_bindir}/targetclid +%dir %{_sysconfdir}/target +%dir %{_sysconfdir}/target/backup +%dir %{_sysconfdir}/target/pr +%doc COPYING README.md +%{_mandir}/man8/targetcli.8.gz +%{_mandir}/man8/targetclid.8.gz +%{_usr}/lib/systemd/system/targetclid.service +%{_usr}/lib/systemd/system/targetclid.socket + +%changelog +* Tue Dec 01 2020 Maurizio Lombardi - 2.1.53-2 +- Fix sparse file creation + +* Thu Jun 25 2020 Maurizio Lombardi - 2.1.53-1 +- Update to new upstream version + +* Mon May 11 2020 Maurizio Lombardi - 2.1.52-1 +- Update to new upstream version + +* Fri Dec 06 2019 Maurizio Lombardi - 2.1.51-2 +- Create the target/pr directory when installing the package + +* Mon Nov 18 2019 Maurizio Lombardi - 2.1.51-1 +- Update to new upstream release + +* Thu Sep 06 2018 Maurizio Lombardi - 2.1.fb49-1 +- Update to new upstream release + +* Mon Aug 06 2018 Maurizio Lombardi - 2.1.fb48-4 +- Fix code incompatible with python3 + +* Fri Feb 09 2018 Igor Gnatenko - 2.1.fb48-3 +- Escape macros in %%changelog + +* Wed Jan 31 2018 Andy Grover - 2.1.fb48-2 +- Add dep on python3-gobject + +* Fri Jan 26 2018 Andy Grover - 2.1.fb48-1 +- New upstream version + +* Thu Jul 27 2017 Fedora Release Engineering - 2.1.fb46-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 1 2017 Andy Grover - 2.1.fb46-1 +- New upstream version + +* Sat Feb 11 2017 Fedora Release Engineering - 2.1.fb43-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 2.1.fb43-3 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering - 2.1.fb43-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Apr 7 2016 Andy Grover - 2.1.fb43-1 +- New upstream version + +* Tue Feb 23 2016 Andy Grover - 2.1.fb42-3 +- Fix #1294337 by adding dep on correct Py3 dbus pkg + +* Fri Feb 05 2016 Fedora Release Engineering - 2.1.fb42-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Dec 1 2015 Andy Grover - 2.1.fb42-1 +- New upstream version + +* Tue Nov 10 2015 Fedora Release Engineering - 2.1.fb41-4 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Mon Aug 31 2015 Andy Grover - 2.1.fb41-3 +- Fix Requires to python3-six from python-six + +* Fri Aug 28 2015 Andy Grover - 2.1.fb41-2 +- Add Requires on target-restore + +* Tue Jun 23 2015 Andy Grover - 2.1.fb41-1 +- New upstream version +- Use python-six instead of 2to3 + +* Fri Jun 19 2015 Fedora Release Engineering - 2.1.fb40-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Apr 20 2015 Andy Grover - 2.1.fb40-1 +- New upstream version + +* Tue Jan 13 2015 Andy Grover - 2.1.fb39-1 +- New upstream version + +* Tue Dec 2 2014 Andy Grover - 2.1.fb38-1 +- New upstream version + +* Thu Nov 13 2014 Andy Grover - 2.1.fb37-2 +- Convert to using Python 3 interpreter and libs + +* Wed Sep 24 2014 Andy Grover - 2.1.fb37-1 +- New upstream version + +* Thu Aug 28 2014 Andy Grover - 2.1.fb36-1 +- New upstream version + +* Sun Jun 08 2014 Fedora Release Engineering - 2.1.fb35-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Mar 14 2014 Andy Grover - 2.1.fb35-1 +- New upstream version + +* Mon Feb 24 2014 Andy Grover - 2.1.fb34-1 +- New upstream version + +* Wed Dec 4 2013 Andy Grover - 2.1.fb33-1 +- New upstream version + +* Fri Nov 1 2013 Andy Grover - 2.1.fb31-1 +- New upstream version +- Move service handling to python-rtslib +- Remove old packaging bits: clean, buildroot, defattr + +* Thu Sep 12 2013 Andy Grover - 2.1.fb30-1 +- New upstream version + +* Tue Sep 10 2013 Andy Grover - 2.1.fb29-1 +- New upstream release +- Remove no-longer-needed BuildRequires + +* Mon Aug 5 2013 Andy Grover - 2.1.fb28-1 +- New upstream release + +* Sun Aug 04 2013 Fedora Release Engineering - 2.1.fb27-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 23 2013 Andy Grover - 2.1.fb27-1 +- New upstream release +- License now Apache 2.0 +- Remove patch modules-not-loaded.patch + +* Tue Jun 18 2013 Andy Grover - 2.1.fb26-2 +- Add patch + * modules-not-loaded.patch + +* Fri Jun 7 2013 Andy Grover - 2.1.fb26-1 +- New upstream release + +* Thu May 9 2013 Andy Grover - 2.1.fb25-1 +- New upstream release + +* Thu May 2 2013 Andy Grover - 2.1.fb24-1 +- New upstream release +- Update source URL + +* Fri Apr 12 2013 Andy Grover - 2.1.fb23-1 +- New upstream release + +* Wed Apr 10 2013 Andy Grover - 2.1.fb22-1 +- New upstream release + +* Mon Mar 4 2013 Andy Grover - 2.0.fb21-1 +- New upstream release + +* Tue Feb 26 2013 Andy Grover - 2.0.fb20-1 +- New upstream release + +* Fri Feb 15 2013 Fedora Release Engineering - 2.0rc1.fb19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 7 2013 Andy Grover - 2.0rc1.fb19-1 +- New upstream release + +* Thu Jan 3 2013 Andy Grover - 2.0rc1.fb18-2 +- Add python-ethtool BuildRequires + +* Thu Dec 20 2012 Andy Grover - 2.0rc1.fb18-1 +- New upstream release +- Add python-ethtool requires +- Update Source0 to use Github tar-from-tag instead of Downloads + +* Thu Dec 13 2012 Lukáš Nykrýn - 2.0rc1.fb17-2 +- Scriptlets replaced with new systemd macros (#850335) + +* Mon Nov 12 2012 Andy Grover - 2.0rc1.fb17-1 +- New upstream release + +* Tue Aug 7 2012 Andy Grover - 2.0rc1.fb16-1 +- New upstream release +- Update rtslib version dependency + +* Tue Jul 31 2012 Andy Grover - 2.0rc1.fb15-1 +- New upstream release + +* Sat Jul 21 2012 Fedora Release Engineering - 2.0rc1.fb14-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jun 28 2012 Andy Grover - 2.0rc1.fb14-2 +- Fix %%files to claim /etc/target, not claim sitelib + +* Thu Jun 28 2012 Andy Grover - 2.0rc1.fb14-1 +- New upstream release + +* Tue Jun 12 2012 Andy Grover - 2.0rc1.fb13-1 +- New upstream release + +* Wed May 30 2012 Andy Grover - 2.0rc1.fb12-1 +- Update Source URL to proper tarball +- New upstream release + +* Mon Apr 9 2012 Andy Grover - 2.0rc1.fb11-1 +- New upstream release + +* Wed Feb 29 2012 Andy Grover - 2.0rc1.fb10-1 +- New upstream release + +* Tue Feb 21 2012 Andy Grover - 2.0rc1.fb9-1 +- New upstream release + +* Thu Feb 16 2012 Andy Grover - 2.0rc1.fb8-1 +- New upstream release + +* Wed Feb 8 2012 Andy Grover - 2.0rc1.fb7-1 +- New upstream release + +* Fri Feb 3 2012 Andy Grover - 2.0rc1.fb6-1 +- New upstream release + +* Tue Jan 24 2012 Andy Grover - 2.0rc1.fb5-2 +- Update After= in service file to wait for localfs and network +- Improve description in service file + +* Tue Jan 24 2012 Andy Grover - 2.0rc1.fb5-1 +- New upstream release + +* Fri Jan 13 2012 Andy Grover - 2.0rc1.fb4-1 +- New upstream release + +* Tue Dec 13 2011 Andy Grover - 2.0rc1.fb3-2 +- Fix service file to mount configfs before starting targetcli + +* Tue Dec 13 2011 Andy Grover - 2.0rc1.fb3-1 +- New upstream release +- Fixup service file for new start/stop targetcli commands + +* Tue Dec 6 2011 Andy Grover - 2.0rc1.fb2-1 +- New upstream source and release +- Remove patches: + * targetcli-git-version.patch + * 0001-Remove-ads-from-cli-welcome-msg.-Mention-help-is-ava.patch + * 0002-bundle-lio-utils.patch + * 0003-Hack.-dump-scripts-aren-t-in-PATH-anymore-so-call-th.patch + * 0004-ignore-errors-from-failure-to-set-device-attributes.patch + * 0005-fix-spec_root-path.patch + * 0006-add-docs.patch + * 0007-all-start.patch + +* Mon Nov 21 2011 Andy Grover - 1.99.2.gitb03ec79-4 +- Update doc patch to include iscsi tutorial + +* Wed Nov 2 2011 Andy Grover - 1.99.2.gitb03ec79-3 +- Add buildrequires for systemd-units +- use _unitdir +- remove preun, modify post + +* Wed Nov 2 2011 Andy Grover - 1.99.2.gitb03ec79-2 +- Add patch + * 0007-all-start.patch +- Replace sysv init with systemd init + +* Fri Oct 7 2011 Andy Grover - 1.99.2.gitb03ec79-1 +- Initial Fedora packaging