Blame rpm2docserv.spec

fa36ff
#
fa36ff
# spec file for package rpm2docserv
fa36ff
#
ea2896
# Copyright (c) 2024 SUSE LLC
fa36ff
#
fa36ff
# All modifications and additions to the file contributed by third parties
fa36ff
# remain the property of their copyright owners, unless otherwise agreed
fa36ff
# upon. The license for this file, and modifications and additions to the
fa36ff
# file, is the same license as for the pristine package itself (unless the
fa36ff
# license for the pristine package is not an Open Source License, in which
fa36ff
# case the license is the MIT License). An "Open Source License" is a
fa36ff
# license that conforms to the Open Source Definition (Version 1.9)
fa36ff
# published by the Open Source Initiative.
fa36ff
fa36ff
# Please submit bugfixes or comments via https://bugs.opensuse.org/
fa36ff
#
fa36ff
fa36ff
be0774
%if ! %{defined _distconfdir}
be0774
%define _distconfdir %{_sysconfdir}
be0774
%endif
be0774
fa36ff
Name:           rpm2docserv
ea2896
Version:        20240320.aa59b30
fa36ff
Release:        0
fa36ff
Summary:        Make manpages from RPMs accessible in a web browser
fa36ff
License:        Apache-2.0
fa36ff
URL:            https://github.com/thkukuk/rpm2docserv
e2b9c2
Source:         rpm2docserv-%{version}.tar.gz
e2b9c2
Source1:        vendor.tar.gz
fa36ff
BuildRequires:  sysuser-shadow
fa36ff
BuildRequires:  sysuser-tools
ea2896
BuildRequires:  golang(API) >= 1.21
be0774
Requires:       /usr/bin/mandoc
0c28c6
Requires:       cpio
fa36ff
# To re-create:
be0774
# git clone https://github.com/thkukuk/rpm2docserv
fa36ff
# cd rpm2docserv; make vendor; cd ..
fa36ff
# osc service
fa36ff
fa36ff
%description
fa36ff
rpm2docserv extracts manual pages from RPM packages and makes them accessible in a web browser.
fa36ff
fa36ff
%package -n docserv-auxserver
fa36ff
Summary:        Docserv auxiliary service endpoints
fa36ff
%{sysusers_requires}
fa36ff
fa36ff
%description -n docserv-auxserver
fa36ff
docserv-auxserver has a very efficient, small map to redirect to the correct manual page for rpm2docserv created html repositories.
fa36ff
fa36ff
%package -n docserv-minisrv
fa36ff
Summary:        Simple docserv webserver
fa36ff
%{sysusers_requires}
fa36ff
fa36ff
%description -n docserv-minisrv
fa36ff
Simple docserv webserver with integrated auxserver for development and test purposes. Not for production.
fa36ff
7815f4
%package -n docserv-sitemap
7815f4
Summary:        Generate sitemap xml files for rpm2docserv
7815f4
7815f4
%description -n docserv-sitemap
7815f4
This tool generates sitemap xml files from a rpm2docserv generated docserv directory for search engines.
7815f4
fa36ff
%package -n docserv-config-nginx
fa36ff
Summary:        Configuration files for nginx to serve docserv directory
fa36ff
BuildArch:      noarch
fa36ff
fa36ff
%description -n docserv-config-nginx
fa36ff
This package contains example configuration files for nginx to act as web server for docserv manpages.
fa36ff
fa36ff
%package -n docserv-config-apache2
fa36ff
Summary:        Configuration files for Apache 2.4 to serve docserv directory
fa36ff
BuildArch:      noarch
fa36ff
fa36ff
%description -n docserv-config-apache2
fa36ff
This package contains example configuration files for Apache 2.4 to act as web server for docserv manpages.
fa36ff
fa36ff
%prep
e2b9c2
%setup -q -a1
fa36ff
fa36ff
%build
fa36ff
%make_build build VERSION=%{version} USE_VENDOR="-mod vendor"
fa36ff
fa36ff
%sysusers_generate_pre systemd/system-user-docserv-aux.conf docserv-aux system-user-docserv-aux.conf
fa36ff
%sysusers_generate_pre systemd/system-user-docserv-srv.conf docserv-srv system-user-docserv-srv.conf
fa36ff
fa36ff
%install
fa36ff
mkdir -p %{buildroot}%{_bindir}
fa36ff
install -m 755 bin/rpm2docserv %{buildroot}%{_bindir}/
fa36ff
mkdir -p %{buildroot}%{_sbindir}
fa36ff
install -m 755 bin/docserv-auxserver %{buildroot}%{_sbindir}/
fa36ff
install -m 755 bin/docserv-minisrv %{buildroot}%{_sbindir}/
fa36ff
install -m 755 bin/docserv-idx2rwmap %{buildroot}%{_bindir}/
7815f4
install -m 755 bin/docserv-sitemap %{buildroot}%{_bindir}/
67560d
mkdir -p %{buildroot}%{_datadir}/%{name}
67560d
cp -r assets %{buildroot}%{_datadir}/%{name}
fa36ff
fa36ff
install -D -m 0644 systemd/docserv-auxserver.service %{buildroot}%{_unitdir}/docserv-auxserver.service
fa36ff
install -D -m 0644 systemd/docserv-auxserver.default %{buildroot}%{_distconfdir}/default/docserv-auxserver
fa36ff
install -D -m 0644 systemd/docserv-minisrv.service %{buildroot}%{_unitdir}/docserv-minisrv.service
fa36ff
install -D -m 0644 systemd/docserv-minisrv.default %{buildroot}%{_distconfdir}/default/docserv-minisrv
fa36ff
mkdir -p %{buildroot}%{_sysusersdir}/
fa36ff
install -m 644 systemd/system-user-*.conf %{buildroot}%{_sysusersdir}/
fa36ff
fa36ff
# nginx container
fa36ff
mkdir -p %{buildroot}%{_datadir}/docserv/nginx
fa36ff
install -m 755 nginx/*.sh %{buildroot}%{_datadir}/docserv/nginx/
fa36ff
install -m 644 nginx/*.conf %{buildroot}%{_datadir}/docserv/nginx/
fa36ff
fa36ff
# apache configuration
fa36ff
mkdir -p %{buildroot}%{_datadir}/docserv/apache2
fa36ff
install -m 644 apache2/* %{buildroot}%{_datadir}/docserv/apache2/
fa36ff
fa36ff
%pre -n docserv-auxserver -f docserv-aux.pre
fa36ff
%service_add_pre docserv-auxserver.service
fa36ff
fa36ff
%post -n docserv-auxserver
fa36ff
%service_add_post docserv-auxserver.service
fa36ff
fa36ff
%preun -n docserv-auxserver
fa36ff
%service_del_preun docserv-auxserver.service
fa36ff
fa36ff
%postun -n docserv-auxserver
fa36ff
%service_del_postun docserv-auxserver.service
fa36ff
fa36ff
%pre -n docserv-minisrv -f docserv-srv.pre
fa36ff
%service_add_pre docserv-minisrv.service
fa36ff
fa36ff
%post -n docserv-minisrv
fa36ff
%service_add_post docserv-minisrv.service
fa36ff
fa36ff
%preun -n docserv-minisrv
fa36ff
%service_del_preun docserv-minisrv.service
fa36ff
fa36ff
%postun -n docserv-minisrv
fa36ff
%service_del_postun docserv-minisrv.service
fa36ff
fa36ff
%files
fa36ff
%license LICENSE
fa36ff
%{_bindir}/rpm2docserv
fa36ff
%{_bindir}/docserv-idx2rwmap
67560d
%{_datadir}/%{name}
fa36ff
fa36ff
%files -n docserv-auxserver
fa36ff
%license LICENSE
fa36ff
%{_sbindir}/docserv-auxserver
fa36ff
%{_unitdir}/docserv-auxserver.service
fa36ff
%{_sysusersdir}/system-user-docserv-aux.conf
be0774
%if 0%{?suse_version} >= 1599
fa36ff
%{_distconfdir}/default/docserv-auxserver
be0774
%else
be0774
%config %{_distconfdir}/default/docserv-auxserver
be0774
%endif
fa36ff
fa36ff
%files -n docserv-minisrv
fa36ff
%license LICENSE
fa36ff
%{_sbindir}/docserv-minisrv
fa36ff
%{_unitdir}/docserv-minisrv.service
fa36ff
%{_sysusersdir}/system-user-docserv-srv.conf
be0774
%if 0%{?suse_version} >= 1599
fa36ff
%{_distconfdir}/default/docserv-minisrv
be0774
%else
be0774
%config %{_distconfdir}/default/docserv-minisrv
be0774
%endif
fa36ff
7815f4
%files -n docserv-sitemap
7815f4
%license LICENSE
7815f4
%{_bindir}/docserv-sitemap
7815f4
fa36ff
%files -n docserv-config-nginx
fa36ff
%dir %{_datadir}/docserv
fa36ff
%{_datadir}/docserv/nginx
fa36ff
fa36ff
%files -n docserv-config-apache2
fa36ff
%dir %{_datadir}/docserv
fa36ff
%{_datadir}/docserv/apache2
fa36ff
fa36ff
%changelog