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 <muel...@kit.edu> - 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 <dave.l...@manchester.ac.uk> - 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
SGE-discuss@liv.ac.uk
https://arc.liv.ac.uk/mailman/listinfo/sge-discuss

Reply via email to