Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP5:GA
ixpdimm_sw
ixpdimm_sw.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ixpdimm_sw.spec of Package ixpdimm_sw
# # spec file for package ixpdimm_sw # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2016 Intel Corporation # # 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 http://bugs.opensuse.org/ # # allow building with SLE12-compatible package-names %bcond_with short-invm-dnames %define product_base_name ixpdimm %define product_name %{product_base_name}_sw %define api_release 01 %define apibase %{product_base_name} %define apiname lib%{apibase}%{api_release} %define corelibname lib%{product_base_name}-core%{api_release} %define cliname %{product_base_name}-cli %define clilibname lib%{cliname}%{api_release} %define monitorname %{product_base_name}-monitor %define cimplugin lib%{product_base_name}-cim %define srcname %{product_name}-%{version} %if %{with short-invm-dnames} %define dname %{product_base_name}-devel %define altdname %{product_name}-devel %else %define dname %{product_name}-devel %define altdname %{product_base_name}-devel %endif %define min_i18n 1.0.0.1020 %define min_cim 1.0.0.1051 %define min_cli 1.0.0.1104 #define _unpackaged_files_terminate_build 0 Name: %{product_name} Version: 01.00.00.2287 Release: 0 Summary: API for development of IXPDIMM management utilities License: BSD-3-Clause Group: System/Daemons Url: https://01.org/ixpdimm-sw Source: https://github.com/01org/%{product_name}/archive/v%{version}.tar.gz Source1: ixpdimm_sw.rpmlintrc ExclusiveArch: x86_64 BuildRequires: distribution-release BuildRequires: gcc-c++ BuildRequires: libctemplate-devel BuildRequires: libnuma-devel BuildRequires: python BuildRequires: sblim-cmpi-devel BuildRequires: pkgconfig(libkmod) BuildRequires: pkgconfig(libndctl) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(sqlite3) %if %{without short-invm-dnames} BuildRequires: libinvm-cim-devel >= %{min_cim} BuildRequires: libinvm-cli-devel >= %{min_cli} BuildRequires: libinvm-i18n-devel >= %{min_i18n} %else BuildRequires: invm-cim-devel >= %{min_cim} BuildRequires: invm-cli-devel >= %{min_cli} BuildRequires: invm-i18n-devel >= %{min_i18n} %endif %description An application program interface (API) for configuring and managing %{product_name}, including basic inventory, capacity provisioning, health monitoring, and troubleshooting. %package -n %{apiname} Summary: API for development of %{product_name} management utilities Group: System/Libraries Requires: %{apibase}-data Requires: libinvm-cim1 >= %{min_cim} Requires: libinvm-cli1 >= %{min_cli} Requires: libinvm-i18n1 >= %{min_i18n} Requires: libndctl6 >= 54 %description -n %{apiname} An application program interface (API) for configuring and managing %{product_name}, including basic inventory, capacity provisioning, health monitoring, and troubleshooting. %package -n %{apibase}-data Summary: Data files for %{apibase} Group: System/Libraries %description -n %{apibase}-data An application program interface (API) for configuring and managing %{product_name}, including basic inventory, capacity provisioning, health monitoring, and troubleshooting. %package -n %{dname} Summary: Development files for %{name} Group: Development/Libraries/C and C++ Requires: %{apiname} = %{version}-%{release} Requires: %{clilibname} = %{version}-%{release} Requires: %{corelibname} = %{version}-%{release} Obsoletes: %{altdname} < %{version}-%{release} Provides: %{altdname} = %{version}-%{release} %description -n %{dname} This package contains header files for developing applications that use %{name}. %package -n %{corelibname} Summary: Core library for %{name} Group: System/Libraries %description -n %{corelibname} The package contains the core library that support other %{product_name} products. %package -n %{cimplugin} Summary: CIM provider for %{name} Group: System/Management Requires: pywbem Requires(post): pywbem Requires(pre): pywbem # CIM plugin accessed by dlopen(3)! %description -n %{cimplugin} %{cimplugin} is a common information model (CIM) provider that exposes %{product_name} as standard CIM objects in order to plug-in to various common information model object managers (CIMOMS). %package -n %{monitorname} Summary: Daemon for monitoring the status of %{product_name} Group: System/Monitoring BuildRequires: systemd-rpm-macros %{?systemd_requires} Requires: %{cimplugin} = %{version}-%{release} %description -n %{monitorname} A daemon for monitoring the health and status of %{product_name} %package -n %{cliname} Summary: CLI for managment of %{product_name} Group: System/Management Requires: %{clilibname} = %{version}-%{release} %description -n %{cliname} A command line interface (CLI) application for configuring and managing %{product_name}, including commands for basic inventory, capacity provisioning, health monitoring, and troubleshooting. %package -n %{clilibname} Summary: CLI for managment of %{product_name} Group: System/Libraries %description -n %{clilibname} A command line interface (CLI) application for configuring and managing %{product_name}, including commands for basic inventory, capacity provisioning, health monitoring, and troubleshooting. %prep %setup -q -n %{srcname} perl -pi -e 's{^(.*SCHEMA_GEN_ABS.*)$}{# $1}' src/common/makefile perl -pi -e 's{(\$\(LIBS\) -o \$\@)}{\$(LDFLAGS) $1}' src/cli/makefile perl -pi -e 's{(\$\(LIBS\) -o \$\@)}{\$(LDFLAGS) $1}' src/monitor/makefile # temporary fix for bsc#1073784 (introduced by SUSE packaging-guidelines) perl -pi -e 'print "#define SFY( x) #x\n#define STRINGIFY(x) SFY(x)\n" if s{("\.so",) 4}{$1 buffer_len}; s{"\.so"}{".so." STRINGIFY(__VERSION_MAJOR__)}g' \ src/common/os/lnx_os.c %build make BUILDNUM=%{version} RELEASE=1 \ DATADIR=%{_datadir} LINUX_PRODUCT_NAME=%{product_name} \ CFLAGS_EXTERNAL="%{?optflags}" CPPFLAGS_EXTERNAL="%{?optflags}" %install make BUILDNUM=%{version} RELEASE=1 \ RPM_ROOT=%{buildroot} LIB_DIR=%{_libdir} INCLUDE_DIR=%{_includedir} \ BIN_DIR=%{_bindir} DATADIR=%{_datadir} UNIT_DIR=%{_unitdir} \ LINUX_PRODUCT_NAME=%{product_name} SYSCONF_DIR=%{_sysconfdir} \ MANPAGE_DIR=%{_mandir} \ install mkdir -p %{buildroot}%{_prefix}/sbin ln -sf service %{buildroot}%{_sbindir}/rc%{monitorname} rm %{buildroot}%{_libdir}/cmpi/libixpdimm-cim.so{,.%{api_release}} mv %{buildroot}%{_libdir}/cmpi/libixpdimm-cim.so{.*,} %pre -n %{monitorname} %service_add_pre ixpdimm-monitor.service %post -n %{apiname} -p /sbin/ldconfig %post -n %{corelibname} -p /sbin/ldconfig %post -n %{clilibname} -p /sbin/ldconfig %post -n %{cimplugin} if [ -x %{_sbindir}/cimserver ] then cimserver --status &> /dev/null if [ $? -eq 0 ] then CIMMOF=cimmof else for repo in %{_localstatedir}/lib/Pegasus %{_localstatedir}/lib/pegasus %{_prefix}/local%{_localstatedir}/lib/pegasus %{_localstatedir}/local/lib/pegasus %{_localstatedir}/opt/tog-pegasus /opt/ibm/icc/cimom do if [ -d $repo/repository ] then CIMMOF="cimmofl -R $repo" fi done fi for ns in interop root/interop root/PG_Interop; do $CIMMOF -E -n$ns %{_datadir}/%{product_name}/Pegasus/mof/pegasus_register.mof &> /dev/null if [ $? -eq 0 ] then $CIMMOF -uc -n$ns %{_datadir}/%{product_name}/Pegasus/mof/pegasus_register.mof &> /dev/null $CIMMOF -uc -n$ns %{_datadir}/%{product_name}/Pegasus/mof/profile_registration.mof &> /dev/null break fi done $CIMMOF -aE -uc -n root/intelwbem %{_datadir}/%{product_name}/Pegasus/mof/intelwbem.mof &> /dev/null fi if [ -x %{_sbindir}/sfcbd ] then RESTART=0 systemctl is-active sblim-sfcb.service &> /dev/null if [ $? -eq 0 ] then RESTART=1 systemctl stop sblim-sfcb.service &> /dev/null fi sfcbstage -n root/intelwbem -r %{_datadir}/%{product_name}/sfcb/INTEL_NVDIMM.reg %{_datadir}/%{product_name}/sfcb/sfcb_intelwbem.mof sfcbrepos -f if [[ $RESTART -gt 0 ]] then systemctl start sblim-sfcb.service &> /dev/null fi fi %post -n %{monitorname} %service_add_post ixpdimm-monitor.service %postun -n %{apiname} -p /sbin/ldconfig %postun -n %{corelibname} -p /sbin/ldconfig %postun -n %{clilibname} -p /sbin/ldconfig %pre -n %{cimplugin} # If upgrading, deregister old version if [ "$1" -gt 1 ]; then RESTART=0 if [ -x %{_sbindir}/cimserver ] then cimserver --status &> /dev/null if [ $? -gt 0 ] then RESTART=1 cimserver enableHttpConnection=false enableHttpsConnection=false enableRemotePrivilegedUserAccess=false slp=false &> /dev/null fi cimprovider -d -m intelwbemprovider &> /dev/null cimprovider -r -m intelwbemprovider &> /dev/null mofcomp -v -r -n root/intelwbem %{_datadir}/%{product_name}/Pegasus/mof/intelwbem.mof &> /dev/null mofcomp -v -r -n root/intelwbem %{_datadir}/%{product_name}/Pegasus/mof/profile_registration.mof &> /dev/null if [[ $RESTART -gt 0 ]] then cimserver -s &> /dev/null fi fi fi %preun -n %{cimplugin} RESTART=0 if [ -x %{_sbindir}/cimserver ] then cimserver --status &> /dev/null if [ $? -gt 0 ] then RESTART=1 cimserver enableHttpConnection=false enableHttpsConnection=false enableRemotePrivilegedUserAccess=false slp=false &> /dev/null fi cimprovider -d -m intelwbemprovider &> /dev/null cimprovider -r -m intelwbemprovider &> /dev/null mofcomp -r -n root/intelwbem %{_datadir}/%{product_name}/Pegasus/mof/intelwbem.mof &> /dev/null mofcomp -v -r -n root/intelwbem %{_datadir}/%{product_name}/Pegasus/mof/profile_registration.mof &> /dev/null if [[ $RESTART -gt 0 ]] then cimserver -s &> /dev/null fi fi if [ -x %{_sbindir}/sfcbd ] then RESTART=0 systemctl is-active sblim-sfcb.service &> /dev/null if [ $? -eq 0 ] then RESTART=1 systemctl stop sblim-sfcb.service &> /dev/null fi sfcbunstage -n root/intelwbem -r INTEL_NVDIMM.reg sfcb_intelwbem.mof sfcbrepos -f if [[ $RESTART -gt 0 ]] then systemctl start sblim-sfcb.service &> /dev/null fi fi %preun -n %{monitorname} %service_del_preun ixpdimm-monitor.service %postun -n %{monitorname} %service_del_postun ixpdimm-monitor.service %files -n %{apiname} %defattr(-,root,root) %{_libdir}/libixpdimm.so.* %doc LICENSE %files -n %{apibase}-data %defattr(640,root,root) %dir %{_datadir}/%{product_name} %{_datadir}/%{product_name}/*.pem* %{_datadir}/%{product_name}/*.dat* %files -n %{dname} %defattr(-,root,root) %{_libdir}/libixpdimm.so %{_libdir}/libixpdimm-core.so %{_libdir}/libixpdimm-cli.so %attr(644,root,root) %{_includedir}/nvm_types.h %attr(644,root,root) %{_includedir}/nvm_management.h %doc LICENSE %files -n %{corelibname} %defattr(-,root,root) %{_libdir}/libixpdimm-core.so.* %doc LICENSE %files -n %{cimplugin} %defattr(-,root,root) %dir %{_libdir}/cmpi/ %{_libdir}/cmpi/libixpdimm-cim.so* %dir %{_datadir}/%{product_name}/Pegasus %dir %{_datadir}/%{product_name}/Pegasus/mof %dir %{_datadir}/%{product_name}/sfcb %attr(644,root,root) %{_datadir}/%{product_name}/sfcb/*.reg %attr(644,root,root) %{_datadir}/%{product_name}/sfcb/*.mof %attr(644,root,root) %{_datadir}/%{product_name}/Pegasus/mof/*.mof %attr(644,root,root) %config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{product_name}-%{_arch}.conf %doc LICENSE %files -n %{monitorname} %defattr(-,root,root) %{_bindir}/ixpdimm-monitor %{_sbindir}/rcixpdimm-monitor %{_unitdir}/ixpdimm-monitor.service %doc LICENSE %attr(644,root,root) %{_mandir}/man8/ixpdimm-monitor* %files -n %{cliname} %defattr(-,root,root) %{_bindir}/ixpdimm-cli %doc LICENSE %attr(644,root,root) %{_mandir}/man8/ixpdimm-cli* %files -n %{clilibname} %defattr(-,root,root) %{_libdir}/libixpdimm-cli.so.* %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor