[packages/libstoragemgmt] - initial, based on Fedora

qboosh qboosh at pld-linux.org
Fri Apr 29 10:57:48 CEST 2022


commit 22b4a29938a6ba40d942bf69043534443f49e84e
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Apr 29 10:58:01 2022 +0200

    - initial, based on Fedora

 libstoragemgmt.spec | 539 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 539 insertions(+)
---
diff --git a/libstoragemgmt.spec b/libstoragemgmt.spec
new file mode 100644
index 0000000..e1baf3b
--- /dev/null
+++ b/libstoragemgmt.spec
@@ -0,0 +1,539 @@
+#
+# Conditional build:
+%bcond_without	python2	# CPython 2.x support
+%bcond_without	python3	# CPython 3.x support
+%bcond_with	tests
+
+Summary:	Storage array management library
+Summary(pl.UTF-8):	Biblioteka do zarządzania macierzami dyskowymi
+Name:		libstoragemgmt
+Version:	1.9.4
+Release:	1
+License:	LGPL v2+
+Group:		Libraries
+#Source0Download: https://github.com/libstorage/libstoragemgmt/releases
+Source0:	https://github.com/libstorage/libstoragemgmt/releases/download/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	8fa7d545905d0e9d872d6611ab9cd5ec
+URL:		https://github.com/libstorage/libstoragemgmt
+BuildRequires:	autoconf >= 2.50
+BuildRequires:	automake
+BuildRequires:	check-devel >= 0.9.8
+BuildRequires:	glib2-devel >= 1:2.22.5
+BuildRequires:	libconfig-devel >= 1.3.2
+BuildRequires:	libstdc++-devel
+BuildRequires:	libtool
+BuildRequires:	libxml2-devel >= 1:2.5.0
+BuildRequires:	perl-base
+BuildRequires:	openssl-devel
+BuildRequires:	rpm-build >= 4.6
+BuildRequires:	systemd-devel
+BuildRequires:	systemd-units
+BuildRequires:	pkgconfig
+BuildRequires:	procps
+%if %{with python2}
+BuildRequires:	python-devel >= 1:2.6
+BuildRequires:	python-six
+BuildRequires:	python-pywbem
+%endif
+BuildRequires:	python3-devel >= 1:3.2
+BuildRequires:	python3-pywbem
+BuildRequires:	python3-six
+BuildRequires:	rpm-build >= 4.6
+BuildRequires:	rpmbuild(macros) >= 1.673
+BuildRequires:	sqlite3-devel >= 3
+BuildRequires:	systemd-devel
+BuildRequires:	udev-devel
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%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).
+
+%description -l pl.UTF-8
+Biblioteka libStorageMgmt ma na celu udostępnienie niezależnego od
+producenta, mającego otwarte źródła API, pozwalającego na operowanie
+na macierzach dyskowych. Biblioteka zawiera interfejs linii poleceń
+do użycia interaktywnego i w skryptach (polecenie lsmcli). Ma także
+demona, używanego przy uruchamianiu wtyczek w osobnym procesie (lsmd).
+
+%package -n bash-completion-libstoragemgmt
+Summary:	Bash completion for lsmcli command
+Summary(pl.UTF-8):	Bashowe uzupełnianie składni polecenia lsmcli
+Group:		Applications/Shells
+Requires:	%{name} = %{version}-%{release}
+Requires:	bash-completion >= 2.0
+
+%description -n bash-completion-libstoragemgmt
+Bash completion for lsmcli command.
+
+%description -n bash-completion-libstoragemgmt -l pl.UTF-8
+Bashowe uzupełnianie składni polecenia lsmcli.
+
+%package daemon
+Summary:	libStorageMgmt daemon
+Summary(pl.UTF-8):	Demon libStorageMgmt
+Group:		Daemons
+Requires(pre):	/bin/id
+Requires(pre):	/usr/bin/getgid
+Requires(pre):	/usr/sbin/groupadd
+Requires(pre):	/usr/sbin/useradd
+Requires(postun):	/usr/sbin/groupdel
+Requires(postun):	/usr/sbin/userdel
+Requires:	%{name} = %{version}-%{release}
+Requires:	python3-%{name} = %{version}-%{release}
+Requires:	systemd-units
+Provides:	group(libstoragemgmt)
+Provides:	user(libstoragemgmt)
+Obsoletes:	libstoragemgmt-netapp-plugin < 1.9.4
+Obsoletes:	libstoragemgmt-nstor-plugin < 1.9.4
+Obsoletes:	libstoragemgmt-udev < 1.9.4
+
+%description daemon
+libStorageMgmt daemon.
+
+%description daemon -l pl.UTF-8
+Demon libStorageMgmt.
+
+%package devel
+Summary:	Development files for libStorageMgmt
+Summary(pl.UTF-8):	Pliki programistyczne biblioteki libStorageMgmt
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description devel
+This package contains header files for developing applications that
+use libStorageMgmt.
+
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
+wykorzystujących libStorageMgmt.
+
+%package -n python-%{name}
+Summary:	Python 2 client libraries and plug-in support for libStorageMgmt
+Summary(pl.UTF-8):	Biblioteki klienckie Pythona 2 oraz obsługa wtyczek libStorageMgmt
+Group:		Libraries/Python
+Requires:	%{name} = %{version}-%{release}
+Obsoletes:	python-libstoragemgmt-clibs < 1.9.4
+Obsoletes:	libstoragemgmt-python-clibs < 1.9
+
+%description -n python-%{name}
+This package contains Python client libraries as well as Python
+framework support and open source plug-ins written in Python.
+
+%description -n python-%{name} -l pl.UTF-8
+Ten pakiet zawiera biblioteki klienckie Pythona oraz obsługę
+szkieletu wraz z wtyczkami napisanymi w Pythonie.
+
+%package -n python3-%{name}
+Summary:	Python 3 client libraries and plug-in support for libStorageMgmt
+Summary(pl.UTF-8):	Biblioteki klienckie Pythona 3 oraz obsługa wtyczek libStorageMgmt
+Group:		Libraries/Python
+Requires:	%{name} = %{version}-%{release}
+Obsoletes:	python3-libstoragemgmt-clibs < 1.9.4
+
+%description -n python3-%{name}
+This package contains Python client libraries as well as Python
+framework support and open source plug-ins written in Python.
+
+%description -n python3-%{name} -l pl.UTF-8
+Ten pakiet zawiera biblioteki klienckie Pythona oraz obsługę
+szkieletu wraz z wtyczkami napisanymi w Pythonie.
+
+%package plugin-arcconf
+Summary:	Files for Microsemi Adaptec and Smart Family support for libStorageMgmt
+Summary(pl.UTF-8):	Pliki obsługi macierzy rodziny Microsemi Adaptec i Smart dla libStorageMgmt
+Group:		Libraries
+Requires:	%{name}-daemon = %{version}-%{release}
+Obsoletes:	libstoragemgmt-arcconf-plugin < 1.9.4
+BuildArch:	noarch
+
+%description plugin-arcconf
+This package contains the plugin for Microsemi Adaptec RAID and Smart
+Family Controller storage management.
+
+%description plugin-arcconf -l pl.UTF-8
+Ten pakiet zawiera wtyczkę do zarządzania macierzami rodziny Microsemi
+Adaptec RAID i Smart.
+
+%package plugin-hpsa
+Summary:	Files for HP SmartArray array support for libStorageMgmt
+Summary(pl.UTF-8):	Pliki obsługi macierzy HP SmartArray dla libStorageMgmt
+Group:		Libraries
+Requires:	%{name}-daemon = %{version}-%{release}
+Obsoletes:	libstoragemgmt-hpsa-plugin < 1.9.4
+BuildArch:	noarch
+
+%description plugin-hpsa
+This package contains the plugin for HP SmartArray storage management
+via hpssacli.
+
+%description plugin-hpsa -l pl.UTF-8
+Ten pakiet zawiera wtyczkę do zarządzania macierzami HP SmartArray
+poprzez hpssacli.
+
+%package plugin-local
+Summary:	Files for local pseudo plugin of libStorageMgmt
+Summary(pl.UTF-8):	Pliki lokalnej pseudo wtyczki dla libStorageMgmt
+Group:		Libraries
+Requires:	%{name}-daemon = %{version}-%{release}
+Obsoletes:	libstoragemgmt-local-plugin < 1.9.4
+BuildArch:	noarch
+
+%description plugin-local
+This is a plugin that provides auto plugin selection for locally
+managed storage.
+
+%description plugin-local -l pl.UTF-8
+Ten pakiet zawiera wtyczkę zapewniającą automatyczny wybór wtyczki dla
+lokalnie zarządzanej przestrzeni dyskowej.
+
+%package plugin-megaraid
+Summary:	Files for LSI MegaRAID array support for libStorageMgmt
+Summary(pl.UTF-8):	Pliki obsługi macierzy LSI MegaRAID dla libStorageMgmt
+Group:		Libraries
+Requires:	%{name}-daemon = %{version}-%{release}
+Obsoletes:	libstoragemgmt-megaraid-plugin < 1.9.4
+BuildArch:	noarch
+
+%description plugin-megaraid
+This package contains the plugin for LSI MegaRAID storage management
+via storcli.
+
+%description plugin-megaraid -l pl.UTF-8
+Ten pakiet zawiera wtyczkę do zarządzania macierzami LSI MegaRAID
+poprzez storcli.
+
+%package plugin-nfs
+Summary:	Files for NFS local filesystem support for libStorageMgmt
+Summary(pl.UTF-8):	Pliki do lokalnej obsługi systemu plików NFS dla libStorageMgmt
+Group:		Libraries
+Requires:	%{name}-daemon = %{version}-%{release}
+Requires:	nfs-utils
+Obsoletes:	libstoragemgmt-nfs-plugin < 1.9.4
+Obsoletes:	libstoragemgmt-nfs-plugin-clibs < 1.9.4
+
+%description plugin-nfs
+This package contains plug-in for local NFS exports support.
+
+%description plugin-nfs -l pl.UTF-8
+Ten pakiet zawiera wtyczkę do obsługi lokalnego eksportowania NFS-a.
+
+%package plugin-smis
+Summary:	Files for SMI-S generic array support for libStorageMgmt
+Summary(pl.UTF-8):	Pliki ogólnej obsługi macierzy SMI-S dla libStorageMgmt
+Group:		Libraries
+Requires:	%{name}-daemon = %{version}-%{release}
+Requires:	python3-pywbem
+Obsoletes:	libstoragemgmt-smis-plugin < 1.9.4
+BuildArch:	noarch
+
+%description plugin-smis
+This package contains plug-in for generic SMI-S array support.
+
+%description plugin-smis -l pl.UTF-8
+Ten pakiet zawiera wtyczkę do ogólnej obsługi macierzy SMI-S.
+
+%package plugin-targetd
+Summary:	Files for targetd array support for libStorageMgmt
+Summary(pl.UTF-8):	Pliki obsługi macierzy targetd dla libStorageMgmt
+Group:		Libraries
+Requires:	%{name}-daemon = %{version}-%{release}
+Obsoletes:	libstoragemgmt-targetd-plugin < 1.9.4
+BuildArch:	noarch
+
+%description plugin-targetd
+This package contains plug-in for targetd array support.
+
+%description plugin-targetd -l pl.UTF-8
+Ten pakiet zawiera wtyczkę do obsługi macierzy targetd.
+
+%prep
+%setup -q
+
+%{__sed} -i -e '1s,/usr/bin/env python at PY_VERSION@,%{__python3},' \
+	tools/basic_check/local_check.py.in \
+	tools/lsmcli/lsmcli.in \
+	tools/use_cases/find_unused_lun.py.in \
+	plugin/*_plugin/*_lsmplugin.in
+
+%build
+install -d build
+cd build
+../%configure \
+	--with-bash-completion-dir=%{bash_compdir} \
+	--with-python3 \
+	--disable-silent-rules \
+	--disable-static \
+
+%{__make}
+cd ..
+
+%if %{with python2}
+install -d build-py2
+cd build-py2
+../%configure \
+	--with-bash-completion-dir=%{bash_compdir} \
+	--with-python2 \
+	--disable-silent-rules \
+	--disable-static \
+
+%{__make}
+cd ..
+%endif
+
+%if %{with tests}
+if ! make -C build check
+then
+	cat test-suite.log || true
+	exit 1
+fi
+
+%if %{with python2}
+if ! make -C build-py2 check
+then
+	cat test-suite.log || true
+	exit 1
+fi
+%endif
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%if %{with python2}
+%{__make} -C build-py2 install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/{lsm,nfs_plugin}/*.la
+%{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/*_plugin
+
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/lsmcli
+%endif
+
+%{__make} -C build install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libstoragemgmt.la
+%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/{lsm,nfs_plugin}/*.la
+
+# Files for udev handling
+install -d $RPM_BUILD_ROOT/lib/udev/rules.d
+cp -p tools/udev/90-scsi-ua.rules $RPM_BUILD_ROOT/lib/udev/rules.d/90-scsi-ua.rules
+install build/tools/udev/scan-scsi-target $RPM_BUILD_ROOT/lib/udev/scan-scsi-target
+
+install -d $RPM_BUILD_ROOT/var/run/lsm/ipc
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%pre daemon
+%groupadd -g 345 libstoragemgmt
+%useradd -u 345 -d /var/run/lsm -s /bin/false -c "libstoragemgmt daemon" -g libstoragemgmt libstoragemgmt
+
+%post daemon
+%systemd_post %{name}.service
+
+%preun daemon
+%systemd_preun %{name}.service
+
+%postun daemon
+%systemd_postun %{name}.service
+if [ "$1" = "0" ]; then
+	%userremove libstoragemgmt
+	%groupremove libstoragemgmt
+fi
+
+# Need to restart lsmd if plugin is new installed or removed.
+%post plugin-arcconf
+if [ $1 -eq 1 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+%postun plugin-arcconf
+if [ $1 -eq 0 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+# Need to restart lsmd if plugin is new installed or removed.
+%post plugin-hpsa
+if [ $1 -eq 1 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+%postun plugin-hpsa
+if [ $1 -eq 0 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+# Need to restart lsmd if plugin is new installed or removed.
+%post plugin-local
+if [ $1 -eq 1 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+%postun plugin-local
+if [ $1 -eq 0 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+# Need to restart lsmd if plugin is new installed or removed.
+%post plugin-megaraid
+if [ $1 -eq 1 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+%postun plugin-megaraid
+if [ $1 -eq 0 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+# Need to restart lsmd if plugin is new installed or removed.
+%post plugin-nfs
+if [ $1 -eq 1 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+%postun plugin-nfs
+if [ $1 -eq 0 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+# Need to restart lsmd if plugin is new installed or removed.
+%post plugin-smis
+if [ $1 -eq 1 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+%postun plugin-smis
+if [ $1 -eq 0 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+# Need to restart lsmd if plugin is new installed or removed.
+%post plugin-targetd
+if [ $1 -eq 1 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+%postun plugin-targetd
+if [ $1 -eq 0 ]; then
+	%systemd_service_restart %{name}.service
+fi
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS NEWS README
+%attr(755,root,root) %{_bindir}/lsmcli
+%attr(755,root,root) %{_libdir}/libstoragemgmt.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libstoragemgmt.so.1
+%{_mandir}/man1/lsmcli.1*
+
+%files -n bash-completion-libstoragemgmt
+%defattr(644,root,root,755)
+%{bash_compdir}/lsmcli
+
+%files daemon
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/lsmd
+%attr(755,root,root) %{_bindir}/simc_lsmplugin
+%attr(755,root,root) /lib/udev/scan-scsi-target
+/lib/udev/rules.d/90-scsi-ua.rules
+%dir %{_sysconfdir}/lsm
+%dir %{_sysconfdir}/lsm/pluginconf.d
+%config(noreplace) %{_sysconfdir}/lsm/lsmd.conf
+%{_mandir}/man1/lsmd.1*
+%{_mandir}/man1/simc_lsmplugin.1*
+%{_mandir}/man5/lsmd.conf.5*
+%{systemdunitdir}/%{name}.service
+%{systemdtmpfilesdir}/%{name}.conf
+%attr(775,root,libstoragemgmt) %dir /var/run/lsm
+%attr(775,root,libstoragemgmt) %dir /var/run/lsm/ipc
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libstoragemgmt.so
+%{_includedir}/libstoragemgmt
+%{_pkgconfigdir}/libstoragemgmt.pc
+%{_mandir}/man3/lsm_*.3*
+%{_mandir}/man3/libstoragemgmt.h.3*
+
+%if %{with python2}
+%files -n python-%{name}
+%defattr(644,root,root,755)
+%dir %{py_sitedir}/lsm
+%attr(755,root,root) %{py_sitedir}/lsm/_clib.so
+%{py_sitedir}/lsm/*.py[co]
+%{py_sitedir}/lsm/lsmcli
+%endif
+
+%files -n python3-%{name}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/sim_lsmplugin
+%dir %{py3_sitedir}/lsm
+%attr(755,root,root) %{py3_sitedir}/lsm/_clib.so
+%{py3_sitedir}/lsm/*.py
+%{py3_sitedir}/lsm/__pycache__
+%{py3_sitedir}/lsm/lsmcli
+%{py3_sitedir}/sim_plugin
+%dir %{_libexecdir}/lsm.d
+%{_libexecdir}/lsm.d/find_unused_lun.py*
+%{_libexecdir}/lsm.d/local_check.py*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lsm/pluginconf.d/sim.conf
+%{_mandir}/man1/sim_lsmplugin.1*
+
+%files plugin-arcconf
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/arcconf_lsmplugin
+%{py3_sitedir}/arcconf_plugin
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lsm/pluginconf.d/arcconf.conf
+%{_mandir}/man1/arcconf_lsmplugin.1*
+
+%files plugin-hpsa
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/hpsa_lsmplugin
+%{py3_sitedir}/hpsa_plugin
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lsm/pluginconf.d/hpsa.conf
+%{_mandir}/man1/hpsa_lsmplugin.1*
+
+%files plugin-local
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/local_lsmplugin
+%{py3_sitedir}/local_plugin
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lsm/pluginconf.d/local.conf
+%{_mandir}/man1/local_lsmplugin.1*
+
+%files plugin-megaraid
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/megaraid_lsmplugin
+%{py3_sitedir}/megaraid_plugin
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lsm/pluginconf.d/megaraid.conf
+%{_mandir}/man1/megaraid_lsmplugin.1*
+
+%files plugin-nfs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/nfs_lsmplugin
+%dir %{py3_sitedir}/nfs_plugin
+%attr(755,root,root) %{py3_sitedir}/nfs_plugin/nfs_clib.so
+%{py3_sitedir}/nfs_plugin/*.py
+%{py3_sitedir}/nfs_plugin/__pycache__
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lsm/pluginconf.d/nfs.conf
+%{_mandir}/man1/nfs_lsmplugin.1*
+
+%files plugin-smis
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/smispy_lsmplugin
+%{py3_sitedir}/smispy_plugin
+%{_mandir}/man1/smispy_lsmplugin.1*
+
+%files plugin-targetd
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/targetd_lsmplugin
+%{py3_sitedir}/targetd_plugin
+%{_mandir}/man1/targetd_lsmplugin.1*
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libstoragemgmt.git/commitdiff/22b4a29938a6ba40d942bf69043534443f49e84e



More information about the pld-cvs-commit mailing list