Package: plocate
Version: 1.1.1-1
Tags: patch

Hi,
se...@debian.org (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

Reply via email to