Sophie

Sophie

distrib > Mageia > 3 > x86_64 > media > core-release-src > by-pkgid > 24b296de9314b74465618261d91eb3de > files > 26

open-iscsi-2.0-872.2.mga3.src.rpm

%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