File geoserver.spec of Package geoserver
%define geoserver_home /usr/share/geoserver
%define geoserver_data_dir /usr/share/geoserver/data_dir
%define geoserver_user_group geoserver
Summary: GeoServer is an open source server for sharing geospatial data
Name: geoserver
Version: 2.26.1
Release: 1%{?dist}
License: GPL-2.0-or-later
Group: Productivity/Scientific/Other
URL: https://geoserver.org
Source0: %{name}-%{version}-bin.zip
Source1: geoserver.service
Source2: gwc-gs.xml
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildArch: noarch
AutoReqProv: no
Requires: java-17-openjdk-headless
%{?systemd_requires}
BuildRequires: fdupes
BuildRequires: unzip
%if 0%{?suse_version} >= 1530
BuildRequires: systemd-rpm-macros
%endif
%description
GeoServer is a Java-based server built on GeoTools, an open source Java GIS toolkit, that allows users to view and edit geospatial data. Using open standards set forth by the Open Geospatial Consortium (OGC - https://www.opengeospatial.org/), it allows for great flexibility in map creation and data sharing and display your spatial information to the world. It can create maps in a variety of output formats with the implementation of Web Map Service (WMS) standard and integrated OpenLayers, a free mapping library, making map generation quick and easy
%prep
%setup -q -c
%build
%install
%__install -D -m 644 %{S:1} %{buildroot}%{_unitdir}/geoserver.service
%__mkdir_p %{buildroot}%{geoserver_home}
%__cp -r * %{buildroot}%{geoserver_home}
%__install -m 644 %{S:2} %{buildroot}%{geoserver_data_dir}
%fdupes %{buildroot}
%pre
%service_add_pre geoserver.service
%post
%service_add_post geoserver.service
%preun
%service_del_preun geoserver.service
%postun
%service_del_postun geoserver.service
%clean
rm -rf %{buildroot}
%changelog
%files
%defattr(-,root, root)
%{_unitdir}/geoserver.service
%{geoserver_home}
%config(noreplace) %{geoserver_home}/etc