]> git.pld-linux.org Git - packages/open-iscsi.git/blob - open-iscsi.spec
- removed rh/fedora's idmb_rec_write refactoring, broken, causes segfaults
[packages/open-iscsi.git] / open-iscsi.spec
1 # Conditional build:
2 %bcond_without  dynamic         # link utilities dynamically
3 #
4 %define         ver     2.0
5 %define         subver  873
6 Summary:        iSCSI - SCSI over IP
7 Summary(pl.UTF-8):      iSCSI - SCSI po IP
8 Name:           open-iscsi
9 Version:        %{ver}.%{subver}
10 Release:        3
11 License:        GPL v2
12 Group:          Networking/Daemons
13 Source0:        http://www.open-iscsi.org/bits/%{name}-%{ver}-%{subver}.tar.gz
14 # Source0-md5:  8b8316d7c9469149a6cc6234478347f7
15 Source1:        %{name}.init
16 Source2:        %{name}.sysconfig
17 Source3:        %{name}-devices.init
18 Source4:        iscsiuio.logrotate
19 Patch0:         %{name}-git.patch
20 Patch1:         %{name}-build.patch
21 Patch2:         %{name}-systemd.patch
22 Patch32:        0044-iscsid-add-initrd-option-to-set-run-from-initrd-hint.patch
23 Patch35:        0047-iscsiadm-iscsid-newroot-command-to-survive-switch_ro.patch
24 Patch36:        0047-iscsiuio-systemd-socket-activation-support.patch
25 Patch37:        0048-iscsiadm-param-parsing-for-advanced-node-creation.patch
26 Patch38:        0049-update-systemd-service-files-add-iscsi.service-for-s.patch
27 Patch39:        0050-iscsi-boot-related-service-file-updates.patch
28 Patch40:        0058-iscsiuio-IPC-newroot-command.patch
29 Patch41:        0059-iscsiuio-systemd-unit-files.patch
30 Patch42:        0062-Don-t-check-for-autostart-sessions-if-iscsi-is-not-u.patch
31 Patch43:        0063-fix-order-of-setting-uid-gid-and-drop-supplementary-.patch
32 Patch44:        0065-fix-hardened-build-of-iscsiuio.patch
33 Patch45:        0066-start-socket-listeners-on-iscsiadm-command.patch
34 URL:            http://www.open-iscsi.org/
35 BuildRequires:  kmod-devel
36 BuildRequires:  openssl-devel
37 BuildRequires:  rpmbuild(macros) >= 1.671
38 %if %{with dynamic}
39 BuildRequires:  openslp-devel
40 BuildRequires:  sed >= 4.0
41 Requires:       openslp >= 2.0.0
42 %else
43 BuildRequires:  glibc-static
44 BuildRequires:  openslp-static
45 %endif
46 Requires(post,preun):   /sbin/chkconfig
47 Requires(post,preun,postun):    systemd-units >= 38
48 Requires:       rc-scripts
49 Requires:       systemd-units >= 38
50 Suggests:       multipath-tools
51 Provides:       group(iscsi)
52 Provides:       user(iscsi)
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55 %define         _sbindir        /sbin
56
57 %description
58 The Linux iSCSI driver acts as an iSCSI protocol initiator to
59 transport SCSI requests and responses over an IP network between the
60 client and an iSCSI-enabled target device such as a Cisco SN 5420
61 storage router. The iSCSI protocol is an IETF-defined protocol for IP
62 storage. For more information about the iSCSI protocol, refer to the
63 IETF standards for IP storage at <http://www.ietf.org/>.
64
65 %description -l pl.UTF-8
66 Sterownik Linux iSCSI zachowuje się jak inicjator protokołu iSCSI do
67 transportu zleceń SCSI i odpowiedzi po sieci IP między klientem a
68 urządzeniem docelowym obsługującym iSCSI, takim jak Cisco SN 5420.
69 Protokół iSCSI jest zdefiniowany przez IETF do składowania IP. Więcej
70 informacji o protokole iSCSI znajduje się w standardach IETF na
71 <http://www.ietf.org/>.
72
73 %prep
74 %setup -q -n %{name}-%{ver}-%{subver}
75 %patch0 -p1
76 %patch32 -p1
77 %patch35 -p1
78 %patch36 -p1
79 %patch37 -p1
80 %patch38 -p1
81 %patch39 -p1
82 %patch40 -p1
83 %patch41 -p1
84 %patch42 -p1
85 %patch43 -p1
86 %patch44 -p1
87 %patch45 -p1
88 %patch1 -p1
89 %patch2 -p1
90
91 %if %{with dynamic}
92 sed -i -e 's/-static //' usr/Makefile
93 %endif
94
95 %build
96 cd iscsiuio
97 %{__libtoolize}
98 %{__aclocal}
99 %{__autoconf}
100 %{__autoheader}
101 %{__automake}
102 %configure
103
104 cd ../utils/open-isns
105 %configure \
106         --with-slp \
107         --without-security
108 cd ../..
109 %{__make} \
110         CC="%{__cc}" \
111         OPTFLAGS="%{rpmcflags} %{rpmcppflags} -DUSE_KMOD -lkmod" \
112         IPC_FLAGS="-DNETLINK_ISCSI=8 -D_GNU_SOURCE" \
113         KSUBLEVEL=0
114
115 %install
116 rm -rf $RPM_BUILD_ROOT
117 install -d $RPM_BUILD_ROOT%{_sysconfdir}/iscsi/{nodes,send_targets,static,isns,slp,ifaces} \
118         $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,logrotate.d} \
119         $RPM_BUILD_ROOT%{systemdunitdir} \
120         $RPM_BUILD_ROOT/lib/systemd/pld-helpers.d
121
122 %{__make} install_programs install_doc install_etc \
123         DESTDIR=$RPM_BUILD_ROOT
124
125 :> $RPM_BUILD_ROOT%{_sysconfdir}/iscsi/initiatorname.iscsi
126
127 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/iscsid
128 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/iscsi
129 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/iscsi
130 install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/iscsiuio
131
132 install usr/iscsistart $RPM_BUILD_ROOT%{_sbindir}
133 install doc/iscsistart.8 $RPM_BUILD_ROOT%{_mandir}/man8
134 install doc/iscsi-iname.8 $RPM_BUILD_ROOT%{_mandir}/man8
135
136 install etc/systemd/iscsi.service $RPM_BUILD_ROOT%{systemdunitdir}
137 install etc/systemd/iscsid.service $RPM_BUILD_ROOT%{systemdunitdir}
138 install etc/systemd/iscsid.socket $RPM_BUILD_ROOT%{systemdunitdir}
139 install etc/systemd/iscsiuio.service $RPM_BUILD_ROOT%{systemdunitdir}
140 install etc/systemd/iscsiuio.socket $RPM_BUILD_ROOT%{systemdunitdir}
141
142 install etc/systemd/iscsi-mark-root-nodes $RPM_BUILD_ROOT/lib/systemd/pld-helpers.d
143
144 %clean
145 rm -rf $RPM_BUILD_ROOT
146
147 %pre
148 %groupadd -g 223 iscsi
149 %useradd -u 223 -d /tmp -s /bin/false -c "iSCSI Daemon" -g iscsi iscsi
150
151 %post
152 if ! grep -q "^InitiatorName=[^ \t\n]" %{_sysconfdir}/iscsi/initiatorname.iscsi 2>/dev/null; then
153         echo "InitiatorName=$(iscsi-iname)" >> %{_sysconfdir}/iscsi/initiatorname.iscsi
154 fi
155 /sbin/chkconfig --add iscsi
156 /sbin/chkconfig --add iscsid
157 NORESTART=1
158 %systemd_post iscsi.service iscsid.service iscsiuio.service iscsid.socket iscsiuio.socket
159
160 %preun
161 if [ "$1" = "0" ]; then
162         %service iscsid stop
163         %service iscsi stop
164         /sbin/chkconfig --del iscsid
165         /sbin/chkconfig --del iscsi
166 fi
167 %systemd_preun iscsi.service iscsid.service iscsiuio.service iscsid.socket iscsiuio.socket
168
169 %postun
170 if [ "$1" = "0" ]; then
171         %userremove iscsi
172         %groupremove iscsi
173 fi
174 %systemd_reload
175
176 %triggerpostun -- %{name} < 2.0.873-1
177 %systemd_trigger iscsi.service iscsid.service iscsiuio.service
178 /bin/systemctl --quiet enable iscsid.socket || :
179 /bin/systemctl --quiet enable iscsiuio.socket || :
180
181 %files
182 %defattr(644,root,root,755)
183 %doc Changelog README THANKS
184 %dir %{_sysconfdir}/iscsi
185 %dir %{_sysconfdir}/iscsi/ifaces
186 %dir %{_sysconfdir}/iscsi/isns
187 %dir %{_sysconfdir}/iscsi/nodes
188 %dir %{_sysconfdir}/iscsi/send_targets
189 %dir %{_sysconfdir}/iscsi/slp
190 %dir %{_sysconfdir}/iscsi/static
191 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/iscsi/iscsid.conf
192 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/iscsi/initiatorname.iscsi
193 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/iscsi
194 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/iscsiuio
195 %attr(754,root,root) /etc/rc.d/init.d/iscsi
196 %attr(754,root,root) /etc/rc.d/init.d/iscsid
197 %{systemdunitdir}/iscsi.service
198 %{systemdunitdir}/iscsid.service
199 %{systemdunitdir}/iscsid.socket
200 %{systemdunitdir}/iscsiuio.service
201 %{systemdunitdir}/iscsiuio.socket
202 %attr(755,root,root) /lib/systemd/pld-helpers.d/iscsi-mark-root-nodes
203 %attr(755,root,root) %{_sbindir}/iscsi-iname
204 %attr(755,root,root) %{_sbindir}/iscsiadm
205 %attr(755,root,root) %{_sbindir}/iscsid
206 %attr(755,root,root) %{_sbindir}/iscsistart
207 %attr(755,root,root) %{_sbindir}/iscsi_discovery
208 %attr(755,root,root) %{_sbindir}/iscsiuio
209 %{_mandir}/man8/iscsi-iname.8*
210 %{_mandir}/man8/iscsi_discovery.8*
211 %{_mandir}/man8/iscsiadm.8*
212 %{_mandir}/man8/iscsid.8*
213 %{_mandir}/man8/iscsistart.8*
214 %{_mandir}/man8/iscsiuio.8*
This page took 0.075679 seconds and 3 git commands to generate.