diff --git a/btrfsmaintenance.changes b/btrfsmaintenance.changes index 18ade6b..4e44ee0 100644 --- a/btrfsmaintenance.changes +++ b/btrfsmaintenance.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Dec 22 18:42:10 UTC 2017 - antoine.belvire@opensuse.org + +- Fix systemd timers enabled even if period is set to none: + * Micro change in pull-request-36.patch. +- Clean spec file: + * Removed support for suse_version <= 1210. + * Removed call to btrfsmaintenance-refresh-cron.sh upon deletion + (not needed anymore since we use systemd timers which are + handled by macros). + * Ran spec-cleaner. + ------------------------------------------------------------------- Sun Dec 17 12:18:45 CET 2017 - kukuk@suse.de diff --git a/btrfsmaintenance.spec b/btrfsmaintenance.spec index 651a6fa..82614c6 100644 --- a/btrfsmaintenance.spec +++ b/btrfsmaintenance.spec @@ -20,7 +20,6 @@ %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif - Name: btrfsmaintenance Version: 0.3.1 Release: 0 @@ -31,19 +30,17 @@ Url: https://github.com/kdave/btrfsmaintenance Source0: %{name}-%{version}.tar.bz2 # PATCH-FIX-OPENSUSE btrfsmaintenance-0.3.1-fix-rpm-db-path.patch -- Fix RPM database path for Tumbleweed Patch0: btrfsmaintenance-0.3.1-fix-rpm-db-path.patch +# PATCH-FIX-UPSTREAM pull-request-36.patch -- Add systemd timer Patch1: pull-request-36.patch +# PATCH-FIX-UPSTREAM btrfsmaintenance-switch-to-timer.patch -- Refresh systemd timers, not cron tasks Patch2: btrfsmaintenance-switch-to-timer.patch +BuildRequires: systemd +Requires: btrfsprogs Requires: zypp-plugin-python Requires: libzypp(plugin:commit) -#Recommends: cron Supplements: btrfsprogs -Requires: btrfsprogs -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %{?systemd_requires} -%if 0%{?suse_version} >= 1210 -BuildRequires: systemd -%endif %description Scripts for btrfs maintenance tasks like periodic scrub, balance, trim or defrag @@ -51,20 +48,16 @@ on selected mountpoints or directories. %prep %setup -q -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 %patch0 %endif %patch1 -p1 -%patch2 -p0 +%patch2 %build %install -# fix build error on openSUSE and SLE -mkdir -p %{buildroot}%{_sysconfdir}/cron.daily/ -mkdir -p %{buildroot}%{_sysconfdir}/cron.weekly/ -mkdir -p %{buildroot}%{_sysconfdir}/cron.monthly/ - +# scripts install -m 755 -d %{buildroot}%{_datadir}/%{name} install -m 755 btrfs-defrag.sh %{buildroot}%{_datadir}/%{name} install -m 755 btrfs-balance.sh %{buildroot}%{_datadir}/%{name} @@ -73,7 +66,7 @@ install -m 755 btrfs-trim.sh %{buildroot}%{_datadir}/%{name} install -m 755 btrfsmaintenance-refresh-cron.sh %{buildroot}%{_datadir}/%{name} install -m 644 btrfsmaintenance-functions %{buildroot}%{_datadir}/%{name} -%if 0%{?suse_version} >= 1210 +# systemd services and timers install -m 755 -d %{buildroot}%{_unitdir} install -m 644 -D btrfsmaintenance-refresh.service %{buildroot}%{_unitdir} install -m 644 -D btrfs-balance.service %{buildroot}%{_unitdir} @@ -86,62 +79,40 @@ install -m 644 -D btrfs-scrub.timer %{buildroot}%{_unitdir} install -m 644 -D btrfs-trim.timer %{buildroot}%{_unitdir} install -m 755 -d %{buildroot}%{_sbindir} ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcbtrfsmaintenance-refresh -%else -# just a hack, but sufficient -install -m 755 -d %{buildroot}%{_sysconfdir}/cron.hourly -ln -s %{_datadir}/%{name}/btrfsmaintenance-refresh-cron.sh %{buildroot}%{_sysconfdir}/cron.hourly/ -%endif -install -m 755 -d %{buildroot}/usr/lib/zypp/plugins/commit -install -m 755 -D btrfs-defrag-plugin.py %{buildroot}/usr/lib/zypp/plugins/commit +# zypp plugin +install -m 755 -d %{buildroot}%{_libexecdir}/zypp/plugins/commit +install -m 755 -D btrfs-defrag-plugin.py %{buildroot}%{_libexecdir}/zypp/plugins/commit +# config install -m 755 -d %{buildroot}%{_fillupdir} install -m 644 -D sysconfig.btrfsmaintenance %{buildroot}%{_fillupdir} -%post -%service_add_post btrfsmaintenance-refresh.service btrfs-balance.service btrfs-balance.timer btrfs-defrag.service btrfs-defrag.timer btrfs-scrub.service btrfs-scrub.timer btrfs-trim.service btrfs-trim.timer -%{fillup_only btrfsmaintenance} - -%if 0%{?suse_version} >= 1210 - %pre # if the new service files don't exist, we migrate from # old version with old script, remove cron symlinks [ ! -f %{_unitdir}/btrfs-balance.timer -a -f %{_datadir}/%{name}/btrfsmaintenance-refresh-cron.sh ] && %{_datadir}/%{name}/btrfsmaintenance-refresh-cron.sh uninstall %service_add_pre btrfsmaintenance-refresh.service btrfs-balance.service btrfs-balance.timer btrfs-defrag.service btrfs-defrag.timer btrfs-scrub.service btrfs-scrub.timer btrfs-trim.service btrfs-trim.timer +%post +%service_add_post btrfsmaintenance-refresh.service btrfs-balance.service btrfs-balance.timer btrfs-defrag.service btrfs-defrag.timer btrfs-scrub.service btrfs-scrub.timer btrfs-trim.service btrfs-trim.timer +%{fillup_only btrfsmaintenance} + %preun %service_del_preun btrfsmaintenance-refresh.service btrfs-balance.service btrfs-balance.timer btrfs-defrag.service btrfs-defrag.timer btrfs-scrub.service btrfs-scrub.timer btrfs-trim.service btrfs-trim.timer -if [ $1 -eq 0 ]; then - # Remove cron files in %%preun only if it's a package removal. - # If it's an upgrade, the %%post section of the new package has - # already refreshed the cron links, so we shall not remove them. - %{_datadir}/%{name}/btrfsmaintenance-refresh-cron.sh systemd-timer uninstall -fi %postun %service_del_postun btrfsmaintenance-refresh.service btrfs-balance.service btrfs-balance.timer btrfs-defrag.service btrfs-defrag.timer btrfs-scrub.service btrfs-scrub.timer btrfs-trim.service btrfs-trim.timer -%endif - -%if 0%{?suse_version} < 1210 - -%preun -if [ $1 -eq 0 ]; then - %{_datadir}/%{name}/btrfsmaintenance-refresh-cron.sh uninstall -fi -%endif %files -%defattr(-,root,root) %doc COPYING README.md %{_fillupdir}/sysconfig.btrfsmaintenance %dir %{_datadir}/%{name} %{_datadir}/%{name}/* -%dir /usr/lib/zypp/ -%dir /usr/lib/zypp/plugins -%dir /usr/lib/zypp/plugins/commit -/usr/lib/zypp/plugins/commit/btrfs-defrag-plugin.py -%if 0%{?suse_version} >= 1210 +%dir %{_libexecdir}/zypp/ +%dir %{_libexecdir}/zypp/plugins +%dir %{_libexecdir}/zypp/plugins/commit +%{_libexecdir}/zypp/plugins/commit/btrfs-defrag-plugin.py %{_unitdir}/btrfsmaintenance-refresh.service %{_unitdir}/btrfs-balance.service %{_unitdir}/btrfs-defrag.service @@ -152,8 +123,5 @@ fi %{_unitdir}/btrfs-scrub.timer %{_unitdir}/btrfs-trim.timer %{_sbindir}/rcbtrfsmaintenance-refresh -%else -%{_sysconfdir}/cron.hourly/btrfsmaintenance-refresh-cron.sh -%endif %changelog diff --git a/pull-request-36.patch b/pull-request-36.patch index f3e2575..d8f8d7e 100644 --- a/pull-request-36.patch +++ b/pull-request-36.patch @@ -277,7 +277,7 @@ index da68283..7e92170 100755 case "$PERIOD" in - daily|weekly|monthly) -+ uninstall) ++ uninstall|none) + systemctl stop "$SERVICE".timer &> /dev/null + systemctl disable "$SERVICE".timer &> /dev/null + rm -rf /etc/systemd/system/"$SERVICE".timer.d