diff options
-rw-r--r-- | sys-apps/plocate/Manifest | 1 | ||||
-rw-r--r-- | sys-apps/plocate/plocate-1.1.20.ebuild | 86 |
2 files changed, 87 insertions, 0 deletions
diff --git a/sys-apps/plocate/Manifest b/sys-apps/plocate/Manifest index 86ed6f23accf..dc8d59ee29c3 100644 --- a/sys-apps/plocate/Manifest +++ b/sys-apps/plocate/Manifest @@ -1 +1,2 @@ DIST plocate-1.1.19.tar.gz 73964 BLAKE2B bf488c124b219822c0b426f57f3389f2611395abb7ddd22c72c51086480af1811ab2ed5f2a96cb6ad7d769be7dd60c3482de46841f2d5be85abdc1a1ce586ee8 SHA512 7bbbe914dbab75adb7f38302b7a06cfbb7c18b0e580892dced89d72dc0076e98a75482833b76200bb68b99a0a6093639967b962d0b69be526360995f7d833fcd +DIST plocate-1.1.20.tar.gz 74409 BLAKE2B 4ac6edb5b347c03adb23bb1dc7549647829d5620d17994ee1cf66a46b78b20dca546c726e8161b339b65b97cf2983564723ad218f25f4ef57e58fd0cbe9db76a SHA512 511a25f7e1dba3e9ea836dc3b462cf3b1aa3c111819531fad73857bc0fd22fcbc387715a8981ef58be31103b6ac802468eb18b32826dc220a6781ebf83b1c153 diff --git a/sys-apps/plocate/plocate-1.1.20.ebuild b/sys-apps/plocate/plocate-1.1.20.ebuild new file mode 100644 index 000000000000..cfb1c096e464 --- /dev/null +++ b/sys-apps/plocate/plocate-1.1.20.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info meson systemd + +DESCRIPTION="Posting locate is a much faster locate" +HOMEPAGE="https://plocate.sesse.net/" +SRC_URI="https://plocate.sesse.net/download/${P}.tar.gz" + +# GPL-2 for updatedb +# GPL-2+ for plocate itself +LICENSE="GPL-2 GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="+io-uring" + +RDEPEND=" + acct-group/locate + app-arch/zstd:= + io-uring? ( sys-libs/liburing:= ) + !sys-apps/mlocate +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.15-meson-use-feature-option-for-libiouring.patch +) + +pkg_setup() { + if use io-uring && linux_config_exists; then + if ! linux_chkconfig_present IO_URING; then + ewarn "CONFIG_IO_URING must be enabled for USE=io-uring" + fi + fi +} + +src_prepare() { + # We'll install the manpage ourself to locate.1 + sed -i "/install_man('plocate.1')/d" meson.build || die + + default +} + +src_configure() { + local emesonargs=( + -Dlocategroup=locate + -Dinstall_systemd=true + -Dinstall_cron=false + -Dsystemunitdir="$(systemd_get_systemunitdir)" + "$(meson_feature io-uring use_libiouring)" + ) + meson_src_configure +} + +src_install() { + meson_src_install + dodoc README NEWS + newman "${S}"/${PN}.1 locate.1 + dosym plocate /usr/bin/locate + + insinto /etc + doins "${FILESDIR}"/updatedb.conf + doins "${FILESDIR}"/plocate-cron.conf + fperms 0644 /etc/{updatedb,plocate-cron}.conf + + insinto /etc/cron.daily + # Ensure that the cron file has the same name as the + # systemd-timer, to avoid plocate being run twice daily on systems + # with a systemd compatiblity layer. See also bug #780351. + newins "${FILESDIR}"/plocate.cron plocate-updatedb + fperms 0755 /etc/cron.daily/plocate-updatedb + + systemd_dounit "${BUILD_DIR}"/${PN}-updatedb.service "${S}"/${PN}-updatedb.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 ${EROOT}/etc/updatedb.conf file is generic," + elog "please customize it to your system requirements." + fi +} |