From ca3f20df66c6a5fc70c6f42a6c8e271aa2968dce Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 17 May 2022 06:36:38 -0400 Subject: [PATCH] import opa-fm-10.11.0.2-1.el9 --- .gitignore | 1 + .opa-fm.metadata | 1 + ...-well-known-tempfile-issue-in-script.patch | 29 ++++++ SOURCES/add-fPIC-flag.patch | 15 +++ .../opafm-link-all-executables-with-pie.patch | 43 ++++++++ SPECS/opa-fm.spec | 99 +++++++++++++++++++ 6 files changed, 188 insertions(+) create mode 100644 .gitignore create mode 100644 .opa-fm.metadata create mode 100644 SOURCES/0001-Fix-well-known-tempfile-issue-in-script.patch create mode 100644 SOURCES/add-fPIC-flag.patch create mode 100644 SOURCES/opafm-link-all-executables-with-pie.patch create mode 100644 SPECS/opa-fm.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6423776 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/opa-fm-10.11.0.2.tar.xz diff --git a/.opa-fm.metadata b/.opa-fm.metadata new file mode 100644 index 0000000..249dd49 --- /dev/null +++ b/.opa-fm.metadata @@ -0,0 +1 @@ +3a705f698fd155685dff0d82c5a11cd3c07cec4a SOURCES/opa-fm-10.11.0.2.tar.xz diff --git a/SOURCES/0001-Fix-well-known-tempfile-issue-in-script.patch b/SOURCES/0001-Fix-well-known-tempfile-issue-in-script.patch new file mode 100644 index 0000000..84da4d2 --- /dev/null +++ b/SOURCES/0001-Fix-well-known-tempfile-issue-in-script.patch @@ -0,0 +1,29 @@ +From 5dfa99291d5702abf1a00aa7c396295e019ca5f2 Mon Sep 17 00:00:00 2001 +From: Honggang Li +Date: Thu, 19 Oct 2017 14:47:19 +0800 +Subject: [PATCH] Fix well-known tempfile issue in script + +--- + Esm/ib/src/linux/startup/sm_capture.sh | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Esm/ib/src/linux/startup/sm_capture.sh b/Esm/ib/src/linux/startup/sm_capture.sh +index fda2e1f..a284486 100755 +--- a/Esm/ib/src/linux/startup/sm_capture.sh ++++ b/Esm/ib/src/linux/startup/sm_capture.sh +@@ -38,8 +38,10 @@ SM_EXEC=/usr/lib/opa-fm/runtime/sm + IFS_FM_BASE=/usr/lib/opa-fm + + PROGNAME="$0" +-dirName="smdump-"`date '+%d%b%y%H%M%S'` +-dumpLocation="/tmp/$dirName" ++# Hedge against bash vs. sh ++dateStr=`date '+%d%b%y%H%M%S'` ++dumpLocation="`mktemp -d /tmp/smdump-${dateStr}-XXXXXX`" ++dirName=`basename $dumpLocation` + + usage() { + echo "Usage:" +-- +2.14.0 + diff --git a/SOURCES/add-fPIC-flag.patch b/SOURCES/add-fPIC-flag.patch new file mode 100644 index 0000000..52a911d --- /dev/null +++ b/SOURCES/add-fPIC-flag.patch @@ -0,0 +1,15 @@ +diff --git a/Makerules/Target.LINUX.GNU.X86_64 b/Makerules/Target.LINUX.GNU.X86_64 +index 5a852b3..194a8b2 100755 +--- a/Makerules/Target.LINUX.GNU.X86_64 ++++ b/Makerules/Target.LINUX.GNU.X86_64 +@@ -77,8 +77,8 @@ SHLIB_SONAME=$(notdir $(CMD_TARGETS_SHLIB)) + # ---------------------------- + # -fcheck-new does the opposite of what the manual implies. + # -fcheck-new DISABLES the run-time test of return value from new +-CMACH = -pipe -DTARGET_CPU_FAMILY_X86 -Wall -Werror=format-security -D__X86_64__ -DCPU_LE -m64 -fno-strict-aliasing -fstack-protector +-CCMACH = -pipe -DTARGET_CPU_FAMILY_X86 -Wall -Werror=format-security -D__X86_64__ -DCPU_LE -m64 -fno-strict-aliasing -fstack-protector -fcheck-new -Wno-ctor-dtor-privacy ++CMACH = -fPIC -pipe -DTARGET_CPU_FAMILY_X86 -Wall -Werror=format-security -D__X86_64__ -DCPU_LE -m64 -fno-strict-aliasing -fstack-protector ++CCMACH = -fPIC -pipe -DTARGET_CPU_FAMILY_X86 -Wall -Werror=format-security -D__X86_64__ -DCPU_LE -m64 -fno-strict-aliasing -fstack-protector -fcheck-new -Wno-ctor-dtor-privacy + ifeq ($(shell expr $(GCC_MAJOR_VERSION) \>= 7), 1) + ifeq ($(shell expr $(GCC_MINOR_VERSION) \>= 0), 1) + CMACH+= -std=gnu90 -Wno-misleading-indentation -Wno-format-truncation diff --git a/SOURCES/opafm-link-all-executables-with-pie.patch b/SOURCES/opafm-link-all-executables-with-pie.patch new file mode 100644 index 0000000..4373c38 --- /dev/null +++ b/SOURCES/opafm-link-all-executables-with-pie.patch @@ -0,0 +1,43 @@ +diff --git a/Esm/ib/src/linux/startup/Makefile b/Esm/ib/src/linux/startup/Makefile +index ad23e67..00c7f2c 100644 +--- a/Esm/ib/src/linux/startup/Makefile ++++ b/Esm/ib/src/linux/startup/Makefile +@@ -145,7 +145,7 @@ include $(TL_DIR)/Makerules/Maketargets.build + include $(TL_DIR)/Makerules/Maketargets.install + + $(BUILDDIR)/opafmd: $(BUILDDIR)/opafmd.o +- $(VS)$(CC) -pthread $(LDFLAGS)$@ $(BUILDDIR)/opafmd.o $(LDLIBS) ++ $(VS)$(CC) -pie -pthread $(LDFLAGS)$@ $(BUILDDIR)/opafmd.o $(LDLIBS) + + $(BUILDDIR)/opaxmlextract: $(PROJ_BIN_DIR)/opaxmlextract + cp $(PROJ_BIN_DIR)/opaxmlextract $(BUILDDIR) +diff --git a/Esm/ib/src/linux/startup/fm_config/Makefile b/Esm/ib/src/linux/startup/fm_config/Makefile +index c4108fa..cd3f301 100644 +--- a/Esm/ib/src/linux/startup/fm_config/Makefile ++++ b/Esm/ib/src/linux/startup/fm_config/Makefile +@@ -150,10 +150,10 @@ include $(TL_DIR)/Makerules/Maketargets.build + include $(TL_DIR)/Makerules/Maketargets.install + + $(BUILDDIR)/config_check: $(BUILDDIR)/config_check.o +- $(VS)$(CC) $(LDFLAGS)$@ $(BUILDDIR)/config_check.o $(LDLIBS) ++ $(VS)$(CC) -pie $(LDFLAGS)$@ $(BUILDDIR)/config_check.o $(LDLIBS) + + $(BUILDDIR)/config_convert: $(BUILDDIR)/config_convert.o +- $(VS)$(CC) $(LDFLAGS)$@ $(BUILDDIR)/config_convert.o $(LDLIBS) ++ $(VS)$(CC) -pie $(LDFLAGS)$@ $(BUILDDIR)/config_convert.o $(LDLIBS) + + # install for stage phase + #include $(TL_DIR)/Makerules/Maketargets.stage +diff --git a/Makerules/Maketargets.build b/Makerules/Maketargets.build +index ebf9fdf..9cd7844 100755 +--- a/Makerules/Maketargets.build ++++ b/Makerules/Maketargets.build +@@ -127,7 +127,7 @@ else # BUILD_TARGET_OS is not VXWORKS + $(CMD_TARGETS_EXE) : $(CT_OBJECTS) $(RSCOBJECTS) $(DEPLIBS_TARGETS) + @echo Linking executable... + @mkdir -p $(dir $@) +- $(VS)$(CC) $(LDFLAGS)$@ $(CT_OBJECTS) $(LDLIBS) ++ $(VS)$(CC) -pie $(LDFLAGS)$@ $(CT_OBJECTS) $(LDLIBS) + endif # BUILD_TARGET_OS is VXWORKS + endif # CMD_TARGETS_EXE non-null + diff --git a/SPECS/opa-fm.spec b/SPECS/opa-fm.spec new file mode 100644 index 0000000..534927d --- /dev/null +++ b/SPECS/opa-fm.spec @@ -0,0 +1,99 @@ +Name: opa-fm +Epoch: 1 +Version: 10.11.0.2 +Release: 1%{?dist} +Summary: Intel Omni-Path Fabric Management Software + +License: GPLv2 or BSD +Url: https://github.com/cornelisnetworks/opa-fm +# tarball created by: +# git clone https://github.com/cornelisnetworks/opa-fm +# cd opa-fm +# git archive --format=tar --prefix=opa-fm-%{version}/ \ +# 5d1f7ee32920b1b429e2f7699762514af47d9717 | xz > opa-fm-%{version}.tar.xz +Source0: %{name}-%{version}.tar.xz + +# bz1262327 needs Patch0002 +Patch0002: 0001-Fix-well-known-tempfile-issue-in-script.patch +Patch0003: opafm-link-all-executables-with-pie.patch +Patch0004: add-fPIC-flag.patch + +BuildRequires: openssl-devel, expat-devel +BuildRequires: libibverbs-devel >= 1.2.0 +BuildRequires: libibumad-devel +BuildRequires: zlib-devel +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: systemd-rpm-macros +Requires: libhfi1 +ExclusiveArch: x86_64 + +%description +opa-fm contains Intel Omni-Path fabric management applications. This +includes: the Subnet Manager, Baseboard Manager, Performance Manager, +Fabric Executive, and some fabric management tools. + +%prep +%setup -q +%patch0002 -p1 +%patch0003 -p1 +%patch0004 -p1 + +# Make it possible to override hardcoded compiler flags +sed -i -r -e 's/(release_C(C)?OPT_Flags\s*)=/\1?=/' Makerules/Target.LINUX.GNU.* +sed -r -e 's/(^COPT\s*=\s*)/#\1/' -i Esm/ib/src/linux/opafmvf/Makefile + +%build +export CFLAGS='%{optflags} -std=gnu11' +export CXXFLAGS='%{optflags} -std=gnu11' +export release_COPT_Flags='%{optflags} -std=gnu11' +export release_CCOPT_Flags='%{optflags} -std=gnu11' +cd Esm +OPA_FEATURE_SET=opa10 ./fmbuild $BUILD_ARGS + +%install +BUILDDIR=%{_builddir} DESTDIR=%{buildroot} LIBDIR=%{_libdir} RPM_INS=n ./Esm/fm_install.sh +chmod 644 %{buildroot}/%{_unitdir}/opafm.service +mkdir -p %{buildroot}/%{_localstatedir}/usr/lib/opa-fm/ +chmod a-x %{buildroot}/%{_prefix}/share/opa-fm/opafm_src.xml + +%post +%systemd_post opafm.service + +%preun +%systemd_preun opafm.service + +%postun +%systemd_postun_with_restart opafm.service + +%files +%doc Esm/README +%{_unitdir}/opafm.service +%config(noreplace) %{_sysconfdir}/opa-fm/opafm.xml +%config(noreplace) %{_sysconfdir}/opa-fm/opafm_pp.xml +%{_sysconfdir}/opa-fm +%{_prefix}/lib/opa-fm/bin/* +%{_prefix}/lib/opa-fm/runtime/* +%{_prefix}/share/opa-fm/* +%{_sbindir}/opafmcmd +%{_sbindir}/opafmcmdall +%{_sbindir}/opafmconfigpp +%{_sbindir}/opafmvf +%{_mandir}/man8/* + +%changelog +* Tue Oct 19 2021 Honggang Li - 1:10.11.0.2-1 +- Rebase to upstream release 10.11.0.2 +- Resolves: rhbz2013070 + +* Mon Aug 09 2021 Mohan Boddu - 1:10.11.0.1.2-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Wed Jun 16 2021 Mohan Boddu - 1:10.11.0.1.2-2 +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Wed Apr 28 2021 Honggang Li - 10.11.0.1.2-1 +- Rebase to upstream release 10.11.0.1.2 +- Resolves: rhbz1924901