commit 52dad62ebf526fb1d3e4b1c4df22483a05683073 Author: CentOS Sources Date: Tue Jan 21 18:16:01 2020 -0500 import opa-fm-10.10.0.0.444-2.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fd106fc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/opa-fm-10.10.0.0.444.tar.xz diff --git a/.opa-fm.metadata b/.opa-fm.metadata new file mode 100644 index 0000000..3f5adf2 --- /dev/null +++ b/.opa-fm.metadata @@ -0,0 +1 @@ +292f6a3b2e639aa40c7191b92e19346938926d41 SOURCES/opa-fm-10.10.0.0.444.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..e6e6398 --- /dev/null +++ b/SPECS/opa-fm.spec @@ -0,0 +1,173 @@ +Name: opa-fm +Epoch: 1 +Version: 10.10.0.0.444 +Release: 2%{?dist} +Summary: Intel Omni-Path Fabric Management Software + +Group: System Environment/Daemons +License: GPLv2 or BSD +Url: https://github.com/intel/opa-fm +# tarball created by: +# git clone https://github.com/intel/opa-fm.git +# cd opa-fm +# git archive --format=tar --prefix=opa-fm-%{version}/ \ +# 939def4d214d4e0f4860990758be7058afe0f9bf | 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++ +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +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= ./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 Dec 03 2019 Honggang Li - 10.10.0.0.444-2 +- Override hard-coded CFLAGS for opafmvf +- Resolves bz1778557 + +* Thu Oct 31 2019 Honggang Li - 10.10.0.0.444-1 +- Rebase to upstream release 10.10.0.0.444 +- Resolves:bz1719674 + +* Tue Jun 11 2019 Honggang Li - 10.9.2.2.1-1 +- Rebase to upstream release 10.9.2.2.1 +- Resolves: bz1660617 + +* Wed Sep 26 2018 Honggang Li - 10.7.0.0.145-2 +- Link all executables with '-pie' +- Resovles: bz1624155 + +* Wed Jun 13 2018 Honggang Li - 10.7.0.0.145-1 +- Rebase to latest upstream release +- Resolves: bz1581530 + +* Tue Dec 12 2017 Honggang Li - 10.5.1.0.1-2 +- Don't include obsolete header bits/sigset.h +- Resolves: bz1523732 + +* Thu Oct 19 2017 Honggang Li - 10.5.1.0.1-1 +- Rebase to upstream release 10.5.1.0.1 +- Resolves: bz1452787, bz1500903 + +* Fri Mar 17 2017 Honggang Li - 10.3.1.0-8 +- Rebase to upstream branch v10_3_1 as required. +- Clean up change log. +- Apply Epoch tag. +- Resolves: bz1257452, bz1382792 + +* Sun Jul 10 2016 Honggang Li - 10.1.0.0-145 +- Rebase to latest upstream release. +- Related: bz1273151 + +* Tue Jun 21 2016 Honggang Li - 10.0.1.0-4 +- Create private state dir. +- Resolves: bz1348477 + +* Thu Jun 2 2016 Honggang Li - 10.0.1.0-3 +- Requires libhfi1. +- Remove executable permission bit of opafm.service. +- Resolves: bz1341971 + +* Thu May 26 2016 Honggang Li - 10.0.1.0-2 +- Rebase to upstream release 10.0.1.0. +- Related: bz1273151 + +* Mon Sep 28 2015 Honggang Li - 10.0.0.0-444 +- Update the N-V-R +- Related: bz1262327 + +* Mon Sep 28 2015 Honggang Li - 10.0.0.0-443 +- Apply one missed patch to fix various /tmp races +- Revert the script for building (S)RPMs +- Resolves: bz1262327 + +* Thu Sep 24 2015 Honggang Li - 10.0.0.0-442 +- Fix typo in changelog +- Related: bz1262327 + +* Wed Sep 23 2015 Honggang Li - 10.0.0.0-441 +- Fix various /tmp races +- Resolves: bz1262327 + +* Wed Aug 26 2015 Michal Schmidt - 10.0.0.0-440 +- Respect optflags. +- Avoid overflowing prog path due to /opt -> /usr/lib substitution. +- Resolves: bz1257087 +- Resolves: bz1257093 + +* Mon Aug 24 2015 Michal Schmidt - 10.0.0.0-439 +- Update to new upstream snapshot with unbundled expat. +- Related: bz1173302 + +* Tue Aug 18 2015 Michal Schmidt - 10.0.0.0-438 +- Initial packaging for RHEL, based on upstream spec file. +- Cleaned up spec. +- Moved /opt/opafm -> /usr/lib/opa-fm. +- Fix scriptlets. + +* Thu Oct 09 2014 Kaike Wan - 10.0.0.0-177 +- Initial version