From 5f02b2aa69da7840ddb2cc9fed90aae7a5396736 Mon Sep 17 00:00:00 2001 From: Markus Neteler Date: Thu, 22 Mar 2018 15:33:28 +0100 Subject: [PATCH] - new upstream version 7.2.3 - selected backport of SPEC file cleanup from 7.4.0 - store binaries in /usr/lib[64]/grass74/ --- grass.spec | 156 +++++++++++++++++++++++++++++------------------------ 1 file changed, 86 insertions(+), 70 deletions(-) diff --git a/grass.spec b/grass.spec index 5553eed..a8f8147 100644 --- a/grass.spec +++ b/grass.spec @@ -2,16 +2,17 @@ %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) Name: grass -Version: 7.2.2 -Release: 2%{?dist} +Version: 7.2.3 +Release: 1%{?dist} Summary: GRASS GIS - Geographic Resources Analysis Support System +%if 0%{?rhel} Group: Applications/Engineering +%endif License: GPLv2+ URL: https://grass.osgeo.org Source0: https://grass.osgeo.org/%{name}%{shortver}/source/%{name}-%{version}.tar.gz Source2: %{name}-config.h -Patch0: grass72_rpc_removal.diff BuildRequires: bison BuildRequires: blas-devel @@ -104,6 +105,14 @@ Group: Applications/Engineering %description libs GRASS GIS runtime libraries +%package gui +Summary: GRASS GIS GUI +Group: Applications/Engineering +Requires: %{name}%{?isa} = %{version}-%{release} + +%description gui +GRASS GIS GUI + %package devel Summary: GRASS GIS development headers Group: Applications/Engineering @@ -114,7 +123,6 @@ GRASS GIS development headers %prep %setup -q -%patch0 -p1 # Correct mysql_config query sed -i -e 's/--libmysqld-libs/--libs/g' configure @@ -151,6 +159,9 @@ CXXFLAGS="-std=c++98 ${CFLAGS}" --with-geos=%{_bindir}/geos-config \ %if (0%{?rhel} > 6 || 0%{?fedora}) --with-netcdf=%{_bindir}/nc-config \ +%endif +%if 0%{?fedora} + --with-liblas=%{_bindir}/liblas-config \ %endif --with-mysql-includes=%{_includedir}/mysql \ %if (0%{?fedora} >= 27) @@ -166,10 +177,7 @@ CXXFLAGS="-std=c++98 ${CFLAGS}" %endif --with-cairo-ldflags=-lfontconfig \ --with-freetype-includes=%{_includedir}/freetype2 \ - --with-proj-share=%{_datadir}/proj \ -%if 0%{?fedora} - --with-liblas=%{_bindir}/liblas-config \ -%endif + --with-proj-share=%{_datadir}/proj %if (0%{?rhel} > 6 || 0%{?fedora}) make %{?_smp_mflags} @@ -178,66 +186,74 @@ make %{?_smp_mflags} make %{?_smp_mflags} || echo "EPEL6: ignoring failed manual pages" %endif +# by default, grass will be installed to /usr/grass-%%{version} +# this is not FHS compliant: hide grass-%%{version} in %%{libdir} %install %make_install \ - prefix=%{buildroot}%{_prefix} \ + prefix=%{buildroot}%{_libdir} \ UNIX_BIN=%{buildroot}%{_bindir} -# Change GISBASE in startup script -sed -i -e 's|%{buildroot}%{_prefix}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|g' \ - %{buildroot}%{_bindir}/%{name}%{shortver} +# libraries and headers are in GISBASE = %%{_libdir}/%%{name} +# keep them in GISBASE -# Make libraries and headers available on the system -mv %{buildroot}%{_prefix}/%{name}-%{version}/lib %{buildroot}%{_libdir} -mv %{buildroot}%{_prefix}/%{name}-%{version}/include %{buildroot}%{_prefix} -# TODO: keep for g.extension support, #1409006 -#sed -i -e 's|%{buildroot}%{_prefix}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|g' \ -# %{buildroot}%{_includedir}/Make/Platform.make -rm -rf %{buildroot}%{_includedir}/Make/ +# fix paths: + +# Change GISBASE in startup script +sed -i -e 's|%{buildroot}%{_libdir}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|g' \ + %{buildroot}%{_bindir}/%{name}%{shortver} +# fix GRASS_HOME and RUN_GISBASE in Platform.make +sed -i -e 's|%{buildroot}%{_libdir}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|g' \ + %{buildroot}%{_libdir}/%{name}-%{version}/include/Make/Platform.make +# fix ARCH_DISTDIR in Grass.make +sed -i -e 's|%{buildroot}%{_libdir}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|g' \ + %{buildroot}%{_libdir}/%{name}-%{version}/include/Make/Grass.make +# fix ARCH_BINDIR in Grass.make +sed -i -e 's|%{buildroot}%{_bindir}|%{_bindir}|g' \ + %{buildroot}%{_libdir}/%{name}-%{version}/include/Make/Grass.make +# fix GISDBASE in demolocation +sed -i -e 's|%{buildroot}%{_libdir}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|g' \ + %{buildroot}%{_libdir}/%{name}-%{version}/demolocation/.grassrc%{shortver} +# Correct font path +sed -i -e 's|%{buildroot}%{_libdir}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|' \ + %{buildroot}%{_libdir}/%{name}-%{version}/etc/fontcap +# fix paths in grass.pc +sed -i -e 's|%{_prefix}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|g' \ + %{name}.pc mkdir -p %{buildroot}%{_libdir}/pkgconfig install -p -m 644 %{name}.pc %{buildroot}%{_libdir}/pkgconfig # Create multilib header -install -p -m 644 %{buildroot}%{_includedir}/%{name}/config.h \ - %{buildroot}%{_includedir}/%{name}/config-%{cpuarch}.h -install -p -m 644 %{SOURCE2} %{buildroot}%{_includedir}/%{name}/config.h +mv %{buildroot}%{_libdir}/%{name}-%{version}/include/%{name}/config.h \ + %{buildroot}%{_libdir}/%{name}-%{version}/include/%{name}/config-%{cpuarch}.h +install -p -m 644 %{SOURCE2} %{buildroot}%{_libdir}/%{name}-%{version}/include/%{name}/config.h # Make man pages available on the system, convert to utf8 and avoid name conflict mkdir -p %{buildroot}%{_mandir}/man1 -for man in $(ls %{buildroot}%{_prefix}/%{name}-%{version}/docs/man/man1/*.1) +for man in $(ls %{buildroot}%{_libdir}/%{name}-%{version}/docs/man/man1/*.1) do iconv -f iso8859-1 -t utf8 $man > %{buildroot}%{_mandir}/man1/$(basename $man)"%{name}" done -for file in infrastructure.txt ; do - iconv -f ISO-8859-1 -t UTF-8 $file > ${file}.tmp && mv -f ${file}.tmp $file -done +# symlink docs from GISBASE to standard system location +mkdir -p %{buildroot}%{_docdir} +# append shortver to destination ? man pages are unversioned +ln -s %{_libdir}/%{name}%{shortver}/docs %{buildroot}%{_docdir}/%{name}%{shortver} # Make desktop, appdata and icon files available on the system -mv %{buildroot}%{_prefix}/%{name}-%{version}/share/* %{buildroot}%{_datadir} +mv %{buildroot}%{_libdir}/%{name}-%{version}/share/* %{buildroot}%{_datadir} desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop -# EPEL7 fails on url tag, so we ignore failure: -appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml || echo "Ignoring appstream-util failure" -# Correct font path -sed -i -e 's|%{buildroot}%{_prefix}/%{name}-%{version}|%{_libdir}/%{name}%{shortver}|' \ - %{buildroot}%{_prefix}/%{name}-%{version}/etc/fontcap +appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/org.osgeo.%{name}.appdata.xml -# Hide GISBASE into system's %%{_libdir} to be FHS compliant -mkdir -p %{buildroot}%{_libdir}/%{name}%{shortver} -mv %{buildroot}%{_prefix}/%{name}-%{version}/{bin,driver,etc,fonts,gui,locale,scripts} \ - %{buildroot}%{_libdir}/%{name}%{shortver} +# Cleanup: nothing to do +#rm -rf %%{buildroot}%%{_prefix}/%%{name}-%%{version} -# GRASS scripts expect docs in GISBASE -ln -s %{_docdir}/%{name} %{buildroot}%{_libdir}/%{name}%{shortver}/docs +# Finally move entire tree to shortver subdir +mv %{buildroot}%{_libdir}/%{name}-%{version} %{buildroot}%{_libdir}/%{name}%{shortver} -# Cleanup -rm -rf %{buildroot}%{_prefix}/%{name}-%{version} - -# rpm macro for version checking +# rpm macro for version checking (not from buildroot!) mkdir -p ${RPM_BUILD_ROOT}%{macrosdir} cat > ${RPM_BUILD_ROOT}%{macrosdir}/macros.%{name} < - 7.2.2-2 -- Fix RPC header leftovers +* Thu Mar 22 2018 Markus Neteler - 7.2.3-1 +- new upstream version 7.2.3 +- selected backport of SPEC file cleanup from 7.4.0 +- store binaries in /usr/lib[64]/grass74/ -* Sun Feb 25 2018 Markus Neteler - 7.2.2-1 -- New upstream version 7.2.2 -- fixes for EPEL support -- fix for mariadb/mysql support +* Sun Jan 28 2018 Markus Neteler - 7.2.2-2 +- fix for EPEL in r.random.surface to avoid variable collision with GDAL +- SPEC cleanup with fix of dependencies between packages (review #1539116) +- appdata.xml file also go into '/usr/share/metainfo' +- use icon cache scriplets only on EPEL -* Wed Feb 07 2018 Fedora Release Engineering - 7.2.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Jan 31 2018 Volker Froehlich - 7.2.1-5 -- Rebuild for boost - -* Wed Aug 02 2017 Fedora Release Engineering - 7.2.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 7.2.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild +* Mon Jan 15 2018 Markus Metz - 7.2.2-1 +- Major cleanup of SPEC file +- Fix grass-devel which needs include/grass and include/Make dirs * Fri Jul 21 2017 Kalev Lember - 7.2.1-2 - Rebuilt for Boost 1.64