7d864b7
Summary: A client for signing certificates with an ACME server
7d864b7
Name: dehydrated
82d3905
Version: 0.7.0
e796d05
Release: 3%{?dist}
7d864b7
License: MIT
82d3905
URL: https://github.com/dehydrated-io/dehydrated
82d3905
Source0: https://github.com/dehydrated-io/dehydrated/releases/download/v%{version}/dehydrated-%{version}.tar.gz
74e377b
Source1: dehydrated.tmpfiles
82d3905
Source2: dehydrated.timer
82d3905
Source3: dehydrated.service
82d3905
Source4: 50-dehydrated.preset
82d3905
Source5: dehydrated-cron
82d3905
82d3905
Patch0: dehydrated-autowash.patch
82d3905
Patch1: dehydrated-improve-trap-handling.patch
82d3905
Patch2: dehydrated-hook.sh-defaults.patch
82d3905
82d3905
BuildArch: noarch
82d3905
BuildRequires: systemd
82d3905
%{?systemd_requires}
82d3905
Requires: coreutils
7d864b7
Requires: curl
82d3905
Requires: grep
82d3905
Requires: mailx
82d3905
Requires: openssl
08b5083
Requires: sed
7d864b7
7d864b7
%description
08b5083
This is a client for signing certificates with an ACME-server (currently
08b5083
only provided by Let's Encrypt) implemented as a relatively simple bash-
08b5083
script. Dehydrated supports both ACME v1 and the new ACME v2 including
08b5083
support for wildcard certificates!
7d864b7
7d864b7
Current features:
82d3905
- Signing of a list of domains (including wildcard domains!)
82d3905
- Signing of a custom CSR (either standalone or completely automated using
82d3905
  hooks!)
82d3905
- Renewal if a certificate is about to expire or defined set of domains changed
82d3905
- Certificate revocation
7d864b7
7d864b7
%prep
7d864b7
%setup -q
82d3905
%patch0 -p1 -b .autowash
82d3905
%patch1 -p1 -b .improve-trap-handling
82d3905
%patch2 -p1
7d864b7
7d864b7
%build
7d864b7
: nothing to do
7d864b7
7d864b7
%install
82d3905
mkdir -p %{buildroot}%{_libexecdir}
82d3905
mkdir -p %{buildroot}%{_rundir}/dehydrated
7d864b7
mkdir -p %{buildroot}%{_sysconfdir}/dehydrated/accounts
7d864b7
mkdir -p %{buildroot}%{_sysconfdir}/dehydrated/archive
7d864b7
mkdir -p %{buildroot}%{_sysconfdir}/dehydrated/certs
7d864b7
mkdir -p %{buildroot}%{_sysconfdir}/dehydrated/conf.d
82d3905
mkdir -p %{buildroot}%{_sysconfdir}/dehydrated/hook.d
08b5083
install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/dehydrated.conf
82d3905
install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/dehydrated.timer
82d3905
install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/dehydrated.service
82d3905
install -D -p -m 0644 %{SOURCE4} %{buildroot}%{_presetdir}/50-dehydrated.preset
82d3905
install -D -p -m 0755 %{SOURCE5} %{buildroot}%{_libexecdir}/dehydrated-cron
7d864b7
sed \
7d864b7
    -e 's|^#LOCKFILE="\${BASEDIR}/lock"|LOCKFILE="%{_rundir}/dehydrated/lock"|' \
7d864b7
    -e 's|^#CONFIG_D=|CONFIG_D="\${BASEDIR}/conf.d"|' \
7d864b7
    -e 's|^#HOOK=|HOOK="\${BASEDIR}/hook.sh"|' \
7d864b7
    -e 's|^#PRIVATE_KEY_RENEW="yes"|PRIVATE_KEY_RENEW="no"|' \
82d3905
    -e 's|^#AUTO_CLEANUP="no"|AUTO_CLEANUP="yes"|' \
82d3905
    -e 's|^#KEY_ALGO=secp384r1|KEY_ALGO=rsa|' \
7d864b7
    docs/examples/config >%{buildroot}%{_sysconfdir}/dehydrated/config
82d3905
touch --reference=docs/examples/config \
82d3905
    %{buildroot}%{_sysconfdir}/dehydrated/config
82d3905
sed -i.orig -e 's|^\#!/usr/bin/env bash|#!/bin/bash|' \
82d3905
    docs/examples/hook.sh
82d3905
touch --reference=docs/examples/hook.sh.orig \
82d3905
    docs/examples/hook.sh && rm docs/examples/hook.sh.orig
82d3905
install -p docs/examples/hook.sh %{buildroot}%{_sysconfdir}/dehydrated/hook.sh
82d3905
sed -i.orig -e 's|^\#!/usr/bin/env bash|#!/bin/bash|' \
82d3905
    dehydrated
82d3905
touch --reference=dehydrated.orig dehydrated && \
82d3905
    rm dehydrated.orig
82d3905
08b5083
install -D -p -m 0755 dehydrated %{buildroot}%{_bindir}/dehydrated
82d3905
install -D -p -m 0644 docs/man/dehydrated.1 \
82d3905
    %{buildroot}%{_mandir}/man1/dehydrated.1
08b5083
rm -rf docs/man/
82d3905
# remove execute bits from documentation
82d3905
chmod a-x docs/examples/hook.sh
7d864b7
7d864b7
%post
82d3905
%systemd_post dehydrated.timer dehydrated.service
82d3905
if [ $1 -eq 1 ]; then
82d3905
    systemctl start dehydrated.timer >/dev/null 2>&1 || :
7d864b7
fi
7d864b7
umask=$(umask)
7d864b7
umask 027
82d3905
if [ -z "$(ls -1 %{_sysconfdir}/dehydrated/conf.d/*.sh 2>/dev/null)" ]; then
7d864b7
    touch %{_sysconfdir}/dehydrated/conf.d/local.sh
7d864b7
fi
7d864b7
if [ ! -e %{_sysconfdir}/dehydrated/domains.txt ]; then
7d864b7
    touch %{_sysconfdir}/dehydrated/domains.txt
7d864b7
fi
7d864b7
umask ${umask} || :
7d864b7
82d3905
%preun
82d3905
%systemd_preun dehydrated.timer dehydrated.service
82d3905
82d3905
%postun
82d3905
%systemd_postun_with_restart dehydrated.timer
82d3905
%systemd_postun dehydrated.service
82d3905
b8dbaaf
%triggerun -- dehydrated <= 0.7.0-2
82d3905
systemctl preset dehydrated.timer dehydrated.service >/dev/null 2>&1 || :
82d3905
systemctl start dehydrated.timer >/dev/null 2>&1 || :
82d3905
7d864b7
%files
82d3905
%doc README.md CHANGELOG docs/*
7d864b7
%license LICENSE
82d3905
%{_presetdir}/50-dehydrated.preset
82d3905
%{_unitdir}/dehydrated.service
82d3905
%{_unitdir}/dehydrated.timer
82d3905
%{_tmpfilesdir}/dehydrated.conf
82d3905
%{_libexecdir}/dehydrated-cron
7d864b7
%attr(0750,root,root) %dir %{_sysconfdir}/dehydrated
7d864b7
%attr(0640,root,root) %config(noreplace) %{_sysconfdir}/dehydrated/config
7d864b7
%attr(0750,root,root) %config(noreplace) %{_sysconfdir}/dehydrated/hook.sh
7d864b7
%attr(0750,root,root) %dir %{_sysconfdir}/dehydrated/accounts
7d864b7
%attr(0750,root,root) %dir %{_sysconfdir}/dehydrated/archive
7d864b7
%attr(0750,root,root) %dir %{_sysconfdir}/dehydrated/certs
7d864b7
%attr(0750,root,root) %dir %{_sysconfdir}/dehydrated/conf.d
7d864b7
%attr(0640,root,root) %ghost %{_sysconfdir}/dehydrated/conf.d/local.sh
7d864b7
%attr(0640,root,root) %ghost %{_sysconfdir}/dehydrated/domains.txt
82d3905
%attr(0750,root,root) %dir %{_sysconfdir}/dehydrated/hook.d
7d864b7
%attr(0750,root,root) %dir %{_rundir}/dehydrated
7d864b7
%{_bindir}/dehydrated
08b5083
%{_mandir}/man1/dehydrated.1*
7d864b7
7d864b7
%changelog
e796d05
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-3
e796d05
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
e796d05
b8dbaaf
* Tue Jun 01 2021 Paul Wouters <paul.wouters@aiven.io> - 0.7.0-2
b8dbaaf
- Update trigger to proper version
b8dbaaf
82d3905
* Tue Jun 01 2021 Paul Wouters <paul.wouters@aiven.io> - 0.7.0-1
82d3905
- Resolved: rhbz#1872621 [RFE] Ship systemd units for auto-renewal
82d3905
- Resolved: rhbz#1906674 dehydrated-0.7.0 is available
82d3905
7dcf7d9
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.5-5
7dcf7d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
7dcf7d9
7b3265b
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.5-4
7b3265b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
7b3265b
d3c46d2
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.5-3
d3c46d2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
d3c46d2
cc9ee97
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.5-2
cc9ee97
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
cc9ee97
281c77b
* Wed Jun 26 2019 Paul Wouters <pwouters@redhat.com> - 0.6.5-1
281c77b
- Resolves: rhbz#1723766 Updated to 0.6.5
281c77b
281c77b
* Tue Jun 25 2019 Robert Scheck <robert@fedoraproject.org> - 0.6.4-1
281c77b
- Upgrade to 0.6.4 (#1723766)
281c77b
- Update source link
281c77b
09b5cd8
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-3
09b5cd8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
09b5cd8
c61bc9c
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-2
c61bc9c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
c61bc9c
74e377b
* Sun Apr 29 2018 Robert Scheck <robert@fedoraproject.org> - 0.6.2-1
74e377b
- Resolves: rhbz#1572609 Updated to 0.6.2
74e377b
08b5083
* Sat Mar 31 2018 Robert Scheck <robert@fedoraproject.org> - 0.6.1-1
08b5083
- Resolves: rhbz#1554153 Updated to 0.6.1 with ACME v2 support
08b5083
73e4c35
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
73e4c35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
73e4c35
5ca976c
* Sun Jan 14 2018 Paul Wouters <pwouters@redhat.com> - 0.5.0-1
5ca976c
- Resolves: rhbz#1534189 dehydrated-0.5.0 is available
5ca976c
1602b08
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-6
1602b08
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
1602b08
7d864b7
* Mon Mar 20 2017 Paul Wouters <pwouters@redhat.com> - 0.4.0-5
7d864b7
- Include license with proper macros
7d864b7
7d864b7
* Mon Mar 20 2017 Paul Wouters <pwouters@redhat.com> - 0.4.0-4
7d864b7
- Set PRIVATE_KEY_RENEW=no so pubkeys are re-used, allowing TLSA DNS records
7d864b7
7d864b7
* Sat Mar 18 2017 Tuomo Soini <tis@foobar.fi> - 0.4.0-3
7d864b7
- Fix file mode of crontab entry
7d864b7
7d864b7
* Sat Mar 18 2017 Kim B. Heino <b@bbbs.net> - 0.4.0-2
7d864b7
- Add archive directory, cleanup
7d864b7
7d864b7
* Sat Mar 18 2017 Tuomo Soini <tis@foobar.fi> - 0.4.0-1
7d864b7
- Initial build