From f84af8e70c7acb7f9c84cfc7cc305a57bf1f9e46 Mon Sep 17 00:00:00 2001 From: Duncaen Date: Sat, 31 Oct 2020 20:04:53 +0100 Subject: [PATCH] plocate: better integration * add _plocate group * add locate alternative group * simple pupdatedb script that does mupdatedb and plocate-build * ship our own cron job that uses the _plocate group --- srcpkgs/plocate/INSTALL | 7 +++++++ srcpkgs/plocate/files/plocate.cron-daily | 5 +++++ srcpkgs/plocate/files/pupdatedb | 8 ++++++++ srcpkgs/plocate/template | 16 +++++++++++++++- 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/plocate/INSTALL create mode 100644 srcpkgs/plocate/files/plocate.cron-daily create mode 100644 srcpkgs/plocate/files/pupdatedb diff --git a/srcpkgs/plocate/INSTALL b/srcpkgs/plocate/INSTALL new file mode 100644 index 00000000000..f8292fed70f --- /dev/null +++ b/srcpkgs/plocate/INSTALL @@ -0,0 +1,7 @@ +# INSTALL +case "$ACTION" in +post) + chown root:_plocate usr/bin/plocate + chmod 2755 usr/bin/plocate + ;; +esac diff --git a/srcpkgs/plocate/files/plocate.cron-daily b/srcpkgs/plocate/files/plocate.cron-daily new file mode 100644 index 00000000000..099ba5ce69a --- /dev/null +++ b/srcpkgs/plocate/files/plocate.cron-daily @@ -0,0 +1,5 @@ +#!/bin/sh +set -e +plocate-build /var/lib/mlocate/mlocate.db /var/lib/mlocate/plocate.db.new +chgrp _plocate /var/lib/mlocate/plocate.db.new +mv /var/lib/mlocate/plocate.db.new /var/lib/mlocate/plocate.db diff --git a/srcpkgs/plocate/files/pupdatedb b/srcpkgs/plocate/files/pupdatedb new file mode 100644 index 00000000000..08fdbd0748a --- /dev/null +++ b/srcpkgs/plocate/files/pupdatedb @@ -0,0 +1,8 @@ +#!/bin/sh +# pupdatedb [database directory] - update a database for plocate +set -e +dbdir=${1:-${DBDIR:-/var/lib/mlocate}} +mupdatedb -o "${dbdir}/mlocate.db" +plocate-build "${dbdir}/mlocate.db" "${dbdir}/plocate.db.new" +chgrp _plocate "${dbdir}/plocate.db.new" +mv "${dbdir}/plocate.db.new" "${dbdir}/plocate.db" diff --git a/srcpkgs/plocate/template b/srcpkgs/plocate/template index b9a0eb9860d..3ab18688ff5 100644 --- a/srcpkgs/plocate/template +++ b/srcpkgs/plocate/template @@ -1,7 +1,7 @@ # Template file for 'plocate' pkgname=plocate version=1.0.6 -revision=1 +revision=2 build_style=meson hostmakedepends="pkg-config" makedepends="libzstd-devel" @@ -13,7 +13,21 @@ homepage="https://plocate.sesse.net/" distfiles="https://plocate.sesse.net/download/plocate-${version}.tar.gz" checksum=48338c46afca22fd6f57faf69b7816cb70516d9279eb1e5d9895a14c87dbd617 +system_accounts="_plocate" + +alternatives=" + locate:locate:/usr/bin/plocate + locate:locate.1:/usr/share/man/man1/plocate.1 + locate:updatedb:/usr/bin/pupdatedb" + if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then makedepends+=" libatomic-devel" LIBS="-latomic" fi + +post_install() { + # replace daily cronjob with our own version + rm ${DESTDIR}/etc/cron.daily/plocate + vinstall ${FILESDIR}/plocate.cron-daily 744 etc/cron.daily plocate-build + vbin ${FILESDIR}/pupdatedb +}