Blame SPECS/opa-fm.spec

55a683
# One of the steps this package's insane build system does is patching version
55a683
# strings in built binaries (MakeTools/patch_version/patch_version.c).
55a683
# The expected template of a version string (ICS_BUILD_VERSION from
55a683
# CodeVersion/code_version.c) is not found in binaries that contain a
55a683
# GetCodeVersion() call. I suspect LTO optimizes it away.
55a683
# Disabling LTO made the build work.
55a683
%global _lto_cflags %{nil}
55a683
dea3a0
Name: opa-fm
dea3a0
Epoch: 1
55a683
Version: 10.11.1.3.1
dea3a0
Release: 1%{?dist}
dea3a0
Summary: Intel Omni-Path Fabric Management Software
dea3a0
dea3a0
License: GPLv2 or BSD
dea3a0
Url: https://github.com/cornelisnetworks/opa-fm
55a683
Source0: https://github.com/cornelisnetworks/opa-fm/archive/refs/tags/v%{version}.tar.gz
dea3a0
dea3a0
# bz1262327 needs Patch0002
dea3a0
Patch0002: 0001-Fix-well-known-tempfile-issue-in-script.patch
dea3a0
Patch0003: opafm-link-all-executables-with-pie.patch
dea3a0
Patch0004: add-fPIC-flag.patch
dea3a0
dea3a0
BuildRequires: openssl-devel, expat-devel
dea3a0
BuildRequires: libibverbs-devel >= 1.2.0
dea3a0
BuildRequires: libibumad-devel
dea3a0
BuildRequires: zlib-devel
dea3a0
BuildRequires: gcc
dea3a0
BuildRequires: gcc-c++
dea3a0
BuildRequires: systemd-rpm-macros
dea3a0
Requires: libhfi1
dea3a0
ExclusiveArch: x86_64
dea3a0
dea3a0
%description
dea3a0
opa-fm contains Intel Omni-Path fabric management applications. This
dea3a0
includes: the Subnet Manager, Baseboard Manager, Performance Manager,
dea3a0
Fabric Executive, and some fabric management tools.
dea3a0
dea3a0
%prep
dea3a0
%setup -q
dea3a0
%patch0002 -p1
dea3a0
%patch0003 -p1
dea3a0
%patch0004 -p1
dea3a0
dea3a0
# Make it possible to override hardcoded compiler flags
dea3a0
sed -i -r -e 's/(release_C(C)?OPT_Flags\s*)=/\1?=/' Makerules/Target.LINUX.GNU.*
dea3a0
sed -r -e 's/(^COPT\s*=\s*)/#\1/' -i Esm/ib/src/linux/opafmvf/Makefile
dea3a0
dea3a0
%build
dea3a0
export CFLAGS='%{optflags} -std=gnu11'
dea3a0
export CXXFLAGS='%{optflags} -std=gnu11'
dea3a0
export release_COPT_Flags='%{optflags} -std=gnu11'
dea3a0
export release_CCOPT_Flags='%{optflags} -std=gnu11'
dea3a0
cd Esm
dea3a0
OPA_FEATURE_SET=opa10 ./fmbuild $BUILD_ARGS
dea3a0
dea3a0
%install
dea3a0
BUILDDIR=%{_builddir} DESTDIR=%{buildroot} LIBDIR=%{_libdir} RPM_INS=n ./Esm/fm_install.sh
dea3a0
chmod 644 %{buildroot}/%{_unitdir}/opafm.service
dea3a0
mkdir -p %{buildroot}/%{_localstatedir}/usr/lib/opa-fm/
dea3a0
chmod a-x %{buildroot}/%{_prefix}/share/opa-fm/opafm_src.xml
dea3a0
dea3a0
%post
dea3a0
%systemd_post opafm.service
dea3a0
dea3a0
%preun
dea3a0
%systemd_preun opafm.service
dea3a0
dea3a0
%postun
dea3a0
%systemd_postun_with_restart opafm.service
dea3a0
dea3a0
%files
dea3a0
%doc Esm/README
dea3a0
%{_unitdir}/opafm.service
dea3a0
%config(noreplace) %{_sysconfdir}/opa-fm/opafm.xml
dea3a0
%config(noreplace) %{_sysconfdir}/opa-fm/opafm_pp.xml
dea3a0
%{_sysconfdir}/opa-fm
dea3a0
%{_prefix}/lib/opa-fm/bin/*
dea3a0
%{_prefix}/lib/opa-fm/runtime/*
dea3a0
%{_prefix}/share/opa-fm/*
dea3a0
%{_sbindir}/opafmcmd
dea3a0
%{_sbindir}/opafmcmdall
dea3a0
%{_sbindir}/opafmconfigpp
dea3a0
%{_sbindir}/opafmvf
dea3a0
%{_mandir}/man8/*
dea3a0
dea3a0
%changelog
55a683
* Wed Aug 03 2022 Michal Schmidt <mschmidt@redhat.com> - 10.11.1.3.1-1
55a683
- Update to upstream release 10.11.1.3.1
55a683
- Resolves: rhbz#2049171
55a683
dea3a0
* Tue Oct 19 2021 Honggang Li <honli@redhat.com> - 1:10.11.0.2-1
dea3a0
- Rebase to upstream release 10.11.0.2
dea3a0
- Resolves: rhbz2013070
dea3a0
dea3a0
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1:10.11.0.1.2-3
dea3a0
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
dea3a0
  Related: rhbz#1991688
dea3a0
dea3a0
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:10.11.0.1.2-2
dea3a0
- Rebuilt for RHEL 9 BETA for openssl 3.0
dea3a0
  Related: rhbz#1971065
dea3a0
dea3a0
* Wed Apr 28 2021 Honggang Li <honli@redhat.com> - 10.11.0.1.2-1
dea3a0
- Rebase to upstream release 10.11.0.1.2
dea3a0
- Resolves: rhbz1924901