summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2022-10-19 14:10:32 +0200
committerSam James <sam@gentoo.org>2022-10-30 09:54:24 +0000
commitab103bbf57bbbe62466583af03b900f1c3d5f2ee (patch)
tree974a060d31fb85eda119fadcd1f68c9c410ac1c4 /app-arch/tar
parentdev-python/aiohttp: Unpin charset-normalizer (diff)
downloadgentoo-ab103bbf57bbbe62466583af03b900f1c3d5f2ee.tar.gz
gentoo-ab103bbf57bbbe62466583af03b900f1c3d5f2ee.tar.bz2
gentoo-ab103bbf57bbbe62466583af03b900f1c3d5f2ee.zip
app-arch/tar: Always install as gtar, make tar a symlink to it
For better compatibility with systems that do not use GNU userland, install GNU tar as `gtar` rather than `tar`, and make `tar` a symlink to the former. This replaces the prior inconsistent logic that installed `gtar` symlink on Prefix only. Closes: https://bugs.gentoo.org/877645 Signed-off-by: Michał Górny <mgorny@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-arch/tar')
-rw-r--r--app-arch/tar/tar-1.34-r1.ebuild84
1 files changed, 84 insertions, 0 deletions
diff --git a/app-arch/tar/tar-1.34-r1.ebuild b/app-arch/tar/tar-1.34-r1.ebuild
new file mode 100644
index 000000000000..d197850acc05
--- /dev/null
+++ b/app-arch/tar/tar-1.34-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/tar.asc
+inherit verify-sig
+
+DESCRIPTION="Use this to make tarballs :)"
+HOMEPAGE="https://www.gnu.org/software/tar/"
+SRC_URI="mirror://gnu/tar/${P}.tar.xz
+ https://alpha.gnu.org/gnu/tar/${P}.tar.xz"
+SRC_URI+=" verify-sig? (
+ mirror://gnu/tar/${P}.tar.xz.sig
+ https://alpha.gnu.org/gnu/tar/${P}.tar.xz.sig
+ )"
+
+LICENSE="GPL-3+"
+SLOT="0"
+if [[ -z "$(ver_cut 3)" ]] || [[ "$(ver_cut 3)" -lt 90 ]] ; then
+ 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"
+fi
+IUSE="acl minimal nls selinux xattr"
+
+RDEPEND="
+ acl? ( virtual/acl )
+ selinux? ( sys-libs/libselinux )
+"
+DEPEND="${RDEPEND}
+ xattr? ( elibc_glibc? ( sys-apps/attr ) )
+"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-tar )
+"
+
+src_configure() {
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/bin
+ --enable-backup-scripts
+ --libexecdir="${EPREFIX}"/usr/sbin
+ $(use_with acl posix-acls)
+ $(use_enable nls)
+ $(use_with selinux)
+ $(use_with xattr xattrs)
+ )
+
+ FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # a nasty yet required piece of baggage
+ exeinto /etc
+ doexe "${FILESDIR}"/rmt
+
+ mv "${ED}"/usr/sbin/backup{,-tar} || die
+ mv "${ED}"/usr/sbin/restore{,-tar} || die
+
+ if use minimal ; then
+ find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
+ -type f -a '!' '(' -name tar -o -name tar ')' \
+ -delete || die
+ fi
+
+ # autoconf looks for gtar before tar (in configure scripts), hence
+ # in Prefix it is important that it is there, otherwise, a gtar from
+ # the host system (FreeBSD, Solaris, Darwin) will be found instead
+ # of the Prefix provided (GNU) tar
+ # rename tar to gtar, and make tar a symlink
+ mv "${ED}"/bin/{,g}tar || die
+ dosym gtar /bin/tar
+
+ if ! use minimal; then
+ mv "${ED}"/usr/sbin/{,g}rmt || die
+ dosym grmt /usr/sbin/rmt
+ fi
+
+ mv "${ED}"/usr/share/man/man1/{,g}tar.1 || die
+ dosym gtar.1 /usr/share/man/man1/tar.1
+ mv "${ED}"/usr/share/man/man8/{,g}rmt.8 || die
+ dosym grmt.8 /usr/share/man/man8/rmt.8
+}