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