summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2023-06-12 18:17:55 +0200
committerUlrich Müller <ulm@gentoo.org>2023-06-12 18:24:40 +0200
commitbfceb288cb51af113eddd0fb3cf22ee00e0ff663 (patch)
treef94db6ebdc5ae2701365785088aa7cfbd96907ad /app-admin/eselect
parentapp-admin/eselect: add 1.4.25 (diff)
downloadgentoo-bfceb288cb51af113eddd0fb3cf22ee00e0ff663.tar.gz
gentoo-bfceb288cb51af113eddd0fb3cf22ee00e0ff663.tar.bz2
gentoo-bfceb288cb51af113eddd0fb3cf22ee00e0ff663.zip
app-admin/eselect: More robust file type detection in env module
Bug: https://bugs.gentoo.org/908401 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'app-admin/eselect')
-rw-r--r--app-admin/eselect/eselect-1.4.22-r1.ebuild60
-rw-r--r--app-admin/eselect/files/eselect-1.4.22-env-module.patch19
2 files changed, 79 insertions, 0 deletions
diff --git a/app-admin/eselect/eselect-1.4.22-r1.ebuild b/app-admin/eselect/eselect-1.4.22-r1.ebuild
new file mode 100644
index 000000000000..d3dee853583b
--- /dev/null
+++ b/app-admin/eselect/eselect-1.4.22-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1
+
+DESCRIPTION="Gentoo's multi-purpose configuration and management tool"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Eselect"
+SRC_URI="https://dev.gentoo.org/~ulm/eselect/${P}.tar.xz"
+
+LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-4.0 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc emacs vim-syntax"
+
+DEPEND="sys-apps/sed
+ || (
+ sys-apps/coreutils
+ app-misc/realpath
+ )"
+RDEPEND="${DEPEND}
+ sys-apps/file
+ sys-libs/ncurses:0"
+BDEPEND="doc? ( dev-python/docutils )"
+PDEPEND="emacs? ( app-emacs/eselect-mode )
+ vim-syntax? ( app-vim/eselect-syntax )"
+
+PATCHES=( "${FILESDIR}/${P}-env-module.patch" )
+
+src_compile() {
+ emake
+ use doc && emake html
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ newbashcomp misc/${PN}.bashcomp ${PN}
+ dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt
+ if use doc; then
+ docinto html
+ dodoc *.html doc/*.html doc/*.css
+ fi
+
+ # needed by news module
+ keepdir /var/lib/gentoo/news
+ if ! use prefix; then
+ fowners root:portage /var/lib/gentoo/news
+ fperms g+w /var/lib/gentoo/news
+ fi
+}
+
+pkg_postinst() {
+ # fowners in src_install doesn't work for the portage group:
+ # merging changes the group back to root
+ if ! use prefix; then
+ chgrp portage "${EROOT}/var/lib/gentoo/news" \
+ && chmod g+w "${EROOT}/var/lib/gentoo/news"
+ fi
+}
diff --git a/app-admin/eselect/files/eselect-1.4.22-env-module.patch b/app-admin/eselect/files/eselect-1.4.22-env-module.patch
new file mode 100644
index 000000000000..54eb20692d14
--- /dev/null
+++ b/app-admin/eselect/files/eselect-1.4.22-env-module.patch
@@ -0,0 +1,19 @@
+env.eselect: More robust file type detection
+https://bugs.gentoo.org/908401
+
+--- a/modules/env.eselect
++++ b/modules/env.eselect
+@@ -46,9 +46,10 @@ is_envfile() {
+ [[ -n ${envfile##*~} ]] || return 1
+ [[ ${envfile##*.} != bak ]] || return 1
+
+- mime=$(POSIXLY_CORRECT=1 file -i "${envfile}" \
+- | cut -d ' ' -f 2 | sed -e 's/;$//')
+- if ! has ${mime} ${MIME_WHITELIST}; then
++ mime=$(POSIXLY_CORRECT=1 file -bi -e soft "${envfile}") \
++ || die "'file' command failed"
++ mime=${mime%%;*}
++ if ! has "${mime}" ${MIME_WHITELIST}; then
+ echo "Skipping non-text file ${envfile}."
+ return 1
+ fi