[dev] Adding 24 `libvirt` subpackages. (#1134)
This commit is contained in:
Родитель
729045f4d7
Коммит
af53da1aa6
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -10,10 +10,10 @@
|
|||
"origin": "Fedora",
|
||||
"license": "[Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files)",
|
||||
"specs": [
|
||||
"ant-contrib",
|
||||
"at",
|
||||
"atf",
|
||||
"attr",
|
||||
"augeas",
|
||||
"autoconf213",
|
||||
"babeltrace2",
|
||||
"bmake",
|
||||
|
@ -42,9 +42,12 @@
|
|||
"gnu-efi",
|
||||
"hardening-check",
|
||||
"heimdal",
|
||||
"hwdata",
|
||||
"hyperv-daemons",
|
||||
"ipmitool",
|
||||
"ipv6calc",
|
||||
"iscsi-initiator-utils",
|
||||
"isns-utils",
|
||||
"javapackages-tools",
|
||||
"jemalloc",
|
||||
"kde-settings",
|
||||
|
@ -65,15 +68,17 @@
|
|||
"libisoburn",
|
||||
"libisofs",
|
||||
"libkcapi",
|
||||
"libpciaccess",
|
||||
"libpwquality",
|
||||
"libstoragemgmt",
|
||||
"libvirt",
|
||||
"libxcrypt",
|
||||
"mokutil",
|
||||
"mozjs60",
|
||||
"open-vm-tools",
|
||||
"openssl",
|
||||
"patchelf",
|
||||
"p11-kit",
|
||||
"patchelf",
|
||||
"perl-JSON",
|
||||
"pkgconf",
|
||||
"pugixml",
|
||||
|
@ -88,6 +93,7 @@
|
|||
"qt5-qttools",
|
||||
"qt5-rpm-macros",
|
||||
"rdma-core",
|
||||
"sanlock",
|
||||
"sgml-common",
|
||||
"squashfs-tools",
|
||||
"uclibc-ng",
|
||||
|
@ -95,6 +101,8 @@
|
|||
"websocketpp",
|
||||
"words",
|
||||
"xmlstarlet",
|
||||
"xorg-x11-util-macros",
|
||||
"yajl",
|
||||
"yaml-cpp",
|
||||
"yasm",
|
||||
"zipper"
|
||||
|
@ -763,6 +771,13 @@
|
|||
"specs": [
|
||||
"ceph"
|
||||
]
|
||||
},
|
||||
{
|
||||
"origin": "Numad source",
|
||||
"license": "[LGPLv2 License](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt)",
|
||||
"specs": [
|
||||
"numad"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"augeas-1.12.0.tar.gz": "321942c9cc32185e2e9cb72d0a70eea106635b50269075aca6714e3ec282cb87"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,319 @@
|
|||
Summary: A library for changing configuration files
|
||||
Name: augeas
|
||||
Version: 1.12.0
|
||||
Release: 4%{?dist}
|
||||
License: LGPLv2+
|
||||
Vendor: Microsoft Corporation
|
||||
Distribution: Mariner
|
||||
URL: https://augeas.net/
|
||||
Source0: http://download.augeas.net/%{name}-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libselinux-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: readline-devel
|
||||
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
|
||||
Provides: bundled(gnulib)
|
||||
|
||||
%description
|
||||
A library for programmatically editing configuration files. Augeas parses
|
||||
configuration files into a tree structure, which it exposes through its
|
||||
public API. Changes made through the API are written back to the initially
|
||||
read files.
|
||||
|
||||
The transformation works very hard to preserve comments and formatting
|
||||
details. It is controlled by ``lens'' definitions that describe the file
|
||||
format and the transformation into a tree.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: pkg-config
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%package libs
|
||||
Summary: Libraries for %{name}
|
||||
|
||||
%description libs
|
||||
The libraries for %{name}.
|
||||
|
||||
Augeas is a library for programmatically editing configuration files. It parses
|
||||
configuration files into a tree structure, which it exposes through its
|
||||
public API. Changes made through the API are written back to the initially
|
||||
read files.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--disable-static
|
||||
%make_build
|
||||
|
||||
%check
|
||||
# Disable test-preserve.sh SELinux testing. This fails when run under mock due
|
||||
# to differing SELinux labelling.
|
||||
export SKIP_TEST_PRESERVE_SELINUX=1
|
||||
|
||||
# Tests disabled because gnulib tests fail see:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1674672
|
||||
#make %{?_smp_mflags} check || {
|
||||
# echo '===== tests/test-suite.log ====='
|
||||
# cat tests/test-suite.log
|
||||
# exit 1
|
||||
#}
|
||||
|
||||
%install
|
||||
make install DESTDIR=%{buildroot} INSTALL="install -p"
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
|
||||
# The tests/ subdirectory contains lenses used only for testing, and
|
||||
# so it shouldn't be packaged.
|
||||
rm -r %{buildroot}%{_datadir}/augeas/lenses/dist/tests
|
||||
|
||||
# In 1.9.0, the example /usr/bin/dump gets installed inadvertently
|
||||
rm -f %{buildroot}%{_bindir}/dump
|
||||
|
||||
%ldconfig_scriptlets libs
|
||||
|
||||
%files
|
||||
%{_bindir}/augmatch
|
||||
%{_bindir}/augparse
|
||||
%{_bindir}/augtool
|
||||
%{_bindir}/fadot
|
||||
%{_mandir}/man1/*
|
||||
%{_datadir}/vim/vimfiles/syntax/augeas.vim
|
||||
%{_datadir}/vim/vimfiles/ftdetect/augeas.vim
|
||||
|
||||
%files libs
|
||||
# _datadir/augeas and _datadir/augeas/lenses are owned
|
||||
# by filesystem.
|
||||
%{_datadir}/augeas/lenses/dist
|
||||
%{_libdir}/*.so.*
|
||||
%license COPYING
|
||||
%doc AUTHORS NEWS
|
||||
|
||||
%files devel
|
||||
%doc
|
||||
%{_includedir}/*
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/pkgconfig/augeas.pc
|
||||
|
||||
%changelog
|
||||
* Mon Jul 12 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 1.12.0-4
|
||||
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
|
||||
- Removed the 'augeas-static' subpackage.
|
||||
- Using the '%%make_build' macro instead of 'make'.
|
||||
- License verified.
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Apr 15 2019 Richard W.M. Jones <rjones@redhat.com> - 1.12.0-1
|
||||
- New upstream release 1.12.0.
|
||||
|
||||
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.11.0-4
|
||||
- Rebuild for readline 8.0
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Nov 26 2018 Richard W.M. Jones <rjones@redhat.com> - 1.11.0-2
|
||||
- Augeas uses gnulib, add the correct 'Provides' line.
|
||||
|
||||
* Tue Aug 28 2018 Richard W.M. Jones <rjones@redhat.com> - 1.11.0-1
|
||||
- New upstream version 1.11.0.
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Mon Jan 29 2018 David Lutterkort <lutter@watzmann.net> - 1.10.1-1
|
||||
- New upstream version 1.10.1
|
||||
|
||||
* Fri Jan 26 2018 Richard W.M. Jones <rjones@redhat.com> - 1.10.0-1
|
||||
- New upstream version 1.10.0 (RHBZ#1538846).
|
||||
- Remove upstream patch.
|
||||
- New tool ‘augmatch’.
|
||||
|
||||
* Tue Nov 21 2017 David Lutterkort <lutter@watzmann.net> - 1.9.0
|
||||
- New upstream version 1.9.0 (RHBZ#1482713)
|
||||
- Add -static subpackage (RHBZ#1405600)
|
||||
|
||||
* Thu Aug 24 2017 Richard W.M. Jones <rjones@redhat.com> - 1.8.1-1
|
||||
- New upstream version 1.8.1.
|
||||
- Fixes CVE-2017-7555 (RHBZ#1482340).
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Tue Mar 21 2017 Dominic Cleal <dominic@cleal.org> - 1.8.0-1
|
||||
- Update to 1.8.0
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.7.0-3
|
||||
- Rebuild for readline 7.x
|
||||
|
||||
* Sat Nov 12 2016 Richard W.M. Jones <rjones@redhat.com> - 1.7.0-2
|
||||
- riscv64: Disable gnulib tests on riscv64 architecture.
|
||||
|
||||
* Wed Nov 09 2016 Dominic Cleal <dominic@cleal.org> - 1.7.0-1
|
||||
- Update to 1.7.0
|
||||
|
||||
* Mon Aug 08 2016 Dominic Cleal <dominic@cleal.org> - 1.6.0-1
|
||||
- Update to 1.6.0
|
||||
|
||||
* Thu May 12 2016 Dominic Cleal <dominic@cleal.org> - 1.5.0-1
|
||||
- Update to 1.5.0
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Tue Jun 02 2015 Dominic Cleal <dcleal@redhat.com> - 1.4.0-1
|
||||
- Update to 1.4.0
|
||||
|
||||
* Sat Nov 08 2014 Dominic Cleal <dcleal@redhat.com> - 1.3.0-1
|
||||
- Update to 1.3.0; remove all patches
|
||||
|
||||
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon Mar 31 2014 Dominic Cleal <dcleal@redhat.com> - 1.2.0-2
|
||||
- Add patch for Krb5, parse braces in values (RHBZ#1079444)
|
||||
|
||||
* Wed Feb 12 2014 Dominic Cleal <dcleal@redhat.com> - 1.2.0-1
|
||||
- Update to 1.2.0, add check section
|
||||
- Update source URL to download.augeas.net (RHBZ#996032)
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Wed Jun 19 2013 David Lutterkort <lutter@redhat.com> - 1.1.0-1
|
||||
- Update to 1.1.0; remove all patches
|
||||
|
||||
* Tue Jun 18 2013 Richard W.M. Jones <rjones@redhat.com> - 1.0.0-4
|
||||
- Fix /etc/sysconfig/network (RHBZ#904222).
|
||||
|
||||
* Wed Jun 5 2013 Richard W.M. Jones <rjones@redhat.com> - 1.0.0-3
|
||||
- Don't package lenses in tests/ subdirectory.
|
||||
|
||||
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Fri Jan 4 2013 David Lutterkort <lutter@redhat.com> - 1.0.0-1
|
||||
- New version; remove all patches
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Tue Jan 10 2012 David Lutterkort <lutter@redhat.com> - 0.10.0-3
|
||||
- Add patches for bugs 247 and 248 (JSON lens)
|
||||
|
||||
* Sat Dec 3 2011 Richard W.M. Jones <rjones@redhat.com> - 0.10.0-2
|
||||
- Add patch to resolve missing libxml2 requirement in augeas.pc.
|
||||
|
||||
* Fri Dec 2 2011 David Lutterkort <lutter@redhat.com> - 0.10.0-1
|
||||
- New version
|
||||
|
||||
* Mon Jul 25 2011 David Lutterkort <lutter@redhat.com> - 0.9.0-1
|
||||
- New version; removed patch pathx-whitespace-ea010d8
|
||||
|
||||
* Tue May 3 2011 David Lutterkort <lutter@redhat.com> - 0.8.1-2
|
||||
- Add patch pathx-whitespace-ea010d8.patch to fix BZ 700608
|
||||
|
||||
* Fri Apr 15 2011 David Lutterkort <lutter@redhat.com> - 0.8.1-1
|
||||
- New version
|
||||
|
||||
* Wed Feb 23 2011 David Lutterkort <lutter@redhat.com> - 0.8.0-1
|
||||
- New version
|
||||
|
||||
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Mon Nov 22 2010 Matthew Booth <mbooth@redhat.com> - 0.7.4-1
|
||||
- Update to version 0.7.4
|
||||
|
||||
* Thu Nov 18 2010 Richard W.M. Jones <rjones@redhat.com> - 0.7.3-2
|
||||
- Upstream patch proposed to fix GCC optimization bug (RHBZ#651992).
|
||||
|
||||
* Fri Aug 6 2010 David Lutterkort <lutter@redhat.com> - 0.7.3-1
|
||||
- Remove upstream patches
|
||||
|
||||
* Tue Jun 29 2010 David Lutterkort <lutter@redhat.com> - 0.7.2-2
|
||||
- Patches based on upstream fix for BZ 600141
|
||||
|
||||
* Tue Jun 22 2010 David Lutterkort <lutter@redhat.com> - 0.7.2-1
|
||||
- Fix ownership of /usr/share/augeas. BZ 569393
|
||||
|
||||
* Wed Apr 21 2010 David Lutterkort <lutter@redhat.com> - 0.7.1-1
|
||||
- New version
|
||||
|
||||
* Thu Jan 14 2010 David Lutterkort <lutter@redhat.com> - 0.7.0-1
|
||||
- Remove patch vim-ftdetect-syntax.patch. It's upstream
|
||||
|
||||
* Tue Dec 15 2009 David Lutterkort <lutter@redhat.com> - 0.6.0-2
|
||||
- Fix ftdetect file for vim
|
||||
|
||||
* Mon Nov 30 2009 David Lutterkort <lutter@redhat.com> - 0.6.0-1
|
||||
- Install vim syntax files
|
||||
|
||||
* Mon Sep 14 2009 David Lutterkort <lutter@redhat.com> - 0.5.3-1
|
||||
- Remove separate xorg.aug, included in upstream source
|
||||
|
||||
* Tue Aug 25 2009 Matthew Booth <mbooth@redhat.com> - 0.5.2-3
|
||||
- Include new xorg lens from upstream
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Mon Jul 13 2009 David Lutterkort <lutter@redhat.com> - 0.5.2-1
|
||||
- New version
|
||||
|
||||
* Fri Jun 5 2009 David Lutterkort <lutter@redhat.com> - 0.5.1-1
|
||||
- Install fadot
|
||||
|
||||
* Fri Mar 27 2009 David Lutterkort <lutter@redhat.com> - 0.5.0-2
|
||||
- fadot isn't being installed just yet
|
||||
|
||||
* Tue Mar 24 2009 David Lutterkort <lutter@redhat.com> - 0.5.0-1
|
||||
- New program /usr/bin/fadot
|
||||
|
||||
* Mon Mar 9 2009 David Lutterkort <lutter@redhat.com> - 0.4.2-1
|
||||
- New version
|
||||
|
||||
* Fri Feb 27 2009 David Lutterkort <lutter@redhat.com> - 0.4.1-1
|
||||
- New version
|
||||
|
||||
* Fri Feb 6 2009 David Lutterkort <lutter@redhat.com> - 0.4.0-1
|
||||
- New version
|
||||
|
||||
* Mon Jan 26 2009 David Lutterkort <lutter@redhat.com> - 0.3.6-1
|
||||
- New version
|
||||
|
||||
* Tue Dec 23 2008 David Lutterkort <lutter@redhat.com> - 0.3.5-1
|
||||
- New version
|
||||
|
||||
* Mon Feb 25 2008 David Lutterkort <dlutter@redhat.com> - 0.0.4-1
|
||||
- Initial specfile
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"hwdata-0.341.tar.gz": "6790f192861b85972105a113d43e12d58d5fbb796e908aa0d84c8f9e0fa4facc"
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,658 @@
|
|||
From d3daa7a2bc3f5bca874d3efd072b34a657c4d492 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Sun, 24 Nov 2019 13:51:09 -0800
|
||||
Subject: [PATCH] configuration support for CHAP algorithms
|
||||
|
||||
Introduces support for preference lists in configuration files, and uses
|
||||
that for the 'node.session.auth.chap_algs' setting.
|
||||
|
||||
This is also re-used for discovery authentication, rather than have two
|
||||
different configurations.
|
||||
---
|
||||
etc/iscsid.conf | 7 ++
|
||||
libopeniscsiusr/default.c | 3 +
|
||||
libopeniscsiusr/idbm.c | 95 +++++++++++++++++++++++++
|
||||
libopeniscsiusr/idbm.h | 9 +++
|
||||
libopeniscsiusr/idbm_fields.h | 1 +
|
||||
usr/auth.c | 64 ++++++++++++-----
|
||||
usr/auth.h | 3 +
|
||||
usr/config.h | 1 +
|
||||
usr/idbm.c | 126 ++++++++++++++++++++++++++++++----
|
||||
usr/idbm.h | 2 +
|
||||
usr/idbm_fields.h | 1 +
|
||||
usr/initiator.h | 1 +
|
||||
usr/initiator_common.c | 2 +
|
||||
usr/login.c | 11 +++
|
||||
14 files changed, 294 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/etc/iscsid.conf b/etc/iscsid.conf
|
||||
index 70985afd..58f60404 100644
|
||||
--- a/etc/iscsid.conf
|
||||
+++ b/etc/iscsid.conf
|
||||
@@ -57,6 +57,13 @@ node.leading_login = No
|
||||
# to CHAP. The default is None.
|
||||
#node.session.auth.authmethod = CHAP
|
||||
|
||||
+# To configure which CHAP algorithms to enable set
|
||||
+# node.session.auth.chap_algs to a comma seperated list.
|
||||
+# The algorithms should be listen with most prefered first.
|
||||
+# Valid values are MD5, SHA1, SHA256, and SHA3-256.
|
||||
+# The default is MD5.
|
||||
+#node.session.auth.chap_algs = SHA3-256,SHA256,SHA1,MD5
|
||||
+
|
||||
# To set a CHAP username and password for initiator
|
||||
# authentication by the target(s), uncomment the following lines:
|
||||
#node.session.auth.username = username
|
||||
diff --git a/libopeniscsiusr/default.c b/libopeniscsiusr/default.c
|
||||
index d01d8928..d3b3da35 100644
|
||||
--- a/libopeniscsiusr/default.c
|
||||
+++ b/libopeniscsiusr/default.c
|
||||
@@ -78,6 +78,9 @@ void _default_node(struct iscsi_node *node)
|
||||
node->session.initial_login_retry_max = DEF_INITIAL_LOGIN_RETRIES_MAX;
|
||||
node->session.reopen_max = DEF_SESSION_REOPEN_MAX;
|
||||
node->session.auth.authmethod = 0;
|
||||
+ /* TYPE_INT_LIST fields should be initialized to ~0 to indicate unset values */
|
||||
+ memset(node->session.auth.chap_algs, ~0, sizeof(node->session.auth.chap_algs));
|
||||
+ node->session.auth.chap_algs[0] = ISCSI_AUTH_CHAP_ALG_MD5;
|
||||
node->session.auth.password_length = 0;
|
||||
node->session.auth.password_in_length = 0;
|
||||
node->session.err_tmo.abort_timeout = DEF_ABORT_TIMEO;
|
||||
diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c
|
||||
index d020e6ce..05cb7f9f 100644
|
||||
--- a/libopeniscsiusr/idbm.c
|
||||
+++ b/libopeniscsiusr/idbm.c
|
||||
@@ -73,6 +73,7 @@
|
||||
#define TYPE_INT32 6
|
||||
#define TYPE_INT64 7
|
||||
#define TYPE_BOOL 8
|
||||
+#define TYPE_INT_LIST 9
|
||||
#define MAX_KEYS 256 /* number of keys total(including CNX_MAX) */
|
||||
#define NAME_MAXVAL 128 /* the maximum length of key name */
|
||||
#define VALUE_MAXVAL 256 /* the maximum length of 223 bytes in the RFC. */
|
||||
@@ -248,6 +249,39 @@ do { \
|
||||
_n++; \
|
||||
} while(0)
|
||||
|
||||
+#define ARRAY_LEN(x) ( sizeof(x) / sizeof((x)[0]) )
|
||||
+
|
||||
+/* Options list type, rather than matching a single value this populates an
|
||||
+ * array with a list of values in user specified order.
|
||||
+ * Requires a table matching config strings to values.
|
||||
+ **/
|
||||
+#define _rec_int_list(_key, _recs, _org, _name, _show, _tbl, _n, _mod) \
|
||||
+do {\
|
||||
+ _recs[_n].type = TYPE_INT_LIST; \
|
||||
+ _strncpy(_recs[_n].name, _key, NAME_MAXVAL); \
|
||||
+ for (unsigned int _i = 0; _i < ARRAY_LEN(_org->_name); _i++) { \
|
||||
+ if (_org->_name[_i] != ~0UL) { \
|
||||
+ for (unsigned int _j = 0; _j < ARRAY_LEN(_tbl); _j++) { \
|
||||
+ if (_tbl[_j].value == _org->_name[_i]) { \
|
||||
+ strcat(_recs[_n].value, _tbl[_j].name); \
|
||||
+ strcat(_recs[_n].value, ","); \
|
||||
+ break; \
|
||||
+ } \
|
||||
+ } \
|
||||
+ } \
|
||||
+ } \
|
||||
+ /* delete traling ',' */ \
|
||||
+ if (strrchr(_recs[_n].value, ',')) \
|
||||
+ *strrchr(_recs[_n].value, ',') = '\0'; \
|
||||
+ _recs[_n].data = &_org->_name; \
|
||||
+ _recs[_n].data_len = sizeof(_org->_name); \
|
||||
+ _recs[_n].visible = _show; \
|
||||
+ _recs[_n].opts[0] = (void *)&_tbl; \
|
||||
+ _recs[_n].numopts = ARRAY_LEN(_tbl); \
|
||||
+ _recs[_n].can_modify = _mod; \
|
||||
+ _n++; \
|
||||
+} while(0)
|
||||
+
|
||||
enum modify_mode {
|
||||
_CANNOT_MODIFY,
|
||||
_CAN_MODIFY,
|
||||
@@ -558,6 +592,11 @@ void _idbm_node_print(struct iscsi_node *node, FILE *f, bool show_secret)
|
||||
_idbm_recs_free(recs);
|
||||
}
|
||||
|
||||
+struct int_list_tbl {
|
||||
+ const char *name;
|
||||
+ unsigned int value;
|
||||
+};
|
||||
+
|
||||
static int _idbm_rec_update_param(struct iscsi_context *ctx,
|
||||
struct idbm_rec *recs, char *name,
|
||||
char *value, int line_number)
|
||||
@@ -565,8 +604,14 @@ static int _idbm_rec_update_param(struct iscsi_context *ctx,
|
||||
int rc = LIBISCSI_OK;
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
+ int k = 0;
|
||||
int passwd_done = 0;
|
||||
char passwd_len[8];
|
||||
+ struct int_list_tbl *tbl = NULL;
|
||||
+ char *tmp_value;
|
||||
+ int *tmp_data;
|
||||
+ bool *found;
|
||||
+ char *token;
|
||||
|
||||
assert(ctx != NULL);
|
||||
assert(recs != NULL);
|
||||
@@ -643,6 +688,47 @@ static int _idbm_rec_update_param(struct iscsi_context *ctx,
|
||||
else
|
||||
goto unknown_value;
|
||||
goto updated;
|
||||
+ case TYPE_INT_LIST:
|
||||
+ if (!recs[i].data)
|
||||
+ continue;
|
||||
+ tbl = (void *)recs[i].opts[0];
|
||||
+ /* strsep is destructive, make a copy to work with */
|
||||
+ tmp_value = strdup(value);
|
||||
+ k = 0;
|
||||
+ tmp_data = malloc(recs[i].data_len);
|
||||
+ memset(tmp_data, ~0, recs[i].data_len);
|
||||
+ found = calloc(recs[i].numopts, sizeof(bool));
|
||||
+next_token: while ((token = strsep(&tmp_value, ", \n"))) {
|
||||
+ if (!strlen(token))
|
||||
+ continue;
|
||||
+ if ((k * (int)sizeof(int)) >= (recs[i].data_len)) {
|
||||
+ _warn(ctx, "Too many values set for '%s'"
|
||||
+ ", continuing without processing them all",
|
||||
+ recs[i].name);
|
||||
+ break;
|
||||
+ }
|
||||
+ for (j = 0; j < recs[i].numopts; j++) {
|
||||
+ if (!strcmp(token, tbl[j].name)) {
|
||||
+ if ((found[j])) {
|
||||
+ _warn(ctx, "Ignoring repeated value '%s'"
|
||||
+ " for '%s'", token, recs[i].name);
|
||||
+ goto next_token;
|
||||
+ }
|
||||
+ ((unsigned *)tmp_data)[k++] = tbl[j].value;
|
||||
+ found[j] = true;
|
||||
+ goto next_token;
|
||||
+ }
|
||||
+ }
|
||||
+ _warn(ctx, "Ignoring unknown value '%s'"
|
||||
+ " for '%s'", token, recs[i].name);
|
||||
+ }
|
||||
+ memcpy(recs[i].data, tmp_data, recs[i].data_len);
|
||||
+ free(tmp_value);
|
||||
+ free(tmp_data);
|
||||
+ tmp_value = NULL;
|
||||
+ tmp_data = NULL;
|
||||
+ token = NULL;
|
||||
+ goto updated;
|
||||
default:
|
||||
unknown_value:
|
||||
_error(ctx, "Got unknown data type %d "
|
||||
@@ -882,6 +968,13 @@ void _idbm_free(struct idbm *db)
|
||||
free(db);
|
||||
}
|
||||
|
||||
+static struct int_list_tbl chap_algs[] = {
|
||||
+ { "MD5", ISCSI_AUTH_CHAP_ALG_MD5 },
|
||||
+ { "SHA1", ISCSI_AUTH_CHAP_ALG_SHA1 },
|
||||
+ { "SHA256", ISCSI_AUTH_CHAP_ALG_SHA256 },
|
||||
+ { "SHA3-256", ISCSI_AUTH_CHAP_ALG_SHA3_256 },
|
||||
+};
|
||||
+
|
||||
static void _idbm_node_rec_link(struct iscsi_node *node, struct idbm_rec *recs)
|
||||
{
|
||||
int num = 0;
|
||||
@@ -944,6 +1037,8 @@ static void _idbm_node_rec_link(struct iscsi_node *node, struct idbm_rec *recs)
|
||||
_rec_uint32(SESSION_PASSWORD_IN_LEN, recs, node,
|
||||
session.auth.password_in_length, IDBM_HIDE, num,
|
||||
_CAN_MODIFY);
|
||||
+ _rec_int_list(SESSION_CHAP_ALGS, recs, node, session.auth.chap_algs,
|
||||
+ IDBM_SHOW, chap_algs, num, _CAN_MODIFY);
|
||||
_rec_int64(SESSION_REPLACEMENT_TMO, recs, node,
|
||||
session.tmo.replacement_timeout, IDBM_SHOW, num,
|
||||
_CAN_MODIFY);
|
||||
diff --git a/libopeniscsiusr/idbm.h b/libopeniscsiusr/idbm.h
|
||||
index 3fd0864a..cc90388b 100644
|
||||
--- a/libopeniscsiusr/idbm.h
|
||||
+++ b/libopeniscsiusr/idbm.h
|
||||
@@ -48,6 +48,14 @@ enum iscsi_auth_method {
|
||||
ISCSI_AUTH_METHOD_CHAP,
|
||||
};
|
||||
|
||||
+enum iscsi_chap_algs {
|
||||
+ ISCSI_AUTH_CHAP_ALG_MD5 = 5,
|
||||
+ ISCSI_AUTH_CHAP_ALG_SHA1 = 6,
|
||||
+ ISCSI_AUTH_CHAP_ALG_SHA256 = 7,
|
||||
+ ISCSI_AUTH_CHAP_ALG_SHA3_256 = 8,
|
||||
+ AUTH_CHAP_ALG_MAX_COUNT = 5,
|
||||
+};
|
||||
+
|
||||
enum iscsi_startup_type {
|
||||
ISCSI_STARTUP_MANUAL,
|
||||
ISCSI_STARTUP_AUTOMATIC,
|
||||
@@ -92,6 +100,7 @@ struct iscsi_auth_config {
|
||||
char username_in[AUTH_STR_MAX_LEN];
|
||||
unsigned char password_in[AUTH_STR_MAX_LEN];
|
||||
uint32_t password_in_length;
|
||||
+ unsigned int chap_algs[AUTH_CHAP_ALG_MAX_COUNT];
|
||||
};
|
||||
|
||||
/* all TCP options go in this structure.
|
||||
diff --git a/libopeniscsiusr/idbm_fields.h b/libopeniscsiusr/idbm_fields.h
|
||||
index 29a2090c..8bf17b02 100644
|
||||
--- a/libopeniscsiusr/idbm_fields.h
|
||||
+++ b/libopeniscsiusr/idbm_fields.h
|
||||
@@ -120,6 +120,7 @@
|
||||
#define SESSION_USERNAME_IN "node.session.auth.username_in"
|
||||
#define SESSION_PASSWORD_IN "node.session.auth.password_in"
|
||||
#define SESSION_PASSWORD_IN_LEN "node.session.auth.password_in_length"
|
||||
+#define SESSION_CHAP_ALGS "node.session.auth.chap_algs"
|
||||
#define SESSION_REPLACEMENT_TMO "node.session.timeo.replacement_timeout"
|
||||
#define SESSION_ABORT_TMO "node.session.err_timeo.abort_timeout"
|
||||
#define SESSION_LU_RESET_TMO "node.session.err_timeo.lu_reset_timeout"
|
||||
diff --git a/usr/auth.c b/usr/auth.c
|
||||
index 5c819c28..a222c531 100644
|
||||
--- a/usr/auth.c
|
||||
+++ b/usr/auth.c
|
||||
@@ -1806,7 +1806,7 @@ acl_chk_chap_alg_list(unsigned int option_count, const int *option_list)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int
|
||||
+int
|
||||
acl_set_chap_alg_list(struct iscsi_acl *client, unsigned int option_count,
|
||||
const int *option_list)
|
||||
{
|
||||
@@ -1819,22 +1819,54 @@ acl_set_chap_alg_list(struct iscsi_acl *client, unsigned int option_count,
|
||||
}
|
||||
|
||||
int
|
||||
-acl_init_chap_digests(int *value_list) {
|
||||
+acl_init_chap_digests(int *value_list, unsigned *chap_algs, int conf_count) {
|
||||
EVP_MD_CTX *context = EVP_MD_CTX_new();
|
||||
int i = 0;
|
||||
|
||||
- if (EVP_DigestInit_ex(context, EVP_sha3_256(), NULL)) {
|
||||
- value_list[i++] = AUTH_CHAP_ALG_SHA3_256;
|
||||
- }
|
||||
- if (EVP_DigestInit_ex(context, EVP_sha256(), NULL)) {
|
||||
- value_list[i++] = AUTH_CHAP_ALG_SHA256;
|
||||
- }
|
||||
- if (EVP_DigestInit_ex(context, EVP_sha1(), NULL)) {
|
||||
- value_list[i++] = AUTH_CHAP_ALG_SHA1;
|
||||
- }
|
||||
- if (EVP_DigestInit_ex(context, EVP_md5(), NULL)) {
|
||||
- value_list[i++] = AUTH_CHAP_ALG_MD5;
|
||||
+ for (int j = 0; j < conf_count; j++) {
|
||||
+ switch (chap_algs[j]) {
|
||||
+ case AUTH_CHAP_ALG_MD5:
|
||||
+ if (EVP_DigestInit_ex(context, EVP_md5(), NULL)) {
|
||||
+ value_list[i++] = AUTH_CHAP_ALG_MD5;
|
||||
+ } else {
|
||||
+ log_warning("Ignoring CHAP algorthm request for "
|
||||
+ "MD5 due to crypto lib configuration");
|
||||
+ }
|
||||
+ break;
|
||||
+ case AUTH_CHAP_ALG_SHA1:
|
||||
+ if (EVP_DigestInit_ex(context, EVP_sha1(), NULL)) {
|
||||
+ value_list[i++] = AUTH_CHAP_ALG_SHA1;
|
||||
+ } else {
|
||||
+ log_warning("Ignoring CHAP algorthm request for "
|
||||
+ "SHA1 due to crypto lib configuration");
|
||||
+ }
|
||||
+ break;
|
||||
+ case AUTH_CHAP_ALG_SHA256:
|
||||
+ if (EVP_DigestInit_ex(context, EVP_sha256(), NULL)) {
|
||||
+ value_list[i++] = AUTH_CHAP_ALG_SHA256;
|
||||
+ } else {
|
||||
+ log_warning("Ignoring CHAP algorthm request for "
|
||||
+ "SHA256 due to crypto lib configuration");
|
||||
+ }
|
||||
+ break;
|
||||
+ case AUTH_CHAP_ALG_SHA3_256:
|
||||
+ if (EVP_DigestInit_ex(context, EVP_sha3_256(), NULL)) {
|
||||
+ value_list[i++] = AUTH_CHAP_ALG_SHA3_256;
|
||||
+ } else {
|
||||
+ log_warning("Ignoring CHAP algorthm request for "
|
||||
+ "SHA3-256 due to crypto lib configuration");
|
||||
+ }
|
||||
+ break;
|
||||
+ case ~0:
|
||||
+ /* unset value in array, just ignore */
|
||||
+ break;
|
||||
+ default:
|
||||
+ log_warning("Ignoring unknown CHAP algorithm request "
|
||||
+ "'%d'", chap_algs[j]);
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
+
|
||||
return i;
|
||||
}
|
||||
|
||||
@@ -1926,12 +1958,6 @@ acl_init(int node_type, int buf_desc_count, struct auth_buffer_desc *buff_desc)
|
||||
return AUTH_STATUS_ERROR;
|
||||
}
|
||||
|
||||
- if (acl_set_chap_alg_list(client, acl_init_chap_digests(value_list),
|
||||
- value_list) != AUTH_STATUS_NO_ERROR) {
|
||||
- client->phase = AUTH_PHASE_ERROR;
|
||||
- return AUTH_STATUS_ERROR;
|
||||
- }
|
||||
-
|
||||
return AUTH_STATUS_NO_ERROR;
|
||||
}
|
||||
|
||||
diff --git a/usr/auth.h b/usr/auth.h
|
||||
index f6dbbe4b..16cdb242 100644
|
||||
--- a/usr/auth.h
|
||||
+++ b/usr/auth.h
|
||||
@@ -271,6 +271,9 @@ extern int acl_send_transit_bit(struct iscsi_acl *client, int *value);
|
||||
extern int acl_set_user_name(struct iscsi_acl *client, const char *username);
|
||||
extern int acl_set_passwd(struct iscsi_acl *client,
|
||||
const unsigned char *pw_data, unsigned int pw_len);
|
||||
+extern int acl_set_chap_alg_list(struct iscsi_acl *client, unsigned int option_count,
|
||||
+ const int *option_list);
|
||||
+extern int acl_init_chap_digests(int *value_list, unsigned int *chap_algs, int count);
|
||||
extern int acl_set_auth_rmt(struct iscsi_acl *client, int auth_rmt);
|
||||
extern int acl_set_ip_sec(struct iscsi_acl *client, int ip_sec);
|
||||
extern int acl_get_dbg_status(struct iscsi_acl *client, int *value);
|
||||
diff --git a/usr/config.h b/usr/config.h
|
||||
index 250879db..79059ec3 100644
|
||||
--- a/usr/config.h
|
||||
+++ b/usr/config.h
|
||||
@@ -58,6 +58,7 @@ struct iscsi_auth_config {
|
||||
char username_in[AUTH_STR_MAX_LEN];
|
||||
unsigned char password_in[AUTH_STR_MAX_LEN];
|
||||
unsigned int password_in_length;
|
||||
+ unsigned int chap_algs[AUTH_CHAP_ALG_MAX_COUNT];
|
||||
};
|
||||
|
||||
/* all per-connection timeouts go in this structure.
|
||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||
index be4d4e36..e08301c6 100644
|
||||
--- a/usr/idbm.c
|
||||
+++ b/usr/idbm.c
|
||||
@@ -50,6 +50,8 @@
|
||||
|
||||
static struct idbm *db;
|
||||
|
||||
+#define ARRAY_LEN(x) ( sizeof(x) / sizeof((x)[0]) )
|
||||
+
|
||||
#define __recinfo_str(_key, _info, _rec, _name, _show, _n, _mod) do { \
|
||||
_info[_n].type = TYPE_STR; \
|
||||
strlcpy(_info[_n].name, _key, NAME_MAXVAL); \
|
||||
@@ -164,6 +166,42 @@ static struct idbm *db;
|
||||
_n++; \
|
||||
} while(0)
|
||||
|
||||
+#define __recinfo_int_list(_key,_info,_rec,_name,_show,_tbl,_n,_mod) do { \
|
||||
+ _info[_n].type = TYPE_INT_LIST; \
|
||||
+ strlcpy(_info[_n].name, _key, NAME_MAXVAL); \
|
||||
+ for(int _i = 0; _i < ARRAY_LEN(_rec->_name); _i++) { \
|
||||
+ if (_rec->_name[_i] != ~0) { \
|
||||
+ for (int _j = 0; _j < ARRAY_LEN(_tbl); _j++) { \
|
||||
+ if (_tbl[_j].value == _rec->_name[_i]) { \
|
||||
+ strcat(_info[_n].value, _tbl[_j].name); \
|
||||
+ strcat(_info[_n].value, ","); \
|
||||
+ break; \
|
||||
+ } \
|
||||
+ } \
|
||||
+ } \
|
||||
+ } \
|
||||
+ /* delete trailing ',' */ \
|
||||
+ if (strrchr(_info[_n].value, ',')) \
|
||||
+ *strrchr(_info[_n].value, ',') = '\0'; \
|
||||
+ _info[_n].data = &_rec->_name; \
|
||||
+ _info[_n].data_len = sizeof(_rec->_name); \
|
||||
+ _info[_n].visible = _show; \
|
||||
+ _info[_n].opts[0] = (void *)&_tbl; \
|
||||
+ _info[_n].numopts = ARRAY_LEN(_tbl); \
|
||||
+ _info[_n].can_modify = _mod; \
|
||||
+ _n++; \
|
||||
+} while (0)
|
||||
+
|
||||
+static struct int_list_tbl {
|
||||
+ const char *name;
|
||||
+ int value;
|
||||
+} chap_algs [] = {
|
||||
+ { "MD5", AUTH_CHAP_ALG_MD5 },
|
||||
+ { "SHA1", AUTH_CHAP_ALG_SHA1 },
|
||||
+ { "SHA256", AUTH_CHAP_ALG_SHA256 },
|
||||
+ { "SHA3-256", AUTH_CHAP_ALG_SHA3_256 },
|
||||
+};
|
||||
+
|
||||
static int idbm_remove_disc_to_node_link(node_rec_t *rec, char *portal);
|
||||
|
||||
static void
|
||||
@@ -196,6 +234,10 @@ idbm_recinfo_discovery(discovery_rec_t *r, recinfo_t *ri)
|
||||
__recinfo_int(DISC_ST_PASSWORD_IN_LEN, ri, r,
|
||||
u.sendtargets.auth.password_in_length, IDBM_HIDE,
|
||||
num, 1);
|
||||
+ /* reusing SESSION_CHAP_ALGS */
|
||||
+ __recinfo_int_list(SESSION_CHAP_ALGS, ri, r,
|
||||
+ u.sendtargets.auth.chap_algs,
|
||||
+ IDBM_SHOW, chap_algs, num, 1);
|
||||
__recinfo_int(DISC_ST_LOGIN_TMO, ri, r,
|
||||
u.sendtargets.conn_timeo.login_timeout,
|
||||
IDBM_SHOW, num, 1);
|
||||
@@ -428,6 +470,8 @@ idbm_recinfo_node(node_rec_t *r, recinfo_t *ri)
|
||||
session.auth.password_in, IDBM_MASKED, num, 1);
|
||||
__recinfo_int(SESSION_PASSWORD_IN_LEN, ri, r,
|
||||
session.auth.password_in_length, IDBM_HIDE, num, 1);
|
||||
+ __recinfo_int_list(SESSION_CHAP_ALGS, ri, r,
|
||||
+ session.auth.chap_algs, IDBM_SHOW, chap_algs, num, 1);
|
||||
__recinfo_int(SESSION_REPLACEMENT_TMO, ri, r,
|
||||
session.timeo.replacement_timeout,
|
||||
IDBM_SHOW, num, 1);
|
||||
@@ -933,6 +977,9 @@ idbm_discovery_setup_defaults(discovery_rec_t *rec, discovery_type_e type)
|
||||
rec->u.sendtargets.auth.authmethod = 0;
|
||||
rec->u.sendtargets.auth.password_length = 0;
|
||||
rec->u.sendtargets.auth.password_in_length = 0;
|
||||
+ /* TYPE_INT_LIST fields should be initialized to ~0 to indicate unset values */
|
||||
+ memset(rec->u.sendtargets.auth.chap_algs, ~0, sizeof(rec->u.sendtargets.auth.chap_algs));
|
||||
+ rec->u.sendtargets.auth.chap_algs[0] = AUTH_CHAP_ALG_MD5;
|
||||
rec->u.sendtargets.conn_timeo.login_timeout=15;
|
||||
rec->u.sendtargets.conn_timeo.auth_timeout = 45;
|
||||
rec->u.sendtargets.conn_timeo.active_timeout=30;
|
||||
@@ -966,59 +1013,109 @@ int idbm_rec_update_param(recinfo_t *info, char *name, char *value,
|
||||
int i;
|
||||
int passwd_done = 0;
|
||||
char passwd_len[8];
|
||||
+ char *tmp_value, *token;
|
||||
+ bool *found;
|
||||
+ int *tmp_data;
|
||||
|
||||
setup_passwd_len:
|
||||
for (i=0; i<MAX_KEYS; i++) {
|
||||
if (!strcmp(name, info[i].name)) {
|
||||
- int j;
|
||||
+ int j,k;
|
||||
+ struct int_list_tbl *tbl;
|
||||
|
||||
log_debug(7, "updated '%s', '%s' => '%s'", name,
|
||||
info[i].value, value);
|
||||
/* parse recinfo by type */
|
||||
- if (info[i].type == TYPE_INT) {
|
||||
+ switch (info[i].type) {
|
||||
+ case TYPE_INT:
|
||||
if (!info[i].data)
|
||||
continue;
|
||||
|
||||
*(int*)info[i].data =
|
||||
strtoul(value, NULL, 10);
|
||||
goto updated;
|
||||
- } else if (info[i].type == TYPE_UINT8) {
|
||||
+ case TYPE_UINT8:
|
||||
if (!info[i].data)
|
||||
continue;
|
||||
|
||||
*(uint8_t *)info[i].data =
|
||||
strtoul(value, NULL, 10);
|
||||
goto updated;
|
||||
- } else if (info[i].type == TYPE_UINT16) {
|
||||
+ case TYPE_UINT16:
|
||||
if (!info[i].data)
|
||||
continue;
|
||||
|
||||
*(uint16_t *)info[i].data =
|
||||
strtoul(value, NULL, 10);
|
||||
goto updated;
|
||||
- } else if (info[i].type == TYPE_UINT32) {
|
||||
+ case TYPE_UINT32:
|
||||
if (!info[i].data)
|
||||
continue;
|
||||
|
||||
*(uint32_t *)info[i].data =
|
||||
strtoul(value, NULL, 10);
|
||||
goto updated;
|
||||
- } else if (info[i].type == TYPE_STR) {
|
||||
+ case TYPE_STR:
|
||||
if (!info[i].data)
|
||||
continue;
|
||||
|
||||
strlcpy((char*)info[i].data,
|
||||
value, info[i].data_len);
|
||||
goto updated;
|
||||
- }
|
||||
- for (j=0; j<info[i].numopts; j++) {
|
||||
- if (!strcmp(value, info[i].opts[j])) {
|
||||
- if (!info[i].data)
|
||||
+ case TYPE_INT_O:
|
||||
+ for (j=0; j<info[i].numopts; j++) {
|
||||
+ if (!strcmp(value, info[i].opts[j])) {
|
||||
+ if (!info[i].data)
|
||||
+ continue;
|
||||
+
|
||||
+ *(int*)info[i].data = j;
|
||||
+ goto updated;
|
||||
+ }
|
||||
+ }
|
||||
+ case TYPE_INT_LIST:
|
||||
+ if (!info[i].data)
|
||||
+ continue;
|
||||
+ tbl = (void *)info[i].opts[0];
|
||||
+ /* strsep is destructive, make a copy to work with */
|
||||
+ tmp_value = strdup(value);
|
||||
+ k = 0;
|
||||
+ tmp_data = malloc(info[i].data_len);
|
||||
+ memset(tmp_data, ~0, info[i].data_len);
|
||||
+ found = calloc(info[i].numopts, sizeof(bool));
|
||||
+
|
||||
+next_token: while ((token = strsep(&tmp_value, ", \n"))) {
|
||||
+ if (!strlen(token))
|
||||
continue;
|
||||
-
|
||||
- *(int*)info[i].data = j;
|
||||
- goto updated;
|
||||
+ if ((k * (int)sizeof(int)) >= (info[i].data_len)) {
|
||||
+ log_warning("Too many values set for '%s'"
|
||||
+ ", continuing without processing them all",
|
||||
+ info[i].name);
|
||||
+ break;
|
||||
+ }
|
||||
+ for (j = 0; j < info[i].numopts; j++) {
|
||||
+ if (!strcmp(token, tbl[j].name)) {
|
||||
+ if ((found[j])) {
|
||||
+ log_warning("Ignoring repeated "
|
||||
+ "value '%s' "
|
||||
+ "for '%s'", token,
|
||||
+ info[i].name);
|
||||
+ goto next_token;
|
||||
+ }
|
||||
+ ((int*)tmp_data)[k++] = tbl[j].value;
|
||||
+ found[j] = true;
|
||||
+ goto next_token;
|
||||
+ }
|
||||
+ }
|
||||
+ log_warning("Ignoring unknown value '%s'"
|
||||
+ " for '%s'", token, info[i].name);
|
||||
}
|
||||
+ memcpy(info[i].data, tmp_data, info[i].data_len);
|
||||
+ free(tmp_value);
|
||||
+ free(tmp_data);
|
||||
+ tmp_value = NULL;
|
||||
+ tmp_data = NULL;
|
||||
+ token = NULL;
|
||||
+ goto updated;
|
||||
}
|
||||
if (line_number) {
|
||||
log_warning("config file line %d contains "
|
||||
@@ -3021,6 +3118,9 @@ void idbm_node_setup_defaults(node_rec_t *rec)
|
||||
rec->session.initial_login_retry_max = DEF_INITIAL_LOGIN_RETRIES_MAX;
|
||||
rec->session.reopen_max = DEF_SESSION_REOPEN_MAX;
|
||||
rec->session.auth.authmethod = 0;
|
||||
+ /* TYPE_INT_LIST fields should be initialized to ~0 to indicate unset values */
|
||||
+ memset(rec->session.auth.chap_algs, ~0, sizeof(rec->session.auth.chap_algs));
|
||||
+ rec->session.auth.chap_algs[0] = AUTH_CHAP_ALG_MD5;
|
||||
rec->session.auth.password_length = 0;
|
||||
rec->session.auth.password_in_length = 0;
|
||||
rec->session.err_timeo.abort_timeout = DEF_ABORT_TIMEO;
|
||||
diff --git a/usr/idbm.h b/usr/idbm.h
|
||||
index 18c50255..46cd82ac 100644
|
||||
--- a/usr/idbm.h
|
||||
+++ b/usr/idbm.h
|
||||
@@ -45,6 +45,8 @@
|
||||
#define TYPE_UINT8 3
|
||||
#define TYPE_UINT16 4
|
||||
#define TYPE_UINT32 5
|
||||
+#define TYPE_INT_LIST 6
|
||||
+
|
||||
#define MAX_KEYS 256 /* number of keys total(including CNX_MAX) */
|
||||
#define NAME_MAXVAL 128 /* the maximum length of key name */
|
||||
#define VALUE_MAXVAL 256 /* the maximum length of 223 bytes in the RFC. */
|
||||
diff --git a/usr/idbm_fields.h b/usr/idbm_fields.h
|
||||
index 142c7ae6..4a967fc0 100644
|
||||
--- a/usr/idbm_fields.h
|
||||
+++ b/usr/idbm_fields.h
|
||||
@@ -30,6 +30,7 @@
|
||||
#define SESSION_USERNAME_IN "node.session.auth.username_in"
|
||||
#define SESSION_PASSWORD_IN "node.session.auth.password_in"
|
||||
#define SESSION_PASSWORD_IN_LEN "node.session.auth.password_in_length"
|
||||
+#define SESSION_CHAP_ALGS "node.session.auth.chap_algs"
|
||||
#define SESSION_REPLACEMENT_TMO "node.session.timeo.replacement_timeout"
|
||||
#define SESSION_ABORT_TMO "node.session.err_timeo.abort_timeout"
|
||||
#define SESSION_LU_RESET_TMO "node.session.err_timeo.lu_reset_timeout"
|
||||
diff --git a/usr/initiator.h b/usr/initiator.h
|
||||
index eccafb90..6a49ea6e 100644
|
||||
--- a/usr/initiator.h
|
||||
+++ b/usr/initiator.h
|
||||
@@ -243,6 +243,7 @@ typedef struct iscsi_session {
|
||||
char username_in[AUTH_STR_MAX_LEN];
|
||||
uint8_t password_in[AUTH_STR_MAX_LEN];
|
||||
int password_in_length;
|
||||
+ unsigned int chap_algs[AUTH_CHAP_ALG_MAX_COUNT];
|
||||
iscsi_conn_t conn[ISCSI_CONN_MAX];
|
||||
uint64_t param_mask;
|
||||
|
||||
diff --git a/usr/initiator_common.c b/usr/initiator_common.c
|
||||
index 790f13de..81da8fdb 100644
|
||||
--- a/usr/initiator_common.c
|
||||
+++ b/usr/initiator_common.c
|
||||
@@ -94,6 +94,8 @@ int iscsi_setup_authentication(struct iscsi_session *session,
|
||||
memcpy(session->password_in, auth_cfg->password_in,
|
||||
session->password_in_length);
|
||||
|
||||
+ memcpy(session->chap_algs, auth_cfg->chap_algs, sizeof(auth_cfg->chap_algs));
|
||||
+
|
||||
if (session->password_length || session->password_in_length) {
|
||||
/* setup the auth buffers */
|
||||
session->auth_buffers[0].address = &session->auth_client_block;
|
||||
diff --git a/usr/login.c b/usr/login.c
|
||||
index d7dad211..1251e61c 100644
|
||||
--- a/usr/login.c
|
||||
+++ b/usr/login.c
|
||||
@@ -1262,6 +1262,17 @@ check_for_authentication(iscsi_session_t *session,
|
||||
goto end;
|
||||
}
|
||||
|
||||
+ int value_list[AUTH_CHAP_ALG_MAX_COUNT];
|
||||
+
|
||||
+ if (acl_set_chap_alg_list(auth_client,
|
||||
+ acl_init_chap_digests(value_list,
|
||||
+ session->chap_algs,
|
||||
+ AUTH_CHAP_ALG_MAX_COUNT),
|
||||
+ value_list) != AUTH_STATUS_NO_ERROR) {
|
||||
+ log_error("Couldn't set CHAP algorithm list");
|
||||
+ goto end;
|
||||
+ }
|
||||
+
|
||||
if (acl_set_ip_sec(auth_client, 1) != AUTH_STATUS_NO_ERROR) {
|
||||
log_error("Couldn't set IPSec");
|
||||
goto end;
|
|
@ -0,0 +1,146 @@
|
|||
From 2d84ee02e9ac69928261b38b5876bebb2349bd65 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Tue, 4 Jun 2019 13:23:32 -0700
|
||||
Subject: [PATCH] service file tweaks
|
||||
|
||||
---
|
||||
etc/systemd/iscsi-mark-root-nodes | 30 ++++++++++++++++++++++++++++++
|
||||
etc/systemd/iscsi-shutdown.service | 14 ++++++++++++++
|
||||
etc/systemd/iscsi.service | 23 +++++++++++++----------
|
||||
etc/systemd/iscsid.service | 6 ++++--
|
||||
etc/systemd/iscsiuio.service | 2 +-
|
||||
5 files changed, 62 insertions(+), 13 deletions(-)
|
||||
create mode 100755 etc/systemd/iscsi-mark-root-nodes
|
||||
create mode 100644 etc/systemd/iscsi-shutdown.service
|
||||
|
||||
diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes
|
||||
new file mode 100755
|
||||
index 0000000..c693707
|
||||
--- /dev/null
|
||||
+++ b/etc/systemd/iscsi-mark-root-nodes
|
||||
@@ -0,0 +1,30 @@
|
||||
+#!/bin/bash
|
||||
+
|
||||
+ISCSIADM=/usr/sbin/iscsiadm
|
||||
+start_iscsid=0
|
||||
+start_iscsiuio=0
|
||||
+
|
||||
+while read t num p target flash; do
|
||||
+ # strip tag number from portal, keep "ip:port"
|
||||
+ portal=${p%,*}
|
||||
+ transport=${t%:}
|
||||
+
|
||||
+ $ISCSIADM -m node -p $portal -T $target -o update -n node.startup -v onboot
|
||||
+
|
||||
+ start_iscsid=1
|
||||
+
|
||||
+ if [ "$transport" = bnx2i ] || [ "$transport" = qedi ]; then
|
||||
+ start_iscsiuio=1
|
||||
+ fi
|
||||
+done < <( $ISCSIADM -m session )
|
||||
+
|
||||
+# force iscsid and iscsiuio to start if needed for
|
||||
+# recovering sessions created in the initrd
|
||||
+
|
||||
+if [ "$start_iscsid" -eq 1 ]; then
|
||||
+ systemctl --no-block start iscsid.service
|
||||
+fi
|
||||
+if [ "$start_iscsiuio" -eq 1 ]; then
|
||||
+ systemctl --no-block start iscsiuio.service
|
||||
+fi
|
||||
+
|
||||
diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service
|
||||
new file mode 100644
|
||||
index 0000000..69c1c77
|
||||
--- /dev/null
|
||||
+++ b/etc/systemd/iscsi-shutdown.service
|
||||
@@ -0,0 +1,14 @@
|
||||
+[Unit]
|
||||
+Description=Logout off all iSCSI sessions on shutdown
|
||||
+Documentation=man:iscsid(8) man:iscsiadm(8)
|
||||
+DefaultDependencies=no
|
||||
+Conflicts=shutdown.target
|
||||
+After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service
|
||||
+Before=remote-fs-pre.target
|
||||
+Wants=remote-fs-pre.target
|
||||
+RefuseManualStop=yes
|
||||
+
|
||||
+[Service]
|
||||
+Type=oneshot
|
||||
+RemainAfterExit=true
|
||||
+ExecStop=-/usr/sbin/iscsiadm -m node --logoutall=all
|
||||
diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service
|
||||
index e475888..eadfcec 100644
|
||||
--- a/etc/systemd/iscsi.service
|
||||
+++ b/etc/systemd/iscsi.service
|
||||
@@ -1,18 +1,21 @@
|
||||
[Unit]
|
||||
Description=Login and scanning of iSCSI devices
|
||||
-Documentation=man:iscsiadm(8) man:iscsid(8)
|
||||
-Before=remote-fs.target
|
||||
-After=network.target network-online.target iscsid.service
|
||||
-Requires=iscsid.service
|
||||
-ConditionPathExists=/etc/iscsi/initiatorname.iscsi
|
||||
+Documentation=man:iscsid(8) man:iscsiadm(8)
|
||||
+DefaultDependencies=no
|
||||
+Conflicts=shutdown.target
|
||||
+After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service
|
||||
+Before=remote-fs-pre.target
|
||||
+Wants=remote-fs-pre.target iscsi-shutdown.service
|
||||
+ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes
|
||||
+ConditionDirectoryNotEmpty=|/sys/class/iscsi_session
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
-ExecStart=/sbin/iscsiadm -m node --loginall=automatic
|
||||
-ExecStop=/sbin/iscsiadm -m node --logoutall=automatic
|
||||
-ExecStop=/sbin/iscsiadm -m node --logoutall=manual
|
||||
-SuccessExitStatus=21
|
||||
RemainAfterExit=true
|
||||
+ExecStart=-/usr/libexec/iscsi-mark-root-nodes
|
||||
+ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic
|
||||
+ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic
|
||||
+SuccessExitStatus=21
|
||||
|
||||
[Install]
|
||||
-WantedBy=remote-fs.target
|
||||
+WantedBy=sysinit.target
|
||||
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
|
||||
index 4fef168..8d50cf0 100644
|
||||
--- a/etc/systemd/iscsid.service
|
||||
+++ b/etc/systemd/iscsid.service
|
||||
@@ -1,14 +1,16 @@
|
||||
[Unit]
|
||||
Description=Open-iSCSI
|
||||
-Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8)
|
||||
+Documentation=man:iscsid(8) man:iscsiadm(8)
|
||||
DefaultDependencies=no
|
||||
+Conflicts=shutdown.target
|
||||
After=network.target iscsiuio.service
|
||||
Before=remote-fs-pre.target
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
NotifyAccess=main
|
||||
-ExecStart=/sbin/iscsid -f
|
||||
+ExecStart=/usr/sbin/iscsid -f
|
||||
+ExecStop=/usr/sbin/iscsiadm -k 0 2
|
||||
KillMode=mixed
|
||||
Restart=on-failure
|
||||
|
||||
diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service
|
||||
index e4d9fd0..8620cde 100644
|
||||
--- a/etc/systemd/iscsiuio.service
|
||||
+++ b/etc/systemd/iscsiuio.service
|
||||
@@ -11,7 +11,7 @@ Before=remote-fs-pre.target iscsid.service
|
||||
[Service]
|
||||
Type=notify
|
||||
NotifyAccess=main
|
||||
-ExecStart=/sbin/iscsiuio -f
|
||||
+ExecStart=/usr/sbin/iscsiuio -f
|
||||
KillMode=mixed
|
||||
Restart=on-failure
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
From 97071360caa6868c21a161047ed471790c405efb Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Tue, 13 Aug 2013 10:59:44 -0700
|
||||
Subject: [PATCH] idmb_rec_write, check for tpgt first
|
||||
|
||||
Factor out the check for a tpgt to a single place, before going crazy on
|
||||
the rec files. Makes flow of this function easier to follow, and preps
|
||||
for splitting it up.
|
||||
---
|
||||
usr/idbm.c | 18 +++++-------------
|
||||
1 file changed, 5 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||
index be4d4e3..a7da540 100644
|
||||
--- a/usr/idbm.c
|
||||
+++ b/usr/idbm.c
|
||||
@@ -2078,6 +2078,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
||||
goto free_portal;
|
||||
}
|
||||
|
||||
+ if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
||||
+ /* drop down to old style portal as config */
|
||||
+ goto open_conf;
|
||||
+
|
||||
rc = stat(portal, &statb);
|
||||
if (rc) {
|
||||
rc = 0;
|
||||
@@ -2086,22 +2090,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
||||
* set the tgpt. In new versions you must pass all the info in
|
||||
* from the start
|
||||
*/
|
||||
- if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
||||
- /* drop down to old style portal as config */
|
||||
- goto open_conf;
|
||||
- else
|
||||
- goto mkdir_portal;
|
||||
+ goto mkdir_portal;
|
||||
}
|
||||
|
||||
if (!S_ISDIR(statb.st_mode)) {
|
||||
- /*
|
||||
- * older iscsiadm versions had you create the config then set
|
||||
- * set the tgpt. In new versions you must pass all the info in
|
||||
- * from the start
|
||||
- */
|
||||
- if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
||||
- /* drop down to old style portal as config */
|
||||
- goto open_conf;
|
||||
/*
|
||||
* Old style portal as a file, but with tpgt. Let's update it.
|
||||
*/
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
From 4c6e7c0fcc6da66cf81c0714bf907762194eedf2 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Tue, 13 Aug 2013 11:34:31 -0700
|
||||
Subject: [PATCH] idbm_rec_write, seperate old and new style writes
|
||||
|
||||
Duplicates a small bit of code, but easier to understand and extened.
|
||||
---
|
||||
usr/idbm.c | 129 +++++++++++++++++++++++++++++++++++------------------
|
||||
1 file changed, 86 insertions(+), 43 deletions(-)
|
||||
|
||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||
index a7da540..2f5e309 100644
|
||||
--- a/usr/idbm.c
|
||||
+++ b/usr/idbm.c
|
||||
@@ -2030,12 +2030,7 @@ mkdir_portal:
|
||||
return f;
|
||||
}
|
||||
|
||||
-/*
|
||||
- * When the disable_lock param is true, the idbm_lock/idbm_unlock needs
|
||||
- * to be holt by the caller, this will avoid overwriting each other in
|
||||
- * case of updating(read-modify-write) the recs in parallel.
|
||||
- */
|
||||
-static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
||||
+static int idbm_rec_write_new(node_rec_t *rec)
|
||||
{
|
||||
struct stat statb;
|
||||
FILE *f;
|
||||
@@ -2048,39 +2043,8 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
||||
return ISCSI_ERR_NOMEM;
|
||||
}
|
||||
|
||||
- snprintf(portal, PATH_MAX, "%s", NODE_CONFIG_DIR);
|
||||
- if (access(portal, F_OK) != 0) {
|
||||
- if (mkdir(portal, 0660) != 0) {
|
||||
- log_error("Could not make %s: %s", portal,
|
||||
- strerror(errno));
|
||||
- rc = ISCSI_ERR_IDBM;
|
||||
- goto free_portal;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- snprintf(portal, PATH_MAX, "%s/%s", NODE_CONFIG_DIR, rec->name);
|
||||
- if (access(portal, F_OK) != 0) {
|
||||
- if (mkdir(portal, 0660) != 0) {
|
||||
- log_error("Could not make %s: %s", portal,
|
||||
- strerror(errno));
|
||||
- rc = ISCSI_ERR_IDBM;
|
||||
- goto free_portal;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
snprintf(portal, PATH_MAX, "%s/%s/%s,%d", NODE_CONFIG_DIR,
|
||||
rec->name, rec->conn[0].address, rec->conn[0].port);
|
||||
- log_debug(5, "Looking for config file %s", portal);
|
||||
-
|
||||
- if (!disable_lock) {
|
||||
- rc = idbm_lock();
|
||||
- if (rc)
|
||||
- goto free_portal;
|
||||
- }
|
||||
-
|
||||
- if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
||||
- /* drop down to old style portal as config */
|
||||
- goto open_conf;
|
||||
|
||||
rc = stat(portal, &statb);
|
||||
if (rc) {
|
||||
@@ -2101,11 +2065,11 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
||||
log_error("Could not convert %s: %s", portal,
|
||||
strerror(errno));
|
||||
rc = ISCSI_ERR_IDBM;
|
||||
- goto unlock;
|
||||
+ goto free_portal;
|
||||
}
|
||||
} else {
|
||||
rc = ISCSI_ERR_INVAL;
|
||||
- goto unlock;
|
||||
+ goto free_portal;
|
||||
}
|
||||
|
||||
mkdir_portal:
|
||||
@@ -2116,24 +2080,103 @@ mkdir_portal:
|
||||
log_error("Could not make dir %s: %s",
|
||||
portal, strerror(errno));
|
||||
rc = ISCSI_ERR_IDBM;
|
||||
- goto unlock;
|
||||
+ goto free_portal;
|
||||
}
|
||||
}
|
||||
|
||||
snprintf(portal, PATH_MAX, "%s/%s/%s,%d,%d/%s", NODE_CONFIG_DIR,
|
||||
rec->name, rec->conn[0].address, rec->conn[0].port, rec->tpgt,
|
||||
rec->iface.name);
|
||||
-open_conf:
|
||||
+
|
||||
f = fopen(portal, "w");
|
||||
if (!f) {
|
||||
log_error("Could not open %s: %s", portal, strerror(errno));
|
||||
rc = ISCSI_ERR_IDBM;
|
||||
- goto unlock;
|
||||
+ goto free_portal;
|
||||
}
|
||||
|
||||
idbm_print(IDBM_PRINT_TYPE_NODE, rec, 1, f);
|
||||
fclose(f);
|
||||
-unlock:
|
||||
+free_portal:
|
||||
+ free(portal);
|
||||
+ return rc;
|
||||
+}
|
||||
+
|
||||
+static int idbm_rec_write_old(node_rec_t *rec)
|
||||
+{
|
||||
+ FILE *f;
|
||||
+ char *portal;
|
||||
+ int rc = 0;
|
||||
+
|
||||
+ portal = malloc(PATH_MAX);
|
||||
+ if (!portal) {
|
||||
+ log_error("Could not alloc portal");
|
||||
+ return ISCSI_ERR_NOMEM;
|
||||
+ }
|
||||
+ snprintf(portal, PATH_MAX, "%s/%s/%s,%d", NODE_CONFIG_DIR,
|
||||
+ rec->name, rec->conn[0].address, rec->conn[0].port);
|
||||
+
|
||||
+ f = fopen(portal, "w");
|
||||
+ if (!f) {
|
||||
+ log_error("Could not open %s: %sd", portal, strerror(errno));
|
||||
+ rc = ISCSI_ERR_IDBM;
|
||||
+ goto free_portal;
|
||||
+ }
|
||||
+ idbm_print(IDBM_PRINT_TYPE_NODE, rec, 1, f);
|
||||
+ fclose(f);
|
||||
+free_portal:
|
||||
+ free(portal);
|
||||
+ return rc;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * When the disable_lock param is true, the idbm_lock/idbm_unlock needs
|
||||
+ * to be holt by the caller, this will avoid overwriting each other in
|
||||
+ * case of updating(read-modify-write) the recs in parallel.
|
||||
+ */
|
||||
+static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
||||
+{
|
||||
+ char *portal;
|
||||
+ int rc = 0;
|
||||
+
|
||||
+ portal = malloc(PATH_MAX);
|
||||
+ if (!portal) {
|
||||
+ log_error("Could not alloc portal");
|
||||
+ return ISCSI_ERR_NOMEM;
|
||||
+ }
|
||||
+
|
||||
+ snprintf(portal, PATH_MAX, "%s", NODE_CONFIG_DIR);
|
||||
+ if (access(portal, F_OK) != 0) {
|
||||
+ if (mkdir(portal, 0660) != 0) {
|
||||
+ log_error("Could not make %s: %s", portal,
|
||||
+ strerror(errno));
|
||||
+ rc = ISCSI_ERR_IDBM;
|
||||
+ goto free_portal;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ snprintf(portal, PATH_MAX, "%s/%s", NODE_CONFIG_DIR, rec->name);
|
||||
+ if (access(portal, F_OK) != 0) {
|
||||
+ if (mkdir(portal, 0660) != 0) {
|
||||
+ log_error("Could not make %s: %s", portal,
|
||||
+ strerror(errno));
|
||||
+ rc = ISCSI_ERR_IDBM;
|
||||
+ goto free_portal;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!disable_lock) {
|
||||
+ rc = idbm_lock();
|
||||
+ if (rc)
|
||||
+ goto free_portal;
|
||||
+ }
|
||||
+
|
||||
+ if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
||||
+ /* old style portal as config */
|
||||
+ rc = idbm_rec_write_old(rec);
|
||||
+ else
|
||||
+ rc = idbm_rec_write_new(rec);
|
||||
+
|
||||
if (!disable_lock)
|
||||
idbm_unlock();
|
||||
free_portal:
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
From 6051b9ef3cdf206630969940aba980f4088e2e14 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Tue, 13 Aug 2013 12:39:07 -0700
|
||||
Subject: [PATCH] idbw_rec_write, pick tpgt from existing record
|
||||
|
||||
On a static add (-m node -o new) without a user specified tpgt, looks
|
||||
for existing new style records with tpgt before creating an old style
|
||||
record without. If one exists, take the tpgt from it an write an
|
||||
updated new style record instead.
|
||||
---
|
||||
usr/idbm.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 40 insertions(+)
|
||||
|
||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||
index 2f5e309..a2332cc 100644
|
||||
--- a/usr/idbm.c
|
||||
+++ b/usr/idbm.c
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <dirent.h>
|
||||
#include <limits.h>
|
||||
#include <fcntl.h>
|
||||
+#include <glob.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/file.h>
|
||||
#include <inttypes.h>
|
||||
@@ -164,6 +165,8 @@ static struct idbm *db;
|
||||
_n++; \
|
||||
} while(0)
|
||||
|
||||
+static int idbm_remove_disc_to_node_link(node_rec_t *rec, char *portal);
|
||||
+
|
||||
static void
|
||||
idbm_recinfo_discovery(discovery_rec_t *r, recinfo_t *ri)
|
||||
{
|
||||
@@ -2107,12 +2110,49 @@ static int idbm_rec_write_old(node_rec_t *rec)
|
||||
FILE *f;
|
||||
char *portal;
|
||||
int rc = 0;
|
||||
+ glob_t globbuf;
|
||||
+ int i;
|
||||
+ int tpgt = PORTAL_GROUP_TAG_UNKNOWN;
|
||||
|
||||
portal = malloc(PATH_MAX);
|
||||
if (!portal) {
|
||||
log_error("Could not alloc portal");
|
||||
return ISCSI_ERR_NOMEM;
|
||||
}
|
||||
+
|
||||
+ /* check for newer portal dir with tpgt */
|
||||
+ snprintf(portal, PATH_MAX, "%s/%s/%s,%d,*", NODE_CONFIG_DIR,
|
||||
+ rec->name, rec->conn[0].address, rec->conn[0].port);
|
||||
+ rc = glob(portal, GLOB_ONLYDIR, NULL, &globbuf);
|
||||
+ if (!rc) {
|
||||
+ if (globbuf.gl_pathc > 1)
|
||||
+ log_warning("multiple tpg records for portal "
|
||||
+ "%s/%s:%d found", rec->name,
|
||||
+ rec->conn[0].address, rec->conn[0].port);
|
||||
+ /* set pattern for sscanf matching of tpgt */
|
||||
+ snprintf(portal, PATH_MAX, "%s/%s/%s,%d,%%u", NODE_CONFIG_DIR,
|
||||
+ rec->name, rec->conn[0].address, rec->conn[0].port);
|
||||
+ for (i = 0; i < globbuf.gl_pathc; i++) {
|
||||
+ rc = sscanf(globbuf.gl_pathv[i], portal, &tpgt);
|
||||
+ if (rc == 1)
|
||||
+ break;
|
||||
+ }
|
||||
+ if (tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
||||
+ log_warning("glob match on existing records, "
|
||||
+ "but no valid tpgt found");
|
||||
+ }
|
||||
+ globfree(&globbuf);
|
||||
+ rc = 0;
|
||||
+
|
||||
+ /* if a tpgt was selected from an old record, write entry in new format */
|
||||
+ if (tpgt != PORTAL_GROUP_TAG_UNKNOWN) {
|
||||
+ log_warning("using tpgt %u from existing record", tpgt);
|
||||
+ rec->tpgt = tpgt;
|
||||
+ rc = idbm_remove_disc_to_node_link(rec, portal);
|
||||
+ free(portal);
|
||||
+ return idbm_rec_write_new(rec);
|
||||
+ }
|
||||
+
|
||||
snprintf(portal, PATH_MAX, "%s/%s/%s,%d", NODE_CONFIG_DIR,
|
||||
rec->name, rec->conn[0].address, rec->conn[0].port);
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
From 6602f08bfcc2b2e75d1a58671cb160c96cf2d99b Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Mon, 19 Nov 2012 16:37:13 -0800
|
||||
Subject: [PATCH] update initscripts and docs
|
||||
|
||||
---
|
||||
README | 10 ++++------
|
||||
etc/iscsid.conf | 21 ++++++++++-----------
|
||||
usr/idbm.c | 4 ++++
|
||||
3 files changed, 18 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/README b/README
|
||||
index 2499d9a..c05814a 100644
|
||||
--- a/README
|
||||
+++ b/README
|
||||
@@ -77,11 +77,6 @@ the cache sync command will fail.
|
||||
- iscsiadm's -P 3 option will not print out scsi devices.
|
||||
- iscsid will not automatically online devices.
|
||||
|
||||
-You need to enable "Cryptographic API" under "Cryptographic options" in the
|
||||
-kernel config. And you must enable "CRC32c CRC algorithm" even if
|
||||
-you do not use header or data digests. They are the kernel options
|
||||
-CONFIG_CRYPTO and CONFIG_CRYPTO_CRC32C, respectively.
|
||||
-
|
||||
The userspace components iscsid, iscsiadm and iscsistart require the
|
||||
open-isns library, which can be found here:
|
||||
https://github.com/gonzoleeman/open-isns/releases
|
||||
@@ -1151,7 +1146,7 @@ Red Hat or Fedora:
|
||||
-----------------
|
||||
To start open-iscsi in Red Hat/Fedora you can do:
|
||||
|
||||
- service open-iscsi start
|
||||
+ service iscsi start
|
||||
|
||||
To get open-iscsi to automatically start at run time you may have to
|
||||
run:
|
||||
@@ -1353,6 +1348,9 @@ iscsid will only perform rediscovery when it gets a SCN from the server.
|
||||
# linux-isns (SLES's iSNS server) where it sometimes does not send SCN
|
||||
# events in the proper format, so they may not get handled.
|
||||
|
||||
+To set the startup value, so that nodes are not logged into automatically
|
||||
+use the value "manual".
|
||||
+
|
||||
Examples
|
||||
--------
|
||||
|
||||
diff --git a/etc/iscsid.conf b/etc/iscsid.conf
|
||||
index 70985af..2f3a28c 100644
|
||||
--- a/etc/iscsid.conf
|
||||
+++ b/etc/iscsid.conf
|
||||
@@ -19,7 +19,7 @@
|
||||
# the time then leave this attribute commented out.
|
||||
#
|
||||
# Default for Fedora and RHEL. (uncomment to activate).
|
||||
-# iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.soccket
|
||||
+iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.socket
|
||||
#
|
||||
# Default if you are not using systemd (uncomment to activate)
|
||||
# iscsid.startup = /usr/bin/service start iscsid
|
||||
@@ -41,8 +41,8 @@
|
||||
# To request that the iscsi initd scripts startup a session set to "automatic".
|
||||
# node.startup = automatic
|
||||
#
|
||||
-# To manually startup the session set to "manual". The default is manual.
|
||||
-node.startup = manual
|
||||
+# To manually startup the session set to "manual". The default is automatic.
|
||||
+node.startup = automatic
|
||||
|
||||
# For "automatic" startup nodes, setting this to "Yes" will try logins on each
|
||||
# available iface until one succeeds, and then stop. The default "No" will try
|
||||
@@ -264,28 +264,27 @@ node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
|
||||
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
|
||||
|
||||
# To allow the targets to control the setting of the digest checking,
|
||||
-# with the initiator requesting a preference of enabling the checking, uncomment# one or both of the following lines:
|
||||
+# with the initiator requesting a preference of enabling the checking, uncomment
|
||||
+# the following lines (Data digests are not supported.):
|
||||
#node.conn[0].iscsi.HeaderDigest = CRC32C,None
|
||||
-#node.conn[0].iscsi.DataDigest = CRC32C,None
|
||||
+
|
||||
#
|
||||
# To allow the targets to control the setting of the digest checking,
|
||||
# with the initiator requesting a preference of disabling the checking,
|
||||
-# uncomment one or both of the following lines:
|
||||
+# uncomment the following line:
|
||||
#node.conn[0].iscsi.HeaderDigest = None,CRC32C
|
||||
-#node.conn[0].iscsi.DataDigest = None,CRC32C
|
||||
#
|
||||
# To enable CRC32C digest checking for the header and/or data part of
|
||||
-# iSCSI PDUs, uncomment one or both of the following lines:
|
||||
+# iSCSI PDUs, uncomment the following line:
|
||||
#node.conn[0].iscsi.HeaderDigest = CRC32C
|
||||
-#node.conn[0].iscsi.DataDigest = CRC32C
|
||||
#
|
||||
# To disable digest checking for the header and/or data part of
|
||||
-# iSCSI PDUs, uncomment one or both of the following lines:
|
||||
+# iSCSI PDUs, uncomment the following line:
|
||||
#node.conn[0].iscsi.HeaderDigest = None
|
||||
-#node.conn[0].iscsi.DataDigest = None
|
||||
#
|
||||
# The default is to never use DataDigests or HeaderDigests.
|
||||
#
|
||||
+node.conn[0].iscsi.HeaderDigest = None
|
||||
|
||||
# For multipath configurations, you may want more than one session to be
|
||||
# created on each iface record. If node.session.nr_sessions is greater
|
||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||
index a2332cc..aed08f2 100644
|
||||
--- a/usr/idbm.c
|
||||
+++ b/usr/idbm.c
|
||||
@@ -521,9 +521,13 @@ idbm_recinfo_node(node_rec_t *r, recinfo_t *ri)
|
||||
IDBM_SHOW, "None", "CRC32C", "CRC32C,None",
|
||||
"None,CRC32C", num, 1);
|
||||
sprintf(key, CONN_DATA_DIGEST, i);
|
||||
+
|
||||
+#if 0
|
||||
+We do not support data digests
|
||||
__recinfo_int_o4(key, ri, r, conn[i].iscsi.DataDigest, IDBM_SHOW,
|
||||
"None", "CRC32C", "CRC32C,None",
|
||||
"None,CRC32C", num, 1);
|
||||
+#endif
|
||||
sprintf(key, CONN_IFMARKER, i);
|
||||
__recinfo_int_o2(key, ri, r, conn[i].iscsi.IFMarker, IDBM_SHOW,
|
||||
"No", "Yes", num, 1);
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,255 @@
|
|||
From 9cae86dd15bf78ee9d221f722f723062eb6ad3d8 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Mon, 19 Nov 2012 16:38:45 -0800
|
||||
Subject: [PATCH] use var for config
|
||||
|
||||
---
|
||||
README | 33 ++++++++++++++++-----------------
|
||||
doc/iscsiadm.8 | 8 ++++----
|
||||
doc/iscsid.8 | 2 +-
|
||||
usr/idbm.c | 6 +++---
|
||||
usr/idbm.h | 13 +++++++------
|
||||
usr/iface.h | 3 ++-
|
||||
6 files changed, 33 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/README b/README
|
||||
index c05814a..326c3b0 100644
|
||||
--- a/README
|
||||
+++ b/README
|
||||
@@ -172,8 +172,7 @@ Usage: iscsid [OPTION]
|
||||
|
||||
Open-iSCSI persistent configuration is stored in a number of
|
||||
directories under a configuration root directory, using a flat-file
|
||||
-format. This configuration root directory is /etc/iscsi by default,
|
||||
-but may also commonly be in /var/lib/iscsi.
|
||||
+format. This configuration root directory is /var/lib/iscsi by default.
|
||||
|
||||
Configuration is contained in directories for:
|
||||
|
||||
@@ -561,7 +560,7 @@ a scsi_host per HBA port).
|
||||
To manage both types of initiator stacks, iscsiadm uses the interface (iface)
|
||||
structure. For each HBA port or for software iscsi for each network
|
||||
device (ethX) or NIC, that you wish to bind sessions to you must create
|
||||
-a iface config /etc/iscsi/ifaces.
|
||||
+a iface config /var/lib/iscsi/ifaces.
|
||||
|
||||
Prep
|
||||
----
|
||||
@@ -594,7 +593,7 @@ Running
|
||||
The command
|
||||
iscsiadm -m iface
|
||||
|
||||
-will report iface configurations that are setup in /etc/iscsi/ifaces:
|
||||
+will report iface configurations that are setup in /var/lib/iscsi/ifaces:
|
||||
|
||||
iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
|
||||
iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
|
||||
@@ -604,10 +603,10 @@ The format is:
|
||||
|
||||
For software iscsi, you can create the iface configs by hand, but it is
|
||||
recommended that you use iscsiadm's iface mode. There is an iface.example in
|
||||
-/etc/iscsi/ifaces which can be used as a template for the daring.
|
||||
+/var/lib/iscsi/ifaces which can be used as a template for the daring.
|
||||
|
||||
For each network object you wish to bind a session to, you must create
|
||||
-a separate iface config in /etc/iscsi/ifaces and each iface config file
|
||||
+a separate iface config in /var/lib/iscsi/ifaces and each iface config file
|
||||
must have a unique name which is less than or equal to 64 characters.
|
||||
|
||||
Example
|
||||
@@ -615,12 +614,12 @@ Example
|
||||
|
||||
If you have NIC1 with MAC address 00:0F:1F:92:6B:BF and NIC2 with
|
||||
MAC address 00:C0:DD:08:63:E7, and you wanted to do software iscsi over
|
||||
-TCP/IP, then in /etc/iscsi/ifaces/iface0 you would enter:
|
||||
+TCP/IP, then in /var/lib/iscsi/ifaces/iface0 you would enter:
|
||||
|
||||
iface.transport_name = tcp
|
||||
iface.hwaddress = 00:0F:1F:92:6B:BF
|
||||
|
||||
-and in /etc/iscsi/ifaces/iface1 you would enter:
|
||||
+and in /var/lib/iscsi/ifaces/iface1 you would enter:
|
||||
|
||||
iface.transport_name = tcp
|
||||
iface.hwaddress = 00:C0:DD:08:63:E7
|
||||
@@ -662,7 +661,7 @@ port. The iface name will be of the form:
|
||||
Running the following command:
|
||||
iscsiadm -m iface
|
||||
|
||||
-will report iface configurations that are setup in /etc/iscsi/ifaces:
|
||||
+will report iface configurations that are setup in /var/lib/iscsi/ifaces:
|
||||
|
||||
default tcp,<empty>,<empty>,<empty>,<empty>
|
||||
iser iser,<empty>,<empty>,<empty>,<empty>
|
||||
@@ -742,7 +741,7 @@ need a separate network connection to the target for discovery purposes.
|
||||
*This will be fixed in the next version of open-iscsi*
|
||||
|
||||
For compatibility reasons, when you run iscsiadm to do discovery, it
|
||||
-will check for interfaces in /etc/iscsi/iscsi/ifaces that are using
|
||||
+will check for interfaces in /var/lib/iscsi/iscsi/ifaces that are using
|
||||
tcp for the iface.transport, and it will bind the portals that are discovered
|
||||
so that they will be logged in through those ifaces. This behavior can also
|
||||
be overridden by passing in the interfaces you want to use. For the case
|
||||
@@ -757,7 +756,7 @@ If you had defined interfaces but wanted the old behavior, where we do not
|
||||
bind a session to an iface, then you can use the special iface "default":
|
||||
iscsiadm -m discoverydb -t st -p ip:port -I default --discover -P 1
|
||||
|
||||
-And if you did not define any interfaces in /etc/iscsi/ifaces and do
|
||||
+And if you did not define any interfaces in /var/lib/iscsi/ifaces and do
|
||||
not pass anything into iscsiadm, running iscsiadm will do the default
|
||||
behavior, allowing the network subsystem to decide which device to use.
|
||||
|
||||
@@ -793,7 +792,7 @@ Discovery mode
|
||||
ID [192.168.1.1:3260]:
|
||||
iscsiadm -m discoverydb -t st -p 192.168.1.1:3260 --discover
|
||||
|
||||
- This will search /etc/iscsi/send_targets for a record with the
|
||||
+ This will search /var/lib/iscsi/send_targets for a record with the
|
||||
ID [portal = 192.168.1.1:3260 and type = sendtargets. If found it
|
||||
will perform discovery using the settings stored in the record.
|
||||
If a record does not exist, it will be created using the iscsid.conf
|
||||
@@ -802,7 +801,7 @@ Discovery mode
|
||||
The argument to -p may also be a hostname instead of an address:
|
||||
iscsiadm -m discoverydb -t st -p somehost --discover
|
||||
|
||||
- For the ifaces, iscsiadm will first search /etc/iscsi/ifaces for
|
||||
+ For the ifaces, iscsiadm will first search /var/lib/iscsi/ifaces for
|
||||
interfaces using software iscsi. If any are found then nodes found
|
||||
during discovery will be setup so that they can logged in through
|
||||
those interfaces. To specify a specific iface, pass the
|
||||
@@ -853,7 +852,7 @@ Discovery mode
|
||||
|
||||
- SendTargets iSCSI Discovery with a specific interface.
|
||||
If you wish to only use a subset of the interfaces in
|
||||
- /etc/iscsi/ifaces, then you can pass them in during discovery:
|
||||
+ /var/lib/iscsi/ifaces, then you can pass them in during discovery:
|
||||
iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 \
|
||||
--interface=iface0 --interface=iface1 --discover
|
||||
|
||||
@@ -1223,8 +1222,8 @@ where targetname is the name of the target and ip_address:port is the address
|
||||
and port of the portal. tpgt is the Target Portal Group Tag of
|
||||
the portal, and is not used in iscsiadm commands except for static
|
||||
record creation. ifacename is the name of the iscsi interface
|
||||
-defined in /etc/iscsi/ifaces. If no interface was defined in
|
||||
-/etc/iscsi/ifaces or passed in, the default behavior is used.
|
||||
+defined in /var/lib/iscsi/ifaces. If no interface was defined in
|
||||
+/var/lib/iscsi/ifaces or passed in, the default behavior is used.
|
||||
Default here is iscsi_tcp/tcp to be used over whichever NIC the
|
||||
network layer decides is best.
|
||||
|
||||
@@ -1336,7 +1335,7 @@ If set, iscsid will perform discovery to the address every
|
||||
discovery.isns.discoveryd_poll_inval or
|
||||
discovery.sendtargets.discoveryd_poll_inval seconds,
|
||||
and it will log into any portals found from the discovery source using
|
||||
-the ifaces in /etc/iscsi/ifaces.
|
||||
+the ifaces in /var/lib/iscsi/ifaces.
|
||||
|
||||
Note that for iSNS the poll_interval does not have to be set. If not set,
|
||||
iscsid will only perform rediscovery when it gets a SCN from the server.
|
||||
diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8
|
||||
index bf23dd2..9cfce16 100644
|
||||
--- a/doc/iscsiadm.8
|
||||
+++ b/doc/iscsiadm.8
|
||||
@@ -228,7 +228,7 @@ This option is only valid for ping submode.
|
||||
.TP
|
||||
\fB\-I\fR, \fB\-\-interface=\fI[iface]\fR
|
||||
The interface argument specifies the iSCSI interface to use for the operation.
|
||||
-iSCSI interfaces (iface) are defined in /etc/iscsi/ifaces. For hardware
|
||||
+iSCSI interfaces (iface) are defined in /var/lib/iscsi/ifaces. For hardware
|
||||
iSCSI (qla4xxx) the iface config must have the hardware address
|
||||
(iface.hwaddress = port's MAC address)
|
||||
and the driver/transport_name (iface.transport_name). The iface's name is
|
||||
@@ -301,7 +301,7 @@ If no other options are specified: for \fIdiscovery\fR, \fIdiscoverydb\fR and
|
||||
\fInode\fR, all of their respective records are displayed; for \fIsession\fR,
|
||||
all active sessions and connections are displayed; for \fIfw\fR, all boot
|
||||
firmware values are displayed; for \fIhost\fR, all iSCSI hosts are displayed;
|
||||
-and for \fIiface\fR, all ifaces setup in /etc/iscsi/ifaces are displayed.
|
||||
+and for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed.
|
||||
.TP
|
||||
\fB\-n\fR, \fB\-\-name=\fIname\fR
|
||||
In node mode, specify a field \fIname\fR in a record. In flashnode submode
|
||||
@@ -640,10 +640,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup.
|
||||
The file containing the iSCSI InitiatorName and InitiatorAlias read by
|
||||
\fBiscsid\fR and \fBiscsiadm\fR on startup.
|
||||
.TP
|
||||
-/etc/iscsi/nodes/
|
||||
+/var/lib/iscsi/nodes/
|
||||
This directory contains the nodes with their targets.
|
||||
.TP
|
||||
-/etc/iscsi/send_targets
|
||||
+/var/lib/iscsi/send_targets
|
||||
This directory contains the portals.
|
||||
.SH "SEE ALSO"
|
||||
.BR iscsid (8)
|
||||
diff --git a/doc/iscsid.8 b/doc/iscsid.8
|
||||
index 6f9218f..0da0551 100644
|
||||
--- a/doc/iscsid.8
|
||||
+++ b/doc/iscsid.8
|
||||
@@ -65,7 +65,7 @@ and
|
||||
.B iscsiadm
|
||||
on startup.
|
||||
.TP
|
||||
-/etc/iscsi/nodes
|
||||
+/var/lib/iscsi/nodes
|
||||
Open-iSCSI persistent configuration database
|
||||
|
||||
.SH "SEE ALSO"
|
||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||
index aed08f2..15802c3 100644
|
||||
--- a/usr/idbm.c
|
||||
+++ b/usr/idbm.c
|
||||
@@ -2968,9 +2968,9 @@ free_info:
|
||||
int idbm_init(idbm_get_config_file_fn *fn)
|
||||
{
|
||||
/* make sure root db dir is there */
|
||||
- if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) {
|
||||
- if (mkdir(ISCSI_CONFIG_ROOT, 0660) != 0) {
|
||||
- log_error("Could not make %s %d", ISCSI_CONFIG_ROOT,
|
||||
+ if (access(ISCSIVAR, F_OK) != 0) {
|
||||
+ if (mkdir(ISCSIVAR, 0660) != 0) {
|
||||
+ log_error("Could not make %s %d", ISCSIVAR,
|
||||
errno);
|
||||
return errno;
|
||||
}
|
||||
diff --git a/usr/idbm.h b/usr/idbm.h
|
||||
index 18c5025..6bdfd60 100644
|
||||
--- a/usr/idbm.h
|
||||
+++ b/usr/idbm.h
|
||||
@@ -30,12 +30,13 @@
|
||||
#include "list.h"
|
||||
#include "flashnode.h"
|
||||
|
||||
-#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes"
|
||||
-#define SLP_CONFIG_DIR ISCSI_CONFIG_ROOT"slp"
|
||||
-#define ISNS_CONFIG_DIR ISCSI_CONFIG_ROOT"isns"
|
||||
-#define STATIC_CONFIG_DIR ISCSI_CONFIG_ROOT"static"
|
||||
-#define FW_CONFIG_DIR ISCSI_CONFIG_ROOT"fw"
|
||||
-#define ST_CONFIG_DIR ISCSI_CONFIG_ROOT"send_targets"
|
||||
+#define ISCSIVAR "/var/lib/iscsi/"
|
||||
+#define NODE_CONFIG_DIR ISCSIVAR"nodes"
|
||||
+#define SLP_CONFIG_DIR ISCSIVAR"slp"
|
||||
+#define ISNS_CONFIG_DIR ISCSIVAR"isns"
|
||||
+#define STATIC_CONFIG_DIR ISCSIVAR"static"
|
||||
+#define FW_CONFIG_DIR ISCSIVAR"fw"
|
||||
+#define ST_CONFIG_DIR ISCSIVAR"send_targets"
|
||||
#define ST_CONFIG_NAME "st_config"
|
||||
#define ISNS_CONFIG_NAME "isns_config"
|
||||
|
||||
diff --git a/usr/iface.h b/usr/iface.h
|
||||
index 6c06f7f..c8b9de9 100644
|
||||
--- a/usr/iface.h
|
||||
+++ b/usr/iface.h
|
||||
@@ -21,8 +21,9 @@
|
||||
#define ISCSI_IFACE_H
|
||||
|
||||
#include <libopeniscsiusr/libopeniscsiusr.h>
|
||||
+#include "idbm.h"
|
||||
|
||||
-#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces"
|
||||
+#define IFACE_CONFIG_DIR ISCSIVAR"ifaces"
|
||||
|
||||
struct iface_rec;
|
||||
struct list_head;
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
From 1ddee25396962a6bd966b98311881ed6d4cba87c Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Mon, 19 Nov 2012 16:40:04 -0800
|
||||
Subject: [PATCH] use red hat for name
|
||||
|
||||
---
|
||||
doc/iscsi-iname.8 | 2 +-
|
||||
utils/iscsi-iname.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/doc/iscsi-iname.8 b/doc/iscsi-iname.8
|
||||
index 6a413f6..dd77ed9 100644
|
||||
--- a/doc/iscsi-iname.8
|
||||
+++ b/doc/iscsi-iname.8
|
||||
@@ -14,7 +14,7 @@ generates a unique iSCSI node name on every invocation.
|
||||
Display help
|
||||
.TP
|
||||
.BI [-p=]\fIprefix\fP
|
||||
-Use the prefix passed in instead of the default "iqn.2016-04.com.open-iscsi"
|
||||
+Use the prefix passed in instead of the default "iqn.1994-05.com.redhat"
|
||||
|
||||
.SH AUTHORS
|
||||
Open-iSCSI project <http://www.open-iscsi.com/>
|
||||
diff --git a/utils/iscsi-iname.c b/utils/iscsi-iname.c
|
||||
index da850dc..29aa4ad 100644
|
||||
--- a/utils/iscsi-iname.c
|
||||
+++ b/utils/iscsi-iname.c
|
||||
@@ -80,7 +80,7 @@ main(int argc, char *argv[])
|
||||
exit(0);
|
||||
}
|
||||
} else {
|
||||
- prefix = "iqn.2016-04.com.open-iscsi";
|
||||
+ prefix = "iqn.1994-05.com.redhat";
|
||||
}
|
||||
|
||||
/* try to feed some entropy from the pool to MD5 in order to get
|
||||
--
|
||||
2.21.0
|
||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,56 @@
|
|||
From 3df19ccba0af40da8cdb15c41e1bcd08ce25fbd9 Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Konecny <jkonecny@redhat.com>
|
||||
Date: Mon, 11 May 2015 13:16:26 +0200
|
||||
Subject: [PATCH] Add macros to release GIL lock
|
||||
|
||||
Other threads are blocked when GIL is not released before the time consuming
|
||||
functions.
|
||||
---
|
||||
libiscsi/pylibiscsi.c | 16 +++++++++++++---
|
||||
1 file changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libiscsi/pylibiscsi.c b/libiscsi/pylibiscsi.c
|
||||
index 8800853..40b5955 100644
|
||||
--- a/libiscsi/pylibiscsi.c
|
||||
+++ b/libiscsi/pylibiscsi.c
|
||||
@@ -364,8 +364,13 @@ static PyObject *PyIscsiNode_str(PyObject *self)
|
||||
static PyObject *PyIscsiNode_login(PyObject *self)
|
||||
{
|
||||
PyIscsiNode *node = (PyIscsiNode *)self;
|
||||
+ int ret;
|
||||
|
||||
- if (libiscsi_node_login(context, &node->node)) {
|
||||
+ Py_BEGIN_ALLOW_THREADS
|
||||
+ ret = libiscsi_node_login(context, &node->node);
|
||||
+ Py_END_ALLOW_THREADS
|
||||
+
|
||||
+ if (ret) {
|
||||
PyErr_SetString(PyExc_IOError,
|
||||
libiscsi_get_error_string(context));
|
||||
return NULL;
|
||||
@@ -551,6 +556,7 @@ static PyObject *pylibiscsi_discover_sendtargets(PyObject *self,
|
||||
const struct libiscsi_auth_info *authinfo = NULL;
|
||||
struct libiscsi_node *found_nodes;
|
||||
PyObject* found_node_list;
|
||||
+ int ret;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|iO",
|
||||
kwlist, &address, &port,
|
||||
@@ -570,8 +576,12 @@ static PyObject *pylibiscsi_discover_sendtargets(PyObject *self,
|
||||
}
|
||||
}
|
||||
|
||||
- if (libiscsi_discover_sendtargets(context, address, port, authinfo,
|
||||
- &nr_found, &found_nodes)) {
|
||||
+ Py_BEGIN_ALLOW_THREADS
|
||||
+ ret = libiscsi_discover_sendtargets(context, address, port, authinfo,
|
||||
+ &nr_found, &found_nodes);
|
||||
+ Py_END_ALLOW_THREADS
|
||||
+
|
||||
+ if (ret) {
|
||||
PyErr_SetString(PyExc_IOError,
|
||||
libiscsi_get_error_string(context));
|
||||
return NULL;
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,290 @@
|
|||
From bca0b3a085b7a169aa40d81ed7997c73fde8b4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hatina <phatina@redhat.com>
|
||||
Date: Mon, 5 Oct 2015 16:50:36 -0700
|
||||
Subject: [PATCH] libiscsi introduce sessions API
|
||||
|
||||
---
|
||||
libiscsi/libiscsi.c | 125 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
libiscsi/libiscsi.h | 56 ++++++++++++++++++++
|
||||
usr/iscsi_sysfs.c | 6 +++
|
||||
usr/iscsi_sysfs.h | 2 +
|
||||
4 files changed, 189 insertions(+)
|
||||
|
||||
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
||||
index 064e4b5..755c18c 100644
|
||||
--- a/libiscsi/libiscsi.c
|
||||
+++ b/libiscsi/libiscsi.c
|
||||
@@ -3,6 +3,7 @@
|
||||
*
|
||||
* Copyright (C) 2008-2009 Red Hat, Inc. All rights reserved.
|
||||
* Copyright (C) 2008-2009 Hans de Goede <hdegoede@redhat.com>
|
||||
+ * Copyright (C) 2015 Peter Hatina <phatina@redhat.com>
|
||||
* maintained by open-iscsi@googlegroups.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -469,6 +470,130 @@ leave:
|
||||
return rc;
|
||||
}
|
||||
|
||||
+struct libiscsi_session_array {
|
||||
+ int cnt;
|
||||
+ int size;
|
||||
+ struct libiscsi_session_info *data;
|
||||
+};
|
||||
+
|
||||
+static void libiscsi_session_array_init(struct libiscsi_session_array *arr)
|
||||
+{
|
||||
+ arr->cnt = 0;
|
||||
+ arr->size = 0;
|
||||
+ arr->data = NULL;
|
||||
+}
|
||||
+
|
||||
+static int libiscsi_session_array_grow(struct libiscsi_session_array *arr)
|
||||
+{
|
||||
+ if (arr->size == 0)
|
||||
+ arr->size = 4;
|
||||
+ else
|
||||
+ arr->size *= 2;
|
||||
+
|
||||
+ arr->data = (struct libiscsi_session_info *) realloc(
|
||||
+ arr->data,
|
||||
+ arr->size * sizeof(struct libiscsi_session_info));
|
||||
+
|
||||
+ return arr->data ? 0 : 1;
|
||||
+}
|
||||
+
|
||||
+static int libiscsi_session_array_grow_ondemand(struct libiscsi_session_array *arr)
|
||||
+{
|
||||
+ if (arr->size == arr->cnt)
|
||||
+ return libiscsi_session_array_grow(arr);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int libiscsi_session_array_resize_precize(struct libiscsi_session_array *arr)
|
||||
+{
|
||||
+ arr->data = (struct libiscsi_session_info *) realloc(
|
||||
+ arr->data,
|
||||
+ arr->cnt * sizeof(struct libiscsi_session_info));
|
||||
+ arr->size = arr->cnt;
|
||||
+
|
||||
+ return arr->data ? 0 : 1;
|
||||
+}
|
||||
+
|
||||
+static void copy_session_info_to_libiscsi_session_info(
|
||||
+ struct libiscsi_session_info *info,
|
||||
+ struct session_info *s_info)
|
||||
+{
|
||||
+ /* Copy session info to public struct. */
|
||||
+ info->sid = s_info->sid;
|
||||
+ /* Timeouts */
|
||||
+ memcpy(&info->tmo, &s_info->tmo, sizeof(struct libiscsi_session_timeout));
|
||||
+ /* CHAP authentication information */
|
||||
+ memcpy(&info->chap, &s_info->chap, sizeof(struct libiscsi_chap_auth_info));
|
||||
+ /* Target information */
|
||||
+ strncpy(info->targetname, s_info->targetname, LIBISCSI_VALUE_MAXLEN);
|
||||
+ strncpy(info->address, s_info->address, NI_MAXHOST);
|
||||
+ strncpy(info->persistent_address, s_info->persistent_address, NI_MAXHOST);
|
||||
+ info->tpgt = s_info->tpgt;
|
||||
+ info->persistent_port = s_info->persistent_port;
|
||||
+}
|
||||
+
|
||||
+static int get_sessions_helper(void *data, struct session_info *s_info)
|
||||
+{
|
||||
+ struct libiscsi_session_array *arr = (struct libiscsi_session_array *) data;
|
||||
+
|
||||
+ if (libiscsi_session_array_grow_ondemand(arr) != 0)
|
||||
+ return 1;
|
||||
+
|
||||
+ copy_session_info_to_libiscsi_session_info(&arr->data[arr->cnt++], s_info);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int libiscsi_get_session_infos(struct libiscsi_context *context,
|
||||
+ struct libiscsi_session_info **infos,
|
||||
+ int *nr_sessions)
|
||||
+{
|
||||
+ int rc = 0;
|
||||
+ int nr_found = 0;
|
||||
+ struct libiscsi_session_array arr;
|
||||
+
|
||||
+ if (!context || !infos || !nr_sessions)
|
||||
+ return 1;
|
||||
+
|
||||
+ libiscsi_session_array_init(&arr);
|
||||
+
|
||||
+ rc = iscsi_sysfs_for_each_session((void *) &arr, &nr_found,
|
||||
+ get_sessions_helper, 0);
|
||||
+ if (rc != 0 || nr_found == 0) {
|
||||
+ strcpy(context->error_str, "No matching session");
|
||||
+ return ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ if (libiscsi_session_array_resize_precize(&arr) != 0) {
|
||||
+ strcpy(context->error_str, "Can't allocate memory for session infos");
|
||||
+ return ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ *infos = arr.data;
|
||||
+ *nr_sessions = nr_found;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int libiscsi_get_session_info_by_id(struct libiscsi_context *context,
|
||||
+ struct libiscsi_session_info *info,
|
||||
+ const char *session)
|
||||
+{
|
||||
+ struct session_info s_info;
|
||||
+
|
||||
+ if (!context || !info || !session)
|
||||
+ return 1;
|
||||
+
|
||||
+ if (iscsi_sysfs_get_sessioninfo_by_id(&s_info, (char*) session) != 0) {
|
||||
+ strcpy(context->error_str, "No matching session");
|
||||
+ return ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ copy_session_info_to_libiscsi_session_info(info, &s_info);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int libiscsi_node_set_parameter(struct libiscsi_context *context,
|
||||
const struct libiscsi_node *node,
|
||||
const char *parameter, const char *value)
|
||||
diff --git a/libiscsi/libiscsi.h b/libiscsi/libiscsi.h
|
||||
index 756590e..a9891f4 100644
|
||||
--- a/libiscsi/libiscsi.h
|
||||
+++ b/libiscsi/libiscsi.h
|
||||
@@ -3,6 +3,7 @@
|
||||
*
|
||||
* Copyright (C) 2008-2009 Red Hat, Inc. All rights reserved.
|
||||
* Copyright (C) 2008-2009 Hans de Goede <hdegoede@redhat.com>
|
||||
+ * Copyright (C) 2015 Peter Hatina <phatina@redhat.com>
|
||||
* maintained by open-iscsi@googlegroups.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -56,6 +57,17 @@ enum libiscsi_auth_t {
|
||||
*/
|
||||
struct libiscsi_context;
|
||||
|
||||
+/** \brief iSCSI session timeouts
|
||||
+ *
|
||||
+ * Struct holding session timeouts.
|
||||
+ */
|
||||
+struct libiscsi_session_timeout {
|
||||
+ int abort_tmo;
|
||||
+ int lu_reset_tmo;
|
||||
+ int recovery_tmo;
|
||||
+ int tgt_reset_tmo;
|
||||
+};
|
||||
+
|
||||
/** \brief iSCSI node record
|
||||
*
|
||||
* Struct holding data uniquely identifying an iSCSI node.
|
||||
@@ -84,6 +96,24 @@ struct libiscsi_chap_auth_info {
|
||||
char reverse_password[LIBISCSI_VALUE_MAXLEN] /** Reverse Password */;
|
||||
};
|
||||
|
||||
+/** \brief iSCSI session
|
||||
+ *
|
||||
+ * Struct hoding iSCSI session information.
|
||||
+ */
|
||||
+struct libiscsi_session_info {
|
||||
+ int sid;
|
||||
+
|
||||
+ struct libiscsi_session_timeout tmo;
|
||||
+ struct libiscsi_chap_auth_info chap;
|
||||
+
|
||||
+ char targetname[LIBISCSI_VALUE_MAXLEN];
|
||||
+ int tpgt;
|
||||
+ char address[NI_MAXHOST];
|
||||
+ int port;
|
||||
+ char persistent_address[NI_MAXHOST];
|
||||
+ int persistent_port;
|
||||
+};
|
||||
+
|
||||
/** \brief generic libiscsi authentication information struct
|
||||
*
|
||||
* Struct holding authentication information for discovery and login.
|
||||
@@ -248,6 +278,32 @@ PUBLIC int libiscsi_node_login(struct libiscsi_context *context,
|
||||
PUBLIC int libiscsi_node_logout(struct libiscsi_context *context,
|
||||
const struct libiscsi_node *node);
|
||||
|
||||
+/** \brief Get an array of iSCSI sessions.
|
||||
+ *
|
||||
+ * Get the array containing iSCSI sessions' information.
|
||||
+ *
|
||||
+ * \param context libiscsi context to operate on.
|
||||
+ * \param infos Array of iSCSI sessions' information.
|
||||
+ * Release with free().
|
||||
+ * \param nr_sessions The number of elements in \e infos.
|
||||
+ * \return 0 on success, otherwise a standard error code
|
||||
+ * (from errno.h).
|
||||
+ */
|
||||
+PUBLIC int libiscsi_get_session_infos(struct libiscsi_context *context,
|
||||
+ struct libiscsi_session_info **infos, int *nr_sessions);
|
||||
+
|
||||
+/** \brief Get session information by session ID.
|
||||
+ *
|
||||
+ * \param context libiscsi context to operate on.
|
||||
+ * \param info iSCSI session information.
|
||||
+ * \param session Session name.
|
||||
+ * \return 0 on success, otherwise a standard error code
|
||||
+ * (from errno.h)
|
||||
+ */
|
||||
+PUBLIC int libiscsi_get_session_info_by_id(struct libiscsi_context *context,
|
||||
+ struct libiscsi_session_info *info,
|
||||
+ const char *session);
|
||||
+
|
||||
/** \brief Set an iSCSI parameter for the given node
|
||||
*
|
||||
* Set the given nodes iSCSI parameter named by \e parameter to value \e value.
|
||||
diff --git a/usr/iscsi_sysfs.c b/usr/iscsi_sysfs.c
|
||||
index 418f51b..6febba2 100644
|
||||
--- a/usr/iscsi_sysfs.c
|
||||
+++ b/usr/iscsi_sysfs.c
|
||||
@@ -3,6 +3,7 @@
|
||||
*
|
||||
* Copyright (C) 2006 Mike Christie
|
||||
* Copyright (C) 2006 Red Hat, Inc. All rights reserved.
|
||||
+ * Copyright (C) 2015 Peter Hatina <phatina@redhat.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published
|
||||
@@ -1151,6 +1152,11 @@ free_info:
|
||||
return rc;
|
||||
}
|
||||
|
||||
+const char *iscsi_sysfs_get_session_path(void)
|
||||
+{
|
||||
+ return ISCSI_SESSION_DIR;
|
||||
+}
|
||||
+
|
||||
int iscsi_sysfs_for_each_iface_on_host(void *data, uint32_t host_no,
|
||||
int *nr_found,
|
||||
iscsi_sysfs_iface_op_fn *fn)
|
||||
diff --git a/usr/iscsi_sysfs.h b/usr/iscsi_sysfs.h
|
||||
index 1d0377f..909db34 100644
|
||||
--- a/usr/iscsi_sysfs.h
|
||||
+++ b/usr/iscsi_sysfs.h
|
||||
@@ -3,6 +3,7 @@
|
||||
*
|
||||
* Copyright (C) 2006 Mike Christie
|
||||
* Copyright (C) 2006 Red Hat, Inc. All rights reserved.
|
||||
+ * Copyright (C) 2015 Peter Hatina <phatina@redhat.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published
|
||||
@@ -47,6 +48,7 @@ typedef int (iscsi_sysfs_flashnode_op_fn)(void *, struct flashnode_rec *,
|
||||
uint32_t, uint32_t);
|
||||
typedef int (iscsi_sysfs_iface_op_fn)(void *, struct iface_rec *);
|
||||
|
||||
+extern const char *iscsi_sysfs_get_session_path(void);
|
||||
extern int iscsi_sysfs_for_each_iface_on_host(void *data, uint32_t host_no,
|
||||
int *nr_found,
|
||||
iscsi_sysfs_iface_op_fn *fn);
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
From 2e660a78632545e98f7c9e2ffb8518512c0db5ff Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Tue, 28 Feb 2017 09:00:41 -0800
|
||||
Subject: [PATCH] libiscsi: fix discovery request timeout regression
|
||||
|
||||
---
|
||||
libiscsi/libiscsi.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
||||
index 755c18c..bb17dfc 100644
|
||||
--- a/libiscsi/libiscsi.c
|
||||
+++ b/libiscsi/libiscsi.c
|
||||
@@ -136,6 +136,7 @@ int libiscsi_discover_sendtargets(struct libiscsi_context *context,
|
||||
|
||||
/* Fill the drec struct with all needed info */
|
||||
memset(&drec, 0, sizeof drec);
|
||||
+ drec.iscsid_req_tmo = -1;
|
||||
idbm_sendtargets_defaults(&drec.u.sendtargets);
|
||||
drec.type = DISCOVERY_TYPE_SENDTARGETS;
|
||||
strlcpy(drec.address, address, sizeof(drec.address));
|
||||
@@ -228,6 +229,7 @@ int libiscsi_discover_firmware(struct libiscsi_context *context,
|
||||
CHECK(iface_create_ifaces_from_boot_contexts(&ifaces, &targets));
|
||||
|
||||
memset(&drec, 0, sizeof(drec));
|
||||
+ drec.iscsid_req_tmo = -1;
|
||||
drec.type = DISCOVERY_TYPE_FW;
|
||||
rc = idbm_bind_ifaces_to_nodes(discovery_fw, &drec, &ifaces, &rec_list);
|
||||
if (rc) {
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
From 3040b7530eda1ab5625d76783dc7b8cf595a0ef0 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Tue, 28 Feb 2017 10:06:42 -0800
|
||||
Subject: [PATCH] libiscsi format-security build errors
|
||||
|
||||
---
|
||||
libiscsi/libiscsi.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
||||
index bb17dfc..7003388 100644
|
||||
--- a/libiscsi/libiscsi.c
|
||||
+++ b/libiscsi/libiscsi.c
|
||||
@@ -177,7 +177,8 @@ int libiscsi_discover_sendtargets(struct libiscsi_context *context,
|
||||
*found_nodes = calloc(found, sizeof **found_nodes);
|
||||
if (*found_nodes == NULL) {
|
||||
snprintf(context->error_str,
|
||||
- sizeof(context->error_str), strerror(ENOMEM));
|
||||
+ sizeof(context->error_str),
|
||||
+ "%s", strerror(ENOMEM));
|
||||
rc = ENOMEM;
|
||||
goto leave;
|
||||
}
|
||||
@@ -634,7 +635,7 @@ static int get_parameter_helper(void *data, node_rec_t *rec)
|
||||
info = idbm_recinfo_alloc(MAX_KEYS);
|
||||
if (!info) {
|
||||
snprintf(context->error_str, sizeof(context->error_str),
|
||||
- strerror(ENOMEM));
|
||||
+ "%s", strerror(ENOMEM));
|
||||
return ENOMEM;
|
||||
}
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
From 123fc55dd8ad98c9afd39bf0824b3d31d5e93214 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Thu, 24 May 2018 15:17:05 -0700
|
||||
Subject: [PATCH] libiscsi fix build to use libopeniscsiusr
|
||||
|
||||
---
|
||||
libiscsi/Makefile | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libiscsi/Makefile b/libiscsi/Makefile
|
||||
index 53f9746..f2cf248 100644
|
||||
--- a/libiscsi/Makefile
|
||||
+++ b/libiscsi/Makefile
|
||||
@@ -8,7 +8,9 @@ OSNAME=$(shell uname -s)
|
||||
OPTFLAGS ?= -O2 -g
|
||||
WARNFLAGS ?= -Wall -Wstrict-prototypes
|
||||
CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
|
||||
- -D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden
|
||||
+ -D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden \
|
||||
+ -I../libopeniscsiusr
|
||||
+LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr
|
||||
LIB = libiscsi.so.0
|
||||
TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware
|
||||
TESTS += tests/test_login tests/test_logout tests/test_params
|
||||
@@ -23,7 +25,7 @@ FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sys
|
||||
# sources shared with the userspace utils, note we build these separately
|
||||
# to get PIC versions.
|
||||
COMMON_OBJS = $(patsubst %.o, common-objs/%.o, $(COMMON_SRCS))
|
||||
-USR_OBJS = $(patsubst %.o, usr-objs/%.o, $(ISCSI_LIB_SRCS) strings.o)
|
||||
+USR_OBJS = $(patsubst %.o, usr-objs/%.o, $(ISCSI_LIB_SRCS) local_strings.o)
|
||||
FW_OBJS = $(patsubst %.o, fw-objs/%.o, $(FW_PARAM_SRCS))
|
||||
|
||||
# Flags for the tests
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
From 039700890e11dff3323241349d3858f258c09cc0 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Thu, 7 Nov 2019 09:16:17 -0800
|
||||
Subject: [PATCH] libiscsi: fix build against latest upstream, again
|
||||
|
||||
---
|
||||
libiscsi/Makefile | 4 ++--
|
||||
libiscsi/libiscsi.c | 6 +++---
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libiscsi/Makefile b/libiscsi/Makefile
|
||||
index f2cf248..462d666 100644
|
||||
--- a/libiscsi/Makefile
|
||||
+++ b/libiscsi/Makefile
|
||||
@@ -10,7 +10,7 @@ WARNFLAGS ?= -Wall -Wstrict-prototypes
|
||||
CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
|
||||
-D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden \
|
||||
-I../libopeniscsiusr
|
||||
-LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr
|
||||
+LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr -lkmod -lcrypto
|
||||
LIB = libiscsi.so.0
|
||||
TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware
|
||||
TESTS += tests/test_login tests/test_logout tests/test_params
|
||||
@@ -19,7 +19,7 @@ TESTS += tests/test_set_auth tests/test_get_auth
|
||||
|
||||
COMMON_SRCS = sysdeps.o
|
||||
# sources shared between iscsid, iscsiadm and iscsistart
|
||||
-ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o md5.o sha1.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o
|
||||
+ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o
|
||||
FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sysfs.o
|
||||
|
||||
# sources shared with the userspace utils, note we build these separately
|
||||
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
||||
index 7003388..c598aee 100644
|
||||
--- a/libiscsi/libiscsi.c
|
||||
+++ b/libiscsi/libiscsi.c
|
||||
@@ -429,7 +429,7 @@ int libiscsi_node_login(struct libiscsi_context *context,
|
||||
|
||||
CHECK(idbm_for_each_iface(&nr_found, (void*)node->iface, login_helper,
|
||||
(char *)node->name, node->tpgt,
|
||||
- (char *)node->address, node->port))
|
||||
+ (char *)node->address, node->port, false))
|
||||
if (nr_found == 0) {
|
||||
strcpy(context->error_str, "No such node");
|
||||
rc = ENODEV;
|
||||
@@ -615,7 +615,7 @@ int libiscsi_node_set_parameter(struct libiscsi_context *context,
|
||||
|
||||
CHECK(idbm_for_each_iface(&nr_found, ¶ms, idbm_node_set_param,
|
||||
(char *)node->name, node->tpgt,
|
||||
- (char *)node->address, node->port))
|
||||
+ (char *)node->address, node->port, false))
|
||||
if (nr_found == 0) {
|
||||
strcpy(context->error_str, "No such node");
|
||||
rc = ENODEV;
|
||||
@@ -677,7 +677,7 @@ int libiscsi_node_get_parameter(struct libiscsi_context *context,
|
||||
as most settings should be the same independent of the iface. */
|
||||
CHECK(idbm_for_each_iface(&nr_found, context, get_parameter_helper,
|
||||
(char *)node->name, node->tpgt,
|
||||
- (char *)node->address, node->port))
|
||||
+ (char *)node->address, node->port, false))
|
||||
if (nr_found == 0) {
|
||||
strcpy(context->error_str, "No such node");
|
||||
rc = ENODEV;
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
From d0689253c9e2eb78fc5296adb109aba4d35a13fd Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Mon, 19 Nov 2012 17:09:24 -0800
|
||||
Subject: [PATCH] remove the offload boot supported ifdef
|
||||
|
||||
---
|
||||
usr/iface.c | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/usr/iface.c b/usr/iface.c
|
||||
index 645b0b8..9cd07fd 100644
|
||||
--- a/usr/iface.c
|
||||
+++ b/usr/iface.c
|
||||
@@ -993,6 +993,7 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
|
||||
{
|
||||
struct iscsi_transport *t = NULL;
|
||||
uint32_t hostno;
|
||||
+ int rc;
|
||||
|
||||
if (strlen(context->initiatorname))
|
||||
strlcpy(iface->iname, context->initiatorname,
|
||||
@@ -1006,10 +1007,7 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
|
||||
return 0;
|
||||
}
|
||||
} else if (strlen(context->iface)) {
|
||||
-/* this ifdef is only temp until distros and firmwares are updated */
|
||||
-#ifdef OFFLOAD_BOOT_SUPPORTED
|
||||
char transport_name[ISCSI_TRANSPORT_NAME_MAXLEN];
|
||||
- int rc;
|
||||
|
||||
memset(transport_name, 0, ISCSI_TRANSPORT_NAME_MAXLEN);
|
||||
/* make sure offload driver is loaded */
|
||||
@@ -1035,9 +1033,6 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
|
||||
}
|
||||
|
||||
strlcpy(iface->netdev, context->iface, sizeof(iface->netdev));
|
||||
-#else
|
||||
- return 0;
|
||||
-#endif
|
||||
} else
|
||||
return 0;
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From ccb9d70a0dad7c42f926f1680ae708a5ae3d3696 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Mon, 24 Feb 2014 09:33:33 -0800
|
||||
Subject: [PATCH] Revert "iscsiadm: return error when login fails"
|
||||
|
||||
This reverts commit fc2a8e9a2911bc76f961fe3e4a159fab9b8b9691.
|
||||
|
||||
Done to address RHBZ #1015563
|
||||
---
|
||||
usr/session_mgmt.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/usr/session_mgmt.c b/usr/session_mgmt.c
|
||||
index 0500f15..1e1f2bc 100644
|
||||
--- a/usr/session_mgmt.c
|
||||
+++ b/usr/session_mgmt.c
|
||||
@@ -178,12 +178,12 @@ int iscsi_login_portal(void *data, struct list_head *list, struct node_rec *rec)
|
||||
goto done;
|
||||
}
|
||||
if (session_count >= rec->session.nr_sessions) {
|
||||
- log_warning("%s: %d session%s requested, but %d "
|
||||
+ log_debug(1, "%s: %d session%s requested, but %d "
|
||||
"already present.",
|
||||
rec->iface.name, rec->session.nr_sessions,
|
||||
rec->session.nr_sessions == 1 ? "" : "s",
|
||||
session_count);
|
||||
- rc = ISCSI_ERR_SESS_EXISTS;
|
||||
+ rc = 0;
|
||||
goto done;
|
||||
}
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From f524e332835b2b59d3f3ff8a67814ef2d58a2857 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Fri, 25 May 2018 09:39:07 -0700
|
||||
Subject: [PATCH] dont install scripts
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 4ab091f..7e6b734 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -116,7 +116,7 @@ install_systemd:
|
||||
$(INSTALL) -d $(DESTDIR)$(systemddir)
|
||||
$(INSTALL) -m 644 $(SYSTEMDFILES) $(DESTDIR)/$(systemddir)
|
||||
|
||||
-install_programs: $(PROGRAMS) $(SCRIPTS)
|
||||
+install_programs: $(PROGRAMS) # $(SCRIPTS)
|
||||
$(INSTALL) -d $(DESTDIR)$(sbindir)
|
||||
$(INSTALL) -m 755 $^ $(DESTDIR)$(sbindir)
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
From e2b8215b80cc037ecbcb9eef50e432c31d5e56eb Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Wed, 30 May 2018 16:08:30 -0700
|
||||
Subject: [PATCH] use /var/lib/iscsi in libopeniscsiusr
|
||||
|
||||
---
|
||||
libopeniscsiusr/idbm.h | 3 ++-
|
||||
libopeniscsiusr/iface.c | 2 +-
|
||||
libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h | 8 ++++----
|
||||
libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h | 2 +-
|
||||
libopeniscsiusr/node.h | 2 +-
|
||||
5 files changed, 9 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/libopeniscsiusr/idbm.h b/libopeniscsiusr/idbm.h
|
||||
index 3fd0864..c84d332 100644
|
||||
--- a/libopeniscsiusr/idbm.h
|
||||
+++ b/libopeniscsiusr/idbm.h
|
||||
@@ -31,7 +31,8 @@
|
||||
#include "libopeniscsiusr/libopeniscsiusr_common.h"
|
||||
|
||||
#define ISCSI_CONFIG_ROOT "/etc/iscsi/"
|
||||
-#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces"
|
||||
+#define ISCSI_VAR_LIB "/var/lib/iscsi/"
|
||||
+#define IFACE_CONFIG_DIR ISCSI_VAR_LIB"ifaces"
|
||||
#define AUTH_STR_MAX_LEN 256
|
||||
#define BOOT_NAME_MAXLEN 256
|
||||
#define IDBM_DUMP_SIZE 8192
|
||||
diff --git a/libopeniscsiusr/iface.c b/libopeniscsiusr/iface.c
|
||||
index e7938a5..99ab7b5 100644
|
||||
--- a/libopeniscsiusr/iface.c
|
||||
+++ b/libopeniscsiusr/iface.c
|
||||
@@ -381,7 +381,7 @@ int iscsi_default_iface_setup(struct iscsi_context *ctx)
|
||||
|
||||
_good(_iscsi_hids_get(ctx, &hids, &hid_count), rc, out);
|
||||
for (i = 0; i < hid_count; ++i) {
|
||||
- /* Create /etc/iscsi/ifaces/<iface_name> file if not found
|
||||
+ /* Create /var/lib/iscsi/ifaces/<iface_name> file if not found
|
||||
*/
|
||||
_good(_iscsi_ifaces_get_from_sysfs(ctx, hids[i], &ifaces, &iface_count),
|
||||
rc, out);
|
||||
diff --git a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h
|
||||
index 4395902..81582da 100644
|
||||
--- a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h
|
||||
+++ b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h
|
||||
@@ -339,7 +339,7 @@ __DLL_EXPORT void iscsi_session_free(struct iscsi_session *se);
|
||||
* * bnx2i
|
||||
*
|
||||
* It will also create configuration files for iSCSI hardware offload cards in
|
||||
- * /etc/iscsi/ifaces/<iface_name>.
|
||||
+ * /var/lib/iscsi/ifaces/<iface_name>.
|
||||
*
|
||||
* @ctx:
|
||||
* Pointer of 'struct iscsi_context'.
|
||||
@@ -369,7 +369,7 @@ __DLL_EXPORT int iscsi_default_iface_setup(struct iscsi_context *ctx);
|
||||
* Retrieves all iSCSI interfaces. For the properties of 'struct iscsi_iface',
|
||||
* please refer to the functions defined in 'libopeniscsiusr_iface.h' file.
|
||||
* The returned results contains default iSCSI interfaces(iser and iscsi_tcp)
|
||||
- * and iSCSI interfaces configured in "/etc/iscsi/ifaces/".
|
||||
+ * and iSCSI interfaces configured in "/var/lib/iscsi/ifaces/".
|
||||
* Illegal configuration file will be skipped and warned.
|
||||
* To generate iSCSI interface configuration when new card installed, please
|
||||
* use iscsi_default_iface_setup().
|
||||
@@ -427,7 +427,7 @@ __DLL_EXPORT void iscsi_ifaces_free(struct iscsi_iface **ifaces,
|
||||
* iscsi_iface_get() - Retrieve specified iSCSI interface.
|
||||
*
|
||||
* Retrieves specified iSCSI interfaces by reading configuration from
|
||||
- * "/etc/iscsi/iface/<iface_name>".
|
||||
+ * "/var/lib/iscsi/iface/<iface_name>".
|
||||
* To generate iSCSI interface configuration when new card installed, please
|
||||
* use iscsi_default_iface_setup().
|
||||
* Illegal configuration file will be treated as error LIBISCSI_ERR_IDBM.
|
||||
@@ -438,7 +438,7 @@ __DLL_EXPORT void iscsi_ifaces_free(struct iscsi_iface **ifaces,
|
||||
* If this pointer is NULL, your program will be terminated by assert.
|
||||
* @iface_name:
|
||||
* String. Name of iSCSI interface. Also the file name of configuration
|
||||
- * file "/etc/iscsi/iface/<iface_name>".
|
||||
+ * file "/var/lib/iscsi/iface/<iface_name>".
|
||||
* If this pointer is NULL or empty string, your program will be terminated
|
||||
* by assert.
|
||||
* @iface:
|
||||
diff --git a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h
|
||||
index a1a2552..95b0160 100644
|
||||
--- a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h
|
||||
+++ b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h
|
||||
@@ -182,7 +182,7 @@ __DLL_EXPORT const char *iscsi_iface_name_get(struct iscsi_iface *iface);
|
||||
*
|
||||
* Dump all configurations of specified iSCSI interface. Will skip empty
|
||||
* configuration so that output string could be saved directly to
|
||||
- * /etc/iscsi/ifaces/<iface_name> file.
|
||||
+ * /var/lib/iscsi/ifaces/<iface_name> file.
|
||||
*
|
||||
* @iface:
|
||||
* Pointer of 'struct iscsi_iface'.
|
||||
diff --git a/libopeniscsiusr/node.h b/libopeniscsiusr/node.h
|
||||
index 39e07b3..9eba7fa 100644
|
||||
--- a/libopeniscsiusr/node.h
|
||||
+++ b/libopeniscsiusr/node.h
|
||||
@@ -44,7 +44,7 @@ struct iscsi_node {
|
||||
char portal[NI_MAXHOST * 2];
|
||||
};
|
||||
|
||||
-#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes"
|
||||
+#define NODE_CONFIG_DIR ISCSI_VAR_LIB"nodes"
|
||||
|
||||
/* Might be public in the future */
|
||||
__DLL_LOCAL void iscsi_node_free(struct iscsi_node *node);
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
From 44bb05de04c0f8819c1fdae8f567dd802a8444e8 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Wed, 5 Jun 2019 09:08:39 -0700
|
||||
Subject: [PATCH] Coverity scan fixes
|
||||
|
||||
---
|
||||
iscsiuio/src/unix/libs/qedi.c | 2 +-
|
||||
iscsiuio/src/unix/main.c | 12 ++++++++++--
|
||||
libopeniscsiusr/idbm.c | 11 +++++------
|
||||
usr/idbm.c | 10 ++++------
|
||||
usr/iscsid.c | 2 +-
|
||||
5 files changed, 21 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/iscsiuio/src/unix/libs/qedi.c b/iscsiuio/src/unix/libs/qedi.c
|
||||
index 3414cb5..a359700 100644
|
||||
--- a/iscsiuio/src/unix/libs/qedi.c
|
||||
+++ b/iscsiuio/src/unix/libs/qedi.c
|
||||
@@ -1023,7 +1023,7 @@ static int qedi_read(nic_t *nic, packet_t *pkt)
|
||||
|
||||
LOG_DEBUG(PFX "%s:hw_prod %d bd_prod %d, rx_pkt_idx %d, rxlen %d",
|
||||
nic->log_name, hw_prod, bd_prod, rx_bd->rx_pkt_index, len);
|
||||
- LOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %d",
|
||||
+ LOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %lu",
|
||||
nic->log_name, sw_cons, bd_cons, QEDI_NUM_RX_BD);
|
||||
|
||||
if (bd_cons != bd_prod) {
|
||||
diff --git a/iscsiuio/src/unix/main.c b/iscsiuio/src/unix/main.c
|
||||
index 5e3f66c..4c50890 100644
|
||||
--- a/iscsiuio/src/unix/main.c
|
||||
+++ b/iscsiuio/src/unix/main.c
|
||||
@@ -341,7 +341,10 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* parent: wait for child msg then exit */
|
||||
close(pipefds[1]);
|
||||
- read(pipefds[0], msgbuf, sizeof(msgbuf));
|
||||
+ if (read(pipefds[0], msgbuf, sizeof(msgbuf)) < 0) {
|
||||
+ fprintf(stderr, "ERR: Waiting for child process failed\n");
|
||||
+ exit(1);
|
||||
+ }
|
||||
exit(0);
|
||||
}
|
||||
|
||||
@@ -387,6 +390,9 @@ int main(int argc, char *argv[])
|
||||
sigaddset(&set, SIGTERM);
|
||||
sigaddset(&set, SIGUSR1);
|
||||
rc = pthread_sigmask(SIG_SETMASK, &set, NULL);
|
||||
+ if (rc != 0) {
|
||||
+ LOG_ERR("Failed to set thread signal mask");
|
||||
+ }
|
||||
|
||||
/* Spin off the signal handling thread */
|
||||
pthread_attr_init(&attr);
|
||||
@@ -416,7 +422,9 @@ int main(int argc, char *argv[])
|
||||
if (!foreground) {
|
||||
/* signal parent they can go away now */
|
||||
close(pipefds[0]);
|
||||
- write(pipefds[1], "ok\n", 3);
|
||||
+ if (write(pipefds[1], "ok\n", 3) < 0) {
|
||||
+ LOG_ERR("Failed to signal parent process of completed initialization");
|
||||
+ }
|
||||
close(pipefds[1]);
|
||||
}
|
||||
|
||||
diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c
|
||||
index d020e6c..342aab5 100644
|
||||
--- a/libopeniscsiusr/idbm.c
|
||||
+++ b/libopeniscsiusr/idbm.c
|
||||
@@ -287,12 +287,11 @@ int _idbm_lock(struct iscsi_context *ctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- if (access(LOCK_DIR, F_OK) != 0) {
|
||||
- if (mkdir(LOCK_DIR, 0660) != 0) {
|
||||
- _error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno,
|
||||
- _strerror(errno, strerr_buff));
|
||||
- return LIBISCSI_ERR_IDBM;
|
||||
- }
|
||||
+ if (((mkdir(LOCK_DIR, 0660) != 0) && (errno != EEXIST)) ||
|
||||
+ (access(LOCK_DIR, F_OK) != 0)) {
|
||||
+ _error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno,
|
||||
+ _strerror(errno, strerr_buff));
|
||||
+ return LIBISCSI_ERR_IDBM;
|
||||
}
|
||||
|
||||
fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666);
|
||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||
index 3184c77..0c6870c 100644
|
||||
--- a/usr/idbm.c
|
||||
+++ b/usr/idbm.c
|
||||
@@ -1339,12 +1339,10 @@ int idbm_lock(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- if (access(LOCK_DIR, F_OK) != 0) {
|
||||
- if (mkdir(LOCK_DIR, 0660) != 0) {
|
||||
- log_error("Could not open %s: %s", LOCK_DIR,
|
||||
- strerror(errno));
|
||||
- return ISCSI_ERR_IDBM;
|
||||
- }
|
||||
+ if (((mkdir(LOCK_DIR, 0660) != 0) && (errno != EEXIST)) ||
|
||||
+ (access(LOCK_DIR, F_OK) != 0)) {
|
||||
+ log_error("Could not open %s: %s", LOCK_DIR, strerror(errno));
|
||||
+ return ISCSI_ERR_IDBM;
|
||||
}
|
||||
|
||||
fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666);
|
||||
diff --git a/usr/iscsid.c b/usr/iscsid.c
|
||||
index 8f1c597..96a6452 100644
|
||||
--- a/usr/iscsid.c
|
||||
+++ b/usr/iscsid.c
|
||||
@@ -489,8 +489,8 @@ int main(int argc, char *argv[])
|
||||
log_close(log_pid);
|
||||
exit(ISCSI_ERR);
|
||||
}
|
||||
+ close(fd);
|
||||
}
|
||||
- close(fd);
|
||||
|
||||
if ((control_fd = ipc->ctldev_open()) < 0) {
|
||||
log_close(log_pid);
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From 4142125fa296d21a307fb2370b2d4d7e8487f22c Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Wed, 16 Oct 2019 23:17:20 -0700
|
||||
Subject: [PATCH] fix upstream build breakage of iscsiuio LDFLAGS
|
||||
|
||||
---
|
||||
iscsiuio/configure.ac | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac
|
||||
index b41df0e..a856cc5 100644
|
||||
--- a/iscsiuio/configure.ac
|
||||
+++ b/iscsiuio/configure.ac
|
||||
@@ -67,10 +67,10 @@ AM_CONDITIONAL([DEBUG], [test x$debug = xtrue])
|
||||
AC_ARG_WITH([systemd],
|
||||
AS_HELP_STRING([--without-systemd], [Build without systemd]),
|
||||
[case "${withval}" in
|
||||
- yes) LDFLAGS="`pkg-config --libs libsystemd`" ;;
|
||||
+ yes) LDFLAGS="${LDFLAGS} `pkg-config --libs libsystemd`" ;;
|
||||
no) CFLAGS="${CFLAGS} -DNO_SYSTEMD" ;;
|
||||
*) AC_MSG_ERROR([bad value $withval for --with-systemd]) ;;
|
||||
- esac],[LDFLAGS="`pkg-config --libs libsystemd`"])
|
||||
+ esac],[LDFLAGS="${LDFLAGS} `pkg-config --libs libsystemd`"])
|
||||
|
||||
AC_CONFIG_COMMANDS([default],[[
|
||||
if [ -n "$SOURCE_DATE_EPOCH" ] ; then
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
From 77150edd697669467ff9f8775b93bd9d7a34cadf Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Mon, 28 Oct 2019 10:20:56 -0700
|
||||
Subject: [PATCH] improve systemd service files for boot session handling
|
||||
|
||||
---
|
||||
etc/systemd/iscsi-mark-root-nodes | 6 +++++-
|
||||
etc/systemd/iscsi-onboot.service | 15 +++++++++++++++
|
||||
etc/systemd/iscsi-shutdown.service | 1 +
|
||||
etc/systemd/iscsi.service | 11 ++++-------
|
||||
etc/systemd/iscsid.service | 4 +---
|
||||
etc/systemd/iscsiuio.service | 1 -
|
||||
6 files changed, 26 insertions(+), 12 deletions(-)
|
||||
create mode 100644 etc/systemd/iscsi-onboot.service
|
||||
|
||||
diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes
|
||||
index c693707..9d48805 100755
|
||||
--- a/etc/systemd/iscsi-mark-root-nodes
|
||||
+++ b/etc/systemd/iscsi-mark-root-nodes
|
||||
@@ -9,7 +9,11 @@ while read t num p target flash; do
|
||||
portal=${p%,*}
|
||||
transport=${t%:}
|
||||
|
||||
- $ISCSIADM -m node -p $portal -T $target -o update -n node.startup -v onboot
|
||||
+ # use session number to find the iface name in use
|
||||
+ num=${num#[}; num=${num%]}
|
||||
+ iface=$(iscsiadm -m session -r $num | grep iface.iscsi_ifacename | cut -d= -f2)
|
||||
+
|
||||
+ $ISCSIADM -m node -p $portal -T $target -I $iface -o update -n node.startup -v onboot
|
||||
|
||||
start_iscsid=1
|
||||
|
||||
diff --git a/etc/systemd/iscsi-onboot.service b/etc/systemd/iscsi-onboot.service
|
||||
new file mode 100644
|
||||
index 0000000..42ced68
|
||||
--- /dev/null
|
||||
+++ b/etc/systemd/iscsi-onboot.service
|
||||
@@ -0,0 +1,15 @@
|
||||
+[Unit]
|
||||
+Description=Special handling of early boot iSCSI sessions
|
||||
+Documentation=man:iscsiadm(8) man:iscsid(8)
|
||||
+DefaultDependencies=no
|
||||
+RefuseManualStart=true
|
||||
+Before=iscsi.service
|
||||
+After=systemd-remount-fs.service
|
||||
+ConditionDirectoryNotEmpty=/sys/class/iscsi_session
|
||||
+
|
||||
+[Service]
|
||||
+Type=oneshot
|
||||
+ExecStart=-/usr/libexec/iscsi-mark-root-nodes
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=sysinit.target
|
||||
diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service
|
||||
index 69c1c77..caee933 100644
|
||||
--- a/etc/systemd/iscsi-shutdown.service
|
||||
+++ b/etc/systemd/iscsi-shutdown.service
|
||||
@@ -11,4 +11,5 @@ RefuseManualStop=yes
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
+ExecStart=-/usr/bin/true
|
||||
ExecStop=-/usr/sbin/iscsiadm -m node --logoutall=all
|
||||
diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service
|
||||
index eadfcec..175cb2c 100644
|
||||
--- a/etc/systemd/iscsi.service
|
||||
+++ b/etc/systemd/iscsi.service
|
||||
@@ -1,21 +1,18 @@
|
||||
[Unit]
|
||||
Description=Login and scanning of iSCSI devices
|
||||
-Documentation=man:iscsid(8) man:iscsiadm(8)
|
||||
+Documentation=man:iscsiadm(8) man:iscsid(8)
|
||||
DefaultDependencies=no
|
||||
-Conflicts=shutdown.target
|
||||
-After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service
|
||||
Before=remote-fs-pre.target
|
||||
+After=network.target network-online.target iscsid.service iscsiuio.service systemd-remount-fs.service
|
||||
Wants=remote-fs-pre.target iscsi-shutdown.service
|
||||
-ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes
|
||||
-ConditionDirectoryNotEmpty=|/sys/class/iscsi_session
|
||||
+ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
-ExecStart=-/usr/libexec/iscsi-mark-root-nodes
|
||||
ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic
|
||||
ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic
|
||||
SuccessExitStatus=21
|
||||
|
||||
[Install]
|
||||
-WantedBy=sysinit.target
|
||||
+WantedBy=remote-fs.target
|
||||
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
|
||||
index 8d50cf0..28402fb 100644
|
||||
--- a/etc/systemd/iscsid.service
|
||||
+++ b/etc/systemd/iscsid.service
|
||||
@@ -1,8 +1,7 @@
|
||||
[Unit]
|
||||
Description=Open-iSCSI
|
||||
-Documentation=man:iscsid(8) man:iscsiadm(8)
|
||||
+Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8)
|
||||
DefaultDependencies=no
|
||||
-Conflicts=shutdown.target
|
||||
After=network.target iscsiuio.service
|
||||
Before=remote-fs-pre.target
|
||||
|
||||
@@ -10,7 +9,6 @@ Before=remote-fs-pre.target
|
||||
Type=notify
|
||||
NotifyAccess=main
|
||||
ExecStart=/usr/sbin/iscsid -f
|
||||
-ExecStop=/usr/sbin/iscsiadm -k 0 2
|
||||
KillMode=mixed
|
||||
Restart=on-failure
|
||||
|
||||
diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service
|
||||
index 8620cde..fc0be93 100644
|
||||
--- a/etc/systemd/iscsiuio.service
|
||||
+++ b/etc/systemd/iscsiuio.service
|
||||
@@ -2,7 +2,6 @@
|
||||
Description=iSCSI UserSpace I/O driver
|
||||
Documentation=man:iscsiuio(8)
|
||||
DefaultDependencies=no
|
||||
-Conflicts=shutdown.target
|
||||
Requires=iscsid.service
|
||||
BindTo=iscsid.service
|
||||
After=network.target
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From c589d94293f3bee77c34ca61371ddfbeef71f2af Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Mon, 21 Jan 2013 15:43:36 -0800
|
||||
Subject: [PATCH] use Red Hat version string to match RPM package version
|
||||
|
||||
---
|
||||
usr/version.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/usr/version.h b/usr/version.h
|
||||
index 615f533..a1f6cc2 100644
|
||||
--- a/usr/version.h
|
||||
+++ b/usr/version.h
|
||||
@@ -6,7 +6,7 @@
|
||||
* This may not be the same value as the kernel versions because
|
||||
* some other maintainer could merge a patch without going through us
|
||||
*/
|
||||
-#define ISCSI_VERSION_STR "2.1.0"
|
||||
+#define ISCSI_VERSION_STR "6.2.1.0-0"
|
||||
#define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version"
|
||||
|
||||
#endif
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
commit 499a006a7d6bb154f9e1ab430e4c9e231ba6096a
|
||||
Author: Lee Duncan <lduncan@suse.com>
|
||||
Date: Tue Jan 28 16:36:56 2020 -0800
|
||||
|
||||
Updates to support gcc -fno-common option.
|
||||
|
||||
This meant cleaning up the definition of some
|
||||
global variables, so that they were only defined
|
||||
in one place and refered to as external elsewhere.
|
||||
|
||||
diff --git a/include/iscsi_err.h b/include/iscsi_err.h
|
||||
index ed000dd..04a8723 100644
|
||||
--- a/include/iscsi_err.h
|
||||
+++ b/include/iscsi_err.h
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef _ISCSI_ERR_
|
||||
#define _ISCSI_ERR_
|
||||
|
||||
-enum {
|
||||
+enum iscsi_error_list {
|
||||
ISCSI_SUCCESS = 0,
|
||||
/* Generic error */
|
||||
ISCSI_ERR = 1,
|
||||
@@ -73,7 +73,9 @@ enum {
|
||||
|
||||
/* Always last. Indicates end of error code space */
|
||||
ISCSI_MAX_ERR_VAL,
|
||||
-} iscsi_err;
|
||||
+};
|
||||
+
|
||||
+extern enum iscsi_error_list iscsi_err;
|
||||
|
||||
extern void iscsi_err_print_msg(int err);
|
||||
extern char *iscsi_err_to_str(int err);
|
||||
diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac
|
||||
index b41df0e..8099f09 100644
|
||||
--- a/iscsiuio/configure.ac
|
||||
+++ b/iscsiuio/configure.ac
|
||||
@@ -78,7 +78,7 @@ AC_CONFIG_COMMANDS([default],[[
|
||||
else
|
||||
echo 'char *build_date = "'`date`'";' > src/unix/build_date.c
|
||||
fi
|
||||
- echo 'char *build_date;'> src/unix/build_date.h
|
||||
+ echo 'extern char *build_date;'> src/unix/build_date.h
|
||||
]],[[]])
|
||||
|
||||
AC_PREFIX_DEFAULT()
|
||||
diff --git a/iscsiuio/src/uip/uip.h b/iscsiuio/src/uip/uip.h
|
||||
index 1180ab5..9d9428a 100644
|
||||
--- a/iscsiuio/src/uip/uip.h
|
||||
+++ b/iscsiuio/src/uip/uip.h
|
||||
@@ -70,8 +70,8 @@ struct uip_stack;
|
||||
typedef u16_t uip_ip4addr_t[2];
|
||||
typedef u16_t uip_ip6addr_t[8];
|
||||
|
||||
-const uip_ip6addr_t all_zeroes_addr6;
|
||||
-const uip_ip4addr_t all_zeroes_addr4;
|
||||
+extern const uip_ip6addr_t all_zeroes_addr6;
|
||||
+extern const uip_ip4addr_t all_zeroes_addr4;
|
||||
|
||||
#define ETH_BUF(buf) ((struct uip_eth_hdr *)buf)
|
||||
#define VLAN_ETH_BUF(buf) ((struct uip_vlan_eth_hdr *)buf)
|
||||
diff --git a/usr/iscsi_err.c b/usr/iscsi_err.c
|
||||
index 23c61fc..4a057d5 100644
|
||||
--- a/usr/iscsi_err.c
|
||||
+++ b/usr/iscsi_err.c
|
||||
@@ -21,6 +21,8 @@
|
||||
#include "iscsi_err.h"
|
||||
#include "log.h"
|
||||
|
||||
+enum iscsi_error_list iscsi_err;
|
||||
+
|
||||
static char *iscsi_err_msgs[] = {
|
||||
/* 0 */ "",
|
||||
/* 1 */ "unknown error",
|
||||
diff --git a/usr/log.c b/usr/log.c
|
||||
index f29b54b..6e16e7c 100644
|
||||
--- a/usr/log.c
|
||||
+++ b/usr/log.c
|
||||
@@ -33,6 +33,7 @@
|
||||
|
||||
char *log_name;
|
||||
int log_level = 0;
|
||||
+struct logarea *la = NULL;
|
||||
|
||||
static int log_stop_daemon = 0;
|
||||
static void (*log_func)(int prio, void *priv, const char *fmt, va_list ap);
|
||||
diff --git a/usr/log.h b/usr/log.h
|
||||
index 486a08e..c548791 100644
|
||||
--- a/usr/log.h
|
||||
+++ b/usr/log.h
|
||||
@@ -64,7 +64,7 @@ struct logarea {
|
||||
union semun semarg;
|
||||
};
|
||||
|
||||
-struct logarea *la;
|
||||
+extern struct logarea *la;
|
||||
|
||||
extern int log_init(char *program_name, int size,
|
||||
void (*func)(int prio, void *priv, const char *fmt, va_list ap),
|
||||
diff -up open-iscsi-4440e57a59c7f1c23bbfdcb10844017f478918b6/usr/iscsi_ipc.h.me open-iscsi-4440e57a59c7f1c23bbfdcb10844017f478918b6/usr/iscsi_ipc.h
|
||||
--- open-iscsi-4440e57a59c7f1c23bbfdcb10844017f478918b6/usr/iscsi_ipc.h.me 2020-02-24 16:26:12.571078646 +0100
|
||||
+++ open-iscsi-4440e57a59c7f1c23bbfdcb10844017f478918b6/usr/iscsi_ipc.h 2020-02-24 16:29:18.619824160 +0100
|
||||
@@ -162,6 +162,6 @@ struct iscsi_ipc {
|
||||
char *host_stats);
|
||||
};
|
||||
|
||||
-struct iscsi_ipc *ipc;
|
||||
+extern struct iscsi_ipc *ipc;
|
||||
|
||||
#endif /* ISCSI_IPC_H */
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
case "$2" in
|
||||
up|vpn-up)
|
||||
/bin/systemctl --no-block reload iscsi.service || :
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,17 @@
|
|||
diff --git a/libopeniscsiusr/Makefile b/libopeniscsiusr/Makefile
|
||||
index a045a45..5e51f20 100644
|
||||
--- a/libopeniscsiusr/Makefile
|
||||
+++ b/libopeniscsiusr/Makefile
|
||||
@@ -13,11 +13,7 @@ prefix ?= /usr
|
||||
INSTALL ?= install
|
||||
|
||||
ifndef LIB_DIR
|
||||
- ifeq ($(shell test -d /lib64 && echo 1),1)
|
||||
- LIB_DIR=$(prefix)/lib64
|
||||
- else
|
||||
- LIB_DIR=$(prefix)/lib
|
||||
- endif
|
||||
+ LIB_DIR=$(prefix)/lib
|
||||
endif
|
||||
|
||||
INCLUDE_DIR ?= $(prefix)/include
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"04-iscsi": "7973dbc4f86506289fcf64255475598a9c6e153465c73633589961d96d2621af",
|
||||
"iscsi-tmpfiles.conf": "fd7766bfba489e4de4cc57713014c2a92c06164b49b135b97c8da679832e7146",
|
||||
"open-iscsi-6.2.1.0+20191114.4440e57a59.tar.gz": "625e67580f02151f8708dc4b481df67d20931f4336e2a9c7d280aa5b67594c27"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,574 @@
|
|||
%global __provides_exclude_from ^(%{python2_sitearch}/.*\\.so|%{python3_sitearch}/.*\\.so)$
|
||||
|
||||
# Use only 7-10 first characters of the git commit hash!
|
||||
%global git_commit 4440e57a59c7f1c23bbfdcb10844017f478918b6
|
||||
%global git_short_commit 4440e57a59
|
||||
%global git_short_commit_date 20191114
|
||||
%global open_iscsi_build 0
|
||||
%global open_iscsi_version 2.1
|
||||
|
||||
Summary: iSCSI daemon and utility programs
|
||||
Name: iscsi-initiator-utils
|
||||
Version: 6.%{open_iscsi_version}.%{open_iscsi_build}+%{git_short_commit_date}.%{git_short_commit}
|
||||
Release: 4%{?dist}
|
||||
License: GPLv2+
|
||||
Vendor: Microsoft Corporation
|
||||
Distribution: Mariner
|
||||
URL: https://www.open-iscsi.org
|
||||
Source0: https://github.com/open-iscsi/open-iscsi/archive/%{git_commit}.tar.gz#/open-iscsi-%{version}.tar.gz
|
||||
Source4: 04-iscsi
|
||||
Source5: iscsi-tmpfiles.conf
|
||||
|
||||
Patch0001: 0001-service-file-tweaks.patch
|
||||
Patch0002: 0002-idmb_rec_write-check-for-tpgt-first.patch
|
||||
Patch0003: 0003-idbm_rec_write-seperate-old-and-new-style-writes.patch
|
||||
Patch0004: 0004-idbw_rec_write-pick-tpgt-from-existing-record.patch
|
||||
Patch0005: 0005-update-initscripts-and-docs.patch
|
||||
Patch0006: 0006-use-var-for-config.patch
|
||||
Patch0007: 0007-use-red-hat-for-name.patch
|
||||
Patch0008: 0008-libiscsi.patch
|
||||
Patch0009: 0009-Add-macros-to-release-GIL-lock.patch
|
||||
Patch0010: 0010-libiscsi-introduce-sessions-API.patch
|
||||
Patch0011: 0011-libiscsi-fix-discovery-request-timeout-regression.patch
|
||||
Patch0012: 0012-libiscsi-format-security-build-errors.patch
|
||||
Patch0013: 0013-libiscsi-fix-build-to-use-libopeniscsiusr.patch
|
||||
Patch0014: 0014-libiscsi-fix-build-against-latest-upstream-again.patch
|
||||
Patch0015: 0015-remove-the-offload-boot-supported-ifdef.patch
|
||||
Patch0016: 0016-Revert-iscsiadm-return-error-when-login-fails.patch
|
||||
Patch0017: 0017-dont-install-scripts.patch
|
||||
Patch0018: 0018-use-var-lib-iscsi-in-libopeniscsiusr.patch
|
||||
Patch0019: 0019-Coverity-scan-fixes.patch
|
||||
Patch0020: 0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch
|
||||
Patch0021: 0021-improve-systemd-service-files-for-boot-session-handl.patch
|
||||
Patch0022: 0022-use-Red-Hat-version-string-to-match-RPM-package-vers.patch
|
||||
Patch0023: 0023-support-gcc-fno-common-option.patch
|
||||
Patch0024: fix-libpath.patch
|
||||
# Rebased backport of https://github.com/open-iscsi/open-iscsi/commit/d3daa7a2
|
||||
# Intended to fix error using iSCSI during install:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1774746
|
||||
Patch1000: 0001-configuration-support-for-CHAP-algorithms-rebased.patch
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
BuildRequires: isns-utils-devel
|
||||
BuildRequires: kmod-devel
|
||||
BuildRequires: libmount-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: systemd-units
|
||||
|
||||
Requires: %{name}-iscsiuio >= %{version}-%{release}
|
||||
Requires(post): systemd
|
||||
Requires(postun): systemd
|
||||
Requires(preun): systemd
|
||||
|
||||
# Old NetworkManager expects the dispatcher scripts in a different place
|
||||
Conflicts: NetworkManager < 1.20
|
||||
|
||||
%description
|
||||
The iscsi package provides the server daemon for the iSCSI protocol,
|
||||
as well as the utility programs used to manage it. iSCSI is a protocol
|
||||
for distributed disk access using SCSI commands sent over Internet
|
||||
Protocol networks.
|
||||
|
||||
%package iscsiuio
|
||||
Summary: Userspace configuration daemon required for some iSCSI hardware
|
||||
License: BSD
|
||||
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description iscsiuio
|
||||
The iscsiuio configuration daemon provides network configuration help
|
||||
for some iSCSI offload hardware.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
License: GPLv2+
|
||||
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%package -n python3-%{name}
|
||||
%{?python_provide:%python_provide python3-%{name}}
|
||||
Summary: Python %{python3_version} bindings to %{name}
|
||||
License: GPLv2+
|
||||
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description -n python3-%{name}
|
||||
The %{name}-python3 package contains Python %{python3_version} bindings to the
|
||||
libiscsi interface for interacting with %{name}
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n open-iscsi-%{git_commit}
|
||||
|
||||
# change exec_prefix, there's no easy way to override
|
||||
sed -i -e 's|^exec_prefix = /$|exec_prefix = %{_exec_prefix}|' Makefile
|
||||
|
||||
%build
|
||||
# avoid undefined references linking failures
|
||||
%undefine _ld_as_needed
|
||||
|
||||
# configure sub-packages from here
|
||||
# letting the top level Makefile do it will lose setting from rpm
|
||||
cd iscsiuio
|
||||
autoreconf --install
|
||||
%configure
|
||||
cd ..
|
||||
|
||||
# Faking Doxygen's existence. No config option to disable its usage.
|
||||
cat << EOF >> %{_bindir}/doxygen
|
||||
#!/bin/bash
|
||||
if [[ -n "$1" ]]; then
|
||||
echo "Pretending to be 'doxygen' for '$1'."
|
||||
fi
|
||||
EOF
|
||||
chmod +x %{_bindir}/doxygen
|
||||
|
||||
make OPTFLAGS="%{optflags} %{?__global_ldflags}"
|
||||
pushd libiscsi
|
||||
%py3_build
|
||||
popd
|
||||
|
||||
|
||||
%install
|
||||
make DESTDIR=%{?buildroot} install_programs install_doc install_etc install_libopeniscsiusr
|
||||
rm %{buildroot}%{_mandir}/man8/iscsi_discovery.8
|
||||
rm %{buildroot}%{_mandir}/man8/iscsi_fw_login.8
|
||||
install -pm 755 usr/iscsistart %{buildroot}%{_sbindir}
|
||||
install -pm 644 doc/iscsistart.8 %{buildroot}%{_mandir}/man8
|
||||
install -pm 644 doc/iscsi-iname.8 %{buildroot}%{_mandir}/man8
|
||||
install -d %{buildroot}%{_sysconfdir}/logrotate.d
|
||||
install -pm 644 iscsiuio/iscsiuiolog %{buildroot}%{_sysconfdir}/logrotate.d
|
||||
|
||||
install -d %{buildroot}%{_sharedstatedir}/iscsi
|
||||
install -d %{buildroot}%{_sharedstatedir}/iscsi/nodes
|
||||
install -d %{buildroot}%{_sharedstatedir}/iscsi/send_targets
|
||||
install -d %{buildroot}%{_sharedstatedir}/iscsi/static
|
||||
install -d %{buildroot}%{_sharedstatedir}/iscsi/isns
|
||||
install -d %{buildroot}%{_sharedstatedir}/iscsi/slp
|
||||
install -d %{buildroot}%{_sharedstatedir}/iscsi/ifaces
|
||||
|
||||
# for %%ghost
|
||||
install -d %{buildroot}%{_var}/lock/iscsi
|
||||
touch %{buildroot}%{_var}/lock/iscsi/lock
|
||||
|
||||
|
||||
install -d %{buildroot}%{_unitdir}
|
||||
install -pm 644 etc/systemd/iscsi.service %{buildroot}%{_unitdir}
|
||||
install -pm 644 etc/systemd/iscsi-shutdown.service %{buildroot}%{_unitdir}
|
||||
install -pm 644 etc/systemd/iscsid.service %{buildroot}%{_unitdir}
|
||||
install -pm 644 etc/systemd/iscsid.socket %{buildroot}%{_unitdir}
|
||||
install -pm 644 etc/systemd/iscsiuio.service %{buildroot}%{_unitdir}
|
||||
install -pm 644 etc/systemd/iscsiuio.socket %{buildroot}%{_unitdir}
|
||||
|
||||
install -d %{buildroot}%{_libexecdir}
|
||||
install -pm 755 etc/systemd/iscsi-mark-root-nodes %{buildroot}%{_libexecdir}
|
||||
|
||||
install -d %{buildroot}%{_libdir}/NetworkManager/dispatcher.d
|
||||
install -pm 755 %{SOURCE4} %{buildroot}%{_libdir}/NetworkManager/dispatcher.d
|
||||
|
||||
install -d %{buildroot}%{_tmpfilesdir}
|
||||
install -pm 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/iscsi.conf
|
||||
|
||||
install -d %{buildroot}%{_libdir}
|
||||
install -pm 755 libiscsi/libiscsi.so.0 %{buildroot}%{_libdir}
|
||||
ln -s libiscsi.so.0 %{buildroot}%{_libdir}/libiscsi.so
|
||||
install -d %{buildroot}%{_includedir}
|
||||
install -pm 644 libiscsi/libiscsi.h %{buildroot}%{_includedir}
|
||||
|
||||
install -d %{buildroot}%{python3_sitearch}
|
||||
pushd libiscsi
|
||||
%py3_install
|
||||
popd
|
||||
|
||||
|
||||
%post
|
||||
%systemd_post iscsi.service iscsi-shutdown.service iscsid.service iscsid.socket
|
||||
|
||||
if [ $1 -eq 1 ]; then
|
||||
if [ ! -f %{_sysconfdir}/iscsi/initiatorname.iscsi ]; then
|
||||
echo "InitiatorName=`%{_sbindir}/iscsi-iname`" > %{_sysconfdir}/iscsi/initiatorname.iscsi
|
||||
fi
|
||||
# enable socket activation and persistant session startup by default
|
||||
/bin/systemctl enable iscsi.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl enable iscsid.socket >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%post iscsiuio
|
||||
%systemd_post iscsiuio.service iscsiuio.socket
|
||||
|
||||
if [ $1 -eq 1 ]; then
|
||||
/bin/systemctl enable iscsiuio.socket >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%preun
|
||||
%systemd_preun iscsi.service iscsi-shutdown.service iscsid.service iscsiuio.service iscsid.socket iscsiuio.socket
|
||||
|
||||
%preun iscsiuio
|
||||
%systemd_preun iscsiuio.service iscsiuio.socket
|
||||
|
||||
%postun
|
||||
%systemd_postun iscsi.service iscsi-shutdown.service iscsid.service iscsiuio.service iscsid.socket iscsiuio.socket
|
||||
|
||||
%postun iscsiuio
|
||||
%systemd_postun iscsiuio.service iscsiuio.socket
|
||||
|
||||
%triggerun -- iscsi-initiator-utils < 6.2.0.873-25
|
||||
# prior to 6.2.0.873-24 iscsi.service was missing a Wants=remote-fs-pre.target
|
||||
# this forces remote-fs-pre.target active if needed for a clean shutdown/reboot
|
||||
# after upgrading this package
|
||||
if [ $1 -gt 0 ]; then
|
||||
%{_bindir}/systemctl -q is-active iscsi.service
|
||||
if [ $? -eq 0 ]; then
|
||||
%{_bindir}/systemctl -q is-active remote-fs-pre.target
|
||||
if [ $? -ne 0 ]; then
|
||||
SRC=`%{_bindir}/systemctl show --property FragmentPath remote-fs-pre.target | cut -d= -f2`
|
||||
DST=/run/systemd/system/remote-fs-pre.target
|
||||
if [ $SRC != $DST ]; then
|
||||
cp $SRC $DST
|
||||
fi
|
||||
sed -i 's/RefuseManualStart=yes/RefuseManualStart=no/' $DST
|
||||
%{_bindir}/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
%{_bindir}/systemctl start remote-fs-pre.target >/dev/null 2>&1 || :
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
# added in 6.2.0.873-25
|
||||
if [ $1 -gt 0 ]; then
|
||||
systemctl start iscsi-shutdown.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc README
|
||||
%dir %{_sharedstatedir}/iscsi
|
||||
%dir %{_sharedstatedir}/iscsi/nodes
|
||||
%dir %{_sharedstatedir}/iscsi/isns
|
||||
%dir %{_sharedstatedir}/iscsi/static
|
||||
%dir %{_sharedstatedir}/iscsi/slp
|
||||
%dir %{_sharedstatedir}/iscsi/ifaces
|
||||
%dir %{_sharedstatedir}/iscsi/send_targets
|
||||
%ghost %{_var}/lock/iscsi
|
||||
%ghost %{_var}/lock/iscsi/lock
|
||||
%{_unitdir}/iscsi.service
|
||||
%{_unitdir}/iscsi-shutdown.service
|
||||
%{_unitdir}/iscsid.service
|
||||
%{_unitdir}/iscsid.socket
|
||||
%{_libexecdir}/iscsi-mark-root-nodes
|
||||
%{_libdir}/NetworkManager
|
||||
%{_tmpfilesdir}/iscsi.conf
|
||||
%dir %{_sysconfdir}/iscsi
|
||||
%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/iscsi/iscsid.conf
|
||||
%{_sbindir}/iscsi-iname
|
||||
%{_sbindir}/iscsiadm
|
||||
%{_sbindir}/iscsid
|
||||
%{_sbindir}/iscsistart
|
||||
%{_libdir}/libiscsi.so.0
|
||||
%{_mandir}/man8/iscsi-iname.8.gz
|
||||
%{_mandir}/man8/iscsiadm.8.gz
|
||||
%{_mandir}/man8/iscsid.8.gz
|
||||
%{_mandir}/man8/iscsistart.8.gz
|
||||
# until we decide to setup libopeniscsiusr as a subpkg for real
|
||||
%{_libdir}/libopeniscsiusr.so.*
|
||||
%exclude %{_libdir}/libopeniscsiusr.so
|
||||
%exclude %{_includedir}/libopeniscsiusr.h
|
||||
%exclude %{_includedir}/libopeniscsiusr_common.h
|
||||
%exclude %{_includedir}/libopeniscsiusr_iface.h
|
||||
%exclude %{_includedir}/libopeniscsiusr_session.h
|
||||
%exclude %{_libdir}/pkgconfig/libopeniscsiusr.pc
|
||||
|
||||
%files iscsiuio
|
||||
%{_sbindir}/iscsiuio
|
||||
%{_unitdir}/iscsiuio.service
|
||||
%{_unitdir}/iscsiuio.socket
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/iscsiuiolog
|
||||
%{_mandir}/man8/iscsiuio.8.gz
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libiscsi.so
|
||||
%{_includedir}/libiscsi.h
|
||||
|
||||
%files -n python3-%{name}
|
||||
%{python3_sitearch}/*
|
||||
|
||||
%changelog
|
||||
* Thu Jul 15 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 6.2.1.0+20191114.4440e57a59-4
|
||||
- Changed release to a simple integer.
|
||||
- Switched versioning to closer follow Fedora's guidelines for snapshots.
|
||||
- Removed BR on 'doxygen' and Python 2 bits.
|
||||
- Added the '%%license' macro.
|
||||
- License verified.
|
||||
|
||||
* Wed Mar 03 2021 Henry Li <lihl@microsoft.com> - 6.2.1.0-3.git4440e57
|
||||
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
|
||||
- Add fix-libpath.patch to fix installation path to /usr/lib instead of /usr/lib64
|
||||
|
||||
* Sun Mar 01 2020 Adam Williamson <awilliam@redhat.com> - 6.2.1.0-2.git4440e57
|
||||
- Backport upstream d3daa7a2 to fix bz #1774746
|
||||
|
||||
* Mon Feb 24 2020 Than Ngo <than@redhat.com> - 6.2.1.0-1.git4440e57
|
||||
- upstream patch to support gcc -fno-common option
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1.0-0.git4440e57.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Nov 19 2019 Chris Leech <cleech@redhat.com> - 6.2.1.0-0.git4440e57
|
||||
- update to upstream v2.1.0
|
||||
|
||||
* Thu Aug 22 2019 Lubomir Rintel <lkundrak@v3.sk> - 6.2.0.876-12.gitf3c8e90
|
||||
- Move the NetworkManager dispatcher script out of /etc
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 6.2.0.876-11.gitf3c8e90
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.876-10.gitf3c8e90
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu May 30 2019 Chris Leech <cleech@redhat.com> - 6.2.0.876-9.gitf3c8e90
|
||||
- FTBFS: %systemd_postun scriptlets need service files as an argument
|
||||
|
||||
* Tue Feb 12 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.2.0.876-8.gitf3c8e90
|
||||
- Remove obsolete scriptlets
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.876-7.gitf3c8e90
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Jan 10 2019 Miro Hrončok <mhroncok@redhat.com> - 6.2.0.876-6.gitf3c8e90
|
||||
- Disable python2 build
|
||||
|
||||
* Tue Jul 10 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-5.gitf3c8e90
|
||||
- iscsiuio: add mutex to protect netlink buffer for pass-through xmit
|
||||
- iscsid: get gateway information from sysfs when recovering sessions
|
||||
- enabled MaxOustandingR2T negotiation during login
|
||||
|
||||
* Mon Jun 25 2018 Adam Williamson <awilliam@redhat.com> - 6.2.0.876-4.git4ef9261
|
||||
- Rebuilt for Python 3.7, again
|
||||
|
||||
* Mon Jun 25 2018 Adam Williamson <awilliam@redhat.com> - 6.2.0.876-3.git4ef9261
|
||||
- Link libiscsi against libopeniscsiusr (bz #1594946) (python 3.6 build)
|
||||
|
||||
* Wed Jun 20 2018 Miro Hrončok <mhroncok@redhat.com> - 6.2.0.876-2.git4ef9261
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Tue Jun 19 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-1.git4ef9261
|
||||
- pull in post 2.0.876 tagged fixes from upstream git
|
||||
- minimal packaging of libopeniscsiusr (internal use only, no dev package yet)
|
||||
- Conditionalize the python2 subpackage [Charalampos Stratakis <cstratak@redhat.com>]
|
||||
|
||||
* Tue Jun 19 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-1.git24580ad
|
||||
- rebase to upstream 2.0.876
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 6.2.0.874-10.git86e8892
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.874-9.git86e8892
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Jan 05 2018 Iryna Shcherbina <ishcherb@redhat.com> - 6.2.0.874-8.git86e8892
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.2.0.874-7.git86e8892
|
||||
- Python 2 binary package renamed to python2-iscsi-initiator-utils
|
||||
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.874-6.git86e8892
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.874-5.git86e8892
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Apr 12 2017 Chris Leech <cleech@redhat.com> - 6.2.0.874-4.git86e8892
|
||||
- rebuild to use shared libisns
|
||||
|
||||
* Tue Feb 28 2017 Chris Leech <cleech@redhat.com> - 6.2.0.874-3.git86e8892
|
||||
- libiscsi: fix discovery command timeout regression
|
||||
- libiscsi: fix format security build errors
|
||||
|
||||
* Thu Feb 16 2017 Chris Leech <cleech@redhat.com> - 6.2.0.874-2.git86e8892
|
||||
- fix regression with iscsiadm discoverydb commands having a 0 timeout
|
||||
|
||||
* Thu Feb 09 2017 Chris Leech <cleech@redhat.com> - 6.2.0.874-1
|
||||
- update to 2.0.874
|
||||
|
||||
* Mon Dec 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 6.2.0.873-35.git4c1f2d9
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.873-34.git4c1f2d9
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Fri Feb 19 2016 Chris Leech <cleech@redhat.com> - 6.2.0.873-33.git4c1f2d9
|
||||
- sync with upstream
|
||||
- sysfs handling changes to speed up operations over large number of sessions
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.873-32.git4c9d6f9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Feb 3 2016 Michael Schwendt <mschwendt@fedoraproject.org> - 6.2.0.873-31.git4c9d6f9
|
||||
- BuildRequires: isns-utils-static for -lisns (bz #1291913)
|
||||
|
||||
* Tue Nov 03 2015 Robert Kuska <rkuska@redhat.com> - 6.2.0.873-30.git4c9d6f9
|
||||
- Rebuilt for Python3.5 rebuild
|
||||
|
||||
* Tue Oct 06 2015 Chris Leech <cleech@redhat.com> - 6.2.0.873-29.git4c9d6f9
|
||||
- rebase with upstream, change Source0 url to github
|
||||
- build with external isns-utils
|
||||
|
||||
* Mon Oct 05 2015 Chris Leech <cleech@redhat.com> - 6.2.0.873-28.git6aa2c9b
|
||||
- fixed broken multiple trigger scripts, removed old pre-systemd migration triggers
|
||||
- added libiscsi session API patch (bz #1262279)
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.873-27.git6aa2c9b
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Wed Jun 10 2015 Chris Leech <cleech@redhat.com> - 6.2.0.873-26.git6aa2c9b
|
||||
- rebase to upstream snapshot
|
||||
- add patch to improve GIL lock performance in libiscsi
|
||||
- Split Python 2 and Python 3 bindings out into subpackages
|
||||
|
||||
* Wed Jan 28 2015 Chris Leech <cleech@redhat.com> - 6.2.0.873-25.gitc9d830b
|
||||
- split out session logout on shutdown to a separate service
|
||||
- 985321 roll up libiscsi patches, update python bindings to support python3
|
||||
- scriptlets were never split out properly for the iscsiuio subpackage
|
||||
- fix regression in network interface binding
|
||||
- created iscsi-shutdown.service to ensure that session cleanup happens
|
||||
- Add --with-slp=no
|
||||
- segfault from unexpected netlink event during discovery
|
||||
- inhibit strict aliasing optimizations in iscsiuio, rpmdiff error
|
||||
|
||||
* Thu Oct 23 2014 Chris Leech <cleech@redhat.com> - 6.2.0.873-24.gitc9d830b
|
||||
- sync with upstream v2.0.873-84-gc9d830b
|
||||
- ignore iscsiadm return in iscsi.service
|
||||
- make sure systemd order against remote mounts is correct
|
||||
- add discovery as a valid mode in iscsiadm.8
|
||||
- make sure to pass --with-security=no to isns configure
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.873-23
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.873-22
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon Apr 14 2014 Chris Leech <cleech@redhat.com> - 6.2.0.873-21
|
||||
- boot session handling improvements
|
||||
- split out iscsiuio into a seperate sub-package
|
||||
- sync with new upstream additions
|
||||
- revert change to return code when calling login_portal for sessions
|
||||
that already exist, as it impacts users scripting around iscsiadm
|
||||
|
||||
* Tue Dec 10 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-17
|
||||
- fix regression in glob use, inappropriate error code escape
|
||||
- clean up dead node links from discovery when reusing tpgt
|
||||
|
||||
* Mon Nov 25 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-16
|
||||
- fix iscsiuio socket activation
|
||||
- have systemd start socket units on iscsiadm use, if not already listening
|
||||
|
||||
* Sun Sep 15 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-15
|
||||
- move /sbin to /usr/sbin
|
||||
- use rpm macros in install rules
|
||||
|
||||
* Fri Sep 13 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-14
|
||||
- fix iscsiuio hardened build and other compiler flags
|
||||
|
||||
* Fri Aug 23 2013 Andy Grover <agrover@redhat.com> - 6.2.0.873-13
|
||||
- Fix patch 0041 to check session != NULL before calling iscsi_sysfs_read_boot()
|
||||
|
||||
* Tue Aug 20 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-12
|
||||
- fix regression in last build, database records can't be accessed
|
||||
|
||||
* Mon Aug 19 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-11
|
||||
- iscsi boot related fixes
|
||||
make sure iscsid gets started if there are any boot sessions running
|
||||
add reload target to fix double session problem when restarting from NM
|
||||
don't rely on session list passed from initrd, never got fully implemented
|
||||
remove patches related to running iscsid from initrd, possible to revisit later
|
||||
|
||||
* Sun Aug 18 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-10
|
||||
- sync with upstream git, minor context fixes after rebase of out-of-tree patches
|
||||
- iscsiuio is merged upstream, remove old source archive and patches
|
||||
- spec cleanups to fix rpmlint issues
|
||||
|
||||
* Sun Aug 4 2013 Peter Robinson <pbrobinson@fedoraproject.org> 6.2.0.873-9
|
||||
- Fix FTBFS, cleanup spec
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.873-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Tue Jun 11 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-7
|
||||
- Use the systemd tmpfiles service to recreate lockfiles in /var/lock
|
||||
- 955167 build as a position independent executable
|
||||
- 894576 fix order of setuid/setgid and drop additional groups
|
||||
|
||||
* Tue May 28 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-6
|
||||
- Don't have iscsiadm scan for autostart record if node db is empty (bug #951951)
|
||||
|
||||
* Tue Apr 30 2013 Orion Poplawski <orion@cora.nwra.com> - 6.2.0.873-5
|
||||
- Fix typo in NM dispatcher script (bug #917058)
|
||||
|
||||
* Thu Feb 21 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-4
|
||||
- build with libkmod support, instead of calling out to modprobe
|
||||
- enable socket activation by default
|
||||
|
||||
* Thu Jan 24 2013 Kalev Lember <kalevlember@gmail.com> - 6.2.0.873-3
|
||||
- Fix the postun script to not use ldconfig as the interpreter
|
||||
|
||||
* Wed Jan 23 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-2
|
||||
- package iscsi_mark_root_nodes script, it's being referenced by the unit files
|
||||
|
||||
* Tue Jan 22 2013 Chris Leech <cleech@redhat.com> - 6.2.0.873-1
|
||||
- rebase to new upstream code
|
||||
- systemd conversion
|
||||
- 565245 Fix multilib issues caused by timestamp in doxygen footers
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.872-19
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Tue Feb 14 2012 Mike Christie <mchristi@redhat.com> 6.2.0.872.18
|
||||
- 789683 Fix boot slow down when the iscsi service is started
|
||||
(regression added in 6.2.0.872.16 when the nm wait was added).
|
||||
|
||||
* Mon Feb 6 2012 Mike Christie <mchristi@redhat.com> 6.2.0.872.17
|
||||
- 786174 Change iscsid/iscsi service startup, so it always starts
|
||||
when called.
|
||||
|
||||
* Sat Feb 4 2012 Mike Christie <mchristi@redhat.com> 6.2.0.872.16
|
||||
- 747479 Fix iscsidevs handling of network requirement
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.872-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Wed Nov 30 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.14
|
||||
- Fix version string to reflect fedora and not rhel.
|
||||
|
||||
* Tue Oct 18 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.13
|
||||
- Update iscsi tools.
|
||||
|
||||
* Sat Apr 30 2011 Hans de Goede <hdegoede@redhat.com> - 6.2.0.872-12
|
||||
- Change iscsi init scripts to check for networking being actually up, rather
|
||||
then for NetworkManager being started (#692230)
|
||||
|
||||
* Tue Apr 26 2011 Hans de Goede <hdegoede@redhat.com> - 6.2.0.872-11
|
||||
- Fix iscsid autostarting when upgrading from an older version
|
||||
(add iscsid.startup key to iscsid.conf on upgrade)
|
||||
- Fix printing of [ OK ] when successfully stopping iscsid
|
||||
- systemd related fixes:
|
||||
- Add Should-Start/Stop tgtd to iscsi init script to fix (re)boot from
|
||||
hanging when using locally hosted targets
|
||||
- %%ghost /var/lock/iscsi and contents (#656605)
|
||||
|
||||
* Mon Apr 25 2011 Mike Christie <mchristi@redhat.com> 6.2.0.872-10
|
||||
- Fix iscsi init scripts check for networking being up (#692230)
|
||||
|
||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.872-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
@ -0,0 +1,2 @@
|
|||
d /run/lock/iscsi 0700 root root -
|
||||
f /run/lock/iscsi/lock 0600 root root -
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"isnsd.service": "6961d8aa73c65ff233d19735dec7eeb61f9bda2badbd560435e687614b81e608",
|
||||
"open-isns-0.97.tar.gz": "c1c9ae740172e55a1ff33bc22151ec3d916562bf5d60c8420cd64496343683a9"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,200 @@
|
|||
Summary: The iSNS daemon and utility programs
|
||||
Name: isns-utils
|
||||
Version: 0.97
|
||||
Release: 10%{?dist}
|
||||
License: LGPLv2+
|
||||
Vendor: Microsoft Corporation
|
||||
Distribution: Mariner
|
||||
URL: https://github.com/open-iscsi/open-isns
|
||||
Source0: https://github.com/open-iscsi/open-isns/archive/v%{version}.tar.gz#/open-isns-%{version}.tar.gz
|
||||
Source1: isnsd.service
|
||||
|
||||
BuildRequires: automake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: systemd
|
||||
BuildRequires: systemd-devel
|
||||
|
||||
Requires(post): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
Requires(preun): systemd-units
|
||||
|
||||
%description
|
||||
The iSNS package contains the daemon and tools to setup a iSNS server,
|
||||
and iSNS client tools. The Internet Storage Name Service (iSNS) protocol
|
||||
allows automated discovery, management and configuration of iSCSI and
|
||||
Fibre Channel devices (using iFCP gateways) on a TCP/IP network.
|
||||
|
||||
%package libs
|
||||
Summary: Shared library files for iSNS
|
||||
|
||||
%description libs
|
||||
Shared library files for iSNS
|
||||
|
||||
%package devel
|
||||
Summary: Development files for iSNS
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Development files for iSNS
|
||||
|
||||
%prep
|
||||
%autosetup -n open-isns-%{version}
|
||||
|
||||
%build
|
||||
%configure --enable-shared --disable-static
|
||||
%make_build
|
||||
|
||||
%install
|
||||
make install DESTDIR=%{buildroot}
|
||||
make install_hdrs DESTDIR=%{buildroot}
|
||||
make install_lib DESTDIR=%{buildroot}
|
||||
chmod 755 %{buildroot}%{_sbindir}/isns*
|
||||
chmod 755 %{buildroot}%{_libdir}/libisns.so.0
|
||||
rm %{buildroot}%{_unitdir}/isnsd.service
|
||||
rm %{buildroot}%{_unitdir}/isnsd.socket
|
||||
install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/isnsd.service
|
||||
|
||||
%post
|
||||
%systemd_post isnsd.service
|
||||
|
||||
%postun
|
||||
%systemd_postun isnsd.service
|
||||
|
||||
%preun
|
||||
%systemd_preun isnsd.service
|
||||
|
||||
%triggerun -- isns-utils < 0.91-7
|
||||
# Save the current service runlevel info
|
||||
# User must manually run systemd-sysv-convert --apply httpd
|
||||
# to migrate them to systemd targets
|
||||
%{_bindir}/systemd-sysv-convert --save isnsd >/dev/null 2>&1 ||:
|
||||
|
||||
# Run these because the SysV package being removed won't do them
|
||||
/sbin/chkconfig --del isnsd >/dev/null 2>&1 || :
|
||||
/bin/systemctl try-restart isnsd.service >/dev/null 2>&1 || :
|
||||
|
||||
%ldconfig_scriptlets -n %{name}-libs
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc README
|
||||
%{_sbindir}/isnsd
|
||||
%{_sbindir}/isnsadm
|
||||
%{_sbindir}/isnsdd
|
||||
%{_mandir}/man5/*
|
||||
%{_mandir}/man8/*
|
||||
%{_unitdir}/isnsd.service
|
||||
%dir %{_sysconfdir}/isns
|
||||
%dir %{_sharedstatedir}/isns
|
||||
%config(noreplace) %{_sysconfdir}/isns/*
|
||||
|
||||
%files libs
|
||||
%{_libdir}/libisns.so.0
|
||||
|
||||
%files devel
|
||||
%dir %{_includedir}/libisns
|
||||
%{_includedir}/libisns/*.h
|
||||
%{_libdir}/libisns.so
|
||||
|
||||
%changelog
|
||||
* Thu Jul 15 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 0.97-11
|
||||
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
|
||||
- Added the '%%license' macro.
|
||||
- Using '%%autosetup' and the '%%make_build' macro instead of 'make'.
|
||||
- License verified.
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.97-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.97-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.97-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.97-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.97-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.97-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.97-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Apr 12 2017 Chris Leech <cleech@redhat.com> - 0.97-3
|
||||
- switch to building as a shared library instead of static
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.97-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Dec 13 2016 Miro Hrončok <mhroncok@redhat.com> - 0.97-1
|
||||
- Update to 0.97
|
||||
- Upstream moved on GitHub
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.94-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Sat Dec 12 2015 Michael Schwendt <mschwendt@fedoraproject.org> - 0.94-2
|
||||
- add -static Provides to the -devel package (#1284298)
|
||||
|
||||
* Mon Oct 05 2015 Chris Leech <cleech@redhat.com> - 0.94-1
|
||||
- new upstream location, update to 0.94
|
||||
- new devel package, upstream open-iscsi is dropping it's internal copy
|
||||
|
||||
* Wed Jun 17 2015 Chris Leech <cleech@redhat.com> - 0.93-8
|
||||
- use of systemd rpm macros now require systemd as a BuildRequires
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.93-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.93-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.93-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sun Aug 4 2013 Peter Robinson <pbrobinson@fedoraproject.org> 0.93-4
|
||||
- Fix FTBFS, modernise spec
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.93-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.93-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Mon Sep 10 2012 Chris Leech <cleech@redhat.com> - 0.93-1
|
||||
- Rebase to 0.93
|
||||
- Make use of systemd rpm macros for scriptlets, BZ 850174
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Feb 15 2012 Jon Ciesla <limburgher@gmail.com> - 0.91-7
|
||||
- Migrate to systemd, BZ 789707.
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 0.91-4
|
||||
- rebuilt with new openssl
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Sat Jan 17 2009 Tomas Mraz <tmraz@redhat.com> - 0.91-1
|
||||
- rebuild with new openssl
|
||||
|
||||
* Wed Jan 16 2008 Mike Christie <mchristie@redhat.com> - 0.91-0.0
|
||||
- first build
|
|
@ -0,0 +1,9 @@
|
|||
[Unit]
|
||||
Description=ISNS Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/isnsd -f
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,73 @@
|
|||
diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c
|
||||
index 8c3cf67..2ea78c1 100644
|
||||
--- a/src/linux_sysfs.c
|
||||
+++ b/src/linux_sysfs.c
|
||||
@@ -227,6 +227,7 @@ pci_device_linux_sysfs_probe( struct pci_device * dev )
|
||||
pciaddr_t bytes;
|
||||
unsigned i;
|
||||
int err;
|
||||
+ struct stat st;
|
||||
|
||||
|
||||
err = pci_device_linux_sysfs_read( dev, config, 0, 256, & bytes );
|
||||
@@ -293,11 +294,28 @@ pci_device_linux_sysfs_probe( struct pci_device * dev )
|
||||
flags = strtoull( next, & next, 16 );
|
||||
if ( low_addr != 0 ) {
|
||||
priv->rom_base = low_addr;
|
||||
- dev->rom_size = (high_addr - low_addr) + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+ snprintf( name, 255, "%s/%04x:%02x:%02x.%1u/rom",
|
||||
+ SYS_BUS_PCI,
|
||||
+ dev->domain,
|
||||
+ dev->bus,
|
||||
+ dev->dev,
|
||||
+ dev->func );
|
||||
+
|
||||
+ fd = open( name, O_RDWR );
|
||||
+ if ( fd == -1 ) {
|
||||
+ dev->rom_size = 0x10000;
|
||||
+ } else if ( fstat( fd, & st ) == -1 ) {
|
||||
+ close( fd );
|
||||
+ dev->rom_size = 0x10000;
|
||||
+ } else {
|
||||
+ close( fd );
|
||||
+ dev->rom_size = st.st_size == 0 ? 0x10000 : st.st_size;
|
||||
+ }
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -309,7 +327,6 @@ pci_device_linux_sysfs_read_rom( struct pci_device * dev, void * buffer )
|
||||
int fd;
|
||||
struct stat st;
|
||||
int err = 0;
|
||||
- size_t rom_size;
|
||||
size_t total_bytes;
|
||||
|
||||
|
||||
@@ -334,10 +351,6 @@ pci_device_linux_sysfs_read_rom( struct pci_device * dev, void * buffer )
|
||||
return errno;
|
||||
}
|
||||
|
||||
- rom_size = st.st_size;
|
||||
- if ( rom_size == 0 )
|
||||
- rom_size = 0x10000;
|
||||
-
|
||||
/* This is a quirky thing on Linux. Even though the ROM and the file
|
||||
* for the ROM in sysfs are read-only, the string "1" must be written to
|
||||
* the file to enable the ROM. After the data has been read, "0" must be
|
||||
@@ -346,9 +359,9 @@ pci_device_linux_sysfs_read_rom( struct pci_device * dev, void * buffer )
|
||||
write( fd, "1", 1 );
|
||||
lseek( fd, 0, SEEK_SET );
|
||||
|
||||
- for ( total_bytes = 0 ; total_bytes < rom_size ; /* empty */ ) {
|
||||
+ for ( total_bytes = 0 ; total_bytes < dev->rom_size ; /* empty */ ) {
|
||||
const int bytes = read( fd, (char *) buffer + total_bytes,
|
||||
- rom_size - total_bytes );
|
||||
+ dev->rom_size - total_bytes );
|
||||
if ( bytes == -1 ) {
|
||||
err = errno;
|
||||
break;
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"libpciaccess-0.16.tar.bz2": "214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,274 @@
|
|||
Summary: PCI access library
|
||||
Name: libpciaccess
|
||||
Version: 0.16
|
||||
Release: 4%{?dist}
|
||||
License: MIT
|
||||
Vendor: Microsoft Corporation
|
||||
Distribution: Mariner
|
||||
URL: https://www.x.org/
|
||||
Source0: https://www.x.org/archive/individual/lib/%{name}-%{version}.tar.bz2
|
||||
|
||||
Patch0: libpciaccess-rom-size.patch
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: xorg-x11-util-macros
|
||||
|
||||
Requires: hwdata
|
||||
|
||||
%description
|
||||
libpciaccess is a library for portable PCI access routines across multiple
|
||||
operating systems.
|
||||
|
||||
%package devel
|
||||
Summary: PCI access library development package
|
||||
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: pkg-config
|
||||
|
||||
Provides: pkgconfig(pciaccess) = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Development package for libpciaccess.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
autoreconf -v --install
|
||||
%configure --disable-static
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc AUTHORS
|
||||
%{_libdir}/libpciaccess.so.0
|
||||
%{_libdir}/libpciaccess.so.0.11.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/pciaccess.h
|
||||
%{_libdir}/libpciaccess.so
|
||||
%{_libdir}/pkgconfig/pciaccess.pc
|
||||
|
||||
%changelog
|
||||
* Fri Dec 18 2020 Pawel Winogrodzki <pawelwi@microsoft.com> - 0.16-4
|
||||
- Initial CBL-Mariner import from Fedora 33 (license: MIT).
|
||||
- Added an explicit 'pkgconfig(pciaccess)' for 'libpciaccess-devel'.
|
||||
- Removed unused 'make-libpciaccess-snapshot.sh' from sources.
|
||||
- Replaced ldconfig scriptlets with explicit calls to ldconfig.
|
||||
- License verified.
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Oct 30 2019 Adam Jackson <ajax@redhat.com> - 0.16-1
|
||||
- libpciaccess 0.16
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.15-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jul 11 2019 Adam Jackson <ajax@redhat.com> - 0.15-1
|
||||
- libpciaccess 0.15
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.14-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Apr 04 2018 Adam Jackson <ajax@redhat.com> - 0.14-1
|
||||
- libpciaccess 0.14
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.4-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.13.4-7
|
||||
- Switch to %%ldconfig_scriptlets
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.4-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Fri May 01 2015 Adam Jackson <ajax@redhat.com> 0.13.4-1
|
||||
- libpciaccess 0.13.4
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.3-0.3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.3-0.2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Fri Apr 11 2014 Adam Jackson <ajax@redhat.com> 0.13.3-0.1
|
||||
- New git snapshot.
|
||||
|
||||
* Mon Dec 09 2013 Adam Jackson <ajax@redhat.com> 0.13.2-1
|
||||
- libpciaccess 0.13.2 (#987367)
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Tue Apr 10 2012 Adam Jackson <ajax@redhat.com> 0.13.1-1
|
||||
- libpciaccess 0.13.1
|
||||
|
||||
* Wed Mar 28 2012 Adam Jackson <ajax@redhat.com> 0.13-2
|
||||
- libpciaccess-macros.patch: Fix out* macros again
|
||||
|
||||
* Wed Mar 28 2012 Adam Jackson <ajax@redhat.com> 0.13-1
|
||||
- libpciaccess 0.13
|
||||
|
||||
* Wed Feb 29 2012 Dan Horák <dan[at]danny.cz> - 0.12.902-6
|
||||
- fix the out[bwl] compatibility macros
|
||||
|
||||
* Thu Feb 16 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 0.12.902-5
|
||||
- Add ARM arch to libpciaccess-lol-dev-port patch
|
||||
|
||||
* Wed Feb 08 2012 Adam Jackson <ajax@redhat.com> 0.12.902-4
|
||||
- libpciaccess-lol-dev-port.patch: Don't use /dev/port since the kernel insists
|
||||
that it remain unusably broken.
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.902-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Mon Nov 28 2011 Daniel Drake <dsd@laptop.org> 0.12.902-2
|
||||
- Add upstream patch to fix ios deletion; fixes X crash on OLPC XO-1.5
|
||||
|
||||
* Wed Nov 09 2011 Adam Jackson <ajax@redhat.com> 0.12.902-1
|
||||
- libpciaccess 0.12.902
|
||||
|
||||
* Wed Nov 09 2011 Peter Hutterer <peter.hutterer@redhat.com> 0.12.901-1
|
||||
- Today's git snapshot
|
||||
|
||||
* Wed Feb 09 2011 Adam Jackson <ajax@redhat.com> 0.12.1-1
|
||||
- libpciaccess 0.12.1
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Wed Jul 21 2010 Dave Airlie <airlied@redhat.com> 0.12.0-1
|
||||
- libpciaccess 0.12
|
||||
|
||||
* Tue Mar 16 2010 Adam Jackson <ajax@redhat.com> 0.11.0-1
|
||||
- libpciaccess 0.11
|
||||
|
||||
* Wed Dec 09 2009 Adam Jackson <ajax@redhat.com> 0.10.9-2.20091209
|
||||
- New git snapshot
|
||||
- Drop the fd cache patch
|
||||
|
||||
* Fri Sep 25 2009 Dave Airlie <airlied@redhat.com> 0.10.9-1
|
||||
- rebase to latest upstream release - drop patches
|
||||
|
||||
* Thu Aug 06 2009 Dave Airlie <airlied@redhat.com> 0.10.6-7
|
||||
- disable rom reading fallbacks
|
||||
|
||||
* Wed Aug 05 2009 Adam Jackson <ajax@redhat.com> 0.10.6-6
|
||||
- D'oh. Fix obvious sense inversion in the previous patch.
|
||||
|
||||
* Wed Aug 05 2009 Adam Jackson <ajax@redhat.com> 0.10.6-5
|
||||
- libpciaccess-0.10.6-rom-sanity.patch: If we hit the /dev/mem path for
|
||||
reading a device's ROM, verify that it looks like it at least might belong
|
||||
to the device in question by checking vendor and device ID match. Fixes
|
||||
vbetool post hanging forever (and thus blocking boot) on some dual-gpu
|
||||
laptops.
|
||||
|
||||
* Mon Aug 03 2009 Dave Airlie <airlied@redhat.com> 0.10.6-4
|
||||
- Add support for default vga arb device selection
|
||||
- Update libpciaccess VGA arb code for newer kernel API
|
||||
|
||||
* Fri Jul 31 2009 Dave Airlie <airlied@redhat.com> 0.10.6-3
|
||||
- enable autoreconf to rebuild configure properly
|
||||
|
||||
* Fri Jul 31 2009 Dave Airlie <airlied@redhat.com> 0.10.6-2
|
||||
- libpciaccess-vga-arbiter.patch: add vga arbiter support to libpciaccess
|
||||
|
||||
* Mon Jul 27 2009 Dave Airlie <airlied@redhat.com> 0.10.6-1
|
||||
- rebase to latest release (will do release with VGA bits later)
|
||||
- libpciaccess-boot-vga.patch: add boot vga patch from upstream
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Tue Apr 21 2009 Adam Jackson <ajax@redhat.com> 0.10.5-1
|
||||
- libpciaccess 0.10.5
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10.3-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Sun Feb 15 2009 Kristian Høgsberg <krh@redhat.com> - 0.10.3-5
|
||||
- Unbreak the rom-size patch.
|
||||
|
||||
* Sun Feb 15 2009 Kristian Høgsberg <krh@redhat.com> - 0.10.3-4
|
||||
- Don't read more than the advertised rom_size.
|
||||
|
||||
* Thu Aug 28 2008 Adam Jackson <ajax@redhat.com> 0.10.3-3
|
||||
- Rediff for --fuzz=0
|
||||
|
||||
* Wed Jul 02 2008 Adam Jackson <ajax@redhat.com> 0.10.3-2
|
||||
- Fix file access mode in config fd cache. (#452910)
|
||||
|
||||
* Tue Jul 01 2008 Adam Jackson <ajax@redhat.com> 0.10.3-1
|
||||
- libpciaccess 0.10.3
|
||||
|
||||
* Tue May 20 2008 Adam Jackson <ajax@redhat.com> 0.10-3
|
||||
- libpciaccess-no-pci-fix.patch: Fix init when /sys/bus/pci is empty or
|
||||
nonexistent.
|
||||
|
||||
* Mon Apr 21 2008 Dave Airlie <airlied@redhat.com> 0.10-2
|
||||
- fix major problem with libpciaccess and write combining.
|
||||
|
||||
* Thu Mar 06 2008 Adam Jackson <ajax@redhat.com> 0.10-1
|
||||
- libpciaccess 0.10
|
||||
|
||||
* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.9.1-4.20071031
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Wed Jan 23 2008 Adam Jackson <ajax@redhat.com> 0.9.1-3.20071031
|
||||
- libpciaccess-fd-cache.patch: Cache sysfs PCI config space file
|
||||
descriptors for great boot speed justice.
|
||||
|
||||
* Wed Oct 31 2007 Kristian Høgsberg <krh@redhat.com> 0.9.1-2.20071031
|
||||
- New snapshot, git revision e392082abb5696c8837224da86cc0af4f21d7010.
|
||||
- Pick up new .so file.
|
||||
|
||||
* Mon Sep 24 2007 Adam Jackson <ajax@redhat.com> 0.9.1-1
|
||||
- libpciaccess 0.9.1
|
||||
|
||||
* Mon Aug 27 2007 Adam Jackson <ajax@redhat.com> 0.8-0.4.20070827git
|
||||
- New snapshot.
|
||||
|
||||
* Fri Aug 24 2007 Adam Jackson <ajax@redhat.com> 0.8-0.3.20070712git
|
||||
- Rebuild for PPC toolchain bug
|
||||
|
||||
* Thu Jul 12 2007 Adam Jackson <ajax@redhat.com> 0.8-0.2.20070712git
|
||||
- New snapshot. Adds VGA ROM support.
|
||||
|
||||
* Thu May 24 2007 Adam Jackson <ajax@redhat.com> 0.8-0.1.20070524git
|
||||
- Initial revision.
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,22 @@
|
|||
diff -rup numad-0.5git/numad.8 numad-0.5git-new/numad.8
|
||||
--- numad-0.5git/numad.8 2015-06-02 13:16:31.000000000 +0200
|
||||
+++ numad-0.5git-new/numad.8 2019-03-26 09:20:45.887766101 +0100
|
||||
@@ -98,8 +98,7 @@ Sets the time interval that numad waits
|
||||
<\fImin_interval\fP> is 5 seconds. Setting a <\fImax_interval\fP> of zero will
|
||||
cause the daemon to exit. (This is the normal mechanism to terminate the
|
||||
daemon.) A bigger <\fImax_interval\fP> will decrease numad overhead but also
|
||||
-decrease responsiveness to changing loads. The default numad max_interval can
|
||||
-be changed in the numad.conf file.
|
||||
+decrease responsiveness to changing loads.
|
||||
.TP
|
||||
\fB\-K\fR <\fI0|1\fP>
|
||||
This option controls whether numad keeps interleaved memory spread across NUMA
|
||||
@@ -210,8 +209,6 @@ numad can manage.
|
||||
.LP
|
||||
\fI/usr/bin/numad\fP
|
||||
.br
|
||||
-\fI/etc/numad.conf\fP
|
||||
-.br
|
||||
\fI/var/log/numad.log\fP
|
||||
.br
|
||||
\fI/var/run/numad.pid\fP
|
|
@ -0,0 +1,17 @@
|
|||
The source for this package does not include a copy of the license text. From the comments in 'numad.c':
|
||||
|
||||
"
|
||||
(...)
|
||||
numad is free software; you can redistribute it and/or modify it under the
|
||||
terms of the GNU Lesser General Public License as published by the Free
|
||||
Software Foundation; version 2.1.
|
||||
|
||||
numad is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
||||
details.
|
||||
|
||||
You should find a copy of v2.1 of the GNU Lesser General Public License
|
||||
somewhere on your Linux system; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
"
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"LICENSE.PTR": "5667534631b86ad118ba6dcdabf5f12f5b0fcdde6e45d2a5816588185bd13e6f",
|
||||
"numad-0.5+20150602.aec1497e2b.tar.xz": "113de6cb4bb4ebe522a7cf7eecef4ae93e2fa7e05dcd1eb82d76d96ff5c17f3a"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,199 @@
|
|||
# Use only 7-10 first characters of the git commit hash!
|
||||
%define git_commit aec1497e2b29f57997ae27351ac01abc25026387
|
||||
%define git_short_commit aec1497e2b
|
||||
%define git_short_commit_date 20150602
|
||||
|
||||
Summary: NUMA user daemon
|
||||
Name: numad
|
||||
# Following Fedora's guidelines regarding snapshots versioning:
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_snapshots
|
||||
# Using "+" instead of "^" because our version of RPM errors-out on the "^" symbol.
|
||||
Version: 0.5+%{git_short_commit_date}.%{git_short_commit}
|
||||
Release: 32%{?dist}
|
||||
License: LGPLv2+
|
||||
Vendor: Microsoft Corporation
|
||||
Distribution: Mariner
|
||||
URL: https://pagure.io/numad
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
# The source for this package was pulled from upstream's vcs. Use the
|
||||
# following commands to generate the tarball:
|
||||
# git clone -n https://pagure.io/numad.git numad-%%{version}
|
||||
# pushd numad-%%{version}
|
||||
# git checkout %%{git_short_commit}
|
||||
# popd
|
||||
# tar --sort=name \
|
||||
# --mtime="2021-04-26 00:00Z" \
|
||||
# --owner=0 --group=0 --numeric-owner \
|
||||
# --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
|
||||
# --exclude-vcs -cJf numad-%%{version}.tar.xz numad-%%{version}
|
||||
#
|
||||
# NOTES:
|
||||
# - You require GNU tar version 1.28+.
|
||||
# - The additional options enable generation of a tarball with the same hash every time regardless of the environment.
|
||||
# See: https://reproducible-builds.org/docs/archives/
|
||||
# - For the value of "--mtime" use the date "2021-04-26 00:00Z" to simplify future updates.
|
||||
Source1: LICENSE.PTR
|
||||
Patch0: 0000-remove-conf.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: systemd-units
|
||||
|
||||
Requires: systemd-units
|
||||
Requires(post): systemd-units
|
||||
Requires(preun): systemd-units
|
||||
|
||||
ExcludeArch: s390 %{arm}
|
||||
|
||||
%description
|
||||
Numad, a daemon for NUMA (Non-Uniform Memory Architecture) systems,
|
||||
that monitors NUMA characteristics and manages placement of processes
|
||||
and memory to minimize memory latency and thus provide optimum performance.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%make_build
|
||||
|
||||
%install
|
||||
install -d %{buildroot}%{_bindir}
|
||||
install -d %{buildroot}%{_sysconfdir}/logrotate.d
|
||||
install -d %{buildroot}%{_unitdir}
|
||||
install -d %{buildroot}%{_mandir}/man8/
|
||||
|
||||
install -p -m 644 numad.service %{buildroot}%{_unitdir}/
|
||||
install -p -m 644 numad.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||
|
||||
make install prefix=%{buildroot}%{_prefix}
|
||||
|
||||
cp %{SOURCE1} .
|
||||
|
||||
%files
|
||||
%license LICENSE.PTR
|
||||
%{_bindir}/numad
|
||||
%{_unitdir}/numad.service
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/numad
|
||||
%{_mandir}/man8/numad.8.gz
|
||||
|
||||
%post
|
||||
%systemd_post numad.service
|
||||
|
||||
%preun
|
||||
%systemd_preun numad.service
|
||||
|
||||
%postun
|
||||
%systemd_postun numad.service
|
||||
|
||||
%changelog
|
||||
* Tue Jul 13 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 0.5+20150602.aec1497e2b-32
|
||||
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
|
||||
- Changed release to a simple integer.
|
||||
- Switched versioning to use Fedora's guidelines for snapshots.
|
||||
- Added git commit hash to better track source version.
|
||||
- Using '%%autosetup' and the '%%make_build' macro instead of 'make'.
|
||||
- License verified.
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-31.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-30.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Tue Mar 26 2019 Jan Synáček <jsynacek@redhat.com> - 0.5-29.20150602git
|
||||
- Remove all mentions of the default config file, which is not used anyway
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-28.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-27.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Jan Synáček <jsynacek@redhat.com> - 0.5-26.20150602git
|
||||
- Remove initscripts from Requires (#1592372)
|
||||
|
||||
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-25.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-24.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-23.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Dan Horák <dan[at]danny.cz> - 0.5-22.20150602git
|
||||
- Enable on s390x
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-21.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5-20.20150602git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Tue Jun 2 2015 Jan Synáček <jsynacek@redhat.com> - 0.5-19.20150602git
|
||||
- Update to 20150602
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5-18.20140620git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Mon Jun 23 2014 Jan Synáček <jsynacek@redhat.com> - 0.5-17.20140620git
|
||||
- Update to 20140620
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5-16.20140225git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Tue Mar 25 2014 Jan Synáček <jsynacek@redhat.com> - 0.5-15.20140225git
|
||||
- Update to the correct upstream version of 20140225
|
||||
|
||||
* Fri Feb 28 2014 Jan Synáček <jsynacek@redhat.com> - 0.5-14.20140225git
|
||||
- Update to 20140225
|
||||
- Resolves: #1071221
|
||||
|
||||
* Mon Jan 20 2014 Ville Skyttä <ville.skytta@iki.fi> - 0.5-13.20130814git
|
||||
- Don't order service after syslog.target (#1055209).
|
||||
- Build with $RPM_OPT_FLAGS and $RPM_LD_FLAGS.
|
||||
- Fix build with -Werror=format-security.
|
||||
|
||||
* Wed Aug 14 2013 Jan Synáček <jsynacek@redhat.com> - 0.5-12.20130814git
|
||||
- Update to 20130814
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5-11.20121130git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5-10.20121130git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Tue Dec 11 2012 Jan Synáček <jsynacek@redhat.com> - 0.5-9.20121130git
|
||||
- Update and comment the Makefile patch
|
||||
- Related: #825153
|
||||
|
||||
* Mon Dec 03 2012 Jan Synáček <jsynacek@redhat.com> - 0.5-8.20121130git
|
||||
- Update to 20121130
|
||||
- Update spec: fix command to generate tarball
|
||||
|
||||
* Tue Oct 16 2012 Jan Synáček <jsynacek@redhat.com> - 0.5-7.20121015git
|
||||
- Update to 20121015
|
||||
- Add Makefile patch
|
||||
- Update spec: update command to generate tarball
|
||||
|
||||
* Wed Aug 22 2012 Jan Synáček <jsynacek@redhat.com> - 0.5-6.20120522git
|
||||
- add systemd-rpm macros
|
||||
- Resolves: #850236
|
||||
|
||||
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5-5.20120522git
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed May 23 2012 Jan Synáček <jsynacek@redhat.com> - 0.5-4.20120522git
|
||||
- update source (20120522) and manpage
|
||||
|
||||
* Tue Mar 06 2012 Jan Synáček <jsynacek@redhat.com> 0.5-3.20120221git
|
||||
- update source
|
||||
- drop the patch
|
||||
|
||||
* Fri Feb 24 2012 Jan Synáček <jsynacek@redhat.com> 0.5-2.20120221git
|
||||
- add BuildRequires: systemd-units
|
||||
|
||||
* Wed Feb 15 2012 Jan Synáček <jsynacek@redhat.com> 0.5-1.20120221git
|
||||
- spec update
|
||||
|
||||
* Fri Feb 10 2012 Bill Burns <bburns@redhat.com> 0.5-1
|
||||
- initial version
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"sanlock-3.8.1.tar.gz": "452a45190350eaa1904037e0312404dcd6d8e2a6f12756109f05cbda6ae3d078"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,322 @@
|
|||
Summary: A shared storage lock manager
|
||||
Name: sanlock
|
||||
Version: 3.8.1
|
||||
Release: 2%{?dist}
|
||||
License: GPLv2 AND GPLv2+ AND LGPLv2+
|
||||
Vendor: Microsoft Corporation
|
||||
Distribution: Mariner
|
||||
URL: https://pagure.io/sanlock/
|
||||
Source0: https://releases.pagure.org/sanlock/%{name}-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libaio-devel
|
||||
BuildRequires: libblkid-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: python3
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: systemd-units
|
||||
|
||||
Requires: %{name}-lib = %{version}-%{release}
|
||||
Requires(post): systemd-sysv
|
||||
Requires(post): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
Requires(pre): %{_sbindir}/groupadd
|
||||
Requires(pre): %{_sbindir}/useradd
|
||||
Requires(preun): systemd-units
|
||||
|
||||
%description
|
||||
The sanlock daemon manages leases for applications on hosts using shared storage.
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
%build
|
||||
%{set_build_flags}
|
||||
# upstream does not require configure
|
||||
# upstream does not support _smp_mflags
|
||||
make -C wdmd
|
||||
make -C src
|
||||
make -C python PY_VERSION=3
|
||||
make -C reset
|
||||
|
||||
%install
|
||||
make -C src \
|
||||
install LIBDIR=%{_libdir} \
|
||||
DESTDIR=%{buildroot}
|
||||
make -C wdmd \
|
||||
install LIBDIR=%{_libdir} \
|
||||
DESTDIR=%{buildroot}
|
||||
make -C python \
|
||||
install LIBDIR=%{_libdir} \
|
||||
DESTDIR=%{buildroot} \
|
||||
PY_VERSION=3
|
||||
make -C reset \
|
||||
install LIBDIR=%{_libdir} \
|
||||
DESTDIR=%{buildroot}
|
||||
|
||||
|
||||
install -D -m 0644 init.d/sanlock.service.native %{buildroot}/%{_unitdir}/sanlock.service
|
||||
install -D -m 0755 init.d/wdmd %{buildroot}%{_libdir}/systemd/systemd-wdmd
|
||||
install -D -m 0644 init.d/wdmd.service.native %{buildroot}/%{_unitdir}/wdmd.service
|
||||
install -D -m 0644 init.d/sanlk-resetd.service %{buildroot}/%{_unitdir}/sanlk-resetd.service
|
||||
|
||||
install -D -m 0644 src/logrotate.sanlock \
|
||||
%{buildroot}%{_sysconfdir}/logrotate.d/sanlock
|
||||
|
||||
install -D -m 0644 src/sanlock.conf \
|
||||
%{buildroot}%{_sysconfdir}/sanlock/sanlock.conf
|
||||
|
||||
install -D -m 0644 init.d/wdmd.sysconfig \
|
||||
%{buildroot}%{_sysconfdir}/sysconfig/wdmd
|
||||
|
||||
install -Dd -m 0755 %{buildroot}%{_sysconfdir}/wdmd.d
|
||||
install -Dd -m 0775 %{buildroot}/%{_localstatedir}/run/sanlock
|
||||
install -Dd -m 0775 %{buildroot}/%{_localstatedir}/run/sanlk-resetd
|
||||
|
||||
%pre
|
||||
getent group sanlock > /dev/null || %{_sbindir}/groupadd \
|
||||
-g 179 sanlock
|
||||
getent passwd sanlock > /dev/null || %{_sbindir}/useradd \
|
||||
-u 179 -c "sanlock" -s /sbin/nologin -r \
|
||||
-g 179 -d %{_var}/run/sanlock sanlock
|
||||
%{_sbindir}/usermod -a -G disk sanlock
|
||||
|
||||
%post
|
||||
%systemd_post wdmd.service sanlock.service
|
||||
|
||||
%preun
|
||||
%systemd_preun wdmd.service sanlock.service
|
||||
|
||||
%postun
|
||||
%systemd_postun wdmd.service sanlock.service
|
||||
|
||||
%package lib
|
||||
Summary: A shared storage lock manager library
|
||||
|
||||
%description lib
|
||||
The %{name}-lib package contains the runtime libraries for sanlock,
|
||||
a shared storage lock manager.
|
||||
Hosts connected to a common SAN can use this to synchronize their
|
||||
access to the shared disks.
|
||||
|
||||
%ldconfig_scriptlets lib
|
||||
|
||||
%package -n python3-sanlock
|
||||
%{?python_provide:%python_provide python3-sanlock}
|
||||
Summary: Python bindings for the sanlock library
|
||||
|
||||
Requires: %{name}-lib = %{version}-%{release}
|
||||
|
||||
%description -n python3-sanlock
|
||||
The %{name}-python package contains a module that permits applications
|
||||
written in the Python programming language to use the interface
|
||||
supplied by the sanlock library.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
|
||||
Requires: %{name}-lib = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%package -n sanlk-reset
|
||||
Summary: Host reset daemon and client using sanlock
|
||||
|
||||
Requires: sanlock = %{version}-%{release}
|
||||
Requires: sanlock-lib = %{version}-%{release}
|
||||
|
||||
%description -n sanlk-reset
|
||||
The sanlk-reset package contains the reset daemon and client.
|
||||
A cooperating host running the daemon can be reset by a host
|
||||
running the client, so long as both maintain access to a
|
||||
common sanlock lockspace.
|
||||
|
||||
%files
|
||||
%license README.license
|
||||
%doc init.d/sanlock
|
||||
%doc init.d/sanlock.service
|
||||
%doc init.d/wdmd.service
|
||||
%{_libdir}/systemd/systemd-wdmd
|
||||
%{_unitdir}/sanlock.service
|
||||
%{_unitdir}/wdmd.service
|
||||
%{_sbindir}/sanlock
|
||||
%{_sbindir}/wdmd
|
||||
%dir %{_sysconfdir}/wdmd.d
|
||||
%dir %{_sysconfdir}/sanlock
|
||||
%dir %attr(-,sanlock,sanlock) %{_localstatedir}/run/sanlock
|
||||
%{_mandir}/man8/wdmd*
|
||||
%{_mandir}/man8/sanlock*
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/sanlock
|
||||
%config(noreplace) %{_sysconfdir}/sanlock/sanlock.conf
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/wdmd
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libwdmd.so
|
||||
%{_includedir}/wdmd.h
|
||||
%{_libdir}/libsanlock.so
|
||||
%{_libdir}/libsanlock_client.so
|
||||
%{_includedir}/sanlock.h
|
||||
%{_includedir}/sanlock_rv.h
|
||||
%{_includedir}/sanlock_admin.h
|
||||
%{_includedir}/sanlock_resource.h
|
||||
%{_includedir}/sanlock_direct.h
|
||||
%{_libdir}/pkgconfig/libsanlock.pc
|
||||
%{_libdir}/pkgconfig/libsanlock_client.pc
|
||||
|
||||
%files lib
|
||||
%{_libdir}/libsanlock.so.*
|
||||
%{_libdir}/libsanlock_client.so.*
|
||||
%{_libdir}/libwdmd.so.*
|
||||
|
||||
%files -n python3-sanlock
|
||||
%{python3_sitearch}/sanlock_python-*.egg-info
|
||||
%{python3_sitearch}/sanlock*.so
|
||||
|
||||
%files -n sanlk-reset
|
||||
%{_sbindir}/sanlk-reset
|
||||
%{_sbindir}/sanlk-resetd
|
||||
%{_unitdir}/sanlk-resetd.service
|
||||
%dir %attr(-,root,root) %{_localstatedir}/run/sanlk-resetd
|
||||
%{_mandir}/man8/sanlk-reset*
|
||||
|
||||
%changelog
|
||||
* Mon Jul 12 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 3.8.1-2
|
||||
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
|
||||
- Added %%license macro.
|
||||
- Switched to using the offical upstream sources and %%autosetup.
|
||||
- License verified.
|
||||
|
||||
* Sat May 02 2020 Nir Soffer <nsoffer@redhat.com> - 3.8.1-1
|
||||
- Update to sanlock-3.8.1
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0-3
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed Jun 12 2019 Nir Soffer <nsoffer@redhat.com> - 3.8.0-1
|
||||
- Update to sanlock-3.8.0
|
||||
- Convert spec to python 3
|
||||
|
||||
* Tue May 21 2019 Nir Soffer <nsoffer@redhat.com> - 3.7.3-1
|
||||
- Update to sanlock-3.7.3
|
||||
- Add missing BuildRequires and Requires
|
||||
|
||||
* Fri Apr 12 2019 Nir Soffer <nsoffer@redhat.com> - 3.7.1-2
|
||||
- Cleanup up align and sector constants
|
||||
|
||||
* Mon Apr 8 2019 Nir Soffer <nsoffer@redhat.com> - 3.7.1-1
|
||||
- Update to sanlock 3.7.1
|
||||
- Fix read_resource_owners (414abfe)
|
||||
|
||||
* Wed Mar 20 2019 Nir Soffer <nsoffer@redhat.com> - 3.7.0-1
|
||||
- remove unneeded with_systemd macro
|
||||
- update to sanlock 3.7.0
|
||||
|
||||
* Sat Feb 2 2019 Nir Soffer <nsoffer@redhat.com> - 3.6.0-8
|
||||
- fix build on Fedora rawhide
|
||||
|
||||
* Thu Jan 24 2019 David Teigland <teigland@redhat.com> - 3.6.0-7
|
||||
- lockfile ownership
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Thu Apr 12 2018 Iryna Shcherbina <shcherbina.iryna@gmail.com> - 3.6.0-5
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Wed Mar 14 2018 David Teigland <teigland@redhat.com> - 3.6.0-4
|
||||
- change makefile flags
|
||||
|
||||
* Wed Mar 14 2018 David Teigland <teigland@redhat.com> - 3.6.0-3
|
||||
- rebuild with set_build_flags
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Dec 12 2017 David Teigland <teigland@redhat.com> - 3.6.0-1
|
||||
- Update to sanlock-3.6.0, drop fence_sanlock
|
||||
|
||||
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.5.0-6
|
||||
- Add Provides for the old name without %%_isa
|
||||
|
||||
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.5.0-5
|
||||
- Add Provides for the old name without %%_isa
|
||||
|
||||
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.5.0-4
|
||||
- Python 2 binary package renamed to python2-sanlock
|
||||
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon May 01 2017 David Teigland <teigland@redhat.com> - 3.5.0-1
|
||||
- Update to sanlock-3.5.0
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.0-2
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Fri Jun 10 2016 David Teigland <teigland@redhat.com> - 3.4.0-1
|
||||
- Update to sanlock-3.4.0
|
||||
|
||||
* Tue Feb 23 2016 David Teigland <teigland@redhat.com> - 3.3.0-2
|
||||
- remove exclusive arch
|
||||
|
||||
* Mon Feb 22 2016 David Teigland <teigland@redhat.com> - 3.3.0-1
|
||||
- Update to sanlock-3.3.0
|
||||
|
||||
* Tue Dec 01 2015 David Teigland <teigland@redhat.com> - 3.2.4-2
|
||||
- wdmd: prevent probe while watchdog is used
|
||||
|
||||
* Fri Jun 19 2015 David Teigland <teigland@redhat.com> - 3.2.4-1
|
||||
- Update to sanlock-3.2.4
|
||||
|
||||
* Fri May 22 2015 David Teigland <teigland@redhat.com> - 3.2.3-2
|
||||
- add pkgconfig files
|
||||
|
||||
* Wed May 20 2015 David Teigland <teigland@redhat.com> - 3.2.3-1
|
||||
- Update to sanlock-3.2.3
|
||||
|
||||
* Thu Oct 30 2014 David Teigland <teigland@redhat.com> - 3.2.2-2
|
||||
- checksum endian fix
|
||||
|
||||
* Mon Sep 29 2014 David Teigland <teigland@redhat.com> - 3.2.2-1
|
||||
- Update to sanlock-3.2.2
|
||||
|
||||
* Thu Aug 21 2014 David Teigland <teigland@redhat.com> - 3.2.1-1
|
||||
- Update to sanlock-3.2.1
|
||||
|
||||
* Mon Aug 18 2014 David Teigland <teigland@redhat.com> - 3.2.0-1
|
||||
- Update to sanlock-3.2.0
|
||||
|
||||
* Wed Jan 29 2014 David Teigland <teigland@redhat.com> - 3.1.0-2
|
||||
- version interface
|
||||
|
||||
* Tue Jan 07 2014 David Teigland <teigland@redhat.com> - 3.1.0-1
|
||||
- Update to sanlock-3.1.0
|
||||
|
||||
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 3.0.1-3
|
||||
- Mass rebuild 2013-12-27
|
||||
|
||||
* Thu Aug 01 2013 David Teigland <teigland@redhat.com> - 3.0.1-2
|
||||
- use /usr/lib instead of /lib
|
||||
|
||||
* Wed Jul 31 2013 David Teigland <teigland@redhat.com> - 3.0.1-1
|
||||
- Update to sanlock-3.0.1
|
||||
|
||||
* Wed Jul 24 2013 David Teigland <teigland@redhat.com> - 3.0.0-1
|
||||
- Update to sanlock-3.0.0
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"util-macros-1.19.2.tar.bz2": "d7e43376ad220411499a79735020f9d145fdc159284867e99467e0d771f3e712"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,244 @@
|
|||
%global pkgname util-macros
|
||||
%global debug_package %{nil}
|
||||
|
||||
Summary: X.Org X11 Autotools macros
|
||||
Name: xorg-x11-util-macros
|
||||
Version: 1.19.2
|
||||
Release: 8%{?dist}
|
||||
License: MIT
|
||||
Vendor: Microsoft Corporation
|
||||
Distribution: Mariner
|
||||
URL: https://www.x.org
|
||||
Source0: https://www.x.org/pub/individual/util/%{pkgname}-%{version}.tar.bz2
|
||||
|
||||
Requires: autoconf
|
||||
Requires: automake
|
||||
Requires: libtool
|
||||
Requires: pkg-config
|
||||
|
||||
Provides: pkgconfig(xorg-macros) = %{version}-%{release}
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
X.Org X11 autotools macros required for building the various packages that
|
||||
comprise the X Window System.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{pkgname}-%{version}
|
||||
|
||||
%build
|
||||
%configure
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
make install DESTDIR=%{buildroot} INSTALL="install -p"
|
||||
|
||||
%files
|
||||
%doc ChangeLog
|
||||
%license COPYING
|
||||
%{_datadir}/aclocal/xorg-macros.m4
|
||||
%{_datadir}/pkgconfig/xorg-macros.pc
|
||||
%{_datadir}/util-macros
|
||||
|
||||
%changelog
|
||||
* Thu Dec 10 2020 Pawel Winogrodzki <pawelwi@microsoft.com> - 1.19.2-8
|
||||
- Initial CBL-Mariner import from Fedora 33 (license: MIT).
|
||||
- License verified.
|
||||
- Added explicit Provides for "pkgconfig(xorg-macros)".
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.2-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue May 01 2018 Adam Jackson <ajax@redhat.com> - 1.19.2-2
|
||||
- HTTPS URLs
|
||||
|
||||
* Mon Mar 05 2018 Dr. Tilmann Bubeck <tilmann@bubecks.de> - 1.19.2-1
|
||||
- util-macros 1.19.2
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Thu Jan 28 2016 Peter Hutterer <peter.hutterer@redhat.com>
|
||||
- Remove unnecessary defattr
|
||||
|
||||
* Wed Jan 20 2016 Peter Hutterer <peter.hutterer@redhat.com>
|
||||
- s/define/global/
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.19.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat Jul 05 2014 Dr. Tilmann Bubeck <tilmann@bubecks.de> - 1.19.0-3
|
||||
- Include missing INSTALL (bz #1083749)
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.19.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Fri Mar 28 2014 Peter Hutterer <peter.hutterer@redhat.com> 1.19.0-1
|
||||
- util-macros 1.19.0
|
||||
|
||||
* Wed Dec 04 2013 Peter Hutterer <peter.hutterer@redhat.com> 1.18.0-1
|
||||
- util-macros 1.18.0
|
||||
|
||||
* Mon Sep 09 2013 Peter Hutterer <peter.hutterer@redhat.com> 1.17.1-1
|
||||
- util-macros 1.17.1
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.17-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.17-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.17-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Mar 14 2012 Peter Hutterer <peter.hutterer@redhat.com> 1.17-1
|
||||
- util-macros 1.17
|
||||
|
||||
* Tue Mar 06 2012 Peter Hutterer <peter.hutterer@redhat.com> 1.16.2-1
|
||||
- util-macros 1.16.2
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.16.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Tue Jan 03 2012 Peter Hutterer <peter.hutterer@redhat.com> 1.16.0-1
|
||||
- util-macros 1.16
|
||||
|
||||
* Tue Jul 05 2011 Adam Jackson <ajax@redhat.com> 1.15.0-1
|
||||
- util-macros 1.15
|
||||
|
||||
* Mon May 30 2011 Peter Hutterer <peter.hutterer@redhat.com> 1.14.0-1
|
||||
- util-macros 1.14
|
||||
|
||||
* Tue Mar 15 2011 Peter Hutterer <peter.hutterer@redhat.com> 1.13.0-1
|
||||
- util-macros 1.13
|
||||
|
||||
* Mon Feb 28 2011 Peter Hutterer <peter.hutterer@redhat.com> 1.12.0-1
|
||||
- util-macros 1.12
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.11.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Mon Nov 01 2010 Peter Hutterer <peter.hutterer@redhat.com> 1.11.0-2
|
||||
- util-macros 1.11
|
||||
|
||||
* Tue Jul 20 2010 Peter Hutterer <peter.hutterer@redhat.com> 1.10.0-2
|
||||
- Spec file cleanup. Patch from Parag An. (#226646)
|
||||
|
||||
* Mon Jun 28 2010 Peter Hutterer <peter.hutterer@redhat.com> 1.10.0-1
|
||||
- util-macros 1.10.0
|
||||
|
||||
* Thu Jun 24 2010 Peter Hutterer <peter.hutterer@redhat.com> 1.9.0-1
|
||||
- util-macros 1.9.0
|
||||
|
||||
* Tue Jun 01 2010 Peter Hutterer <peter.hutterer@redhat.com> 1.8.0-1
|
||||
- util-macros 1.8.0
|
||||
|
||||
* Tue May 18 2010 Peter Hutterer <peter.hutterer@redhat.com> 1.6.0-1
|
||||
- util-macros 1.6.0
|
||||
|
||||
* Thu Feb 04 2010 Dave Airlie <airlied@redhat.com> 1.5.0-1
|
||||
- util-macros 1.5.0
|
||||
|
||||
* Mon Dec 14 2009 Adam Jackson <ajax@redhat.com> 1.4.1-1
|
||||
- util-macros 1.4.1
|
||||
|
||||
* Thu Sep 10 2009 Peter Hutterer <peter.hutterer@redhat.com> 1.3.0-1
|
||||
- util-macros 1.3.0
|
||||
|
||||
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Sat Jul 18 2009 Peter Hutterer <peter.hutterer@redhat.com> 1.2.2-1
|
||||
- util-macros 1.2.2
|
||||
|
||||
* Tue Apr 21 2009 Adam Jackson <ajax@redhat.com> 1.2.1-3
|
||||
- Add Requires: for the things you inevitably require if you need this
|
||||
package.
|
||||
|
||||
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Wed Dec 17 2008 Adam Jackson <ajax@redhat.com> 1.2.1-1
|
||||
- util-macros 1.2.1
|
||||
- BuildArch: noarch
|
||||
|
||||
* Mon Aug 11 2008 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.1.6-2
|
||||
- Fix license tag.
|
||||
|
||||
* Wed Mar 05 2008 Adam Jackson <ajax@redhat.com> 1.1.6-1
|
||||
- Update to 1.1.6
|
||||
|
||||
* Wed Feb 20 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.1.5-2
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Fri Jan 05 2007 Adam Jackson <ajax@redhat.com> 1.1.5-1
|
||||
- Update to 1.1.5
|
||||
|
||||
* Fri Dec 1 2006 Adam Jackson <ajax@redhat.com> 1.1.3-1
|
||||
- Update to 1.1.3
|
||||
|
||||
* Thu Oct 12 2006 Adam Jackson <ajackson@redhat.com> 1.1.1-1.fc6
|
||||
- Update to upstream 1.1.1.
|
||||
|
||||
* Sat Jul 15 2006 Mike A. Harris <mharris@redhat.com> 1.0.2-4.fc6
|
||||
- Make dist tag usage a conditional (#198988)
|
||||
|
||||
* Thu Jul 13 2006 Kristian Høgsberg <krh@redhat.com> 1.0.2-3
|
||||
- Bump for rawhide build.
|
||||
|
||||
* Thu Jul 13 2006 Kristian Høgsberg <krh@redhat.com> 1.0.2-2.fc5.aiglx
|
||||
- Tag as 1.0.2-2.fc5.aiglx
|
||||
|
||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> 1.0.2-1.1
|
||||
- rebuild
|
||||
|
||||
* Wed Jun 21 2006 Mike A. Harris <mharris@redhat.com> 1.0.2-1
|
||||
- Update to util-macros-1.0.2 from X11R7.1
|
||||
- Added COPYING, ChangeLog to file manifest.
|
||||
- Use "make install" instead of makeinstall macro.
|
||||
- Use setup -n instead of setup -c
|
||||
|
||||
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> 1.0.1-1.2
|
||||
- bump again for double-long bug on ppc(64)
|
||||
|
||||
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> 1.0.1-1.1
|
||||
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||
|
||||
* Fri Dec 23 2005 Mike A. Harris <mharris@redhat.com> 1.0.1-1
|
||||
- Update to util-macros-1.0.1 from X11R7.
|
||||
|
||||
* Thu Dec 15 2005 Mike A. Harris <mharris@redhat.com> 1.0.0-1
|
||||
- Update to util-macros-1.0.0 from the X11R7 RC4 release.
|
||||
|
||||
* Tue Dec 06 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-1
|
||||
- Update to util-macros-0.99.2 from the X11R7 RC3 release.
|
||||
|
||||
* Wed Oct 19 2005 Mike A. Harris <mharris@redhat.com> 0.99.1-1
|
||||
- Update to util-macros-0.99.1 from the X11R7 RC1 release.
|
||||
- Disable debuginfo package creation, as there are no ELF objects present.
|
||||
- Add xorg-macros.m4 to file list.
|
||||
|
||||
* Wed Jul 13 2005 Mike A. Harris <mharris@redhat.com> 0.0.1-1
|
||||
- Initial build
|
|
@ -0,0 +1,28 @@
|
|||
diff -rup yajl-2.1.0.orig/reformatter/CMakeLists.txt yajl-2.1.0.new/reformatter/CMakeLists.txt
|
||||
--- yajl-2.1.0.orig/reformatter/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000
|
||||
+++ yajl-2.1.0.new/reformatter/CMakeLists.txt 2014-04-28 11:36:11.909478329 +0100
|
||||
@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_
|
||||
|
||||
ADD_EXECUTABLE(json_reformat ${SRCS})
|
||||
|
||||
-TARGET_LINK_LIBRARIES(json_reformat yajl_s)
|
||||
+TARGET_LINK_LIBRARIES(json_reformat yajl)
|
||||
|
||||
# In some environments, we must explicitly link libm (like qnx,
|
||||
# thanks @shahbag)
|
||||
Only in yajl-2.1.0.new/reformatter: CMakeLists.txt.orig
|
||||
Only in yajl-2.1.0.new/src: CMakeLists.txt~
|
||||
Only in yajl-2.1.0.new/test/api: run_tests.sh~
|
||||
Only in yajl-2.1.0.new/test/parsing: run_tests.sh~
|
||||
diff -rup yajl-2.1.0.orig/verify/CMakeLists.txt yajl-2.1.0.new/verify/CMakeLists.txt
|
||||
--- yajl-2.1.0.orig/verify/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000
|
||||
+++ yajl-2.1.0.new/verify/CMakeLists.txt 2014-04-28 11:36:11.909478329 +0100
|
||||
@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_
|
||||
|
||||
ADD_EXECUTABLE(json_verify ${SRCS})
|
||||
|
||||
-TARGET_LINK_LIBRARIES(json_verify yajl_s)
|
||||
+TARGET_LINK_LIBRARIES(json_verify yajl)
|
||||
|
||||
# copy in the binary
|
||||
GET_TARGET_PROPERTY(binPath json_verify LOCATION)
|
|
@ -0,0 +1,11 @@
|
|||
diff -rup yajl-2.1.0.orig/src/yajl.pc.cmake yajl-2.1.0.new/src/yajl.pc.cmake
|
||||
--- yajl-2.1.0.orig/src/yajl.pc.cmake 2014-03-19 04:58:29.000000000 +0000
|
||||
+++ yajl-2.1.0.new/src/yajl.pc.cmake 2014-04-28 11:12:23.505791003 +0100
|
||||
@@ -1,6 +1,6 @@
|
||||
prefix=${CMAKE_INSTALL_PREFIX}
|
||||
libdir=${dollar}{prefix}/lib${LIB_SUFFIX}
|
||||
-includedir=${dollar}{prefix}/include/yajl
|
||||
+includedir=${dollar}{prefix}/include
|
||||
|
||||
Name: Yet Another JSON Library
|
||||
Description: A Portable JSON parsing and serialization library in ANSI C
|
|
@ -0,0 +1,27 @@
|
|||
diff -rup yajl-2.1.0.orig/src/CMakeLists.txt yajl-2.1.0.new/src/CMakeLists.txt
|
||||
--- yajl-2.1.0.orig/src/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000
|
||||
+++ yajl-2.1.0.new/src/CMakeLists.txt 2014-04-28 11:19:28.431492533 +0100
|
||||
@@ -30,7 +30,7 @@ ADD_DEFINITIONS(-DYAJL_BUILD)
|
||||
# set up some paths
|
||||
SET (libDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib)
|
||||
SET (incDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/include/yajl)
|
||||
-SET (shareDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/share/pkgconfig)
|
||||
+SET (pkgconfigDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib/pkgconfig)
|
||||
|
||||
# set the output path for libraries
|
||||
SET(LIBRARY_OUTPUT_PATH ${libDir})
|
||||
@@ -61,7 +61,7 @@ FILE(MAKE_DIRECTORY ${incDir})
|
||||
# generate build-time source
|
||||
SET(dollar $)
|
||||
CONFIGURE_FILE(api/yajl_version.h.cmake ${incDir}/yajl_version.h)
|
||||
-CONFIGURE_FILE(yajl.pc.cmake ${shareDir}/yajl.pc)
|
||||
+CONFIGURE_FILE(yajl.pc.cmake ${pkgconfigDir}/yajl.pc)
|
||||
|
||||
# copy public headers to output directory
|
||||
FOREACH (header ${PUB_HDRS})
|
||||
@@ -84,4 +84,4 @@ INSTALL(TARGETS yajl
|
||||
INSTALL(TARGETS yajl_s ARCHIVE DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(FILES ${PUB_HDRS} DESTINATION include/yajl)
|
||||
INSTALL(FILES ${incDir}/yajl_version.h DESTINATION include/yajl)
|
||||
-INSTALL(FILES ${shareDir}/yajl.pc DESTINATION share/pkgconfig)
|
||||
+INSTALL(FILES ${pkgconfigDir}/yajl.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
|
|
@ -0,0 +1,30 @@
|
|||
diff -rup yajl-2.1.0.orig/test/api/run_tests.sh yajl-2.1.0.new/test/api/run_tests.sh
|
||||
--- yajl-2.1.0.orig/test/api/run_tests.sh 2014-03-19 04:58:29.000000000 +0000
|
||||
+++ yajl-2.1.0.new/test/api/run_tests.sh 2014-04-28 11:27:26.006405320 +0100
|
||||
@@ -5,7 +5,7 @@ echo Running api tests:
|
||||
tests=0
|
||||
passed=0
|
||||
|
||||
-for file in `ls`; do
|
||||
+for file in `ls ../../build/test/api`; do
|
||||
[ ! -x $file -o -d $file ] && continue
|
||||
tests=`expr 1 + $tests`
|
||||
printf " test(%s): " $file
|
||||
diff -rup yajl-2.1.0.orig/test/parsing/run_tests.sh yajl-2.1.0.new/test/parsing/run_tests.sh
|
||||
--- yajl-2.1.0.orig/test/parsing/run_tests.sh 2014-03-19 04:58:29.000000000 +0000
|
||||
+++ yajl-2.1.0.new/test/parsing/run_tests.sh 2014-04-28 11:25:51.239025722 +0100
|
||||
@@ -16,11 +16,11 @@ fi
|
||||
# find test binary on both platforms. allow the caller to force a
|
||||
# particular test binary (useful for non-cmake build systems).
|
||||
if [ -z "$testBin" ]; then
|
||||
- testBin="../build/test/parsing/Release/yajl_test.exe"
|
||||
+ testBin="../../build/test/parsing/Release/yajl_test.exe"
|
||||
if [ ! -x $testBin ] ; then
|
||||
- testBin="../build/test/parsing/Debug/yajl_test.exe"
|
||||
+ testBin="../../build/test/parsing/Debug/yajl_test.exe"
|
||||
if [ ! -x $testBin ] ; then
|
||||
- testBin="../build/test/parsing/yajl_test"
|
||||
+ testBin="../../build/test/parsing/yajl_test"
|
||||
if [ ! -x $testBin ] ; then
|
||||
${ECHO} "cannot execute test binary: '$testBin'"
|
||||
exit 1;
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"Signatures": {
|
||||
"yajl-2.1.0.tar.gz": "3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,160 @@
|
|||
Summary: Yet Another JSON Library (YAJL)
|
||||
Name: yajl
|
||||
Version: 2.1.0
|
||||
Release: 15%{?dist}
|
||||
License: ISC
|
||||
Vendor: Microsoft Corporation
|
||||
Distribution: Mariner
|
||||
URL: http://lloyd.github.com/yajl/
|
||||
#Source0: https://github.com/lloyd/%%{name}/archive/refs/tags/%%{version}.tar.gz
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
Patch1: %{name}-%{version}-pkgconfig-location.patch
|
||||
Patch2: %{name}-%{version}-pkgconfig-includedir.patch
|
||||
Patch3: %{name}-%{version}-test-location.patch
|
||||
Patch4: %{name}-%{version}-dynlink-binaries.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
|
||||
%package devel
|
||||
Summary: Libraries, includes, etc to develop with YAJL
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description
|
||||
Yet Another JSON Library. YAJL is a small event-driven
|
||||
(SAX-style) JSON parser written in ANSI C, and a small
|
||||
validating JSON generator.
|
||||
|
||||
%description devel
|
||||
Yet Another JSON Library. YAJL is a small event-driven
|
||||
(SAX-style) JSON parser written in ANSI C, and a small
|
||||
validating JSON generator.
|
||||
|
||||
This sub-package provides the libraries and includes
|
||||
necessary for developing against the YAJL library
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
# NB, we are not using upstream's 'configure'/'make'
|
||||
# wrapper, instead we use cmake directly to better
|
||||
# align with Fedora standards
|
||||
mkdir build
|
||||
cd build
|
||||
%cmake ..
|
||||
%make_build VERBOSE=1 %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
cd build
|
||||
make install DESTDIR=%{buildroot}
|
||||
|
||||
# No static libraries
|
||||
rm -f %{buildroot}%{_libdir}/libyajl_s.a
|
||||
|
||||
%check
|
||||
cd test
|
||||
(cd parsing && ./run_tests.sh)
|
||||
(cd api && ./run_tests.sh)
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc ChangeLog README TODO
|
||||
%{_bindir}/json_reformat
|
||||
%{_bindir}/json_verify
|
||||
%{_libdir}/libyajl.so.2
|
||||
%{_libdir}/libyajl.so.2.*
|
||||
|
||||
%files devel
|
||||
%dir %{_includedir}/yajl
|
||||
%{_includedir}/yajl/yajl_common.h
|
||||
%{_includedir}/yajl/yajl_gen.h
|
||||
%{_includedir}/yajl/yajl_parse.h
|
||||
%{_includedir}/yajl/yajl_tree.h
|
||||
%{_includedir}/yajl/yajl_version.h
|
||||
%{_libdir}/libyajl.so
|
||||
%{_libdir}/pkgconfig/yajl.pc
|
||||
|
||||
%changelog
|
||||
* Mon Jul 12 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 2.1.0-15
|
||||
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
|
||||
- Using the '%%make_build' macro instead of 'make'.
|
||||
- License verified.
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.1.0-9
|
||||
- Switch to %%ldconfig_scriptlets
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon Apr 28 2014 Daniel P. Berrange <berrange@redhat.com> - 2.1.0-1
|
||||
- Update to 2.1.0 release (rhbz #1080935)
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Mon Aug 6 2012 Daniel P. Berrange <berrange@redhat.com> - 2.0.4-1
|
||||
- Update to 2.0.4 release (rhbz #845777)
|
||||
- Fix License tag to reflect change in 2.0.0 series from BSD to ISC
|
||||
|
||||
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Thu Nov 10 2011 Daniel P. Berrange <berrange@redhat.com> - 2.0.1-1
|
||||
- Update to 2.0.1 release
|
||||
|
||||
* Tue May 3 2011 Daniel P. Berrange <berrange@redhat.com> - 1.0.12-1
|
||||
- Update to 1.0.12 release
|
||||
|
||||
* Fri Dec 17 2010 Daniel P. Berrange <berrange@redhat.com> - 1.0.11-1
|
||||
- Update to 1.0.11 release
|
||||
|
||||
* Mon Jan 11 2010 Daniel P. Berrange <berrange@redhat.com> - 1.0.7-3
|
||||
- Fix ignoring of cflags (rhbz #547500)
|
||||
|
||||
* Tue Dec 8 2009 Daniel P. Berrange <berrange@redhat.com> - 1.0.7-2
|
||||
- Change use of 'define' to 'global'
|
||||
|
||||
* Mon Dec 7 2009 Daniel P. Berrange <berrange@redhat.com> - 1.0.7-1
|
||||
- Initial Fedora package
|
|
@ -240,6 +240,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "augeas",
|
||||
"version": "1.12.0",
|
||||
"downloadUrl": "http://download.augeas.net/augeas-1.12.0.tar.gz"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
|
@ -1950,6 +1960,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "hwdata",
|
||||
"version": "0.341",
|
||||
"downloadUrl": "https://github.com/vcrhonek/hwdata/archive/v0.341.tar.gz"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
|
@ -2130,6 +2150,26 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "iscsi-initiator-utils",
|
||||
"version": "6.2.1.0+20191114.4440e57a59",
|
||||
"downloadUrl": "https://github.com/open-iscsi/open-iscsi/archive/4440e57a59c7f1c23bbfdcb10844017f478918b6.tar.gz"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "isns-utils",
|
||||
"version": "0.97",
|
||||
"downloadUrl": "https://github.com/open-iscsi/open-isns/archive/v0.97.tar.gz"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
|
@ -3000,6 +3040,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "libpciaccess",
|
||||
"version": "0.16",
|
||||
"downloadUrl": "https://www.x.org/archive/individual/lib/libpciaccess-0.16.tar.bz2"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
|
@ -4070,6 +4120,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "numad",
|
||||
"version": "0.5+20150602.aec1497e2b",
|
||||
"downloadUrl": "https://cblmarinerstorage.blob.core.windows.net/sources/core/numad-0.5+20150602.aec1497e2b.tar.xz"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
|
@ -6920,6 +6980,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "sanlock",
|
||||
"version": "3.8.1",
|
||||
"downloadUrl": "https://releases.pagure.org/sanlock/sanlock-3.8.1.tar.gz"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
|
@ -7650,6 +7720,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "xorg-x11-util-macros",
|
||||
"version": "1.19.2",
|
||||
"downloadUrl": "https://www.x.org/pub/individual/util/util-macros-1.19.2.tar.bz2"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
|
@ -7660,6 +7740,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
"other": {
|
||||
"name": "yajl",
|
||||
"version": "2.1.0",
|
||||
"downloadUrl": "https://github.com/lloyd/yajl/archive/refs/tags/2.1.0.tar.gz"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "other",
|
||||
|
|
Загрузка…
Ссылка в новой задаче