Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add sanoid spec file from dev repo, modified to not pull in build dependencies. #16

Merged
merged 5 commits into from
Mar 20, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 141 additions & 0 deletions ucore/sanoid.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
%global version 2.2.0
%global git_tag v%{version}

# Enable with systemctl "enable sanoid.timer"
%global _with_systemd 1

Name: sanoid
Version: %{version}
bsherman marked this conversation as resolved.
Show resolved Hide resolved
Release: 1%{?dist}
BuildArch: noarch
Summary: A policy-driven snapshot management tool for ZFS file systems
Group: Applications/System
License: GPLv3
URL: https://github.com/jimsalterjrs/sanoid
Source0: https://github.com/jimsalterjrs/%{name}/archive/%{git_tag}/%{name}-%{version}.tar.gz

Requires: perl-interpreter, mbuffer, lzop, pv, perl-Config-IniFiles, perl-Capture-Tiny, perl-Sys-Hostname
%if 0%{?_with_systemd}
Requires: systemd >= 212

BuildRequires: systemd
%endif

%description
Sanoid is a policy-driven snapshot management
tool for ZFS file systems. You can use Sanoid
to create, automatically thin, and monitor snapshots
and pool health from a single eminently
human-readable TOML configuration file.

%prep
%setup -q

%build
echo "Nothing to build"

%install
%{__install} -D -m 0644 sanoid.defaults.conf %{buildroot}/etc/sanoid/sanoid.defaults.conf
%{__install} -d %{buildroot}%{_sbindir}
%{__install} -m 0755 sanoid syncoid findoid sleepymutex %{buildroot}%{_sbindir}

%if 0%{?_with_systemd}
%{__install} -d %{buildroot}%{_unitdir}
%endif

%if 0%{?fedora}
%{__install} -D -m 0644 sanoid.conf %{buildroot}%{_docdir}/%{name}/examples/sanoid.conf
%endif
%if 0%{?rhel}
%{__install} -D -m 0644 sanoid.conf %{buildroot}%{_docdir}/%{name}-%{version}/examples/sanoid.conf
%endif

%if 0%{?_with_systemd}
cat > %{buildroot}%{_unitdir}/%{name}.service <<EOF
[Unit]
Description=Snapshot ZFS Pool
Requires=zfs.target
After=zfs.target
bsherman marked this conversation as resolved.
Show resolved Hide resolved

[Service]
Environment=TZ=UTC
Type=oneshot
ExecStart=%{_sbindir}/sanoid --cron
EOF

cat > %{buildroot}%{_unitdir}/%{name}.timer <<EOF
[Unit]
Description=Run Sanoid Every Minute

[Timer]
OnCalendar=*:0/1
bsherman marked this conversation as resolved.
Show resolved Hide resolved
Persistent=true

[Install]
WantedBy=timers.target
EOF

%else
%if 0%{?fedora}
%{__install} -D -m 0644 sanoid.conf %{buildroot}%{_docdir}/%{name}/examples/sanoid.conf
%endif
%if 0%{?rhel}
echo "* * * * * root %{_sbindir}/sanoid --cron" > %{buildroot}%{_docdir}/%{name}-%{version}/examples/sanoid.cron
%endif
%endif

%post
%{?_with_systemd:%{_bindir}/systemctl daemon-reload}

%postun
%{?_with_systemd:%{_bindir}/systemctl daemon-reload}

%files
%doc CHANGELIST VERSION README.md FREEBSD.readme
%license LICENSE
%{_sbindir}/sanoid
%{_sbindir}/syncoid
%{_sbindir}/findoid
%{_sbindir}/sleepymutex
%dir %{_sysconfdir}/%{name}
%config %{_sysconfdir}/%{name}/sanoid.defaults.conf
%if 0%{?fedora}
%{_docdir}/%{name}
%endif
%if 0%{?rhel}
%{_docdir}/%{name}-%{version}
%endif
%if 0%{?_with_systemd}
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}.timer
%endif

%changelog
* Mon Mar 18 2024 John McGee <[email protected]> - 3.0.0
bsherman marked this conversation as resolved.
Show resolved Hide resolved
- Remove perl requirement to remove build tools
- Add perl-interpreter and perl-Sys-Hostname requirements
* Tue Jul 18 2023 Christoph Klaffl <[email protected]> - 2.2.0
- Bump to 2.2.0
* Tue Nov 24 2020 Christoph Klaffl <[email protected]> - 2.1.0
- Bump to 2.1.0
* Wed Oct 02 2019 Christoph Klaffl <[email protected]> - 2.0.3
- Bump to 2.0.3
* Wed Sep 25 2019 Christoph Klaffl <[email protected]> - 2.0.2
- Bump to 2.0.2
* Tue Dec 04 2018 Christoph Klaffl <[email protected]> - 2.0.0
- Bump to 2.0.0
* Sat Apr 28 2018 Dominic Robinson <[email protected]> - 1.4.18-1
- Bump to 1.4.18
* Thu Aug 31 2017 Dominic Robinson <[email protected]> - 1.4.14-2
- Add systemd timers
* Wed Aug 30 2017 Dominic Robinson <[email protected]> - 1.4.14-1
- Version bump
* Wed Jul 12 2017 Thomas M. Lapp <[email protected]> - 1.4.13-1
- Version bump
- Include FREEBSD.readme in docs
* Wed Jul 12 2017 Thomas M. Lapp <[email protected]> - 1.4.9-1
- Version bump
- Clean up variables and macros
- Compatible with both Fedora and Red Hat
* Sat Feb 13 2016 Thomas M. Lapp <[email protected]> - 1.4.4-1
- Initial RPM Package