diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/0001_rtslib_fb_api_fix.patch b/0001_rtslib_fb_api_fix.patch deleted file mode 100644 index 887fd2d..0000000 --- a/0001_rtslib_fb_api_fix.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/targetd/block.py b/targetd/block.py -index b7b03f0..edd47ec 100644 ---- a/targetd/block.py -+++ b/targetd/block.py -@@ -26,10 +26,17 @@ from rtslib_fb import ( - LUN, - MappedLUN, - RTSLibError, -- RTSLibNotInCFS, - NodeACLGroup, - ) - -+# This commit https://github.com/open-iscsi/rtslib-fb/commit/fdd69b1984bac6a6c3f08890bc22267b848a26ac -+# renamed a number of error classes which causes us to do the following -+try: -+ from rtslib_fb import RTSLibNotInCFS -+except ImportError: -+ from rtslib_fb import RTSLibNotInCFSError as RTSLibNotInCFS -+ -+ - from targetd.backends import lvm, zfs - from targetd.main import TargetdError - from targetd.utils import ignored, name_check diff --git a/plans/tests.fmf b/plans/tests.fmf deleted file mode 100644 index 6775fd6..0000000 --- a/plans/tests.fmf +++ /dev/null @@ -1,50 +0,0 @@ -summary: targetd gating tests - -provision: - how: virtual - image: fedora - -prepare: - how: install - package: - - targetd - - util-linux - - lvm2 - - procps-ng - - coreutils - - openssl - - btrfs-progs - - audit - - python3-requests - - net-tools-2.0 - - nfs-utils - -discover: - how: shell - dist-git-source: true - dist-git-install-builddeps: true - tests: - - name: upstream test suite - test: | - set -x - if [ -z "$PKG_VER" ]; then - PKG_VER=`rpmspec -q --srpm --qf "%{version}" targetd.spec` - fi - if [ -z "$PKG_VER" ]; then - echo "Error: Unable to extract package version" - exit 1 - fi - - export SRC="$TMT_SOURCE_DIR/targetd-${PKG_VER}" - echo "Source is located: $SRC" - - echo "We are $PWD" - ls -lh - - echo "TMT_SOURCE_DIR is ($TMT_SOURCE_DIR)" - - ./plans/ci_test.sh "$SRC" - -execute: - - how: tmt - diff --git a/targetd.spec b/targetd.spec index 7634f2c..3d750c6 100644 --- a/targetd.spec +++ b/targetd.spec @@ -2,16 +2,15 @@ Name: targetd License: GPL-3.0-only Summary: Service to make storage remotely configurable Version: 0.10.4 -Release: 10%{?dist} +Release: 1%{?dist} URL: https://github.com/open-iscsi/targetd Source: https://github.com/open-iscsi/targetd/archive/v%{version}/targetd-%{version}.tar.gz Source1: targetd.service -Patch1: 0001_rtslib_fb_api_fix.patch BuildArch: noarch BuildRequires: systemd-rpm-macros -BuildRequires: python3-devel python3-gobject-base python3-blockdev libblockdev-lvm +BuildRequires: python3-devel python3-setuptools Requires: python3-PyYAML python3-setproctitle python3-rtslib target-restore -Requires: nfs-utils, btrfs-progs, python3-blockdev, libblockdev-lvm +Requires: nfs-utils, btrfs-progs, python3-blockdev, libblockdev-lvm %description targetd turns the machine into a remotely-configurable storage appliance. @@ -20,13 +19,10 @@ administrator allocate volumes from an LVM volume group, and export those volumes over iSCSI. %prep -%autosetup -p1 - -%generate_buildrequires -%pyproject_buildrequires +%setup -q %build -%pyproject_wheel +%py3_build %install mkdir -p %{buildroot}%{_mandir}/man8/ @@ -37,11 +33,7 @@ install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/targetd.service install -m 644 targetd.yaml %{buildroot}%{_sysconfdir}/target/targetd.yaml install -m 644 targetd.8 %{buildroot}%{_mandir}/man8/ install -m 644 targetd.yaml.5 %{buildroot}%{_mandir}/man5/ -%pyproject_install -%pyproject_save_files -l targetd - -%check -%pyproject_check_import +%py3_install %post %systemd_post targetd.service @@ -52,43 +44,18 @@ install -m 644 targetd.yaml.5 %{buildroot}%{_mandir}/man5/ %postun %systemd_postun_with_restart targetd.service -%files -f %{pyproject_files} +%files %{_bindir}/targetd %{_unitdir}/targetd.service +%{python3_sitelib}/targetd/ +%{python3_sitelib}/*.egg-info +%license LICENSE %doc README.md API.md client %{_mandir}/man8/targetd.8* %{_mandir}/man5/targetd.yaml.5* %config(noreplace) %{_sysconfdir}/target/targetd.yaml %changelog -* Fri Sep 19 2025 Python Maint - 0.10.4-10 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Fri Aug 15 2025 Python Maint - 0.10.4-9 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Thu Jul 24 2025 Tony Asleson - 0.10.4-8 -- Workaround for: https://github.com/open-iscsi/rtslib-fb/issues/220 -- Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2383084 - -* Mon Jun 09 2025 Python Maint - 0.10.4-7 -- Rebuilt for Python 3.14 - -* Mon Jun 09 2025 Tony Asleson - 0.10.4-6 -- Use pyproject macros - -* Mon Jun 02 2025 Python Maint - 0.10.4-5 -- Rebuilt for Python 3.14 - -* Sun Jan 19 2025 Fedora Release Engineering - 0.10.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Jul 20 2024 Fedora Release Engineering - 0.10.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 07 2024 Python Maint - 0.10.4-2 -- Rebuilt for Python 3.13 - * Tue Mar 12 2024 Tony Asleson - 0.10.4-1 - New upstream release diff --git a/plans/ci_test.sh b/tests/ci_test.sh similarity index 84% rename from plans/ci_test.sh rename to tests/ci_test.sh index 8d8bc63..8d0a9e4 100755 --- a/plans/ci_test.sh +++ b/tests/ci_test.sh @@ -18,12 +18,7 @@ function _chk fi } -if [ "$#" -ne 1 ]; then - echo "Usage: $0 source directory" - exit 1 -fi - -SOURCE_DIR="$1" +SOURCE_DIR="targetd_src" BASE=$PWD # TODO REMOVE THIS WHEN RAWHIDE PICKS UP @@ -37,10 +32,6 @@ _chk ./test/test.sh setup # Pick up new changes from setup _chk systemctl restart targetd -# Make sure nfs stuff is ok -_chk systemctl start rpcbind -_chk systemctl start nfs-server - # Try stopping the firewall, but don't fail if this fails systemctl stop firewalld @@ -53,6 +44,6 @@ netstat -anp | grep LISTEN | grep 18700 # Go back to start directory and run unit test. _chk cd $BASE -SRC="$SOURCE_DIR" +SRC="$BASE/$SOURCE_DIR" _chk TARGETD_UT_CERTFILE=/etc/target/targetd_cert.pem PYTHONPATH=$SRC python3 $SRC/test/targetd_test.py -v exit 0 \ No newline at end of file diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..428377f --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,22 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + tests: + - simple: + dir: . + run: ./ci_test.sh + required_packages: + - targetd + - util-linux + - lvm2 + - procps-ng + - coreutils + - openssl + - btrfs-progs + - audit + - python3-requests + repositories: + - repo: "https://github.com/open-iscsi/targetd.git" + dest: "targetd_src"