The SPEC file wouldn't successfully build in my mock environments for
F28 – F30, nor in OpenSUSE 15.0, .1, 42.3
Fixed that.
- remove swing-layout source build (was against all good packaging rules,
anyways)
- Remove db.h dependency on OpenSUSE, instead install libdb-8_4-devel
- deal with OpenSUSE Leap 15.0 hwloc runtime library naming
- remove shadow-utils dependency
---
gridengine.spec | 108 ++++++++++++++++++++----------------------------
1 file changed, 44 insertions(+), 64 deletions(-)
diff --git a/gridengine.spec b/gridengine.spec
index d237e0ee6..08ddd24b8 100644
--- a/gridengine.spec
+++ b/gridengine.spec
@@ -51,13 +51,6 @@
%global _hardened_build 1
-# swing-layout is now in supported Fedora and EPEL6
-%if 0%{?fedora} > 18 || 0%{?el6} || 0%{?suse_version}
-%global have_layout 1
-%else
-%global have_layout 0
-%endif
-
%global __requires_exclude
\(libspool.*\|/usr/bin/\(tclsh\|python\|ruby\|ksh\)\)
%global __provides_exclude_from %{sge_lib}/[^/]+/libspool.*\.so
%{?filter_setup:
@@ -70,9 +63,9 @@ Name: gridengine
Version: 8.1.10
%if 0%{?fedora}
-Epoch: 1
+Epoch: 2
%endif
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Grid Engine - Distributed Resource Manager
Group: Applications/System
@@ -81,7 +74,6 @@ License: (SISSL and BSD and LGPLv3+ and MIT) and GPLv3+ and
GFDL and others
URL: https://arc.liv.ac.uk/trac/SGE
Source:
https://arc.liv.ac.uk/downloads/SGE/releases/%{version}/sge-%{version}.tar.gz
Source1: IzPack-4.1.1-mod.tar.gz
-Source2: swing-layout-1.0.3.tar.gz
Prefix: %{sge_home}
@@ -92,12 +84,14 @@ Prefix: %{sge_home}
%if 0%{?suse_version}
%global sslpkg libopenssl
# Only in Factory as of OS 13.1
-%global hwlocpkg libhwloc
%global xmupkg xorg-x11-libXmu
%global with_munge %nil
+%if 0%{?suse_version} >= 1500
+#OpenSUSE leap's hwloc binary package is called libhwloc5
+Requires: libhwloc5
+%endif
%else
%global sslpkg openssl
-%global hwlocpkg hwloc
%global xmupkg libXmu
%if ! 0%{?fedora} == 28
# Avoid https://github.com/jemalloc/jemalloc/issues/937
@@ -108,16 +102,20 @@ BuildRequires: jemalloc-devel munge-devel
%endif
BuildRequires: /bin/csh, %{sslpkg}-devel, ncurses-devel, pam-devel
-BuildRequires: net-tools, %xmupkg-devel, %hwlocpkg-devel >= 1.1
-# The relevant package might be db4-devel, libdb-devel, or
-# libdb-4_8-devel etc., so simplify by requiring the header. "zypper
-# install /usr/include/db.h" doesn't work on SuSE, so you have to
-# install the packages explicitly.
-BuildRequires: /usr/include/db.h
+BuildRequires: %xmupkg-devel, hwloc-devel >= 1.1
+
+%if 0%{?fedora} || 0%{?epel7} || 0%{?suse_version} >= 1500
+BuildRequires: hostname
+%else
+BuildRequires: net-tools
+%endif
+
%if 0%{?fedora}%{?epel7}
BuildRequires: motif-devel
+BuildRequires: /usr/include/db.h
%else
# el5, el6, openSuSE
+BuildRequires: libdb-4_8-devel
BuildRequires: openmotif-devel
%endif
# The SuSE test probably needs modifying. It didn't work to test the
@@ -131,24 +129,12 @@ BuildRequires: java-devel >= 1.6.0, javacc, ant-junit
%if ! 0%{?fedora} && 0%{?rhel} < 7
BuildRequires: ant-nodeps
%endif
-%if %have_layout
BuildRequires: swing-layout
-%endif
%if %{with hadoop}
BuildRequires: hadoop-0.20 >= 0.20.2+923.197
%endif
%endif
-# hostname was in net-tools, but is in its own package in Fedora 19;
-# requiring /bin/hostname doesn't work generally as it's in /usr/bin in
-# Fedora > 20.
-%if 0%{?fedora} >= 19
-BuildRequires: hostname
-Requires: hostname
-%else
-BuildRequires: /bin/hostname
-Requires: /bin/hostname
-%endif
-Requires: binutils, ncurses, shadow-utils, /bin/awk, which, openssl
+Requires: binutils, ncurses, /bin/awk, which, openssl
%if 0%{?fedora} || 0%{?rhel} > 6
Requires: man-db
%else
@@ -270,19 +256,11 @@ Optional Java-based GUI installer for Grid Engine.
%setup -q -n sge-%{version}
%if %{with java}
tar zfx %SOURCE1
-%if ! %have_layout
-tar zfx %SOURCE2
-%endif
%endif
%build
%if %{with java}
# swing-layout is now in EPEL6 and supported Fedora
-%if ! %have_layout
-cd swing-layout-1.0.3
-ant
-cd ..
-%endif
%endif
cd source
> aimk.private
@@ -294,16 +272,15 @@ hadoop.version=0.20.2-cdh3u3
file.reference.hadoop-0.20.2-core.jar=${hadoop.dir}/hadoop-core.jar
file.reference.hadoop-0.20.2-tools.jar=${hadoop.dir}/hadoop-tools.jar
izpack.home=${sge.srcdir}/../IzPack-4.1.1
-%if ! %have_layout
-libs.swing-layout.classpath=${sge.srcdir}/../swing-layout-1.0.3/dist/swing-layout.jar
-%endif
libs.ant.classpath=%{_javadir}/ant.jar
EOF
-export SGE_INPUT_CFLAGS="$RPM_OPT_FLAGS -Wno-unused-value
-Wno-unused-but-set-variable"
-export SGE_INPUT_LDFLAGS="%{?__global_ldflags} $LDFLAGS"
-%if 0%{?suse_version} >= 1500
-# rpc/types.h must be directly in /usr/include, so the aimk bit fails
+# -O2/-O3 gives warnings about type puns. It's not clear whether
+# they're serious, but -fno-strict-aliasing just in case.
+export SGE_INPUT_CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-value
-Wno-unused-but-set-variable"
+export SGE_INPUT_LDFLAGS="$LDFLAGS"
+%if 0%{?fedora} >= 28
+SGE_INPUT_CFLAGS="$SGE_INPUT_CFLAGS -I/usr/include/tirpc"
SGE_INPUT_LDFLAGS="$LDFLAGS -ltirpc"
%endif
[ -n "$RPM_BUILD_NCPUS" ] && parallel_flags="-parallel $RPM_BUILD_NCPUS"
@@ -336,7 +313,7 @@ mkdir -p $SGE_ROOT
cd source
echo instremote=false >> distinst.private
gearch=`dist/util/arch`
-echo y | scripts/distinst -local -allall ${gearch}
+echo 'y'| scripts/distinst -local -allall ${gearch}
( cd $RPM_BUILD_ROOT/%{sge_home}
rm -rf dtrace catman
%if %{without hadoop}
@@ -368,12 +345,8 @@ the old Sun binaries.
-M -r -c 'Grid Engine admin' %username 2>/dev/null || :
%post
-if [ -f /usr/sbin/mandb -o -f /usr/bin/mandb ]; then
- # Later Fedora
- mandb %{sge_home}/man
-else
- makewhatis -u %{sge_home}/man
-fi
+# Later Fedora || old OpenSUSE (?)
+mandb %{sge_home}/man || makewhatis -u %{sge_home}/man
%files
# Ensure we can make sgeadmin-owned cell directory
@@ -390,13 +363,6 @@ fi
%endif
%exclude %{sge_home}/start_gui_installer
%exclude %{sge_home}/examples/drmaa
-%exclude %{sge_mandir}/man1/qmon.1
-%exclude %{sge_mandir}/man8/sge_qmaster.8
-%exclude %{sge_mandir}/man8/sge_execd.8
-%exclude %{sge_mandir}/man8/sge_*shepherd.8
-%exclude %{sge_mandir}/man8/sge_shadowd.8
-%exclude %{sge_mandir}/man8/pam*8
-%exclude %{sge_mandir}/man3
%exclude %{sge_lib}/*/pam*
%if %{with hadoop}
%exclude %{sge_home}/hadoop
@@ -421,15 +387,23 @@ fi
# Avoid this for safety, assuming no MS Windows hosts
%attr(4755,root,root) %{sge_home}/utilbin/*/sgepasswd
%endif
-%{sge_mandir}/man1/*.1
-%{sge_mandir}/man5/*.5
-%{sge_mandir}/man8/*.8
+%exclude %{sge_mandir}/man3
+%exclude %{sge_mandir}/man1/qmon.1
+%exclude %{sge_mandir}/man8/sge_execd.8
+%exclude %{sge_mandir}/man8/sge_*shepherd.8
+%exclude %{sge_mandir}/man8/pam*8
+%exclude %{sge_mandir}/man8/sge_qmaster.8
+%exclude %{sge_mandir}/man8/sge_shadowd.8
+%{sge_mandir}
+%{sge_mandir}/man1
+%{sge_mandir}/man5
+%{sge_mandir}/man8
%{sge_home}/examples
%files devel
%{sge_include}
%{sge_home}/pvm/src
-%{sge_mandir}/man3/*.3
+%{sge_mandir}/man3
%if %{with java}
%doc %{sge_docdir}/javadocs
%endif
@@ -475,6 +449,12 @@ fi
%changelog
+* Thu May 16 2019 Marcus Müller <[email protected]> - 2:8.1.10-2
+- remove swing-layout source build (was against all good packaging rules,
anyways)
+- Remove db.h dependency on OpenSUSE, instead install libdb-8_4-devel
+- deal with OpenSUSE Leap 15.0 hwloc runtime library naming
+- remove shadow-utils dependency
+
* Sun May 20 2018 Dave Love <[email protected]> - 1:8.1.10-1
- New version with fixes for recent Fedora and SuSE
- Adjust selinux file spec
--
2.17.2
_______________________________________________
SGE-discuss mailing list
[email protected]
https://arc.liv.ac.uk/mailman/listinfo/sge-discuss