summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2022-11-22 22:23:40 +0100
committerMichał Górny <mgorny@gentoo.org>2022-11-28 15:31:37 +0100
commit57378b29433826126d1cd5daa0b35c5055b4492f (patch)
tree8a38e37a502333c027b2c63eaec394ba64178efa /app-alternatives
parentapp-arch/tar: Support app-alternatives/tar (diff)
downloadgentoo-57378b29433826126d1cd5daa0b35c5055b4492f.tar.gz
gentoo-57378b29433826126d1cd5daa0b35c5055b4492f.tar.bz2
gentoo-57378b29433826126d1cd5daa0b35c5055b4492f.zip
app-alternatives/sh: Add an ebuild for /bin/sh symlink
Closes: https://github.com/gentoo/gentoo/pull/28390 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'app-alternatives')
-rw-r--r--app-alternatives/sh/metadata.xml29
-rw-r--r--app-alternatives/sh/sh-0.ebuild48
2 files changed, 77 insertions, 0 deletions
diff --git a/app-alternatives/sh/metadata.xml b/app-alternatives/sh/metadata.xml
new file mode 100644
index 000000000000..b91b8f41c94c
--- /dev/null
+++ b/app-alternatives/sh/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="bash">
+ Symlink to <pkg>app-shells/bash</pkg>
+ </flag>
+ <flag name="dash">
+ Symlink to <pkg>app-shells/dash</pkg>
+ </flag>
+ <flag name="ksh">
+ Symlink to <pkg>app-shells/ksh</pkg>
+ </flag>
+ <flag name="lksh">
+ Symlink to lksh from <pkg>app-shells/mksh</pkg>
+ </flag>
+ <flag name="mksh">
+ Symlink to mksh from <pkg>app-shells/mksh</pkg>
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/app-alternatives/sh/sh-0.ebuild b/app-alternatives/sh/sh-0.ebuild
new file mode 100644
index 000000000000..5da158c80cab
--- /dev/null
+++ b/app-alternatives/sh/sh-0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="/bin/sh (POSIX shell) symlink"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Base/Alternatives"
+SRC_URI=""
+S=${WORKDIR}
+
+LICENSE="CC0-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+bash dash ksh lksh mksh"
+REQUIRED_USE="^^ ( bash dash ksh lksh mksh )"
+
+RDEPEND="
+ bash? ( app-shells/bash )
+ dash? ( app-shells/dash )
+ ksh? ( app-shells/ksh )
+ lksh? ( app-shells/mksh[lksh] )
+ mksh? ( app-shells/mksh )
+ !!app-eselect/eselect-sh
+"
+
+src_install() {
+ if use bash; then
+ dosym bash /bin/sh
+ elif use dash; then
+ dosym dash /bin/sh
+ elif use ksh; then
+ dosym ksh /bin/sh
+ elif use lksh; then
+ dosym lksh /bin/sh
+ elif use mksh; then
+ dosym mksh /bin/sh
+ else
+ die "Invalid USE flag combination (broken REQUIRED_USE?)"
+ fi
+}
+
+pkg_postrm() {
+ # make sure we don't leave the user without /bin/sh, since it's not
+ # been owned by any other package
+ if [[ ! -h ${EROOT}/bin/sh ]]; then
+ ln -s bash "${EROOT}/bin/sh" || die
+ fi
+}