File open-iscsi.spec of Package open-iscsi

#
# spec file for package open-iscsi (Version 2.0.870)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           open-iscsi
BuildRequires:  bison db-devel flex
Url:            http://www.open-iscsi.org
License:        GPL v2 or later
Group:          Productivity/Networking/Other
PreReq:         %fillup_prereq %insserv_prereq
AutoReqProv:    on
Version:        2.0.870
Release:        21.<RELEASE3>
Provides:       linux-iscsi
Obsoletes:      linux-iscsi
%define iscsi_release 865
Summary:        Linux* Open-iSCSI Software Initiator
Source:         %{name}-2.0-870-rc1.tar.bz2
Source11:       iscsi-gen-initiatorname.sh
Patch1:         %{name}-start-target-before-initiator
Patch2:         %{name}-suse-build-fixes
Patch3:         %{name}-fwparam_ppc-string-overflow
Patch4:         %{name}-update-init-script
Patch5:         %{name}-add-rhel5-compat
Patch6:         %{name}-add-sles10-compat
Patch7:         %{name}-iscsid-adjust-settings
Patch8:         %{name}-login-retry-update
Patch9:         %{name}-beta5-kernel-patch-update
Patch10:        %{name}-error-check-in-db-lock-creation
Patch11:        %{name}-initiator-compile-warning
Patch12:        %{name}-iscsi_discovery-doc-fixes
Patch13:        %{name}-rm-unused-variable
Patch14:        %{name}-add-error-msg-to-log.c
Patch15:        %{name}-sync-modules-with-2.6.27
Patch16:        %{name}-allow-onboot-for-loginall
Patch17:        %{name}-option-no-pid-file
Patch18:        %{name}-update-suse-init-scripts
Patch19:        %{name}-set-LOCK_DIR-during-compilation
Patch20:        %{name}-add-mkinitrd-scriptlets
Patch21:        %{name}-install-mkinitrd-scriptlets
Patch22:        %{name}-no-pid-file
Patch23:        %{name}-cxgb3i-support
Patch24:        %{name}-fw-crash-on-ppc
Patch25:        %{name}-fixup-onboot-for-loginall
Patch26:        %{name}-remove-dump-char
Patch27:        %{name}-load-ibft-before-reading-sys-firmware
Patch28:        %{name}-remove-trailing-tilde
Patch29:        %{name}-fix-relogin-retry-handling
Patch30:        %{name}-overflow-search-ibft
Patch31:        %{name}-synchronize-startup-settings
Patch32:        %{name}-fix-daemon-segfault-due-to-bad-ptr-cast
Patch33:        %{name}-do-not-use-temp-file-in-iscsi_discovery
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Open-iSCSI is a high-performance, transport independent, multi-platform
implementation of RFC3720 iSCSI.

Open-iSCSI is partitioned into user and kernel parts.

The kernel portion of Open-iSCSI is a from-scratch code licensed under
GPL. The kernel part implements iSCSI data path (that is, iSCSI Read
and iSCSI Write), and consists of two loadable modules: iscsi_if.ko and
iscsi_tcp.ko.

User space contains the entire control plane: configuration manager,
iSCSI Discovery, Login and Logout processing, connection-level error
processing, Nop-In and Nop-Out handling, and (in the future:) Text
processing, iSNS, SLP, Radius, etc.

The user space Open-iSCSI consists of a daemon process called iscsid,
and a management utility iscsiadm.



Authors:
--------
    open-iscsi@googlegroups.com

%prep
%setup -n %{name}-2.0-870-rc1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1

%build
%{__make} OPTFLAGS="${RPM_OPT_FLAGS} -DLOCK_DIR=\\\"/etc/iscsi\\\""

%install
make DESTDIR=${RPM_BUILD_ROOT} install
make DESTDIR=${RPM_BUILD_ROOT} install_initd_suse
install -D -m 755 %{S:11} ${RPM_BUILD_ROOT}/sbin/iscsi-gen-initiatorname
(cd ${RPM_BUILD_ROOT}/sbin; ln -sf /etc/init.d/open-iscsi rcopen-iscsi)
(cd ${RPM_BUILD_ROOT}/etc; ln -sf iscsi/iscsid.conf iscsid.conf)

%clean
[ "${RPM_BUILD_ROOT}" != "/" -a -d ${RPM_BUILD_ROOT} ] && rm -rf ${RPM_BUILD_ROOT}

%post
[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup
%{fillup_and_insserv -Y boot.open-iscsi}
if [ ! -f /etc/iscsi/initiatorname.iscsi ] ; then
    /sbin/iscsi-gen-initiatorname
fi

%postun
[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup
%{insserv_cleanup}

%preun
%{stop_on_removal open-iscsi}

%files
%defattr(-,root,root)
%dir /etc/iscsi
%attr(0600,root,root) %config(noreplace) /etc/iscsi/iscsid.conf
%dir /etc/iscsi/ifaces
%config /etc/iscsi/ifaces/iface.example
/etc/iscsid.conf
%config /etc/init.d/open-iscsi
%config /etc/init.d/boot.open-iscsi
/sbin/*
%dir /lib/mkinitrd
%dir /lib/mkinitrd/scripts
/lib/mkinitrd/scripts/setup-iscsi.sh
/lib/mkinitrd/scripts/boot-iscsi.sh
/lib/mkinitrd/scripts/boot-killiscsi.sh
%doc COPYING README
%doc %{_mandir}/man8/*

%changelog