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