Files
libiscsi/packaging/RPM/libiscsi.spec.in
sahlberg 46631b9083 New version 1.20.3
When queueing the first PDU to an idle socket, immediately try to write
it to the socket instead of waiting for the event-loop to
timeout/notice there is work to do.

Various other small bugfixes.

Signed-off-by: sahlberg <sahlberg@r10-0-1.rocky10.sahlberg>
2025-07-15 19:27:12 +10:00

274 lines
8.9 KiB
RPMSpec

Name: libiscsi
Summary: iSCSI client library
Version: 1.20.3
Release: 1GITHASH%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: https://github.com/sahlberg/libiscsi
Source: libiscsi-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
%description
libiscsi is a library for attaching to iSCSI resources across
a network.
#######################################################################
%prep
%setup -q
# setup the init script and sysconfig file
%setup -T -D -n libiscsi-%{version} -q
%build
CC="gcc"
export CC
## always run autogen.sh
./autogen.sh
%configure
make %{?_smp_mflags}
%install
# Clean up in case there is trash left from a previous build
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install %{?_smp_mflags}
rm $RPM_BUILD_ROOT/%{_libdir}/libiscsi.a
rm $RPM_BUILD_ROOT/%{_libdir}/libiscsi.la
# Remove "*.old" files
find $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc COPYING LICENCE-LGPL-2.1.txt README.md TODO
%{_libdir}/libiscsi.so.*
%package utils
Summary: iSCSI Client Utilities
Group: Applications/System
%description utils
The libiscsi-utils package provides a set of assorted utilities to connect
to iSCSI servers without having to set up the Linux iSCSI initiator.
%files utils
%doc COPYING LICENCE-GPL-2.txt LICENCE-LGPL-2.1.txt README.md TODO
%{_bindir}/iscsi-ls
%{_bindir}/iscsi-inq
%{_bindir}/iscsi-perf
%{_bindir}/iscsi-readcapacity16
%{_bindir}/iscsi-swp
%{_bindir}/iscsi-discard
%{_bindir}/iscsi-md5sum
%{_bindir}/iscsi-pr
%{_mandir}/man1/iscsi-inq.1.gz
%{_mandir}/man1/iscsi-ls.1.gz
%{_mandir}/man1/iscsi-swp.1.gz
%{_mandir}/man1/iscsi-md5sum.1.gz
%package devel
Summary: iSCSI client development libraries
Group: Development/Libraries
Requires: libiscsi = %{version}-%{release}
%description devel
The libiscsi-devel package includes the header files for libiscsi.
%files devel
%defattr(-,root,root)
%doc COPYING LICENCE-LGPL-2.1.txt README.md TODO
%{_includedir}/iscsi/iscsi.h
%{_includedir}/iscsi/scsi-lowlevel.h
%{_libdir}/libiscsi.so
%{_libdir}/pkgconfig/libiscsi.pc
%package testsuite
Summary: iSCSI test suite
Group: Development/Tools
%description testsuite
Test tool for iSCSI/SCSI targets
%files testsuite
%defattr(-,root,root)
%{_bindir}/iscsi-test-cu
%{_mandir}/man1/iscsi-test-cu.1.gz
%changelog
* Tue Jul 15 2025 : 1.20.3
- Write the PDU directly to the socket when queued if the socket is idle
* Mon May 5 2025 : 1.20.2
- Compile fix for Apple as they don't support spinlocks
* Sat May 3 2025 : 1.20.1
- Multithreading support
- SHA1, SHA256 and SHA3 authentication support
* Mon Feb 5 2024 : 1.20.0
- Various updates to the test tool
* Sun Jul 14 2019 : 1.19.0
- iSER improvements
- Add support to senable/disable digests via URL arguments
- Add XCOPY support to examples/dd
- Add support for EXTENDED_COPY and RECEIVE_COPY_RESULTS
- Performance improvements for reading from the socket.
- Test improvements
* Sun Oct 9 2016 : 1.18.0
- Various updates to the test utility
- Add transport abstraction
- Add support for iSER
- Add iscsi_discovery_sync()
* Sun May 8 2016 : 1.0.17
- Fix a rare bug with DATA-OUT callbacks causing a crash on reconnect/timeout.
* Sun May 1 2016 : 1.0.16
- Various test updates.
- Add tests for ExtendedCopy and ReceiveCopyResults
- Add support for WRITE_ATOMIC_16 and tests
- Multipath tests added
- Persistent Reservation test updates.
- Make sure to process target NOPs in the tests
- Fix broken CHAP has handling.
* Sun Jun 21 2015 : 1.0.15
- Replace some u_int32_t with uint32_t
- Portability fixes to iscsi-perf
- Improved documentation for the tests in README
- Add/fix support for setting task/pdu timeouts and add unit tests for it.
- Add multipath helpers for the test suite and add a simple multipath test
- Skip sending TUR during reconnect, since it can cause the connection to
hang.
* Sun May 10 2015 : 1.0.14
- Add support to use /dev/* nodes instead of just iscsi devices.
- Create a dedicated test for the FUA/DPO flags
- Allow reusing the context after disconnect
- Fix non-randomness in rand_key()
- Add iscsi-perf tool
- Fix length bug when sending unsolicited data in iscsi_command
- Reqrite the reconnect logic to begome fully async
- Fix wrong checks for username in CHAP
- Support Bidirectional CHAP
- Improve handling of IMMEDIATE bit
- Cmdsn, statsn fixes
- iscsi_which_events can return 0, which means that there are no events right
now but try again in a second or so.
- Ignore any ASYNC EVENTS we receive since we can not yet pass them back to
the application.
- Add initial make test support
- Various minor fixes to libiscsi and the test suite
* Sun Dec 21 2014 : 1.13.0
- Fix UNMAP tests
- Build updates
- Check residuals also when status != GOOD
- Add WSNZ bit to the tests
- Various test updates
- Fix bug in scsi_create_task so it sets cdb_len correctly
- Add a getter function for scsi task status and sense
- Fixes and workarounds for Dell Equallogic issues
- Be more flexible when allowing for unit attentions during connect time
* Mon Jul 21 2014 : 1.12.0
- Fix statsn when wrapping
- Add Async event handling
* Sat Apr 19 2014 : 1.11.0
- Fix memory leaks in persistent reserve out.
- Fix various leaks in the testsuite.
- Add additional READ16 tests
- Better logging when reconnect fails.
- Discovery and Login fixes.
- Various fixes found by coverity.
- WRITESAME test updates.
- Add XML oputput support for the testsuite.
* Sun Oct 20 2013 : 1.10.0
- Add manpages for iscsi-ls/iscsi-inq and iscsi-swp
- Many new tests and updates to the testsuite.
- Fix memory leak in iscsi_reconnect
- Fixes to the persistent reservation tests
- AROS support
- Fix/restore windows support
- Switch to libgcrypt for the MD5 support.
- Fix buffer overflow in the persistent reserver unmarshalling code.
- And many more minor fixes.
* Sun Feb 24 2013 : 1.9.0
- Add new CUnit based test tool: iscsi-test-cu to replace iscsi-test
- Add tests for persistent reservation
- Autotools updates
- Add pkgconfig
* Sat Jan 5 2013 : 1.8.0
- Add new debugging/logging subsystem.
- Collapse related structures into one and reduce amount of calls to malloc()/free()
- Add more functions to ld-iscsi so that we can write to luns too.
- Start adding unmarshalling of CDBs
- Add support for using iovectors for both reading and writing. When used this eliminates any data copy in libiscsi.
- Fix a deadlock between CMDSN and DATA-OUT PDUs.
- Redo how we handle FirstBurstLength/MaxRecvDataSegmentLength/ImmediateData/InitialR2T.
- Add a new nice API for handling sending NOPs from the application.
- Add tests for PersistentReservations.
* Tue Nov 6 2012 : 1.7.0
- Lots of additional tests.
- ld_iscsi updates and bugfixes.
- Fix a protocol bug where we might send > FirstBurstLength amount of data
as unsolicited data.
- Tcp keepalive improvements.
- Debugging framework.
- Add support for redirection.
- Fix reconnect bug where we would incorrectly re-queue DATA-OUT PDUs after reconnecting.
- Add a new iscsi-readcapacity16 command.
- Squelch a huge number of compiler warnings.
* Mon Sep 3 2012 : 1.6.0
- Lots of test updates.
- Fix for iscsi-ls for removable media/medium not present
- Allow login to LUNs with no medium loaded
- Update SG3-UTILS patch
- Support > 255 LUNs
- Fix DATASN handling
- Add proper MAXCMDSN handling
- Various fixes to be able to interoperate with LIO
- Fix SEGV bug in the CONNECT code.
- Add libiscsi.syms to only export public symbols from the library
- Change all default iqn names so they are valid iqn names.
* Mon Jul 9 2012 : 1.5.0
- Make sure we can handle racy eventsystems which might call us for
POLLIN even though there is no longer any data to read from the socket.
- Only set up tcp keepalives on systems that support them.
- Only export symbols we really want to make public
- FreeBSD and Illumos does not define SOL_TCP
- Lots of updates to the test tool
- Fix a bug related to header-digest that could make the login fail
on targets that require header digest.
* Thu May 3 2012 : 1.4.0
- Add WRITESAME10/16 and tests for them
- Add READ/WRITE12/16 and tests for them
- Add PREFETCH10/16 and tests for them
- Add automatic reconnect. If being logged in to a target
and the tcp session is torn down, then try to reconnect
and re-drive the i/o in flight.
* Mon Apr 23 2012 : 1.3.0
- Add READCAPACITY16 support
- Add VPD pages for thin-provisioning
- Add support for UNMAP command for thin provisioning
- Add tests for RC16 and UNMAP
* Wed Mar 7 2012 : 1.2.0
- rename library back to libiscsi and release it as 1.2.0
* Sun Dec 25 2011 : 1.1.0
- Fix TaskManagement AbortTask/AbortTaskSet to send to correct LUN
* Fri Oct 28 2011 Paolo Bonzini <pbonzini@redhat.com> - 1.0.0-2
- Fixed rpmlint problems
* Sat Dec 4 2010 Ronnie Sahlberg <ronniesahlberg@gmail.com> - 1.0.0-1
- Initial version