commit:     0af088b41c694fbfd94e1db51a9df836eda0f7fd
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 12 16:06:19 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Apr 12 16:17:13 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0af088b4

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 <floppym <AT> gentoo.org>

 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(+)

diff --git a/sys-apps/mlocate/files/updatedb.service 
b/sys-apps/mlocate/files/updatedb.service
new file mode 100644
index 00000000000..b1eef0b3c4f
--- /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 00000000000..9418d244cd7
--- /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 00000000000..cc1d33e6583
--- /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
+}

Reply via email to