From 0af088b41c694fbfd94e1db51a9df836eda0f7fd Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Sun, 12 Apr 2020 12:06:19 -0400 Subject: [PATCH] sys-apps/mlocate: modernize ebuild - EAPI=7 - Depend on acct-group/locate - Install systemd service/timer - Remove unneeded fperms/chown - Display postinst message on initial install only Closes: https://bugs.gentoo.org/622236 Closes: https://bugs.gentoo.org/509994 Package-Manager: Portage-2.3.96_p4, Repoman-2.3.22_p1 Signed-off-by: Mike Gilbert --- sys-apps/mlocate/files/updatedb.service | 7 +++ sys-apps/mlocate/files/updatedb.timer | 10 ++++ sys-apps/mlocate/mlocate-0.26-r3.ebuild | 63 +++++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 sys-apps/mlocate/files/updatedb.service create mode 100644 sys-apps/mlocate/files/updatedb.timer create mode 100644 sys-apps/mlocate/mlocate-0.26-r3.ebuild diff --git a/sys-apps/mlocate/files/updatedb.service b/sys-apps/mlocate/files/updatedb.service new file mode 100644 index 000000000000..b1eef0b3c4f3 --- /dev/null +++ b/sys-apps/mlocate/files/updatedb.service @@ -0,0 +1,7 @@ +[Unit] +Description=Update locate database + +[Service] +Type=oneshot +ExecStart=/usr/bin/updatedb +IOSchedulingClass=idle diff --git a/sys-apps/mlocate/files/updatedb.timer b/sys-apps/mlocate/files/updatedb.timer new file mode 100644 index 000000000000..9418d244cd71 --- /dev/null +++ b/sys-apps/mlocate/files/updatedb.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Daily locate database update + +[Timer] +OnCalendar=daily +AccuracySec=12h +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/sys-apps/mlocate/mlocate-0.26-r3.ebuild b/sys-apps/mlocate/mlocate-0.26-r3.ebuild new file mode 100644 index 000000000000..cc1d33e65831 --- /dev/null +++ b/sys-apps/mlocate/mlocate-0.26-r3.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit eutils systemd toolchain-funcs + +DESCRIPTION="Merging locate is an utility to index and quickly search for files" +HOMEPAGE="https://pagure.io/mlocate" +SRC_URI="http://releases.pagure.org/mlocate/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="nls selinux" + +BDEPEND=" + acct-group/locate + nls? ( sys-devel/gettext ) +" +RDEPEND=" + acct-group/locate + !sys-apps/slocate + !sys-apps/rlocate + selinux? ( sec-policy/selinux-slocate ) +" + +src_configure() { + econf $(use_enable nls) +} + +src_compile() { + emake groupname=locate AR="$(tc-getAR)" +} + +src_install() { + emake groupname=locate DESTDIR="${D}" install + dodoc AUTHORS ChangeLog README NEWS + + insinto /etc + doins "${FILESDIR}"/updatedb.conf + doins "${FILESDIR}"/mlocate-cron.conf + fperms 0644 /etc/{updatedb,mlocate-cron}.conf + + insinto /etc/cron.daily + newins "${FILESDIR}"/mlocate.cron-r3 mlocate + fperms 0755 /etc/cron.daily/mlocate + + keepdir /var/lib/mlocate + fowners 0:locate /var/lib/mlocate + fperms 0750 /var/lib/mlocate + + systemd_dounit "${FILESDIR}"/updatedb.{service,timer} +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "The database for the locate command is generated daily by a cron job," + elog "if you install for the first time you can run the updatedb command manually now." + elog + elog "Note that the /etc/updatedb.conf file is generic," + elog "please customize it to your system requirements." + fi +} -- 2.26.2