%define module_name dkms-open-iscsi %define revision 872 %define with_dkms 0 %define libiscsi_major 0 %define libiscsi_libname %mklibname iscsi %{libiscsi_major} %define libiscsi_develname %mklibname iscsi -d Name: open-iscsi Version: 2.0 Release: %mkrel %{revision}.2 Summary: An implementation of RFC3720 iSCSI License: GPL Group: Networking/Other URL: http://www.open-iscsi.org #Source0: http://www.open-iscsi.org/bits/open-iscsi-%{version}-%{revision}.tar.gz Source0: http://people.redhat.com/mchristi/iscsi/rhel6.0/source/open-iscsi-2.0-872-rc4-bnx2i.tar.gz Source1: open-iscsi.service Source2: initiatorname.iscsi # sync brcm to 0.7.0.12 Patch0: iscsi-initiator-utils-sync-uio-0.7.0.8.patch # sync iscsi tools to upstream commit e8c5b1d34ee5ce0a755ff54518829156dfa5fabe Patch1: iscsi-initiator-utils-sync-iscsi.patch # Add Red Hat specific info to docs. Patch2: iscsi-initiator-utils-update-initscripts-and-docs.patch # Upstream uses /etc/iscsi for iscsi db info, but use /var/lib/iscsi. Patch3: iscsi-initiator-utils-use-var-for-config.patch # Add redhat.com string to default initiator name. Patch4: iscsi-initiator-utils-use-red-hat-for-name.patch # Add a lib for use by anaconda. Patch5: iscsi-initiator-utils-add-libiscsi.patch # Add bnx2i support. Patch6: iscsi-initiator-utils-uip-mgmt.patch # Don't compile iscsistart as static Patch7: iscsi-initiator-utils-dont-use-static.patch # Remove the OFFLOAD_BOOT_SUPPORTED #ifdef. Patch8: iscsi-initiator-utils-remove-the-offload-boot-supported-ifdef.patch # brcm uio: handle the different iface_rec structures in iscsid and brcm. Patch9: iscsi-initiator-utils-uio-handle-different-iface_rec.patch # Document missing brcm arguments Patch10: iscsi-initiator-utils-brcm-man.patch # setup default ifaces for all ifaces in kernel Patch11: iscsi-initiator-utils-fix-default-bindings.patch # fix iscsiadm return value/msg when login fails Patch12: iscsi-initiator-utils-fix-iscsiadm-return.patch # don't use openssl-devel Patch13: iscsi-initiator-utils-dont-use-openssl.patch # sync uio to 0.7.0.14 Patch14: iscsi-initiator-utils-sync-uio-0.7.0.14.patch # fix nl msglen Patch15: iscsi-initiator-utils-fix-nlmsglen.patch # fixes for offload iface support Patch16: iscsi-initiator-utils-ofl-iface-fixes.patch # fix ipv6 ibft/firmware boot Patch17: iscsi-initiator-utils-fix-ipv6-boot.patch # add rhel version info to iscsi tools Patch18: iscsi-initiator-utils-add-rh-ver.patch # mageia patches Patch100: open-iscsi-2.0-872-etc_iscsi.diff Patch101: open-iscsi-2.0-872-awkfix.diff Patch102: open-iscsi-2.0-872-libiscsi_strfmt.diff BuildRequires: bison BuildRequires: db-devel BuildRequires: doxygen BuildRequires: flex BuildRequires: glibc-static-devel BuildRequires: openssl-devel BuildRequires: python-devel #BuildRequires: openslp-devel %description Open-iSCSI project is a high-performance, transport independent, multi-platform implementation of RFC3720 iSCSI. iSCSI is a protocol for distributed disk access using SCSI commands sent over Internet Protocol networks. %if %{with_dkms} %package -n %{module_name} Summary: open-iscsi initiator kernel module Group: Networking/Other Requires: kernel-source Requires(preun): dkms Requires(post): dkms %description -n %{module_name} This package contains the open-iscsi initiator kernel module. %endif # dkms %package -n %{libiscsi_libname} Summary: Libraries for libiscsi Group: System/Libraries %description -n %{libiscsi_libname} This package contains the shared libiscsi library. %package -n %{libiscsi_develname} Summary: Development libraries, header files for libiscsi Group: Development/C Requires: %{libiscsi_libname} = %{version} Provides: iscsi-devel = %{version}-%{release} %description -n %{libiscsi_develname} This package contains libraries and header files for developing applications that use libiscsi. %package -n python-libiscsimodule Summary: Python bindings for libiscsi Group: Development/Python %description -n python-libiscsimodule This package contains python bindings for libiscsi. %prep %setup -q -n open-iscsi-2.0-872-rc4-bnx2i # fedora patches %patch0 -p1 -b .sync-uio-0.7.0.8 %patch1 -p1 -b .sync-iscsi %patch2 -p1 -b .update-initscripts-and-docs %patch3 -p1 -b .use-var-for-config # P4 is disabled but in file list to ease future sync with redhat # %%patch4 -p1 -b .use-red-hat-for-name %patch5 -p1 -b .add-libiscsi %patch6 -p1 -b .uip-mgmt %patch7 -p1 -b .dont-use-static %patch8 -p1 -b .remove-the-offload-boot-supported-ifdef %patch9 -p1 -b .uio-handle-different-iface_rec %patch10 -p1 -b .brcm-man %patch11 -p1 -b .fix-default-bindings %patch12 -p1 -b .fix-iscsiadm-return %patch13 -p1 -b .dont-use-openssl %patch14 -p1 -b .sync-uio-0.7.0.14 %patch15 -p1 -b .fix-nlmsglen %patch16 -p1 -b .ofl-iface-fixes %patch17 -p1 -b .fix-ipv6-boot # P18 is disabled but in file list to ease future sync with redhat # %%patch18 -p1 -b .add-rh-ver # mageia patches %patch100 -p0 %patch101 -p0 %patch102 -p0 chmod 0644 README Makefile COPYING etc/iscsid.conf for arq in doc/{iscsiadm,iscsid}.8 README usr/initiator.h; do sed -i -e "s,/var/db/iscsi,%{_localstatedir}/lib/open-iscsi,g" $arq done %build %serverbuild pushd utils/open-isns %configure \ --with-security=no \ --with-slp=no make OPTFLAGS="$CFLAGS" popd make OPTFLAGS="$CFLAGS" -C utils/sysdeps make OPTFLAGS="$CFLAGS" -C utils/fwparam_ibft make OPTFLAGS="$CFLAGS" -C usr make OPTFLAGS="$CFLAGS" -C utils make OPTFLAGS="$CFLAGS" -C libiscsi pushd iscsiuio chmod u+x configure touch NEWS AUTHORS %configure \ --enable-debug make OPTFLAGS="$CFLAGS" popd pushd libiscsi python setup.py build touch -r libiscsi.doxy html/* popd %install rm -rf %{buildroot} # install only the user level part, so don't use makeinstall_dtd # as it will use the "install" target, which will install the # kernel part too make \ DESTDIR=%{buildroot} \ initddir=%{_initrddir} \ install_user mkdir -p -m 0700 %{buildroot}%{_localstatedir}/lib/open-iscsi mkdir -p -m 0755 %{buildroot}%{_sysconfdir}/iscsi/nodes mkdir -p -m 0755 %{buildroot}%{_sysconfdir}/iscsi/send_targets install -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/open-iscsi.service rm -f %{buildroot}%{_initrddir}/open-iscsi install -d %{buildroot}%{_libdir} install -d %{buildroot}%{_includedir} install -m0755 libiscsi/libiscsi.so.%{libiscsi_major} %{buildroot}%{_libdir} ln -s libiscsi.so.%{libiscsi_major} %{buildroot}%{_libdir}/libiscsi.so install -m0644 libiscsi/libiscsi.h %{buildroot}%{_includedir} install -d %{buildroot}%{python_sitearch} install -m0755 libiscsi/build/lib.linux-*/libiscsimodule.so %{buildroot}%{python_sitearch} # DKMS %if %{with_dkms} mkdir -p %{buildroot}/usr/src/%{module_name}-%{version} cp -a kernel %{buildroot}/usr/src/%{module_name}-%{version}/ cp -a include %{buildroot}/usr/src/%{module_name}-%{version}/ cat > %{buildroot}/usr/src/%{module_name}-%{version}/dkms.conf <<EOF PACKAGE_VERSION="%{version}" PACKAGE_NAME="%{module_name}" MAKE[0]="cd \${dkms_tree}/\${PACKAGE_NAME}/\${PACKAGE_VERSION}/build/kernel ; make" CLEAN="cd \${dkms_tree}/\${PACKAGE_NAME}/\${PACKAGE_VERSION}/build/kernel ; make clean" BUILT_MODULE_NAME[0]="iscsi_tcp" BUILT_MODULE_LOCATION[0]="kernel" DEST_MODULE_NAME[0]="iscsi_tcp" DEST_MODULE_LOCATION[0]="/kernel/drivers/scsi" BUILT_MODULE_NAME[1]="scsi_transport_iscsi" BUILT_MODULE_LOCATION[1]="kernel" DEST_MODULE_NAME[1]="scsi_transport_iscsi" DEST_MODULE_LOCATION[1]="/kernel/drivers/scsi" REMAKE_INITRD="no" AUTOINSTALL=yes POST_INSTALL="post-install" POST_REMOVE="post-remove" EOF %endif # dkms # sample initiatorname file install -m 0644 %{_sourcedir}/initiatorname.iscsi %{buildroot}%{_sysconfdir}/iscsi %post %_post_service open-iscsi %if %{with_dkms} %post -n %{module_name} dkms add -m %{module_name} -v %{version} --rpm_safe_upgrade dkms build -m %{module_name} -v %{version} --rpm_safe_upgrade dkms install -m %{module_name} -v %{version} --rpm_safe_upgrade %endif %preun %_preun_service open-iscsi %if %{with_dkms} %preun -n %{module_name} dkms remove -m %{module_name} -v %{version} --rpm_safe_upgrade --all || : %endif %clean rm -rf %{buildroot} %files %doc README COPYING %dir %{_sysconfdir}/iscsi %{_sysconfdir}/iscsi/ifaces %dir %{_sysconfdir}/iscsi/nodes %dir %{_sysconfdir}/iscsi/send_targets %config(noreplace) %attr(0600,root,root) %{_sysconfdir}/iscsi/iscsid.conf %config(noreplace) %{_sysconfdir}/iscsi/initiatorname.iscsi %{_unitdir}/open-iscsi.service /sbin/iscsiadm /sbin/iscsid /sbin/iscsi-iname /sbin/iscsi_discovery %{_mandir}/man8/iscsiadm.8* %{_mandir}/man8/iscsid.8* %{_mandir}/man8/iscsi_discovery.8* %dir %{_localstatedir}/lib/open-iscsi %if %{with_dkms} %files -n %{module_name} %_usrsrc/%{module_name}-%{version} %endif %files -n %{libiscsi_libname} %{_libdir}/libiscsi.so.%{libiscsi_major}* %files -n %{libiscsi_develname} %doc libiscsi/html %{_libdir}/libiscsi.so %{_includedir}/libiscsi.h %files -n python-libiscsimodule %{python_sitearch}/libiscsimodule.so %changelog * Sun Jan 13 2013 umeabot <umeabot> 2.0-872.2.mga3 + Revision: 361879 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Fri Sep 14 2012 oden <oden> 2.0-872.1.mga3 + Revision: 293804 - sync with redhat (iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm) - added the libiscsi library and python sub packages - rediffed some patches and drop redundant ones * Tue Aug 14 2012 luigiwalser <luigiwalser> 2.0-871.6.mga3 + Revision: 281345 - add patch from ubuntu to fix CVE-2009-1297 * Tue Aug 14 2012 guillomovitch <guillomovitch> 2.0-871.5.mga3 + Revision: 281306 - add systemd support - drop sysinit support * Thu Jan 13 2011 tmb <tmb> 2.0-871.4.mga1 + Revision: 8932 - imported package open-iscsi