dc245c
Name: libiscsi
dc245c
Summary: iSCSI client library
dc245c
Version: 1.9.0
877c8e
Release: 7%{?dist}
dc245c
License: LGPLv2+
dc245c
Group: System Environment/Libraries
dc245c
URL: https://github.com/sahlberg/%{name}
dc245c
dc245c
Source: https://github.com/downloads/sahlberg/%{name}/%{name}-%{version}.tar.gz
dc245c
Patch1: 0001-do-not-reconnect-if-reconnect-is-already-defered.patch
dc245c
Patch2: 0002-fix-leak-of-iscsi_context-in-iscsi_reconnect.patch
dc245c
Patch3: 0003-Add-ASCQ-codes-related-to-thin-provisioning.patch
dc245c
Patch4: 0004-Create-safe-16-32-64-bit-accessors-for-reading-from-.patch
dc245c
Patch5: 0005-fix-bug-in-md5-code.patch
dc245c
Patch6: 0006-use-libgcrypt-for-MD5.patch
dc245c
Patch7: 0007-URL-encoded-Targetnames.patch
dc245c
Patch8: 0008-SCSI-add-a-safe-function-to-read-a-byte-from-the-dat.patch
dc245c
Patch9: 0009-scsi-lowlevel-do-not-use-unsafe-pointer-casts.patch
dc245c
Patch10: 0010-Add-a-cast-to-ssize_t.patch
dc245c
Patch11: 0011-do-not-build-test-tool.patch
dc245c
Patch12: 0012-bump-soname.patch
dc245c
Patch13: 0013-disable-ld_iscsi.patch
dc245c
Patch14: 0014-fix-another-aliasing-problem.patch
dc245c
Patch15: 0015-fix-arm-aliasing-problem.patch
dc245c
Patch16: 0016-avoid-casting-struct-sockaddr.patch
dc245c
Patch18: 0018-cleanup-rename-pdu-written.patch
dc245c
Patch19: 0019-fix-iovec-short-reads.patch
dc245c
Patch20: 0020-iscsi_reconnect-Fix-a-use-after-free.patch
dc245c
Patch21: 0021-Dont-reference-pdu-after-it-has-been-freed.patch
dc245c
Patch22: 0022-lib-Make-scsi_free_scsi_task-accept-a-NULL-task-pointer.patch
dc245c
Patch23: 0023-lib-Fix-a-memory-leak-in-scsi_cdb_persistent_reserve_out.patch
dc245c
Patch24: 0024-reconnect-do-not-initialize-iscsi-to-old_iscsi-use-old_iscsi-if-appropriate.patch
dc245c
Patch25: 0025-log-failures-typically-malloc-of-iscsi_create_context-during-reconnect.patch
dc245c
Patch26: 0026-exit-after-malloc-failure-when-allocating-sense-data-blob.patch
dc245c
Patch27: 0027-do-not-test-arrays-against-NULL.patch
dc245c
Patch28: 0028-handle-bad-iscsi--fd-in-iscsi_service.patch
dc245c
Patch29: 0029-rework-login-and-discovery-code-to-avoid-strlen-beyond-end-of-data.patch
dc245c
Patch30: 0030-check-for-a-target-being-there-before-processing-TargetAddress.patch
c19c2a
Patch31: 0031-fix-CHAP-authentication.patch
877c8e
# For bz#1266523 - iscsi-ls doesn't work if target has more than one portal
877c8e
Patch32: libiscsi-Discovery-return-multiple-portals-for-the-same-disco.patch
877c8e
# For bz#1266523 - iscsi-ls doesn't work if target has more than one portal
877c8e
Patch33: libiscsi-iscsi-ls-skip-link-local-IPv6-addresses.patch
dc245c
dc245c
BuildRequires: autoconf
dc245c
BuildRequires: automake
dc245c
BuildRequires: libtool
dc245c
BuildRequires: popt-devel
dc245c
BuildRequires: libgcrypt-devel
dc245c
dc245c
%description
dc245c
libiscsi is a library for attaching to iSCSI resources across
dc245c
a network.
dc245c
dc245c
dc245c
#######################################################################
dc245c
dc245c
# Conflict with iscsi-initiator-utils.
dc245c
dc245c
%global libiscsi_includedir %{_includedir}/iscsi
dc245c
%global libiscsi_libdir %{_libdir}/iscsi
dc245c
dc245c
%prep
dc245c
%setup -q
dc245c
%patch1 -p1
dc245c
%patch2 -p1
dc245c
%patch3 -p1
dc245c
%patch4 -p1
dc245c
%patch5 -p1
dc245c
%patch6 -p1
dc245c
%patch7 -p1
dc245c
%patch8 -p1
dc245c
%patch9 -p1
dc245c
%patch10 -p1
dc245c
%patch11 -p1
dc245c
%patch12 -p1
dc245c
%patch13 -p1
dc245c
%patch14 -p1
dc245c
%patch15 -p1
dc245c
%patch16 -p1
dc245c
%patch18 -p1
dc245c
%patch19 -p1
dc245c
%patch20 -p1
dc245c
%patch21 -p1
dc245c
%patch22 -p1
dc245c
%patch23 -p1
dc245c
%patch24 -p1
dc245c
%patch25 -p1
dc245c
%patch26 -p1
dc245c
%patch27 -p1
dc245c
%patch28 -p1
dc245c
%patch29 -p1
dc245c
%patch30 -p1
c19c2a
%patch31 -p1
877c8e
%patch32 -p1
877c8e
%patch33 -p1
dc245c
dc245c
%build
dc245c
sh autogen.sh
dc245c
%configure --libdir=%{libiscsi_libdir}
dc245c
make %{?_smp_mflags}
dc245c
dc245c
%install
dc245c
make DESTDIR=$RPM_BUILD_ROOT install pkgconfigdir=%{_libdir}/pkgconfig %{?_smp_mflags}
dc245c
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
dc245c
echo %{libiscsi_libdir} > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
dc245c
rm $RPM_BUILD_ROOT/%{libiscsi_libdir}/libiscsi.a
dc245c
rm $RPM_BUILD_ROOT/%{libiscsi_libdir}/libiscsi.la
dc245c
dc245c
# Remove "*.old" files
dc245c
find $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;
dc245c
dc245c
%post -p /sbin/ldconfig
dc245c
dc245c
%postun -p /sbin/ldconfig
dc245c
dc245c
%files
dc245c
%defattr(-,root,root)
dc245c
%doc COPYING LICENCE-LGPL-2.1.txt README TODO
dc245c
%{libiscsi_libdir}/libiscsi.so.*
dc245c
/etc/ld.so.conf.d/*
dc245c
dc245c
%package utils
dc245c
Summary: iSCSI Client Utilities
dc245c
Group: Applications/System
dc245c
License: GPLv2+
dc245c
Requires: %{name}%{?_isa} = %{version}-%{release}
dc245c
dc245c
%description utils
dc245c
The libiscsi-utils package provides a set of assorted utilities to connect
dc245c
to iSCSI servers without having to set up the Linux iSCSI initiator.
dc245c
dc245c
%files utils
dc245c
%doc COPYING LICENCE-GPL-2.txt LICENCE-LGPL-2.1.txt README TODO
dc245c
%{_bindir}/iscsi-ls
dc245c
%{_bindir}/iscsi-inq
dc245c
%{_bindir}/iscsi-readcapacity16
dc245c
dc245c
%package devel
dc245c
Summary: iSCSI client development libraries
dc245c
Group: Development/Libraries
dc245c
Requires: %{name}%{?_isa} = %{version}-%{release}
dc245c
dc245c
%description devel
dc245c
The libiscsi-devel package includes the header files for libiscsi.
dc245c
dc245c
%files devel
dc245c
%defattr(-,root,root)
dc245c
%doc COPYING LICENCE-LGPL-2.1.txt README TODO
dc245c
%{libiscsi_includedir}/iscsi.h
dc245c
%{libiscsi_includedir}/scsi-lowlevel.h
dc245c
%{libiscsi_libdir}/libiscsi.so
dc245c
%{_libdir}/pkgconfig/libiscsi.pc
dc245c
dc245c
%changelog
877c8e
* Thu May 26 2016 Miroslav Rezanina <mrezanin@redhat.com> - 1.9.0-7.el7
877c8e
- libiscsi-Discovery-return-multiple-portals-for-the-same-disco.patch [bz#1266523]
877c8e
- libiscsi-iscsi-ls-skip-link-local-IPv6-addresses.patch [bz#1266523]
877c8e
- Resolves: bz#1266523
877c8e
  (iscsi-ls doesn't work if target has more than one portal)
877c8e
c19c2a
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 1.9.0-6
c19c2a
- Mass rebuild 2014-01-24
c19c2a
c19c2a
* Thu Jan 16 2014 Miroslav Rezanina <mrezanin@redhat.com> - 1.9.0-5
c19c2a
- fix CHAP authentication (bz #1032358)
c19c2a
- Resolves: #1032358
c19c2a
c19c2a
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.9.0-4
c19c2a
- Mass rebuild 2013-12-27
c19c2a
dc245c
* Thu Nov 07 2013 Miroslav Rezanina <mrezanin@redhat.com> - 1.9.0-3
dc245c
- Fixed issues reported by coverity (bz #1026820)
dc245c
- Do not mark /etc/ld.so.conf.d/ as config (bz #1011126)
dc245c
- Resolves: #1026820 
dc245c
- Resolves: #1011126 
dc245c
dc245c
* Tue Aug 27 2013 Paolo Bonzini <pbonzini@redhat.com> - 1.9.0-2
dc245c
- Add missing patch 11
dc245c
- Resolves: #979953
dc245c
dc245c
* Tue Aug 27 2013 Paolo Bonzini <pbonzini@redhat.com> - 1.9.0-1
dc245c
- Rebase to 1.9.0
dc245c
- Cherry-pick selected patches from upstream
dc245c
- Resolves: #979953
dc245c
dc245c
* Thu Aug 1 2013 Paolo Bonzini <pbonzini@redhat.com> - 1.7.0-6
dc245c
- Add patch 6 to properly support escaped URIs produced by libvirt
dc245c
dc245c
* Mon Jul 1 2013 Paolo Bonzini <pbonzini@redhat.com> - 1.7.0-5
dc245c
- Add patch 5 to silence strict aliasing warnings
dc245c
dc245c
* Fri May 3 2013 Paolo Bonzini <pbonzini@redhat.com> - 1.7.0-4
dc245c
- Add patch 2 for FIPS mode
dc245c
- Add patch 3 to avoid segmentation fault on iscsi-tools
dc245c
dc245c
* Thu Mar 7 2013 Paolo Bonzini <pbonzini@redhat.com> - 1.7.0-3
dc245c
- Correct license for libiscsi-utils, prefer %%global to %%define
dc245c
- Add Requires
dc245c
- Remove %clean section
dc245c
dc245c
* Fri Feb 22 2013 Paolo Bonzini <pbonzini@redhat.com> - 1.7.0-2
dc245c
- Use %config for ld.so.conf.d file.
dc245c
dc245c
* Fri Feb 22 2013 Paolo Bonzini <pbonzini@redhat.com> - 1.7.0-1
dc245c
- Initial version (bug 914752)