Sync from SUSE:SLFO:Main libstoragemgmt revision ba318710864f7dbefbf3e64d92f276a0

This commit is contained in:
Adrian Schröter 2024-05-03 15:56:28 +02:00
commit 226baa6155
6 changed files with 1169 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
libstoragemgmt-1.9.8.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

492
libstoragemgmt.changes Normal file
View File

@ -0,0 +1,492 @@
-------------------------------------------------------------------
Mon Apr 17 15:46:05 UTC 2023 - Michael Vetter <mvetter@suse.com>
- Update to 1.9.8:
* Fips correction #528
-------------------------------------------------------------------
Tue Jan 31 07:28:32 UTC 2023 - Michael Vetter <mvetter@suse.com>
- Update to 1.9.7:
* Fix megaraid for PERC H330 Adapter #520
-------------------------------------------------------------------
Fri Nov 11 15:52:38 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 1.9.6:
* Update the systemd run directory
- Refresh move_to_run.patch
-------------------------------------------------------------------
Tue Oct 18 12:10:13 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 1.9.5:
* Misc. bug fixes including one for failure to build on i386
* Add a udev rule entry for ALUA state changes
-------------------------------------------------------------------
Tue Apr 12 07:39:34 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 1.9.4:
* Correction for udev events on SCSI vports
* Add hidden developer option --fork_plugin to fork and exec
plugin directly from lsmcli
* Misc. code improvements/bug fixes
- remove libxml2 dependency
- coverity corrections
- remove dlerror & library requirement
- remove visibility of some symbols that are private
-------------------------------------------------------------------
Sat Dec 18 07:37:24 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 1.9.3:
* Fix endianess issues for big endian
* Fix megaraid plugin for volume_raid_info for RAID10, add test
* Megaraid, changes to support latest storcli utility
* Misc. CI test improvements, code clean-up
-------------------------------------------------------------------
Sun Jun 13 13:26:31 UTC 2021 - Callum Farmer <gmbr3@opensuse.org>
- Add now working CONFIG parameter to sysusers generator
-------------------------------------------------------------------
Fri Jun 4 13:35:57 UTC 2021 - Callum Farmer <gmbr3@opensuse.org>
- Change to using systemd-sysusers
-------------------------------------------------------------------
Tue May 18 16:17:53 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 1.9.2:
* Remove OpenSSL usage as OpenSSL 3.0 is deprecating MD5
-------------------------------------------------------------------
Sun Apr 25 07:41:36 UTC 2021 - nick wang <nwang@suse.com>
- Correct the spec file to fit to changes in 1.8.8
- Removed RPM sub packages:
* libstoragemgmt-netapp-plugin
* libstoragemgmt-nfs-plugin-clibs
* libstoragemgmt-nstor-plugin
* python3-libstoragemgmt-clibs
-------------------------------------------------------------------
Thu Apr 22 07:01:04 UTC 2021 - nick wang <nwang@suse.com>
- bsc#1185067, move /var/run to /run
Add patch move_to_run.patch
-------------------------------------------------------------------
Wed Apr 21 12:16:04 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 1.9.1:
* Correct sim plugin install location #463
-------------------------------------------------------------------
Thu Mar 25 20:23:52 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 1.9.0:
* Add NVMe device health check #265
* Correct lsm_disk_record_alloc does not have
plugin_data #68
* Limit lsmd to running a single instance against same
socket dir #398
-------------------------------------------------------------------
Wed Dec 16 08:22:53 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 1.8.8:
* Remove NetApp ontap plugin
* Remove Nexentastor nstor plugin
* Re-organize plugins #440
-------------------------------------------------------------------
Fri Dec 4 09:06:20 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 1.8.7:
* Fix for Areca RAID cards #444
* Static code analysis fixes #441
-------------------------------------------------------------------
Tue Nov 3 07:41:35 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 1.8.6:
* Hpsa bug fixes #419, #420
* Change lsmcli output for missing lsmd (daemon)
https://bugzilla.redhat.com/show_bug.cgi?id=1872753
-------------------------------------------------------------------
Tue Sep 15 02:41:46 UTC 2020 - nick wang <nwang@suse.com>
- bsc#1176448, Add clibs requirement to python-libstoragemgmt.
-------------------------------------------------------------------
Wed Aug 12 06:56:45 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 1.8.5:
* Fix compile issue with check >= 0.15.0
* Fix travis CI issues
* Remove problematic language
-------------------------------------------------------------------
Mon Jun 22 12:09:05 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
- Fixes for %_libexecdir changing to /usr/libexec
-------------------------------------------------------------------
Fri May 22 08:58:44 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 1.8.4:
* Bug fix: #414
* Re-work configure to be better about self configuration
* Updates to travis CI docker script
* Use jsmn JSON parser, remove YAJL and nlohmann
* Make some of the simulator disks much larger
* Introduce cformat makefile target to re-format C/C++ code
requires clang-format
-------------------------------------------------------------------
Tue Feb 18 10:09:41 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 1.8.3:
* Fix volume-raid-create pool ID issue (#410)
* Update: JSON library
* Few other fixes
-------------------------------------------------------------------
Mon Dec 16 11:44:34 UTC 2019 - Michael Vetter <mvetter@suse.com>
- Update to 1.8.2:
* Compile fixes for Alpine Linux (#403, #402, #401)
* Don't orphan lsmd process when displaying help (#399)
-------------------------------------------------------------------
Mon May 27 08:52:10 UTC 2019 - mvetter@suse.com
- Update to 1.8.1:
* Fix bug https://bugzilla.redhat.com/show_bug.cgi?id=1585169
- Changes from 1.8.0:
Bug fixes:
* Invalid vpd 0x83 value, #376
* Fix duplicate files in debian packaging
* Add simple test integration script
* Unable to control some slot LEDs via SES #383
* Numerous corrections for arcconf plugin
* Correct deprecated python & perl usage
Enhancements:
* arcconf pool member info
* arcconf volume raid info
* arcconf volume LED (on/off)
* arcconf volume enable
- Changes from 1.7.3:
Bug fixes:
* https://bugzilla.redhat.com/show_bug.cgi?id=1670077
* https://bugzilla.redhat.com/show_bug.cgi?id=1667096
* https://bugzilla.redhat.com/show_bug.cgi?id=1667992
- Changes from 1.7.2:
Bug fixes:
* https://bugzilla.redhat.com/show_bug.cgi?id=1572137
* https://bugzilla.redhat.com/show_bug.cgi?id=1583741
* https://bugzilla.redhat.com/show_bug.cgi?id=1585169
* https://bugzilla.redhat.com/show_bug.cgi?id=1624398
* https://bugzilla.redhat.com/show_bug.cgi?id=1596731
* https://bugzilla.redhat.com/show_bug.cgi?id=1583763
* https://bugzilla.redhat.com/show_bug.cgi?id=1583681
* https://bugzilla.redhat.com/show_bug.cgi?id=1584243
* https://bugzilla.redhat.com/show_bug.cgi?id=1564151
* https://bugzilla.redhat.com/show_bug.cgi?id=1583768
* https://bugzilla.redhat.com/show_bug.cgi?id=1583765
* https://bugzilla.redhat.com/show_bug.cgi?id=1591282
* https://bugzilla.redhat.com/show_bug.cgi?id=1591282
* https://bugzilla.redhat.com/show_bug.cgi?id=1571894
* https://bugzilla.redhat.com/show_bug.cgi?id=1657407
- Changes from 1.7.1:
* Fix up/add documentation and correct packaging lint errors
-------------------------------------------------------------------
Fri Nov 2 11:14:28 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Fix RPM groups.
-------------------------------------------------------------------
Thu Oct 25 02:40:17 UTC 2018 - nwang@suse.com
- Update to new upstream release 1.7.0
* Replace yajl with nlohmann/json for JSON handling.
* Fix the file path of lsmd.conf manpage.
* HPSA plugin: Support ssacli version 3.25+.
* scan-scsi-target: Fix compiling on gcc 8.2.
* Fix lsmcli on python 3.7.
* Handle 'Warning:' message in hpsa plugin
* SmartArray plugin: Remove the pyudev codes.
* lsmd: Fix crash when plugin named as _lsmplugin.
* Fix GCC 8 compiling warnings.
* MegaRAID plugin: Fix cache information query.
* Fix regression on SMI-S plugin.
- Remove patch compat-gcc8.patch: in upstream
- Polish the spec file by spec-cleaner
-------------------------------------------------------------------
Thu May 3 13:12:28 UTC 2018 - dimstar@opensuse.org
- Explicitly call autoreconf: patch compat-gcc8.patch touches the
build system and thus we need to rebootstrap.
-------------------------------------------------------------------
Tue Mar 27 08:27:39 UTC 2018 - nwang@suse.com
- bsc#1084630, compat to gcc8
Enlarge the err_msg to avoid [-Werror=format-truncation=]
'-Wno-cast-function-type' for python c building
Add automake to build requires in spec file.
- Add patch compat-gcc8.patch
-------------------------------------------------------------------
Tue Dec 19 05:43:41 UTC 2017 - nwang@suse.com
- bsc#1073088, change requirements to python3 for SLE15.
-------------------------------------------------------------------
Thu Oct 26 08:57:13 UTC 2017 - mpluskal@suse.com
- Update to version 1.6.0:
* New error number for deleting volume/fs with child dependency:
+ C: LSM_ERR_HAS_CHILD_DEPENDENCY
+ Python: lsm.ErrorNumber.HAS_CHILD_DEPENDENCY
* Fix incorrect SCSI VPD query for 0x89 and 0xb1.
* Fix regression on using libstoragemgmt with pywbem 0.7.0.
* Updates on manpage and help message of lsmcli.
- Changes for version 1.5.0:
* New plugin -- LibstorageMgmt NFS server plugin(nfs://).
* New plugin -- LibstorageMgmt Local Pseudo plugin(local://).
* New plugin -- LibstorageMgmt Microsemi storage plugin(arcconf://).
* Removed support of lmiwbem due to missing self-signed CA verification and inactive upstream of lmiwbem.
* Support SES actions on kernel bsg module(old code was using sg kernel module).
* Add manpages for every C API using kernel-doc.
* New URI parameter ca_cert_file for ONTAP, SMI-S, targetd plugin.
* Bug fixes:
+ Fix the ONTAP SSL connection.
+ Sim plugin: Fix sqlite3 transaction of fs_child_dependency_rm().
+ MegaRAID: Handle when both perccli and storcli are installed.
+ MegaRAID plugin: Support pool status for rebuild and check.
+ Fixed C++ code compile warnings.
* Library adds:
+ Query health status of local disk:
+ lsm_local_disk_health_status_get()/lsm.LocalDisk.health_status_get()
- Drop no longer needed patches:
* 0001-Fix-gcc-warning-on-non-x86-platform.patch
* 0001-Simc-plugin-Fix-gcc-warning-on-fallthrough-switch.patch
* 0002-C-library-Bug-fix-for-incorrect-use-of-sizeof.patch
-------------------------------------------------------------------
Thu Jun 1 06:22:27 UTC 2017 - nwang@suse.com
- To unify the package in SLE and Leap.
- bsc#931426, bsc#980651 and bsc#988547 also fixed in this package
-------------------------------------------------------------------
Thu May 18 09:43:43 UTC 2017 - mliska@suse.cz
- Add 0001-Simc-plugin-Fix-gcc-warning-on-fallthrough-switch.patch to
fix build with GCC 7.
-------------------------------------------------------------------
Tue May 16 10:30:33 UTC 2017 - mpluskal@suse.com
- Sync patches with fedora:
* 0002-C-library-Bug-fix-for-incorrect-use-of-sizeof.patch
-------------------------------------------------------------------
Tue Apr 25 07:27:25 UTC 2017 - alarrosa@suse.com
- Add 0001-Fix-gcc-warning-on-non-x86-platform.patch to fix build in
ppc64le/s390x.
-------------------------------------------------------------------
Mon Apr 24 11:10:59 UTC 2017 - alarrosa@suse.com
- Remove dependency for python-M2Crypto which is no longer needed
- Add python-six dependency
-------------------------------------------------------------------
Fri Mar 24 10:32:50 UTC 2017 - mpluskal@suse.com
- Update to version 1.4.0:
* Add Python3 support.
* Add support of lmiwbem.
* Allow plugin test to be run concurrently.
* Bug fixes:
+ Fix megaraid plugin for dell PERC.
+ Fix local disk rotation speed query on NVMe disk.
+ Fix lsmcli incorrect try-expect on local disk query.
+ Fix all the gcc compile warnings.
+ Fix the obsolete usage of AC_OUTPUT in configure.ac.
* Library adds:
+ Query serial of local disk:
lsm_local_disk_serial_num_get()/lsm.LocalDisk.serial_num_get()
+ Query LED status of local disk:
lsm_local_disk_led_status_get()/lsm.LocalDisk.led_status_get()
+ Query link speed of local disk:
lsm_local_disk_link_speed_get()/lsm.LocalDisk.link_speed_get()
- Changes for version 1.3.5:
* Bug fixes:
+ Fix anon_uid/anon_gid handling.
+ Fix HPSA plugin on capabilities, system status, system mode.
+ Fix running lsmcli on python 2.6.
+ Fix missing vpd83 optional property in C library.
* Enhancements:
+ Rewrite C simulator plugin to support state saving.
-------------------------------------------------------------------
Sun Nov 27 21:06:22 UTC 2016 - jengelh@inai.de
- Adjust rpm group categories to match what is used in other
packages.
- Avoid suppressing error outputs in scriptlets. If it happens,
we want to know about it.
-------------------------------------------------------------------
Tue Aug 9 08:18:33 UTC 2016 - mpluskal@suse.com
- Update to version 1.3.4:
* hpsa: Update cacheless variable
-------------------------------------------------------------------
Mon Aug 1 01:54:55 UTC 2016 - fge@redhat.com
- Update to version 1.3.3:
* Bug fix release, check this link for detail:
https://github.com/libstorage/libstoragemgmt/releases/tag/1.3.3
-------------------------------------------------------------------
Tue Jul 19 05:55:35 UTC 2016 - nwang@suse.com
- bsc#988547, add require of python-libstoragemgmt-clibs.
-------------------------------------------------------------------
Thu May 19 03:08:21 UTC 2016 - fge@redhat.com
- Update to version 1.3.2 (boo#980653):
* Fix local disk VPD83 searching in fakeroot(change root) when
'/dev' is not mounted.
* New configure option to skip memory leak check test.
* Fix regression introduced by 1.3.1 when run as non-root user.
* New configure option '--without-test' to skip all test cases and
their build requirements.
-------------------------------------------------------------------
Fri May 13 13:59:32 UTC 2016 - fge@redhat.com
- Upgrade to version 1.3.1 (boo#980041):
* Fix local disk querying in fakeroot(change root) when '/dev'
is not mounted.
-------------------------------------------------------------------
Fri May 13 13:52:43 UTC 2016 - fge@redhat.com
- Upgrade to version 1.3.0:
* Change the raid card cache split (%read, %write)
* Retrieve/update cache information of both the card and
physical disks (enable/disable caching etc.)
* Turn on/off identify and fault LEDs
* Retrieve information on batteries
* Retrieve a physical disk RPM, link type and location string for
a disk
* Retrieve the vpd 0x83 for directly attached disk(s)
* Given a vpd 0x83 return list of local disk paths
* Given a disk path return the vpd 0x83 value
* Retrieve list of local disks
- Removed package:
* libstoragemgmt-rest -- droped by upstream.
-------------------------------------------------------------------
Sat Feb 6 11:20:21 UTC 2016 - mpluskal@suse.com
- Make building more verbose
- Small spec file cleanups
-------------------------------------------------------------------
Wed Jun 24 08:05:23 UTC 2015 - fge@redhat.com
- Upgrade to version 1.2.3:
* Bug fixes:
* lsmcli bash completion: Fix syntax error.
* lsmcli bash completion: Fix volume-delete.
* lsmcli bash completion: Add missing completions.
* Fix: selinux dac_override
* Manpage: Update hpsa and megaraid plugin manpages.
* HP Smart Array Plugin: Fix pool querying on P410i.
* MegaRAID Plugin: Fix bug when no volume configured.
-------------------------------------------------------------------
Thu Jun 18 08:36:57 UTC 2015 - mpluskal@suse.com
- Cleanup changelog formatting
- Update dependencies
-------------------------------------------------------------------
Wed Jun 17 07:09:55 UTC 2015 - fge@redhat.com
- Upgrade to version 1.2.1.
- New sub-pacakges:
* libstoragemgmt-megaraid-plugin
New plugin in 1.2.0 release.
* libstoragemgmt-hpsa-plugin
New plugin in 1.2.0 release.
* libstoragemgmt-udev
The udev file has nothing to do with the libraray.
It just scan the SCSI target when got
REPORTED_LUNS_DATA_HAS_CHANGED in udev.
- New rpmbuild switch: '--without test'
Use to skip 'make check' test to save debug time.
- Fix incorrect post scripts for plugin packages.
User case:
The libstoragemgmt daemon need to be restarted on new plugin
install or plugin uninstall, so that the daemon could create
new or stop existing plugin connection.
But old macros:
* The %service_del_postun only try-restart daemon on upgrade
which is not required here.
* The %service_del_postun only 'daemon-reload' on uninstall
which is not required here.
* The %service_add_post does not restart daemon.
So we have to use hardcoded systemd commands.
- Add bash-completion script for lsmcli.
- Use systemd-tmpfiles to create socket file in /run folder.
- Add %ghost ownership for socket file and folder in /run folder.
-------------------------------------------------------------------
Thu May 14 06:04:42 UTC 2015 - nwang@suse.com
- Add conditions for libyajl and macro tmpfiles_create to
support build against SLE12.
-------------------------------------------------------------------
Thu Apr 9 09:00:24 UTC 2015 - mpluskal@suse.com
- Rename python package to match python packaging guidelines
-------------------------------------------------------------------
Wed Apr 8 14:24:08 UTC 2015 - mpluskal@suse.com
- Disable checks as they seem to fail on OBS
-------------------------------------------------------------------
Wed Apr 8 14:19:39 UTC 2015 - mpluskal@suse.com
- Use pkgconfig() dependencies
- Enable checks
-------------------------------------------------------------------
Mon Mar 16 16:27:48 UTC 2015 - mpluskal@suse.com
- More cleanups
-------------------------------------------------------------------
Fri Mar 13 15:14:18 UTC 2015 - mpluskal@suse.com
- Cleanup package
-------------------------------------------------------------------
Thu Dec 11 03:13:02 UTC 2014 - nwang@suse.com
- Initial package version 1.1.0 for Fate#314409.

566
libstoragemgmt.spec Normal file
View File

@ -0,0 +1,566 @@
#
# spec file for package libstoragemgmt
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define libname %{name}1
%bcond_with test
%if 0%{?suse_version} >= 1500 || %{with python3}
%define python3 1
%define python_sitelib %{python3_sitelib}
%define python_sitearch %{python3_sitearch}
%else
%define python3 0
%endif
Name: libstoragemgmt
Version: 1.9.8
Release: 0
Summary: Storage array management library
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: https://github.com/libstorage/libstoragemgmt
Source0: https://github.com/libstorage/libstoragemgmt/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1: system-user-libstoragemgmt.conf
Patch1: move_to_run.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libconfig-devel
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: sysuser-tools
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(udev)
# Packages that have been removed
Obsoletes: %{name}-netapp-plugin < %{version}-%{release}
Obsoletes: %{name}-nfs-plugin-clibs < %{version}-%{release}
Obsoletes: %{name}-nstor-plugin < %{version}-%{release}
%sysusers_requires
%systemd_requires
%if 0%{python3}
BuildRequires: python3-devel
BuildRequires: python3-pywbem
BuildRequires: python3-six
Requires: python3-six
%else
BuildRequires: python-devel
BuildRequires: python-pywbem
BuildRequires: python-six
Requires: python-six
%endif
%if 0%{python3}
Requires: python3-%{name}
%else
Requires: python2-%{name}
%endif
%if %{with test}
BuildRequires: chrpath
BuildRequires: libtool
BuildRequires: perl
BuildRequires: procps
BuildRequires: valgrind
BuildRequires: pkgconfig(check)
%endif
%if 0%{python3}
Obsoletes: python3-%{name}-clibs < %{version}-%{release}
%else
Obsoletes: python2-%{name}-clibs < %{version}-%{release}
%endif
%description
The libStorageMgmt library will provide a vendor agnostic open source storage
application programming interface (API) that will allow management of storage
arrays. The library includes a command line interface for interactive use and
scripting (command lsmcli). The library also has a daemon that is used for
executing plug-ins in a separate process (lsmd).
%package -n %{libname}
Summary: Storage array management library
Group: System/Libraries
%description -n %{libname}
The libStorageMgmt library will provide a vendor agnostic open source storage
application programming interface (API) that will allow management of storage
arrays. The library includes a command line interface for interactive use and
scripting (command lsmcli). The library also has a daemon that is used for
executing plug-ins in a separate process (lsmd).
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%if 0%{python3}
%package -n python3-%{name}
%else
%package -n python2-%{name}
%endif
Summary: Python client libraries and plug-in support for libStorageMgmt
Group: Development/Languages/Python
Requires: %{name}%{?_isa} = %{version}-%{release}
%if 0%{python3}
%description -n python3-%{name}
%else
%description -n python2-%{name}
%endif
The python-libstoragemgmt package contains python client libraries as
well as python framework support and open source plug-ins written in python.
# If obsoleted plugins are installed, we need to meet it's requirement
# of having the correct version of this package functionality installed too as
# the update occurs first, before the obsolete removes the obsoleted package.
%if 0%{python3}
Provides: python3-%{name} < %{version}-%{release}
%{?python_provide:%python_provide python3-%{name}}
%else
Provides: python2-%{name} < %{version}-%{release}
%{?python_provide:%python_provide python2-%{name}}
%endif
%package smis-plugin
Summary: Files for SMI-S generic array support for %{name}
Group: Development/Languages/Python
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun):python3-%{name} = %{version}
BuildArch: noarch
%if 0%{python3}
Requires: python3-pywbem
%else
Requires: python-pywbem
%endif
%description smis-plugin
The %{name}-smis-plugin package contains plug-in for generic
Storage Management Initiative Specification (SMI-S) array support.
%package targetd-plugin
Summary: Files for targetd array support for %{name}
Group: Development/Languages/Python
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun):python3-%{name} = %{version}
BuildArch: noarch
%description targetd-plugin
The %{name}-targetd-plugin package contains plug-in for targetd
array support.
%package udev
Summary: Udev files for %{name}
Group: System/Base
%description udev
The %{name}-udev package contains udev rules and helper utilities for
uevents generated by the kernel.
%package megaraid-plugin
Summary: Files for LSI MegaRAID support for %{name}
Group: Development/Languages/Python
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun):python3-%{name} = %{version}
BuildArch: noarch
%description megaraid-plugin
The %{name}-megaraid-plugin package contains the plugin for LSI MegaRAID
storage management via storcli.
%package hpsa-plugin
Summary: Files for HP SmartArray support for %{name}
Group: Development/Languages/Python
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun):python3-%{name} = %{version}
BuildArch: noarch
%description hpsa-plugin
The %{name}-hpsa-plugin package contains the plugin for HP SmartArray storage
management via hpssacli.
%package nfs-plugin
Summary: Files for nfs support for %{name}
Group: Development/Languages/Python
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun):python3-%{name} = %{version}
%description nfs-plugin
The %{name}-nfs-plugin package contains the plugin for nfs based storage.
%package local-plugin
Summary: Files for HP local pseudo support for %{name}
Group: Development/Languages/Python
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun):python3-%{name} = %{version}
BuildArch: noarch
%description local-plugin
The %{name}-local-plugin package contains the plugin for local pseudo
storage.
%package arcconf-plugin
Summary: Files for Microsemi storage support for %{name}
Group: Development/Languages/Python
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun):python3-%{name} = %{version}
BuildArch: noarch
%description arcconf-plugin
The %{name}-arcconf-plugin package contains the plugin for Microsemi
storage.
%prep
%setup -q
%patch1 -p1
%build
# Needed for patch0
autoreconf -fiv
%configure \
--disable-static \
--with-bash-completion-dir=%{_datadir}/bash-completion/completions/ \
%if 0%{python3}
--with-python3 \
%endif
%if ! %{with test}
--without-test
%endif
#Fix rpmlint Error: env-script-interpreter
#Should change it after configure
pyfiles=(plugin/megaraid_plugin/megaraid_lsmplugin \
plugin/hpsa_plugin/hpsa_lsmplugin \
plugin/targetd_plugin/targetd_lsmplugin \
plugin/sim_plugin/sim_lsmplugin \
plugin/local_plugin/local_lsmplugin \
plugin/arcconf_plugin/arcconf_lsmplugin \
plugin/smispy_plugin/smispy_lsmplugin \
plugin/nfs_plugin/nfs_lsmplugin \
tools/use_cases/find_unused_lun.py \
tools/basic_check/local_check.py \
tools/lsmcli/lsmcli \
test/cmdtest.py \
test/plugin_test.py \
)
head -vn 1 ${pyfiles[@]}
sed -i '/^#!\/usr\/bin/s|env python|python|' ${pyfiles[@]}
head -vn 1 ${pyfiles[@]}
%make_build
%sysusers_generate_pre %{SOURCE1} libstoragemgmt system-user-libstoragemgmt.conf
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
install -d -m755 %{buildroot}%{_sbindir}
install -Dpm 0644 packaging/daemon/libstoragemgmt.service \
%{buildroot}%{_unitdir}/libstoragemgmt.service
ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
#Files for udev handling
install -d %{buildroot}%{_udevrulesdir}
install -m 644 tools/udev/90-scsi-ua.rules \
%{buildroot}%{_udevrulesdir}/90-scsi-ua.rules
install -m 755 tools/udev/scan-scsi-target \
%{buildroot}%{_prefix}/lib/udev/scan-scsi-target
mkdir -p %{buildroot}%{_sysusersdir}
install -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/
# find all duplicates
%fdupes -s %{buildroot}%{python_sitelib}
%fdupes -s %{buildroot}%{python_sitearch}
%if %{with test}
%check
if ! make check
then
cat test-suite.log || true
exit 1
fi
%endif
%pre -f libstoragemgmt.pre
%service_add_pre %{name}.service
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%post
%service_add_post %{name}.service
# Create tmp socket file on package new install.
if [ $1 -eq 1 -a -x %{_bindir}/systemd-tmpfiles ]; then
%if 0%{?suse_version} <= 1320
systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf || :
%else
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
%endif
fi
%preun
%service_del_preun %{name}.service
%postun
%service_del_postun %{name}.service
%post smis-plugin
if [ $1 -eq 1 ]; then
# New install.
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%postun smis-plugin
if [ $1 -eq 0 ]; then
# Remove
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%post targetd-plugin
if [ $1 -eq 1 ]; then
# New install.
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%postun targetd-plugin
if [ $1 -eq 0 ]; then
# Remove
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%post megaraid-plugin
if [ $1 -eq 1 ]; then
# New install.
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%postun megaraid-plugin
if [ $1 -eq 0 ]; then
# Remove
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%post hpsa-plugin
if [ $1 -eq 1 ]; then
# New install.
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%postun hpsa-plugin
if [ $1 -eq 0 ]; then
# Remove
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%post nfs-plugin
if [ $1 -eq 1 ]; then
# New install.
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%postun nfs-plugin
if [ $1 -eq 0 ]; then
# Remove
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%post local-plugin
if [ $1 -eq 1 ]; then
# New install.
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%postun local-plugin
if [ $1 -eq 0 ]; then
# Remove
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%post arcconf-plugin
if [ $1 -eq 1 ]; then
# New install.
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%postun arcconf-plugin
if [ $1 -eq 0 ]; then
# Remove
%{_bindir}/systemctl try-restart ${name}.service || :
fi
%post udev
%udev_rules_update
%files
%{_mandir}/man1/lsmcli.1%{?ext_man}
%{_mandir}/man1/lsmd.1%{?ext_man}
%{_mandir}/man5/lsmd.conf.5%{?ext_man}
%{_bindir}/lsmcli
%{_bindir}/lsmd
%{_bindir}/simc_lsmplugin
%{_mandir}/man1/simc_lsmplugin.1%{?ext_man}
%{_unitdir}/libstoragemgmt.service
%{_sysusersdir}/system-user-libstoragemgmt.conf
%{_tmpfilesdir}/%{name}.conf
%dir %{_sysconfdir}/lsm
%{_datadir}/bash-completion/completions/lsmcli
%config(noreplace) %{_sysconfdir}/lsm/lsmd.conf
%dir %{_sysconfdir}/lsm/pluginconf.d
%{_sbindir}/rclibstoragemgmt
%ghost %dir /run/lsm
%ghost %dir /run/lsm/ipc
%files udev
%{_prefix}/lib/udev/scan-scsi-target
%{_udevrulesdir}/90-scsi-ua.rules
%files -n %{libname}
%license COPYING.LIB
%doc README
%{_libdir}/libstoragemgmt.so.*
%files devel
%{_includedir}/*
%{_mandir}/man3/*%{ext_man}
%{_libdir}/libstoragemgmt.so
%{_libdir}/pkgconfig/libstoragemgmt.pc
%if 0%{python3}
%files -n python3-%{name}
%else
%files -n python2-%{name}
%endif
%dir %{python_sitearch}/lsm
%{python_sitearch}/lsm/_*.py*
%{python_sitearch}/lsm/version.*
%if 0%{python3}
%dir %{python_sitearch}/lsm/__pycache__
%{python_sitearch}/lsm/__pycache__/*
%dir %{python_sitearch}/lsm/lsmcli/__pycache__
%{python_sitearch}/lsm/lsmcli/__pycache__/*
%endif
%{python_sitearch}/lsm/lsmcli/__init__.*
%{python_sitearch}/lsm/lsmcli/data_display.*
%{python_sitearch}/lsm/lsmcli/cmdline.*
%{python_sitearch}/lsm/_clib.*
%dir %{python_sitearch}/sim_plugin
%{python_sitearch}/sim_plugin/__pycache__/
%{python_sitearch}/sim_plugin/__init__.*
%{python_sitearch}/sim_plugin/simulator.*
%{python_sitearch}/sim_plugin/simarray.*
%dir %{python_sitearch}/lsm/lsmcli
%{_bindir}/sim_lsmplugin
%dir %{_libexecdir}/lsm.d
%{_libexecdir}/lsm.d/find_unused_lun.py*
%{_libexecdir}/lsm.d/local_check.py
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/sim.conf
%{_mandir}/man1/sim_lsmplugin.1%{ext_man}
%files smis-plugin
%dir %{python_sitelib}/smispy_plugin
%{python_sitelib}/smispy_plugin/*.py*
%if 0%{python3}
%dir %{python_sitelib}/smispy_plugin/__pycache__
%{python_sitelib}/smispy_plugin/__pycache__/*
%endif
%{_bindir}/smispy_lsmplugin
%{_mandir}/man1/smispy_lsmplugin.1%{?ext_man}
%files targetd-plugin
%dir %{python_sitelib}/targetd_plugin
%if 0%{python3}
%dir %{python_sitelib}/targetd_plugin/__pycache__
%{python_sitelib}/targetd_plugin/__pycache__/*
%endif
%{python_sitelib}/targetd_plugin/*.py*
%{_bindir}/targetd_lsmplugin
%{_mandir}/man1/targetd_lsmplugin.1%{?ext_man}
%files megaraid-plugin
%dir %{python_sitelib}/megaraid_plugin
%if 0%{python3}
%dir %{python_sitelib}/megaraid_plugin/__pycache__
%{python_sitelib}/megaraid_plugin/__pycache__/*
%endif
%{python_sitelib}/megaraid_plugin/*.py*
%{_bindir}/megaraid_lsmplugin
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/megaraid.conf
%{_mandir}/man1/megaraid_lsmplugin.1%{?ext_man}
%files hpsa-plugin
%dir %{python_sitelib}/hpsa_plugin
%if 0%{python3}
%dir %{python_sitelib}/hpsa_plugin/__pycache__
%{python_sitelib}/hpsa_plugin/__pycache__/*
%endif
%{python_sitelib}/hpsa_plugin/*.py*
%{_bindir}/hpsa_lsmplugin
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/hpsa.conf
%{_mandir}/man1/hpsa_lsmplugin.1%{?ext_man}
%files nfs-plugin
%dir %{python_sitearch}/nfs_plugin
%if 0%{python3}
%dir %{python_sitearch}/nfs_plugin/__pycache__
%{python_sitearch}/nfs_plugin/__pycache__/*
%endif
%{python_sitearch}/nfs_plugin/*.py*
%{python_sitearch}/nfs_plugin/nfs_clib.*
%{_bindir}/nfs_lsmplugin
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/nfs.conf
%{_mandir}/man1/nfs_lsmplugin.1%{?ext_man}
%files local-plugin
%dir %{python_sitelib}/local_plugin
%if 0%{python3}
%dir %{python_sitelib}/local_plugin/__pycache__
%{python_sitelib}/local_plugin/__pycache__/*
%endif
%{python_sitelib}/local_plugin/*.py*
%{_bindir}/local_lsmplugin
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/local.conf
%{_mandir}/man1/local_lsmplugin.1%{?ext_man}
%files arcconf-plugin
%dir %{python_sitelib}/arcconf_plugin
%if 0%{python3}
%dir %{python_sitelib}/arcconf_plugin/__pycache__
%{python_sitelib}/arcconf_plugin/__pycache__/*
%endif
%{python_sitelib}/arcconf_plugin/*.py*
%{_bindir}/arcconf_lsmplugin
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/arcconf.conf
%{_mandir}/man1/arcconf_lsmplugin.1%{?ext_man}
%changelog

83
move_to_run.patch Normal file
View File

@ -0,0 +1,83 @@
diff -urEbw libstoragemgmt-1.9.6/c_binding/lsm_datatypes.cpp libstoragemgmt-1.9.6.new/c_binding/lsm_datatypes.cpp
--- libstoragemgmt-1.9.6/c_binding/lsm_datatypes.cpp 2022-04-06 19:55:18.000000000 +0200
+++ libstoragemgmt-1.9.6.new/c_binding/lsm_datatypes.cpp 2022-11-11 16:55:27.674287708 +0100
@@ -51,7 +51,7 @@
#ifdef __cplusplus
extern "C" {
#endif
-#define LSM_DEFAULT_PLUGIN_DIR "/var/run/lsm/ipc"
+#define LSM_DEFAULT_PLUGIN_DIR "/run/lsm/ipc"
int lsm_string_list_append(lsm_string_list *sl, const char *value) {
int rc = LSM_ERR_INVALID_ARGUMENT;
diff -urEbw libstoragemgmt-1.9.6/daemon/lsm_daemon.c libstoragemgmt-1.9.6.new/daemon/lsm_daemon.c
--- libstoragemgmt-1.9.6/daemon/lsm_daemon.c 2022-04-06 19:55:18.000000000 +0200
+++ libstoragemgmt-1.9.6.new/daemon/lsm_daemon.c 2022-11-11 16:56:06.354471805 +0100
@@ -44,7 +44,7 @@
#include <syslog.h>
#include <unistd.h>
-#define BASE_DIR "/var/run/lsm"
+#define BASE_DIR "/run/lsm"
#define SOCKET_DIR BASE_DIR "/ipc"
#define PLUGIN_DIR "/usr/bin"
#define LSM_USER "libstoragemgmt"
diff -urEbw libstoragemgmt-1.9.6/packaging/daemon/libstoragemgmtd libstoragemgmt-1.9.6.new/packaging/daemon/libstoragemgmtd
--- libstoragemgmt-1.9.6/packaging/daemon/libstoragemgmtd 2022-03-15 23:38:45.000000000 +0100
+++ libstoragemgmt-1.9.6.new/packaging/daemon/libstoragemgmtd 2022-11-11 16:57:40.126918116 +0100
@@ -15,7 +15,7 @@
NAME=lsmd
PROG=/usr/bin/$NAME
-PID=/var/run/lsm/lsmd.pid
+PID=/run/lsm/lsmd.pid
LOCK=/var/lock/subsys/libstoragemgmtd
RETVAL=0
@@ -27,8 +27,8 @@
fi
check_dirs() {
- test -d /var/run/lsm || mkdir -p /var/run/lsm/ipc
- test -d /var/run/lsm/ipc || mkdir -p /var/run/lsm/ipc
+ test -d /run/lsm || mkdir -p /run/lsm/ipc
+ test -d /run/lsm/ipc || mkdir -p /run/lsm/ipc
}
status_lsm() {
diff -urEbw libstoragemgmt-1.9.6/packaging/libstoragemgmt.spec libstoragemgmt-1.9.6.new/packaging/libstoragemgmt.spec
--- libstoragemgmt-1.9.6/packaging/libstoragemgmt.spec 2022-11-08 16:20:12.000000000 +0100
+++ libstoragemgmt-1.9.6.new/packaging/libstoragemgmt.spec 2022-11-11 16:58:20.231109009 +0100
@@ -264,7 +264,7 @@
%pre
getent group libstoragemgmt >/dev/null || groupadd -r libstoragemgmt
getent passwd libstoragemgmt >/dev/null || \
- useradd -r -g libstoragemgmt -d /var/run/lsm -s /sbin/nologin \
+ useradd -r -g libstoragemgmt -d /run/lsm -s /sbin/nologin \
-c "daemon account for libstoragemgmt" libstoragemgmt
%post
diff -urEbw libstoragemgmt-1.9.6/packaging/libstoragemgmt.spec.in libstoragemgmt-1.9.6.new/packaging/libstoragemgmt.spec.in
--- libstoragemgmt-1.9.6/packaging/libstoragemgmt.spec.in 2022-04-06 19:55:18.000000000 +0200
+++ libstoragemgmt-1.9.6.new/packaging/libstoragemgmt.spec.in 2022-11-11 16:58:47.279237761 +0100
@@ -264,7 +264,7 @@
%pre
getent group libstoragemgmt >/dev/null || groupadd -r libstoragemgmt
getent passwd libstoragemgmt >/dev/null || \
- useradd -r -g libstoragemgmt -d /var/run/lsm -s /sbin/nologin \
+ useradd -r -g libstoragemgmt -d /run/lsm -s /sbin/nologin \
-c "daemon account for libstoragemgmt" libstoragemgmt
%post
diff -urEbw libstoragemgmt-1.9.6/python_binding/lsm/_common.py libstoragemgmt-1.9.6.new/python_binding/lsm/_common.py
--- libstoragemgmt-1.9.6/python_binding/lsm/_common.py 2022-04-06 19:55:18.000000000 +0200
+++ libstoragemgmt-1.9.6.new/python_binding/lsm/_common.py 2022-11-11 16:59:14.139365618 +0100
@@ -151,7 +151,7 @@
# variable in client and specified on the command line for the daemon
-UDS_PATH = '/var/run/lsm/ipc'
+UDS_PATH = '/run/lsm/ipc'
# Set to True for verbose logging
LOG_VERBOSE = True

View File

@ -0,0 +1,2 @@
#Type Name ID GECOS Home directory Shell
u libstoragemgmt - "daemon account for libstoragemgmt" /run/lsm -