Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
dehydrated
dehydrated.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dehydrated.spec of Package dehydrated
# # spec file for package dehydrated # # 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/ # %bcond_without instantiated_service %define base_services dehydrated.timer dehydrated.service dehydrated-postrun-hooks.service %if %{with instantiated_service} %define services dehydrated.target %{base_services} dehydrated@.timer dehydrated@.service dehydrated-postrun-hooks@.service %else %define services %{base_services} %endif %define _challengedir %{_localstatedir}/lib/acme-challenge %define _user dehydrated %define _home %{_sysconfdir}/dehydrated %define _postrunhooks %{_home}/postrun-hooks.d %if 0%{?sle_version} >= 120100 || 0%{?suse_version} >= 1210 || 0%{?rhel_version} >= 700 || 0%{?centos_version} >= 700 %define _lock_dir /run/dehydrated %bcond_without systemd %else %define _lock_dir %{_localstatedir}/run/dehydrated %bcond_with systemd %endif %if 0%{?sle_version} >= 150000 || 0%{?suse_version} >= 1500 || %{defined fedora} %bcond_without nginx %else %bcond_with nginx %endif %{!?_tmpfilesdir: %global _tmpfilesdir %{_prefix}/lib/tmpfiles.d } # See also http://en.opensuse.org/openSUSE:Specfile_guidelines %if 0%{?suse_version} %define _apache apache2 %else %define _apache httpd %endif Name: dehydrated Version: 0.7.1 Release: 0 Summary: A client for signing certificates with an ACME server License: MIT URL: https://github.com/lukas2511/dehydrated Source0: %{name}-%{version}.tar.gz Source1: acme-challenge.conf.apache.in Source2: acme-challenge.conf.nginx.in Source4: dehydrated.cron.in Source5: dehydrated.tmpfiles.d Source6: dehydrated.service Source7: dehydrated.timer Source9: README.maintainer Source10: README.Fedora Source11: README.hooks Source12: %{name}-%{version}.tar.gz.asc Source13: %{name}.keyring Source14: %{name}-rpmlintrc Source15: dehydrated@.service Source16: dehydrated@.timer Source17: dehydrated.target Source18: dehydrated-postrun-hooks.service Source19: dehydrated-postrun-hooks@.service Source20: README.postrun-hooks Source21: dehydrated.sysusers BuildRequires: %{_apache} Requires: coreutils Requires: curl Requires: openssl Requires: sudo Requires(pre): %{_bindir}/getent Requires(pre): %{_sbindir}/groupadd Requires(pre): %{_sbindir}/useradd Obsoletes: dehydrated-lighttpd < %{version}-%{release} Obsoletes: letsencrypt.sh < %{version} Provides: letsencrypt.sh = %{version} %if %{with nginx} BuildRequires: nginx %endif %if %{defined fedora} BuildRequires: generic-logos BuildRequires: generic-logos-httpd %endif # openSUSE >= 12.3 has shadow, pwdutils is provided but obsoleted. %if 0%{?suse_version} >= 1230 BuildRequires: shadow %endif %if %{with systemd} BuildRequires: pkgconfig(systemd) BuildRequires: sysuser-shadow BuildRequires: sysuser-tools %{?systemd_ordering} %sysusers_requires %else #with_systemd %if 0%{?suse_version} Requires: cron %endif %endif #with_systemd %if 0%{?suse_version} Recommends: dehydrated-acmeresponder %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %description This is a client for signing certificates with an ACME server (currently only provided by letsencrypt) implemented as a relatively simple bash-script. It uses the openssl utility for everything related to actually handling keys and certificates, so you need to have that installed. Other dependencies are: curl, sed, grep, mktemp (all found on almost any system, curl being the only exception). %package %{_apache} Summary: Apache Integration for dehydrated Requires: %{_apache} Requires: %{name} Obsoletes: letsencrypt.sh-%{_apache} < %{version} Provides: letsencrypt.sh-%{_apache} = %{version} %if ! 0%{?suse_version} Requires: mod_ssl %endif %description %{_apache} This adds a configuration file for dehydrated's acme-challenge to Apache. %if %{with nginx} %package nginx Summary: Nginx Integration for dehydrated Requires: %{name} Requires: nginx Obsoletes: letsencrypt.sh-nginx < %{version} Provides: letsencrypt.sh-nginx = %{version} %description nginx This adds a configuration file for dehydrated's acme-challenge to nginx. %endif #with nginx %pre -f %{name}.pre if [ -e %{_sysconfdir}/dehydrated/config.sh ]; then mv %{_sysconfdir}/dehydrated/config.sh %{_sysconfdir}/dehydrated/config; fi %if %{with systemd} %service_add_pre %{services} %post %tmpfiles_create %{_tmpfilesdir}/%{name}.conf ||: %service_add_post %{services} %preun %service_del_preun %{services} %postun %service_del_postun %{services} %endif %prep %setup -q cp %{SOURCE9} . cp %{SOURCE10} . cp %{SOURCE20} . %build %sysusers_generate_pre %{SOURCE21} %{name} %{name}.conf %install # sensitive keys mkdir -p %{buildroot}%{_home}/{accounts,archive,certs,chains} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_mandir}/man1 mkdir -p %{buildroot}%{_home}/config.d mkdir -p %{buildroot}%{_postrunhooks} cat docs/man/dehydrated.1 | gzip > %{buildroot}%{_mandir}/man1/dehydrated.1.gz # Silence E: env-script-interpreter find \( -name \*.sh -o -name dehydrated \) -exec sed -i "s,#!/usr/bin/env bash,#!$(command -v bash),g" {} \; sed -i "s,#WELLKNOWN=.*,WELLKNOWN=%{_challengedir},g" docs/examples/config install -m 0644 docs/examples/* %{buildroot}%{_home} install -m 0644 %{SOURCE11} %{buildroot}%{_postrunhooks} install -m 0755 -d %{buildroot}%{_bindir} install -m 0755 dehydrated %{buildroot}%{_bindir} install -m 0755 -d %{buildroot}%{_challengedir} install -m 0755 -d %{buildroot}%{_sysconfdir}/%{_apache}/conf.d sed "s,@CHALLENGEDIR@,%{_challengedir},g" %{SOURCE1} > acme-challenge.conf install -m 0644 acme-challenge.conf %{buildroot}%{_sysconfdir}/%{_apache}/conf.d cat > %{buildroot}%{_sysconfdir}/dehydrated/postrun-hooks.d/reload-apache2.sh << EOF #!/bin/sh systemctl reload apache2.service EOF %if %{with nginx} cat > %{buildroot}%{_sysconfdir}/dehydrated/postrun-hooks.d/reload-nginx.sh << EOF #!/bin/sh systemctl reload nginx.service EOF %endif %if %{with nginx} install -m 0755 -d %{buildroot}%{_sysconfdir}/nginx sed "s,@CHALLENGEDIR@,%{_challengedir},g" %{SOURCE2} > acme-challenge install -m 0644 acme-challenge %{buildroot}%{_sysconfdir}/nginx %endif #with nginx %if %{with systemd} install -D -m 0644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/%{name}.conf # Use timer install -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/dehydrated.service install -D -m 644 %{SOURCE7} %{buildroot}%{_unitdir}/dehydrated.timer install -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/dehydrated-postrun-hooks.service %if %{with instantiated_service} install -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/dehydrated@.service install -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/dehydrated@.timer install -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/dehydrated-postrun-hooks@.service install -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/dehydrated.target %else perl -p -i -e 's|PartOf=dehydrated.target\n||g' %{buildroot}%{_unitdir}/* %endif if [ $(rpm -q --queryformat='%{VERSION}' systemd) -lt 229 ]; then # No support for this attribute in systemd < v229 sed -i 's/^RandomizedDelaySec/#&/' %{buildroot}%{_unitdir}/dehydrated.timer fi %if 0%{?suse_version} ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcdehydrated %endif %else #with systemd install -D -d -m 0750 %{buildroot}%{_lock_dir} # Use cron install -m 0755 -d %{buildroot}%{_sysconfdir}/cron.d sed "s,@POSTRUNHOOKS_DIR@,%{_postrunhooks},g" %{SOURCE4} > dehydrated.cron install -m 0644 dehydrated.cron %{buildroot}%{_sysconfdir}/cron.d/dehydrated %endif #with systemd # Adjust config file perl -p -i -e 's|#LOCKFILE="\$\{BASEDIR\}/lock"|LOCKFILE="%{_lock_dir}/lock"|' %{buildroot}%{_home}/config perl -p -i -e 's|#CONFIG_D=|CONFIG_D="\${BASEDIR}/config.d"|' %{buildroot}%{_home}/config perl -p -i -e 's|#DEHYDRATED_USER=|DEHYDRATED_USER="%{_user}"|' %{buildroot}%{_home}/config perl -p -i -e 's|#DEHYDRATED_GROUP=|DEHYDRATED_GROUP="%{_user}"|' %{buildroot}%{_home}/config diff -urN docs/examples/config %{buildroot}%{_home}/config ||: install -Dpm0644 %{SOURCE21} %{buildroot}%{_sysusersdir}/%{name}.conf # Rename existing config file config files fror nginx %if %{with nginx} %pre nginx [ -f %{_sysconfdir}/nginx/conf.d/acme-challenge ] && \ mv %{_sysconfdir}/nginx/conf.d/acme-challenge %{_sysconfdir}/nginx/conf.d/acme-challenge.conf || : %endif %files %defattr(-,root,root) %attr(750,root,%{_user}) %dir %{_sysconfdir}/dehydrated %attr(700,%{_user},%{_user}) %dir %{_sysconfdir}/dehydrated/accounts %attr(700,%{_user},%{_user}) %dir %{_sysconfdir}/dehydrated/archive %attr(700,%{_user},%{_user}) %dir %{_sysconfdir}/dehydrated/certs %attr(700,%{_user},%{_user}) %dir %{_sysconfdir}/dehydrated/chains %config(noreplace) %attr(640,root,%{_user}) %{_sysconfdir}/dehydrated/config %config(noreplace) %attr(750,root,%{_user}) %{_sysconfdir}/dehydrated/config.d %config(noreplace) %attr(640,root,%{_user}) %{_sysconfdir}/dehydrated/domains.txt %config(noreplace) %attr(750,root,%{_user}) %{_sysconfdir}/dehydrated/hook.sh %dir %attr(750,root,%{_user}) %{_postrunhooks} %config(noreplace) %attr(640,root,%{_user}) %{_postrunhooks}/README.hooks %{_bindir}/dehydrated %attr(-,%{_user},root) %dir %{_localstatedir}/lib/acme-challenge %{_mandir}/man1/* %doc LICENSE README.md docs/*.md %doc README.maintainer %if %{defined redhat} %doc README.Fedora %endif %doc README.postrun-hooks %if %{with systemd} %{_tmpfilesdir}/%{name}.conf %{_unitdir}/dehydrated*.service %{_unitdir}/dehydrated*.timer %if %{with instantiated_service} %{_unitdir}/dehydrated.target %{_sysusersdir}/%{name}.conf %endif %if 0%{?suse_version} %{_sbindir}/rcdehydrated %endif %ghost %attr(700,%{_user},%{_user}) %dir %{_lock_dir} %else #with systemd %config %{_sysconfdir}/cron.d/dehydrated %attr(700,%{_user},%{_user}) %dir %{_lock_dir} %endif %files %{_apache} %defattr(-,root,root) %config %{_sysconfdir}/%{_apache}/conf.d/acme-challenge.conf %attr(755,root,root) %{_sysconfdir}/dehydrated/postrun-hooks.d/reload-apache2.sh %if %{with nginx} %files nginx %defattr(-,root,root) %config %attr(640,root,nginx) %{_sysconfdir}/nginx/acme-challenge %attr(755,root,root) %{_sysconfdir}/dehydrated/postrun-hooks.d/reload-nginx.sh %endif #with nginx %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor