commit 4c803f961d74dc98005db705c9eeaf8d361a5e4fbb232cc09b5324ef80e9affa Author: Adrian Schröter Date: Fri May 3 17:26:12 2024 +0200 Sync from SUSE:SLFO:Main open-isns revision efd533d49005d7b5636ba7096c65d6e5 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/Quiet-a-commpiler-warning.patch b/Quiet-a-commpiler-warning.patch new file mode 100644 index 0000000..4bf4b7e --- /dev/null +++ b/Quiet-a-commpiler-warning.patch @@ -0,0 +1,34 @@ +From 62e2c4d8dd270eea0bfaa933e87182c8a1c18aac Mon Sep 17 00:00:00 2001 +From: Lee Duncan +Date: Thu, 8 Sep 2022 12:00:31 -0700 +Subject: [PATCH] Quiet a commpiler warning. + +Build error looked like: + +[ 33s] gcc -Wall -Wextra -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g -I. -Iinclude -I. -I./include -flto=auto -ffat-lto-objects -o tests/pauw4 tests/pauw4.o -L. -lisns -Wl,--as-needed -lcrypto +[ 33s] attrs.c: In function 'isns_attr_decode': +[ 33s] attrs.c:807:9: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized] +[ 33s] 807 | isns_error("Error decoding attribute, tag=0x%04x, len=%u\n", +[ 33s] | ^ +[ 33s] attrs.c:780:30: note: 'len' declared here +[ 33s] 780 | uint32_t tag, len; +--- + attrs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/attrs.c b/attrs.c +index 44d9675358b9..a12c22235481 100644 +--- a/attrs.c ++++ b/attrs.c +@@ -777,7 +777,7 @@ isns_attr_decode(buf_t *bp, isns_attr_t **result) + { + isns_attr_t *attr = NULL; + isns_value_t *value; +- uint32_t tag, len; ++ uint32_t tag, len = 0; + + if (!buf_get32(bp, &tag) + || !buf_get32(bp, &len)) +-- +2.35.3 + diff --git a/_service b/_service new file mode 100644 index 0000000..16800ab --- /dev/null +++ b/_service @@ -0,0 +1,17 @@ + + + git + https://github.com/open-iscsi/open-isns.git + + open-isns + 0.102 + v0.102 + enable + + + open-isns*.tar + xz + + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..2564a35 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/open-iscsi/open-isns.git + c0e6d9fedc5a7041260de477fe1a8455fa074113 \ No newline at end of file diff --git a/open-isns-0.102.tar.xz b/open-isns-0.102.tar.xz new file mode 100644 index 0000000..e7dc3ce --- /dev/null +++ b/open-isns-0.102.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27aefa7bf17f6030a89f351ecca56e55e2be6561c3b637c7801da2ef2841e33a +size 233200 diff --git a/open-isns.changes b/open-isns.changes new file mode 100644 index 0000000..84b1285 --- /dev/null +++ b/open-isns.changes @@ -0,0 +1,247 @@ +------------------------------------------------------------------- +Tue Sep 5 11:59:19 UTC 2023 - Thorsten Kukuk + +- Disable SLP by default for Factory and ALP (bsc#1214884) + +------------------------------------------------------------------- +Thu Sep 08 18:40:34 UTC 2022 - lduncan@suse.com + +- Update to version 0.102: + * Preparing for version v0.102 + * meson: just specify subdir for header-file install. + * build: only specify version in one place + * Fix two compiler warnings in slp.c + * meson: update README + * meson: small option usage cleanup + * meson: several updates based on review + * meson: fix error building shared lib with version + * meson: convert some args to 'features' + * meson: update README with meson info + * Add a decprecation warning to configure script. + * meson: Add ability to disable static library build + * meson builds now working + * git: ignore all shared library files + * build: Remove these two files, no longer used + * Add a package config file for libisns.a + * isnsd: socket: Make sure to create IPv6 socket default + * isnsadm: Fix unparse command line options "-V" and "-r" + * Typo: s/overried/override/ + * Removed bash-specific function definitions. + + Also, added patch to quiet compiler (soon upstream): + * Quiet-a-commpiler-warning.patch + + This changes the SPEC file to use the new meson build system, + supported in open-isns starting with version 0.102, instead of + autoconf/make. + + Changes in the code: + * no longer deliver isnsetup script or man page (development only) + * now deliver a package config file for the library + * now deliver both the static library and a shared library + +------------------------------------------------------------------- +Mon Feb 01 18:23:30 UTC 2021 - lduncan@suse.com + +- Update to version 0.101: + * Updated ChangeLog for version v0.101 + * Preparing for version 0.101 + * Fix parsing of GetNextRsp + * Added TODO to test "isnsd --init" + * Add man page for isnssetup. + * Fix broken server authentication initialization. + * Update version string to "0.100". + * Added a TODO: 'make depend' not worrking + * libisns: remove sighold and sigrelse + * fix compilation without deprecated OpenSSL APIs + * socket.c: include poll.h instead of sys/poll.h for POSIX compatibility + * Fix 586 compile issue and remove -Werror + * Do not ignore write() return value. + * Fix compiler issue when not in security mode + * Ignore common build files + This removed the need for open-isns-updates.diff.bz2 (for now), since + those commits are in version v0.101. + +------------------------------------------------------------------- +Thu Dec 10 18:10:11 UTC 2020 - Lee Duncan + +- Removed isns.xml, as firewalld already supplies this file. + Note that SuSEFirewall2 is also no longer supported, which + obviates the need for the file "open-isns-firewall.service", + which was used in SLES but not in openSUSE. + +------------------------------------------------------------------- +Mon Dec 7 23:49:05 UTC 2020 - Lee Duncan + +- Added file isns.xml for firewalld, updated SPEC file for it, + since SuSEfirewall2 is deprecated. + +------------------------------------------------------------------- +Fri Dec 4 20:08:53 UTC 2020 - Lee Duncan + +- Updated SPEC file to Recommend open-iscsi + +------------------------------------------------------------------- +Fri Dec 4 19:51:59 UTC 2020 - Lee Duncan + +- Updated to latest upstream, including: + * Add man page for isnssetup. + * Fix broken server authentication initialization. + * Update version string to "0.100". + * Added a TODO: 'make depend' not worrking + * libisns: remove sighold and sigrelse + * fix compilation without deprecated OpenSSL APIs + * socket.c: include poll.h instead of sys/poll.h for POSIX compatibility + * Fix 586 compile issue and remove -Werror + * Do not ignore write() return value. + * Fix compiler issue when n + Which updates open-isns-updates.diff.bz2, and removes the + no-longer-needed patch open-isns-fix-586-time.patch. + Also, security will be enabled/configured with this update. + +------------------------------------------------------------------- +Fri Jan 31 22:05:13 UTC 2020 - lduncan@suse.com + +- Update to version 0.100: + * Updated ChangeLog with latest fixes + * Create and use pythong unittest framework + * Ignore SO lib + * Handle restarting test harness server correctly + * Fix mdebug.c so it compiles when enabled. + * Running make twice should not rebuild everything + * Change isns_portal_string() to use static mem + * Adding python compiled files + * fixed issues with old openssl usage + * Added debugging, moved .cvsignore to .gitignore + * Preparing for version v0.100 + * Fix problem with parsing IPv6 Addresses with brakcets. + * General cleanup for the compiler. + * Travis-CI and Coverity Scan setup + * openssl: handle newer version with ifdefs + * Remove old compiler option, and add "-Werror". + * Change isns_portal_string() to return allocated string. + * add tags to ignored list of files + * Fix compiler complaint about possible alignment issue + Replacing open-isns-0.99.tar.xz with open-isns-0.100.tar.xz. + Also, added latest (not yet tagged) fixes from upstream, + adding patch, and add in a 586-fix, adding: + * open-isns-updates.diff.bz2, and + * open-isns-fix-586-time.patch + +------------------------------------------------------------------- +Mon Oct 28 17:28:34 UTC 2019 - Lee Duncan + +- Updated SPEC file %_lto_cflags definition so that it does not + cause recursion. + +------------------------------------------------------------------- +Wed Oct 23 08:08:55 UTC 2019 - Martin Liška + +- Move back "%global _lto_cflags ..." line as it's needed + for the following error: + E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libisns.a. + The recursion in macro was caused by fact that the macro was not + defined for some time in prjconfig. + +------------------------------------------------------------------- +Fri Oct 4 18:26:01 UTC 2019 - Lee Duncan + +- Had to address build issue in OBS, resulting in this package not + building, with message (folding done by me): + + + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --nosignature \ + --define '_build_create_debug 1' \ + --define 'disturl obs://build.opensuse.org/Base:System/openSUSE_Factory/93a92c971e76cbf08ebb7afd9a4de7be-open-isns' \ + /home/abuild/rpmbuild/SOURCES/open-isns.spec + error: /home/abuild/rpmbuild/SOURCES/open-isns.spec: \ + line 63: Too many levels of recursion in macro expansion. It is likely caused by recursive macro declaration. + + Line 63 was the "%configure" call, but I believe recursion is caused + by redefinition of _lto_cflags. To fix this, I reverted the + "Use FAT LTO ..." commit, removing the "%global _lto_cflags ..." line. + +------------------------------------------------------------------- +Wed Jul 24 13:52:45 UTC 2019 - matthias.gerstner@suse.com + +- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by + firewalld, see [1]. + + [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html + +------------------------------------------------------------------- +Fri Apr 26 11:28:12 UTC 2019 - Martin Liška + +- Use FAT LTO objects in order to provide proper static library (boo#1133271). + +------------------------------------------------------------------- +Thu Oct 25 18:23:53 UTC 2018 - lduncan@suse.com + +- Update to version 0.99: + * Update version to v0.99, and fill in ChangeLog + * util.h: endian.h is available on musl on linux + * Added README info about testing without security. + * Support building/testing for with-security=no + * Define 'free()' for isns_free() + * Fix error with SCN Deregister when not registered. + * Cleanup: reformat and add some print statements. + * Fix error with type of node in GetNext test. + * Add testing information to the README. + Which replaced open-isns-0.98.tar.gz with open-isns-0.99.tar.xz + Also added the _service* files to manage updates. + +------------------------------------------------------------------- +Thu Aug 31 20:14:06 UTC 2017 - lduncan@suse.com + +- Update from version 0.97 to 0.98, which includes some + testing and openssl fixes, updating the SPEC file and + replacing the release tarball (bsc#1056696) + +------------------------------------------------------------------- +Tue Aug 8 19:18:27 UTC 2017 - jengelh@inai.de + +- Fix RPM groups. Replace %__-type macro indirections and + old $RPM shell variables. + +------------------------------------------------------------------- +Wed Nov 2 23:53:06 UTC 2016 - lduncan@suse.com + +- Updated to version 0.97, replacing main tarball + +------------------------------------------------------------------- +Thu Jun 23 17:24:07 UTC 2016 - lduncan@suse.com + +- Updated to version 0.96, replacing main tarball, and + removing both patches: + D open-isns-Update-GPL-license-information.patch + D open-isns-Install-isns_config.5.patch + +------------------------------------------------------------------- +Fri Dec 18 19:50:02 UTC 2015 - lduncan@suse.com + +- Updated SPEC file dependencies so early install works + (bsc#958567) + +------------------------------------------------------------------- +Wed Dec 16 02:10:27 UTC 2015 - lduncan@suse.com + +- Updated COPYING and README files for updated GNU license, adding: + open-isns-Update-GPL-license-information.patch + +------------------------------------------------------------------- +Wed Dec 9 23:05:00 UTC 2015 - lduncan@suse.com + +- Updated spec file to install hdrs and library file + +------------------------------------------------------------------- +Wed Dec 9 02:56:43 UTC 2015 - lduncan@suse.com + +- Also must install isns_config.5, added upstream patch: + open-isns-open-isns-Install-isns_config.5.patch + +------------------------------------------------------------------- +Tue Dec 8 17:10:52 UTC 2015 - lduncan@suse.com + +- Initial creation of Build Service project, using version + 0.95 of open-isns from github.com/gonzoleeman/open-isns + +------------------------------------------------------------------- diff --git a/open-isns.spec b/open-isns.spec new file mode 100644 index 0000000..b34d6bd --- /dev/null +++ b/open-isns.spec @@ -0,0 +1,138 @@ +# +# spec file for package open-isns +# +# Copyright (c) 2023 SUSE LLC +# +# 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 https://bugs.opensuse.org/ +# + + +%if 0%{?suse_version} >= 1600 +%bcond_with slp +%else +%bcond_without slp +%endif + +Name: open-isns +Summary: Partial Implementation of iSNS iSCSI registration +License: LGPL-2.1-or-later +Group: System/Kernel +Version: 0.102 +Release: 0 +Source: %{name}-%{version}.tar.xz +Patch1: Quiet-a-commpiler-warning.patch +URL: https://github.com/open-iscsi/%{name} +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: glibc-devel +BuildRequires: make +BuildRequires: meson >= 0.55.0 +%if %{with slp} +BuildRequires: openslp-devel +%endif +BuildRequires: openssl-devel +BuildRequires: systemd-rpm-macros +%{?systemd_requires} +Requires: coreutils +Recommends: open-iscsi + +%description +This is a partial implementation of the iSNS protocol (see below), +which supplies directory services for iSCSI initiators and targets. + +The iSNS protocol is specified in +[RFC 4171](http://tools.ietf.org/html/rfc4171) and its purpose is to +make easier to discover, manage, and configure iSCSI devices. With +iSNS, iSCSI targets can be registered to a central iSNS server and +initiators can be configured to discover the targets by asking the +iSNS server. + +%package devel +Summary: Development files for open-isns +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} + +%description devel +Files to develop an application using the open-isns library. + +%prep +%autosetup -p1 + +%build +%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects +%meson --default-library=both \ +%if %{with slp} + -Dslp=enabled +%else + -Dslp=disabled +%endif +%meson_build + +%install +%meson_install +ln -sf /usr/sbin/service %{buildroot}/usr/sbin/rcisnsd + +%post +%{run_ldconfig} +%{service_add_post isnsd.socket isnsd.service} + +%postun +%{service_del_postun isnsd.socket isnsd.service} +%{run_ldconfig} + +%pre +%{service_add_pre isnsd.socket isnsd.service} + +%preun +%{service_del_preun isnsd.socket isnsd.service} + +%post devel -p %{run_ldconfig} +%postun devel -p %{run_ldconfig} + +%files +%defattr(-,root,root) +%{_sbindir}/isnsd +%{_sbindir}/isnsadm +%{_sbindir}/isnsdd +%dir %{_sysconfdir}/isns +%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/isns/isnsd.conf +%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/isns/isnsadm.conf +%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/isns/isnsdd.conf +%{_sbindir}/rcisnsd +%license COPYING +%doc HACKING README TODO +%doc %{_mandir}/man8/isnsd.8%{?ext_man} +%doc %{_mandir}/man8/isnsadm.8%{?ext_man} +%doc %{_mandir}/man8/isnsdd.8%{?ext_man} +%doc %{_mandir}/man5/isns_config.5%{?ext_man} +%{_unitdir}/isnsd.service +%{_unitdir}/isnsd.socket +%{_libdir}/libisns.so.0 + +%files devel +%defattr(-,root,root) +%dir %{_includedir}/libisns +%{_includedir}/libisns/attrs.h +%{_includedir}/libisns/buffer.h +%{_includedir}/libisns/isns.h +%{_includedir}/libisns/isns-proto.h +%{_includedir}/libisns/message.h +%{_includedir}/libisns/paths.h +%{_includedir}/libisns/source.h +%{_includedir}/libisns/types.h +%{_includedir}/libisns/util.h +%{_libdir}/libisns.a +%{_libdir}/libisns.so +%{_libdir}/pkgconfig/libisns.pc + +%changelog