Name: libstoragemgmt Version: 0.0.22 Release: 4%{?dist} Summary: Storage array management library Group: System Environment/Libraries License: LGPLv2+ URL: http://sourceforge.net/projects/libstoragemgmt/ Source0: http://sourceforge.net/projects/libstoragemgmt/files/Alpha/libstoragemgmt-%{version}.tar.gz Patch0: %{name}-0.0.22-python_env.patch Patch1: %{name}-0.0.22-ontap_ssl.patch Patch2: %{name}-0.0.22-setgroups.patch Patch3: %{name}-0.0.22-relro-pie.patch Patch4: %{name}-0.0.22-auto-warnings.patch Patch5: %{name}-0.0.22-autogen.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: autoconf automake libtool yajl-devel libxml2-devel check-devel glib2-devel Requires: %{name}-python %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 BuildRequires: systemd-units Requires: initscripts Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units %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 devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package python Summary: Python client libraries and plug-in support for %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} BuildArch: noarch %description python The %{name}-python package contains python client libraries as well as python framework support and open source plug-ins written in python. %package smis-plugin Summary: Files for SMI-S generic array support for %{name} Group: System Environment/Libraries BuildRequires: pywbem Requires: pywbem %{name}-python Requires: libstoragemgmt-python = %{version}-%{release} BuildArch: noarch %description smis-plugin The %{name}-smis-plugin package contains plug-in for generic SMI-S array support. %package netapp-plugin Summary: Files for NetApp array support for %{name} Group: System Environment/Libraries BuildRequires: m2crypto Requires: m2crypto %{name}-python Requires: libstoragemgmt-python = %{version}-%{release} BuildArch: noarch %description netapp-plugin The %{name}-netapp-plugin package contains plug-in for NetApp array support. %package targetd-plugin Summary: Files for targetd array support for %{name} Group: System Environment/Libraries Requires: %{name}-python Requires: libstoragemgmt-python = %{version}-%{release} BuildArch: noarch %description targetd-plugin The %{name}-targetd-plugin package contains plug-in for targetd array support. %if 0%{?fedora} || 0%{?rhel} <= 6 %package ibm-v7k-plugin Summary: Files for IBM v7k array support for %{name} Group: System Environment/Libraries BuildRequires: python-paramiko Requires: python-paramiko %{name}-python Requires: libstoragemgmt-python = %{version}-%{release} BuildArch: noarch %description ibm-v7k-plugin The %{name}-ibm-v7k-plugin package contains plug-in for IBM v7k array support. %endif %package nstor-plugin Summary: Files for NexentaStor array support for %{name} Group: System Environment/Libraries Requires: %{name}-python Requires: libstoragemgmt-python = %{version}-%{release} BuildArch: noarch %description nstor-plugin The %{name}-nstor-plugin package contains plug-in for NexentaStor array support. %prep %setup -q %patch0 -p0 %patch1 -p0 %patch2 -p0 %patch3 -p0 %patch4 -p0 %patch5 -p0 %build #Clean up & regen auto* as we have mucked with it. bash autogen.sh #Tell the install program to preserve file date/timestamps %if 0%{?rhel} >= 7 %configure --disable-static --without-paramiko %else %configure --disable-static %endif V=1 make %{?_smp_mflags} %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} find %{buildroot} -name '*.la' -exec rm -f {} ';' %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 install -d -m755 %{buildroot}/%{_unitdir} install -m644 packaging/daemon/libstoragemgmt.service %{buildroot}/%{_unitdir}/libstoragemgmt.service #tempfiles.d configuration for /var/run mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d install -m 0644 packaging/daemon/lsm-tmpfiles.conf %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf %else #Need these to exist at install so we can start the daemon mkdir -p %{buildroot}/etc/rc.d/init.d install packaging/daemon/libstoragemgmtd %{buildroot}/etc/rc.d/init.d/libstoragemgmtd %endif #Need these to exist at install so we can start the daemon mkdir -p %{buildroot}%{_localstatedir}/run/lsm/ipc %clean rm -rf %{buildroot} %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 \ -c "daemon account for libstoragemgmt" libstoragemgmt %post /sbin/ldconfig if [ $1 -eq 1 ]; then %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 /bin/systemctl enable libstoragemgmt.service >/dev/null 2>&1 || : %else /sbin/chkconfig --add libstoragemgmtd %endif fi %preun if [ $1 -eq 0 ]; then %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 # On uninstall (not upgrade), disable and stop the units /bin/systemctl --no-reload disable libstoragemgmt.service >/dev/null 2>&1 || : /bin/systemctl stop libstoragemgmt.service >/dev/null 2>&1 || : %else /etc/rc.d/init.d/libstoragemgmtd stop > /dev/null 2>&1 || : /sbin/chkconfig --del libstoragemgmtd %endif fi %postun /sbin/ldconfig /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 # On upgrade (not uninstall), optionally, restart the daemon /bin/systemctl try-restart libstoragemgmt.service >/dev/null 2>&1 || : %else #Restart the daemond /etc/rc.d/init.d/libstoragemgmtd restart >/dev/null 2>&1 || : %endif fi %files %defattr(-,root,root,-) %doc README COPYING.LIB %{_mandir}/man1/lsmcli.1* %{_mandir}/man1/lsmd.1* %{_libdir}/*.so.* %{_bindir}/lsmcli %{_bindir}/lsmd %{_bindir}/simc_lsmplugin %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %{_unitdir}/* %endif %dir %attr(0755, libstoragemgmt, libstoragemgmt) %{_localstatedir}/run/lsm/ %dir %attr(0755, libstoragemgmt, libstoragemgmt) %{_localstatedir}/run/lsm/ipc %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %attr(0644, root, root) %{_sysconfdir}/tmpfiles.d/%{name}.conf %else %attr(0755, root, root) /etc/rc.d/init.d/libstoragemgmtd %endif %files devel %defattr(-,root,root,-) %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/libstoragemgmt.pc %files python %defattr(-,root,root,-) #Python library files %{python_sitelib}/lsm/__init__.* %{python_sitelib}/lsm/external/* %{python_sitelib}/lsm/client.* %{python_sitelib}/lsm/cmdline.* %{python_sitelib}/lsm/common.* %{python_sitelib}/lsm/data.* %{python_sitelib}/lsm/iplugin.* %{python_sitelib}/lsm/pluginrunner.* %{python_sitelib}/lsm/simulator.* %{python_sitelib}/lsm/transport.* %{python_sitelib}/lsm/version.* %{_bindir}/sim_lsmplugin %files smis-plugin %defattr(-,root,root,-) %{python_sitelib}/lsm/eseries.* %{python_sitelib}/lsm/smis.* %{python_sitelib}/lsm/smisproxy.* %{_bindir}/smispy_lsmplugin %files netapp-plugin %defattr(-,root,root,-) %{python_sitelib}/lsm/na.* %{python_sitelib}/lsm/ontap.* %{_bindir}/ontap_lsmplugin %files targetd-plugin %defattr(-,root,root,-) %{_bindir}/targetd_lsmplugin %if 0%{?fedora} || 0%{?rhel} <= 6 %files ibm-v7k-plugin %defattr(-,root,root,-) %{python_sitelib}/lsm/ibmv7k.* %{_bindir}/v7k_lsmplugin %endif %files nstor-plugin %defattr(-,root,root,-) %{_bindir}/nstor_lsmplugin %changelog * Mon Oct 14 2013 Tony Asleson 0.0.22-4 - https://bugzilla.redhat.com/show_bug.cgi?id=905465 * Fri Oct 4 2013 Tony Asleson 0.0.22-3 - https://bugzilla.redhat.com/show_bug.cgi?id=998898 * Tue Aug 13 2013 Tony Asleson 0.0.22-2 - BZ 987027 - BZ 990577 - BZ 968384 - New upstream release * Tue Jul 16 2013 Tony Asleson 0.0.21-1 - New upstream release - Put plug-ins in separate sub packages - Don't include IBM plug-in on RHEL > 6, missing paramiko * Tue May 28 2013 Tony Asleson - 0.0.20-1 - New upstream release - Separate package for python libraries - Make timestamps match on version.py in library - Add python-paramiko requirement for IBM plug-in * Mon Apr 22 2013 Tony Asleson 0.0.19-1 - New upstream release * Fri Mar 8 2013 Tony Asleson 0.0.18-1 - New upstream release - Corrected spec file for missing "fi" in postinstall * Tue Jan 29 2013 Tony Asleson 0.0.16-1 - New upstream release * Wed Oct 31 2012 Tony Asleson 0.0.14-1 - Initial RHEL Release - Removed conditional checks for fedora as RHEL7 uses systemd * Wed Oct 3 2012 Tony Asleson - 0.0.13-1 - New upstream release * Tue Sep 18 2012 Tony Asleson - 0.0.12-1 - New upstream release * Mon Aug 13 2012 Tony Asleson 0.0.11-1 - New upstream release * Fri Jul 27 2012 Dan HorĂ¡k - 0.0.9-3 - detect also non-x86 arches in Pegasus check * Thu Jul 19 2012 Fedora Release Engineering - 0.0.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Tue Jun 12 2012 Tony Asleson 0.0.9-1 - Initial checkin of lio plug-in - System filtering via URI (smispy) - Error code mapping (ontap) - Fixed build so same build tarball is used for all binaries * Mon Jun 4 2012 Tony Asleson 0.0.8-1 - Make building of SMI-S CPP plugin optional - Add pkg-config file - SMIS: Fix exception while retrieving Volumes - SMIS: Fix exception while retrieving Volumes - lsm: Add package imports - Make Smis class available in lsm python package - Add option to disable building C unit test - Make simulator classes available in lsm python package - Make ontap class available in lsm python package - Changes to support building on Fedora 17 (v2) - Spec. file updates from feedback from T. Callaway (spot) - F17 linker symbol visibility correction - Remove unneeded build dependencies and cleaned up some warnings - C Updates, client C library feature parity with python * Fri May 11 2012 Tony Asleson 0.0.7-1 - Bug fix for smi-s constants - Display formatting improvements - Added header option for lsmcli - Improved version handling for builds - Made terminology consistent - Ability to list visibility for access groups and volumes - Simulator plug-in fully supports all block operations - Added support for multiple systems with a single plug-in instance * Fri Apr 20 2012 Tony Asleson 0.0.6-1 - Documentation improvements (man & source code) - Support for access groups - Unified spec files Fedora/RHEL - Package version auto generate - Rpm target added to make - Bug fix for missing optional property on volume retrieval (smispy plug-in) * Fri Apr 6 2012 Tony Asleson 0.0.5-1 - Spec file clean-up improvements - Async. operation added to lsmcli and ability to check on job status - Sub volume replication support - Ability to check for child dependencies on VOLUMES, FS and files - SMI-S Bug fixes and improvements * Mon Mar 26 2012 Tony Asleson 0.0.4-1 - Restore from snapshot - Job identifiers string instead of integer - Updated license address * Wed Mar 14 2012 Tony Asleson 0.0.3-1 - Changes to installer, daemon uid, gid, /var/run/lsm/* - NFS improvements and bug fixes - Python library clean up (rpmlint errors) * Sun Mar 11 2012 Tony Asleson 0.0.2-1 - Added NetApp native plugin * Mon Feb 6 2012 Tony Asleson 0.0.1alpha-1 - Initial version of package