Package: plocate
Version: 1.1.1-1
Tags: patch
Hi,
[email protected] (2020-12-05 at 0032.04 +0100):
> The cron script did the wrong thing from 1.1.0:
>
> - It depended on mlocate's database.
> - It would do double-work on top of the systemd timer.
As mlocate is also installed here, it went without issues.
> I'm happy taking a patch to add back a script that fixes both of these
> issues, ie., runs updatedb.plocate instead of plocate-build, and does not run
> if the systemd timer would run instead. Would you like to contribute one?
Changing mlocate script to work with plocate was easy, so it does all
that and more. See attached file.
Cheers,
GSR
#! /bin/bash
set -e
UPDATEDB=/usr/sbin/updatedb.plocate
# skip in favour of systemd timer
if [ -d /run/systemd/system ]; then
exit 0
fi
[ -x $UPDATEDB ] || exit 0
if which on_ac_power >/dev/null 2>&1; then
ON_BATTERY=0
on_ac_power >/dev/null 2>&1 || ON_BATTERY=$?
if [ "$ON_BATTERY" -eq 1 ]; then
exit 0
fi
fi
# See ionice(1)
IONICE=
if [ -x /usr/bin/ionice ] &&
/usr/bin/ionice -c3 true 2>/dev/null; then
IONICE="/usr/bin/ionice -c3"
fi
# See nocache(1)
NOCACHE=
if [ -x /usr/bin/nocache ]; then
NOCACHE="/usr/bin/nocache"
fi
# It can open many files at once, ensure a big limit
ulimit -n 1048576
flock --nonblock /run/plocate.daily.lock $NOCACHE $IONICE nice $UPDATEDB