- new upstream version 7.2.3
- selected backport of SPEC file cleanup from 7.4.0 - store binaries in /usr/lib[64]/grass74/
This commit is contained in:
parent
dab29bd4bb
commit
5f02b2aa69
1 changed files with 86 additions and 70 deletions
156
grass.spec
156
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} <<EOF
|
||||
# %name version is
|
||||
%%%{name}_version %{version}
|
||||
EOF
|
||||
|
||||
|
|
@ -264,53 +280,53 @@ fi
|
|||
%postun libs -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%doc dist.*/docs/html/
|
||||
%exclude %{_libdir}/%{name}%{shortver}/driver/db/*
|
||||
%exclude %{_libdir}/%{name}%{shortver}/lib
|
||||
%exclude %{_libdir}/%{name}%{shortver}/include
|
||||
%exclude %{_libdir}/%{name}%{shortver}/gui
|
||||
%{_libdir}/%{name}%{shortver}
|
||||
%{_bindir}/*
|
||||
%{_datadir}/appdata/*
|
||||
%{_datadir}/metainfo/*
|
||||
%{_datadir}/applications/*
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
%{_libdir}/%{name}%{shortver}/
|
||||
%{_datadir}/metainfo/
|
||||
%{_mandir}/man1/*
|
||||
%{_docdir}/%{name}%{shortver}
|
||||
|
||||
%files libs
|
||||
%license AUTHORS COPYING GPL.TXT CHANGES
|
||||
#%{_libdir}/*.%{version}.so
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/*.a
|
||||
%dir %{_libdir}/%{name}%{shortver}
|
||||
%{_libdir}/%{name}%{shortver}/lib/*.%{version}.so
|
||||
%{_libdir}/%{name}%{shortver}/lib/*.a
|
||||
%dir %{_libdir}/%{name}%{shortver}/driver
|
||||
%dir %{_libdir}/%{name}%{shortver}/driver/db
|
||||
%{_libdir}/%{name}%{shortver}/driver/db/*
|
||||
|
||||
%files gui
|
||||
%{_libdir}/%{name}%{shortver}/gui
|
||||
|
||||
%files devel
|
||||
%doc TODO doc/* SUBMITTING
|
||||
%{macrosdir}/macros.%{name}
|
||||
%exclude %{_libdir}/*.a
|
||||
%{_libdir}/pkgconfig/*
|
||||
%{_libdir}/*[!%{version}].so
|
||||
%{_includedir}/%{name}/
|
||||
%dir %{_libdir}/%{name}%{shortver}/lib
|
||||
%{_libdir}/%{name}%{shortver}/lib/*[!%{version}].so
|
||||
%{_libdir}/%{name}%{shortver}/include
|
||||
|
||||
%changelog
|
||||
* Mon Feb 26 2018 Markus Neteler <neteler@mundialis.de> - 7.2.2-2
|
||||
- Fix RPC header leftovers
|
||||
* Thu Mar 22 2018 Markus Neteler <neteler@mundialis.de> - 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 <neteler@mundialis.de> - 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 <neteler@mundialis.de> - 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 <releng@fedoraproject.org> - 7.2.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Jan 31 2018 Volker Froehlich <volker27@gmx.at> - 7.2.1-5
|
||||
- Rebuild for boost
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 7.2.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 7.2.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
* Mon Jan 15 2018 Markus Metz <metz@mundialis.de> - 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 <klember@redhat.com> - 7.2.1-2
|
||||
- Rebuilt for Boost 1.64
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue