From 421fa8f754e83157823630bc3b2f55246dcdd815 Mon Sep 17 00:00:00 2001 From: Yuanhong Peng Date: Mon, 10 Apr 2023 21:34:35 +0800 Subject: [PATCH] Refactor the specfile Signed-off-by: Yuanhong Peng --- iscsi-initiator-utils.spec | 192 ++++++++++++++++++------------------- 1 file changed, 91 insertions(+), 101 deletions(-) diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec index a96b50b..918ed6d 100644 --- a/iscsi-initiator-utils.spec +++ b/iscsi-initiator-utils.spec @@ -1,16 +1,17 @@ -%define anolis_release 1 +%define anolis_release 2 +%global _hardened_build 1 +%global __provides_exclude_from ^(%{python3_sitearch}/.*\\.so)$ -Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils Version: 2.1.8 Release: %{anolis_release}%{?dist} +Summary: iSCSI daemon and utility programs License: GPLv2+ URL: https://github.com/open-iscsi/open-iscsi Source0: https://github.com/open-iscsi/open-iscsi/archive/refs/tags/%{version}.tar.gz Source1: 04-iscsi Source2: iscsi-tmpfiles.conf - Patch0001: 0001-unit-file-tweaks.patch Patch0002: 0002-idmb_rec_write-check-for-tpgt-first.patch Patch0003: 0003-idbm_rec_write-seperate-old-and-new-style-writes.patch @@ -27,23 +28,18 @@ Patch0013: 0013-iscsi_if.h-replace-zero-length-array-with-flexible-a.patch Patch0014: 0014-minor-service-file-updates.patch Patch0015: 0015-try-not-to-require-network-online.patch Patch0016: 0016-add-some-service-in-system.patch -#Patch0017: 0017-add-ISCSI_VERSION_STR-define.patch Patch1001: 1001-add-ISCSI_VERSION_STR-define.patch Patch1002: 1002-fix-the-libiscsi-build-error.patch Patch1003: 1003-change-the-sbin-dir-to-usr-sbin.patch -BuildRequires: flex bison doxygen kmod-devel systemd-units -BuildRequires: autoconf automake libtool libmount-devel openssl-devel -BuildRequires: isns-utils-devel -BuildRequires: systemd-devel -Requires: %{name}-iscsiuio >= %{version}-%{release} +BuildRequires: autoconf automake +BuildRequires: flex bison doxygen kmod-devel libtool systemd-units +BuildRequires: isns-utils-devel systemd-devel libmount-devel openssl-devel -# Old NetworkManager expects the dispatcher scripts in a different place -Conflicts: NetworkManager < 1.20 +Requires: %{name}-iscsiuio >= %{EVR} -%global _hardened_build 1 -%global __provides_exclude_from ^(%{python3_sitearch}/.*\\.so)$ +Conflicts: NetworkManager < 1.20 %description The iscsi package provides the server daemon for the iSCSI protocol, @@ -54,7 +50,7 @@ Protocol networks. %package iscsiuio Summary: Userspace configuration daemon required for some iSCSI hardware License: BSD -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{EVR} %description iscsiuio The iscsiuio configuration daemon provides network configuration help @@ -62,7 +58,7 @@ for some iSCSI offload hardware. %package devel Summary: Development files for %{name} -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{EVR} %description devel The %{name}-devel package contains libraries and header files for @@ -70,101 +66,90 @@ developing applications that use %{name}. %package -n python3-%{name} Summary: Python %{python3_version} bindings to %{name} -Requires: %{name} = %{version}-%{release} -BuildRequires: python3-devel -BuildRequires: python3-setuptools -#BuildRequires: make +Requires: %{name} = %{EVR} +BuildRequires: python3-devel python3-setuptools %description -n python3-%{name} The %{name}-python3 package contains Python %{python3_version} bindings to the libiscsi interface for interacting with %{name} %prep -%autosetup -p1 -n open-iscsi-%{version} - -# change exec_prefix, there's no easy way to override +%autosetup -n open-iscsi-%{version} -p1 %{__sed} -i -e 's|^exec_prefix = /$|exec_prefix = %{_exec_prefix}|' Makefile %build # avoid undefined references linking failures %undefine _ld_as_needed -# configure sub-packages from here -# letting the top level Makefile do it will lose setting from rpm cd iscsiuio autoreconf --install %{configure} -cd .. - -%{__make} OPTFLAGS="%{optflags} %{?__global_ldflags}" +cd - +make OPTFLAGS="%{optflags} %{?__global_ldflags}" -pushd libiscsi +cd libiscsi %py3_build touch -r libiscsi.doxy html/* -popd +cd - %install -%{__make} DESTDIR=%{?buildroot} LIB_DIR=%{_libdir} \ +make DESTDIR=%{?buildroot} LIB_DIR=%{_libdir} \ install_programs \ install_doc \ install_etc \ install_libopeniscsiusr -# upstream makefile doesn't get everything the way we like it -# rm $RPM_BUILD_ROOT%%{_sbindir}/iscsi_discovery -rm $RPM_BUILD_ROOT%{_mandir}/man8/iscsi_discovery.8 -rm $RPM_BUILD_ROOT%{_mandir}/man8/iscsi_fw_login.8 -%{__install} -pm 755 usr/iscsistart $RPM_BUILD_ROOT%{_sbindir} -%{__install} -pm 755 iscsiuio/src/unix/iscsiuio $RPM_BUILD_ROOT%{_sbindir} -%{__install} -pm 644 doc/iscsistart.8 $RPM_BUILD_ROOT%{_mandir}/man8 -%{__install} -pm 644 doc/iscsi-iname.8 $RPM_BUILD_ROOT%{_mandir}/man8 -%{__install} -pm 644 iscsiuio/docs/iscsiuio.8 $RPM_BUILD_ROOT%{_mandir}/man8 -%{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d -%{__install} -pm 644 iscsiuio/iscsiuiolog $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d - -%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi -%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/nodes -%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/send_targets -%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/static -%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/isns -%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/slp -%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/ifaces - -# for %%ghost -%{__install} -d $RPM_BUILD_ROOT%{_rundir}/lock/iscsi -touch $RPM_BUILD_ROOT%{_rundir}/lock/iscsi/lock - - -%{__install} -d $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsi.service $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsi-starter.service $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsi-init.service $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsi-onboot.service $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsi-shutdown.service $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsid.service $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsid.socket $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsiuio.service $RPM_BUILD_ROOT%{_unitdir} -%{__install} -pm 644 etc/systemd/iscsiuio.socket $RPM_BUILD_ROOT%{_unitdir} - -%{__install} -d $RPM_BUILD_ROOT%{_libexecdir} -%{__install} -pm 755 etc/systemd/iscsi-mark-root-nodes $RPM_BUILD_ROOT%{_libexecdir} - -%{__install} -d $RPM_BUILD_ROOT%{_prefix}/lib/NetworkManager/dispatcher.d -%{__install} -pm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_prefix}/lib/NetworkManager/dispatcher.d - -%{__install} -d $RPM_BUILD_ROOT%{_tmpfilesdir} -%{__install} -pm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_tmpfilesdir}/iscsi.conf - -%{__install} -d $RPM_BUILD_ROOT%{_libdir} -%{__install} -pm 755 libiscsi/libiscsi.so.0 $RPM_BUILD_ROOT%{_libdir} -%{__ln_s} libiscsi.so.0 $RPM_BUILD_ROOT%{_libdir}/libiscsi.so -%{__install} -d $RPM_BUILD_ROOT%{_includedir} -%{__install} -pm 644 libiscsi/libiscsi.h $RPM_BUILD_ROOT%{_includedir} - -mkdir -p $RPM_BUILD_ROOT/%{_udevrulesdir} -mv $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/50-iscsi-firmware-login.rules $RPM_BUILD_ROOT/%{_udevrulesdir}/50-iscsi-firmware-login.rules -rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/udev - -%{__install} -d $RPM_BUILD_ROOT%{python3_sitearch} + +rm %{buildroot}%{_mandir}/man8/iscsi_discovery.8 +rm %{buildroot}%{_mandir}/man8/iscsi_fw_login.8 +install -pm 755 usr/iscsistart %{buildroot}%{_sbindir} +install -pm 755 iscsiuio/src/unix/iscsiuio %{buildroot}%{_sbindir} +install -pm 644 doc/iscsistart.8 %{buildroot}%{_mandir}/man8 +install -pm 644 doc/iscsi-iname.8 %{buildroot}%{_mandir}/man8 +install -pm 644 iscsiuio/docs/iscsiuio.8 %{buildroot}%{_mandir}/man8 +install -d %{buildroot}%{_sysconfdir}/logrotate.d +install -pm 644 iscsiuio/iscsiuiolog %{buildroot}%{_sysconfdir}/logrotate.d + +install -d %{buildroot}%{_sharedstatedir}/iscsi +install -d %{buildroot}%{_sharedstatedir}/iscsi/nodes +install -d %{buildroot}%{_sharedstatedir}/iscsi/send_targets +install -d %{buildroot}%{_sharedstatedir}/iscsi/static +install -d %{buildroot}%{_sharedstatedir}/iscsi/isns +install -d %{buildroot}%{_sharedstatedir}/iscsi/slp +install -d %{buildroot}%{_sharedstatedir}/iscsi/ifaces +install -d %{buildroot}%{_rundir}/lock/iscsi +touch %{buildroot}%{_rundir}/lock/iscsi/lock + +install -d %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsi.service %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsi-starter.service %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsi-init.service %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsi-onboot.service %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsi-shutdown.service %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsid.service %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsid.socket %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsiuio.service %{buildroot}%{_unitdir} +install -pm 644 etc/systemd/iscsiuio.socket %{buildroot}%{_unitdir} + +install -d %{buildroot}%{_libexecdir} +install -pm 755 etc/systemd/iscsi-mark-root-nodes %{buildroot}%{_libexecdir} + +install -d %{buildroot}%{_prefix}/lib/NetworkManager/dispatcher.d +install -pm 755 %{SOURCE1} %{buildroot}%{_prefix}/lib/NetworkManager/dispatcher.d + +install -d %{buildroot}%{_tmpfilesdir} +install -pm 644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/iscsi.conf + +install -d %{buildroot}%{_libdir} +install -pm 755 libiscsi/libiscsi.so.0 %{buildroot}%{_libdir} +ln -s libiscsi.so.0 %{buildroot}%{_libdir}/libiscsi.so +install -d %{buildroot}%{_includedir} +install -pm 644 libiscsi/libiscsi.h %{buildroot}%{_includedir} + +mkdir -p %{buildroot}/%{_udevrulesdir} +mv %{buildroot}/%{_sysconfdir}/udev/rules.d/50-iscsi-firmware-login.rules %{buildroot}/%{_udevrulesdir}/50-iscsi-firmware-login.rules +rm -rf %{buildroot}/%{_sysconfdir}/udev + +install -d %{buildroot}%{python3_sitearch} pushd libiscsi %py3_install popd @@ -193,8 +178,8 @@ popd systemctl --no-reload preset iscsi.service iscsi-starter.service &>/dev/null || : %files -%dir %{abidir} -%doc README +%dir %{_sysconfdir}/iscsi +%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/iscsi/iscsid.conf %dir %{_sharedstatedir}/iscsi %dir %{_sharedstatedir}/iscsi/nodes %dir %{_sharedstatedir}/iscsi/isns @@ -214,8 +199,6 @@ systemctl --no-reload preset iscsi.service iscsi-starter.service &>/dev/null || %{_libexecdir}/iscsi-mark-root-nodes %{_prefix}/lib/NetworkManager %{_tmpfilesdir}/iscsi.conf -%dir %{_sysconfdir}/iscsi -%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/iscsi/iscsid.conf %{_sbindir}/iscsi-iname %{_sbindir}/iscsiadm %{_sbindir}/iscsid @@ -224,30 +207,34 @@ systemctl --no-reload preset iscsi.service iscsi-starter.service &>/dev/null || %{_sbindir}/iscsi_discovery %{_sbindir}/iscsi_fw_login %{_sbindir}/iscsi_offload +%{_libdir}/libiscsi.so.0 +%{_libdir}/libopeniscsiusr.so.* + +%dir %{abidir} %{abidir}/iscsi-iname-option.list %{abidir}/iscsiadm-option.list %{abidir}/iscsid-option.list %{abidir}/iscsistart-option.list %{abidir}/iscsi-gen-initiatorname-option.list -%{_libdir}/libiscsi.so.0 -%{_mandir}/man8/iscsi-iname.8.* -%{_mandir}/man8/iscsiadm.8.* -%{_mandir}/man8/iscsid.8.* -%{_mandir}/man8/iscsistart.8.* -%{_mandir}/man8/iscsi-gen-initiatorname.8.* -%{_libdir}/libopeniscsiusr.so.* %{abidir}/libopeniscsiusr.dump %{abidir}/libiscsi.dump -%{_mandir}/man3/* + +%{_mandir}/man3/*.zst +%{_mandir}/man8/iscsi-iname.8*.zst +%{_mandir}/man8/iscsiadm.8*.zst +%{_mandir}/man8/iscsid.8*.zst +%{_mandir}/man8/iscsistart.8*.zst +%{_mandir}/man8/iscsi-gen-initiatorname.8*.zst %{_udevrulesdir}/50-iscsi-firmware-login.rules +%doc README %files iscsiuio +%config(noreplace) %{_sysconfdir}/logrotate.d/iscsiuiolog %{_sbindir}/iscsiuio -%{abidir}/iscsiuio-option.list %{_unitdir}/iscsiuio.service %{_unitdir}/iscsiuio.socket -%config(noreplace) %{_sysconfdir}/logrotate.d/iscsiuiolog -%{_mandir}/man8/iscsiuio.8.* +%{abidir}/iscsiuio-option.list +%{_mandir}/man8/iscsiuio.8*.zst %files devel %doc libiscsi/html @@ -266,6 +253,9 @@ systemctl --no-reload preset iscsi.service iscsi-starter.service &>/dev/null || %{abidir}/libiscsi.cpython-310-%{_arch}-linux-gnu.dump %changelog +* Mon Apr 10 2023 Yuanhong Peng - 2.1.8-2 +- Refactor the specfile + * Tue Mar 07 2023 happy_orange - 2.1.8-1 - update to 2.1.8 -- Gitee