summaryrefslogtreecommitdiff
path: root/sys-apps/file
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-06-29 10:15:54 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-06-29 10:15:54 +0100
commit9aa80713372911cec499b3adb2cd746790920916 (patch)
treeb8e99dc5dd60ac2094a27cc52f74aada8df38f05 /sys-apps/file
parentb4d43e8c611df4a8061b6f88d9e9f6b1e3c83903 (diff)
gentoo resync : 29.06.2021
Diffstat (limited to 'sys-apps/file')
-rw-r--r--sys-apps/file/Manifest2
-rw-r--r--sys-apps/file/file-5.40-r3.ebuild147
-rw-r--r--sys-apps/file/files/file-5.40-revert-char-count.patch49
3 files changed, 198 insertions, 0 deletions
diff --git a/sys-apps/file/Manifest b/sys-apps/file/Manifest
index 6a502344b6b0..d00deb819f44 100644
--- a/sys-apps/file/Manifest
+++ b/sys-apps/file/Manifest
@@ -1,8 +1,10 @@
AUX file-5.39-portage-sandbox.patch 604 BLAKE2B d755d85ae85826df5d2beb2d05f570e230af671c23f27bb1e3e811d1f2f710ae3d4f14d271f9dc4da4d1aa4e71070561d1121deaccf8781de72ff9aec059caa3 SHA512 a65368ed9225b0ca6e7341283a20b308c5d5ca38838849d5228be762d4d87de0438084af8f7cd7b6ee1a707125226940490a80cc1eafc2c817fc865a6211c890
+AUX file-5.40-revert-char-count.patch 1241 BLAKE2B 911d67cd51e6fc0a18075aed01ad79d240e4c7c556a58fb484781ba9e7bc4843f30ea008ff921a47434a8905bc04e25f3104f86a9942f80a5241f768a4de7494 SHA512 6341f85315c2f19d3714a0ef6e8cdbe3bdd1c84cbbef8d9c64597c27307c822b367298b63f313ccdebed6f84964c6f7411768ab1b578c1441e6dee4477f56175
AUX file-5.40-seccomp-faccessat.patch 1006 BLAKE2B 80a33bec7dd36e146c713c8bb639744f11f2fb094f0870d10071a472dc3e6036cfe6cce4a1570a0876fd6c7c3f8f7f4e1ae39aa46f7cc39ee7e49ea1c9c1b22a SHA512 a475835fac9556ef4a799a5b406acdbbdb7bd09233a5563a386f110355a8e5a4581eed69bcc968df12985f6e910ea7da0deec9f510dd891b633b369afd816ff8
AUX file-5.40-seccomp-fstatat64.patch 727 BLAKE2B 164574b98126ad8804c7a3ef51c80567a83d89c609b731b84f2d5e0b8fe54d060f45b6db38258ece2e2af1e0d0674e4fdf5b62df6217695d06042bb86ad72f5b SHA512 5e5364659e2c96e438000e698f9099be1d2bee94890c51ed849f6e0d139ba637a8026d975200476636cd8282791b6c3e5b71326fb8519323d6c07604975b5b0c
AUX file-5.40-xz_magic.patch 1277 BLAKE2B 3af2322360ab9d7b3340dd34a2190e249dac5d0dc91843efd07e9fdd92f48ebab0a67decae23e68d9dc6a5fae38880d56977dfa4b3a72d74e362c8f3aab42fee SHA512 4e9e64c1ac0e7e95a113577a32be0fe2f2c2d9acbbe323622c2409d2e1b9f9a6cb3e8572569bbef156ca06c6470ee7db38d2579582622f224919eb37243319e5
DIST file-5.40.tar.gz 1004214 BLAKE2B 4e15a1ca62fe7c03c90b0e509dc899b87f4474f758ad3d08172b3d838dc3f7c2954ba1074eeeeb3da8c04b8df84eff2b8cdf3177da334a926914429df67f60bf SHA512 3b70df75fa4c9050d55b1ffdc28e5f3c8b8ef7d4efd1a06bf53f113b676d81114a85aae56e0897d32b53716662d64ad18ab251ca8c92c6405c69eb758bb99afb
EBUILD file-5.40-r2.ebuild 3419 BLAKE2B 2d48c15c53d7e1fcf49d0a4fba5345ffdb60f70541cc7432461507974ede6846cb8608a81dd61865e895b4818a727a5b025fe12f31c45a256c1f5086b41b4102 SHA512 57d2bb5db419fe4708f502d3a33c13c934b148e47ccc6cee69c24229d02fd6200aeaefb1a8278f30f48eeb69bbd4cf831b5439a4585fa641d068aa0c05f95d65
+EBUILD file-5.40-r3.ebuild 3484 BLAKE2B 0e9953c405e53804314695ee959735f39dbad689dff151db7001c4430fc7c196954f216b594ba24f644e2c100792fd3b444dd5b34bd254b7cd3bdb816d62536b SHA512 5d7ae0c9b636eb46d1e0b98679a2a6a8dbb1651f6e7cb3e0988e0a09a13b31c2e3aa329a5e45e009646ffc61bf4e7b406d4bcffa99789874a234bceb9d49bf2d
EBUILD file-9999.ebuild 3273 BLAKE2B 691dabede60ccb8f756ee3a03a5e2db17f58e556cc19f28493685996ac637e7343803a5667e591fc1b336611458b8550c222238983d797fa21e1fe66c60d1625 SHA512 20a7db1cd42cb5c47d5a0c7a607b3e547e1e76b6fe3effd8a456425929312981b47d940c4deee82f14b20e6be50416206aae4b32cbab80bbdf459cce76443347
MISC metadata.xml 381 BLAKE2B 242f4a2403d0a4c69c7ff400fdbd447bb7fb8572dc57dc05f3edd0c875da68433217bec46d43467fa03c5e9ec69616e3450635ff2662ae3ed830a138521e23ab SHA512 f69d67890ecb0b574d414c432df12f6e8d31ceb7755055683941017563da8713d07728e49cd4a7277699a97cd3ba732c946ecf5435cee94778a0d5652e7d6857
diff --git a/sys-apps/file/file-5.40-r3.ebuild b/sys-apps/file/file-5.40-r3.ebuild
new file mode 100644
index 000000000000..7fd5ac3b71b9
--- /dev/null
+++ b/sys-apps/file/file-5.40-r3.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 libtool toolchain-funcs multilib-minimal
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/glensc/file.git"
+ inherit autotools git-r3
+else
+ SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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
+
+DESCRIPTION="identify a file's format by scanning binary data for patterns"
+HOMEPAGE="https://www.darwinsys.com/file/"
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="bzip2 lzma python seccomp static-libs zlib"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}
+ python? ( !dev-python/python-magic )
+ seccomp? ( sys-libs/libseccomp[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}/file-5.39-portage-sandbox.patch" #713710 #728978
+ "${FILESDIR}/file-5.40-xz_magic.patch" #784773
+ "${FILESDIR}/file-5.40-seccomp-faccessat.patch"
+ "${FILESDIR}/file-5.40-seccomp-fstatat64.patch" #784857
+ "${FILESDIR}/file-5.40-revert-char-count.patch" #799188
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ fi
+
+ elibtoolize
+
+ # don't let python README kill main README #60043
+ mv python/README.md python/README.python.md || die
+ sed 's@README.md@README.python.md@' -i python/setup.py || die #662090
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-fsect-man5
+ $(use_enable bzip2 bzlib)
+ $(use_enable lzma xzlib)
+ $(use_enable seccomp libseccomp)
+ $(use_enable static-libs static)
+ $(use_enable zlib)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+build_src_configure() {
+ local myeconfargs=(
+ --disable-shared
+ --disable-libseccomp
+ --disable-bzlib
+ --disable-xzlib
+ --disable-zlib
+ )
+ tc-env_build econf "${myeconfargs[@]}"
+}
+
+need_build_file() {
+ # when cross-compiling, we need to build up our own file
+ # because people often don't keep matching host/target
+ # file versions #362941
+ tc-is-cross-compiler && ! has_version -b "~${CATEGORY}/${P}"
+}
+
+src_configure() {
+ local ECONF_SOURCE="${S}"
+
+ if need_build_file ; then
+ mkdir -p "${WORKDIR}"/build || die
+ cd "${WORKDIR}"/build || die
+ build_src_configure
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ cd src || die
+ emake magic.h #586444
+ emake libmagic.la
+ fi
+}
+
+src_compile() {
+ if need_build_file ; then
+ emake -C "${WORKDIR}"/build/src magic.h #586444
+ emake -C "${WORKDIR}"/build/src file
+ local -x PATH="${WORKDIR}/build/src:${PATH}"
+ fi
+ multilib-minimal_src_compile
+
+ if use python ; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ default
+ else
+ emake -C src install-{nodist_includeHEADERS,libLTLIBRARIES} DESTDIR="${D}"
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc ChangeLog MAINT README
+
+ # Required for `file -C`
+ insinto /usr/share/misc/magic
+ doins -r magic/Magdir/*
+
+ if use python ; then
+ cd python || die
+ distutils-r1_src_install
+ fi
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/sys-apps/file/files/file-5.40-revert-char-count.patch b/sys-apps/file/files/file-5.40-revert-char-count.patch
new file mode 100644
index 000000000000..9d6f5be60fac
--- /dev/null
+++ b/sys-apps/file/files/file-5.40-revert-char-count.patch
@@ -0,0 +1,49 @@
+From c07e242e766242a44ff720c149b1bdd4924ec247 Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Tue, 27 Apr 2021 19:37:14 +0000
+Subject: [PATCH] Revert the fix for PR/180. It lead to PR/261. Using character
+ count heuristics ends up with confusing behavior, the following should not be
+ producing different results: echo -n xx | ./file - echo -n xy |
+ ./file -
+
+---
+[patch backported to 5.40 release -- ulm]
+
+ src/encoding.c | 15 ++-------------
+ 1 file changed, 2 insertions(+), 13 deletions(-)
+
+diff --git a/src/encoding.c b/src/encoding.c
+index 31d4d125..3647a481 100644
+--- a/src/encoding.c
++++ b/src/encoding.c
+@@ -265,9 +265,7 @@ private int \
+ looks_ ## NAME(const unsigned char *buf, size_t nbytes, file_unichar_t *ubuf, \
+ size_t *ulen) \
+ { \
+- size_t i, u; \
+- unsigned char dist[256]; \
+- memset(dist, 0, sizeof(dist)); \
++ size_t i; \
+ \
+ *ulen = 0; \
+ \
+@@ -278,16 +276,7 @@ looks_ ## NAME(const unsigned char *buf, size_t nbytes, file_unichar_t *ubuf, \
+ return 0; \
+ \
+ ubuf[(*ulen)++] = buf[i]; \
+- dist[buf[i]]++; \
+ } \
+- u = 0; \
+- for (i = 0; i < __arraycount(dist); i++) { \
+- if (dist[i]) \
+- u++; \
+- } \
+- if (u < 3) \
+- return 0; \
+-\
+ return 1; \
+ }
+
+--
+2.32.0
+