sys-apps/file: Sync with Gentoo

It's from Gentoo commit b385f513fdd7fc944c020c2e499a2a9f8baff0ff.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2026-03-02 07:29:05 +00:00 committed by Krzesimir Nowak
parent 32d483acbb
commit 45cdabef22
6 changed files with 4 additions and 304 deletions

View File

@ -1,4 +1,4 @@
DIST file-5.45.tar.gz 1246503 BLAKE2B 30fc77c091e6624f2e9a950f4c6fe69ea6aa46d4a8ad9f20d49320a3675617c5bfbc9ff1ebba5eeb2cf4435c38d71b47b8beeb5146c9f55fe3bac11fe65e89bd SHA512 12611a59ff766c22a55db4b4a9f80f95a0a2e916a1d8593612c6ead32c247102a8fdc23693c6bf81bda9b604d951a62c0051e91580b1b79e190a3504c0efc20a
DIST file-5.45.tar.gz.asc 163 BLAKE2B 1405080c63412e9c66bfe06086ecee28b276b77cc2ddacb20cfd370c539a0d983812fd29dcf7a33bad69d6490cd439ef8d1219bfaf3928fb835a38da85013af3 SHA512 56bf131b2f35e896788be19b4d8cd1c7ec942c794fb584d5e589375d22fbccebdd04c03e779fafc0c10840586dc41e64251b3de1767ae9ab95f5d3300f9af254
DIST file-5.46.tar.gz 1312892 BLAKE2B 2b1df136f01c253cc490b483c644403da0674692ef97ef9e1239878328cfb8ce2bc418c14626145719c69acab00d56b63b5340a2b56c276c996b1e6ad1bfe9b6 SHA512 a6cb7325c49fd4af159b7555bdd38149e48a5097207acbe5e36deb5b7493ad6ea94d703da6e0edece5bb32959581741f4213707e5cb0528cd46d75a97a5242dc
DIST file-5.46.tar.gz.asc 195 BLAKE2B 7a2a65f10cbfe921ae633a9bee3a56a98b8e3100b8cbfe4b4871ce3960f28e62bb9e7425f5c1bfe9b126f43d7dd4ddcb36220f07f979072a8ef5fe62c14b5ef8 SHA512 93f99b468bbda29eab6e37fdee1f1806a10b18206a85c68e888e967678cfd128bb9c34bc9835a699e447623ddf0e2ea041039a682f7be1db2ab37935fd4aafa0
DIST file-5.47.tar.gz 2676776 BLAKE2B 52b91ee7868a9b75431e00fca7f7db1362b3d39eb065f52434ea73d9ccd7497f3371f7e0a455644c56df3e6acee247208edc47bf8004fa922dba32786cc3e10c SHA512 a19c1f2b584bcfa70d4a02545667a90ff9e069523a5fc7b84d79b2b32cb7e59b73c555943784a13d56fa6d4618e18a254fd6102187def1a4a7d936b41ae7ce31
DIST file-5.47.tar.gz.asc 163 BLAKE2B 32e6a0dab4e0981d2fbf6eae73e3ddc24b69ddcf316d3ae82045007a208cd28b02b54a705c114d5c9da5bdddc760003b190385c3732bcb7d9862dc359c496c37 SHA512 19dafce2906420855915493b7c20fdefdb6464090f96c8b431aa7b3c15899e2a57cdc96d586c2a3de113f5857c6b22f6ee9bc825275cdd7c26f6eb1eaaad7073

View File

@ -1,192 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_OPTIONAL=1
PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 toolchain-funcs multilib-minimal
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/file/file"
inherit autotools git-r3
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/file.asc
inherit autotools verify-sig
SRC_URI="https://astron.com/pub/file/${P}.tar.gz"
SRC_URI+=" verify-sig? ( https://astron.com/pub/file/${P}.tar.gz.asc )"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )"
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 lzip lzma python seccomp static-libs zlib zstd"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
lzip? ( app-arch/lzlib )
lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
seccomp? ( >=sys-libs/libseccomp-2.5.4[${MULTILIB_USEDEP}] )
zlib? ( >=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
RDEPEND="
${DEPEND}
python? (
${PYTHON_DEPS}
!dev-python/python-magic
)
seccomp? ( >=sys-libs/libseccomp-2.5.4[${MULTILIB_USEDEP}] )
"
BDEPEND+="
python? (
${PYTHON_DEPS}
${DISTUTILS_DEPS}
)
"
# https://bugs.gentoo.org/898676
QA_CONFIG_IMPL_DECL_SKIP=( makedev )
PATCHES=(
"${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet
"${FILESDIR}/file-5.45-seccomp-sandbox.patch"
"${FILESDIR}/${P}-32-bit-time_t.patch"
"${FILESDIR}/${P}-32-bit-time_t-deux.patch"
"${FILESDIR}/${P}-weak-magic-shell.patch" #908401
)
src_prepare() {
default
#if [[ ${PV} == 9999 ]] ; then
# eautoreconf
#else
# elibtoolize
#fi
# Just for file-5.45-32-bit-time_t-deux.patch, drop in 5.46
eautoreconf
# Don't let python README kill main README, bug #60043
mv python/README.md python/README.python.md || die
# bug #662090
sed -i 's@README.md@README.python.md@' python/setup.py || die
}
multilib_src_configure() {
local myeconfargs=(
--enable-fsect-man5
$(use_enable bzip2 bzlib)
$(multilib_native_use_enable lzip lzlib)
$(use_enable lzma xzlib)
$(use_enable seccomp libseccomp)
$(use_enable static-libs static)
$(use_enable zlib)
$(use_enable zstd zstdlib)
)
econf "${myeconfargs[@]}"
}
build_src_configure() {
local myeconfargs=(
--disable-shared
--disable-libseccomp
--disable-bzlib
--disable-xzlib
--disable-zlib
)
econf_build "${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, bug #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
# bug #586444
emake -C src magic.h
emake -C src libmagic.la
fi
}
src_compile() {
if need_build_file ; then
# bug #586444
emake -C "${WORKDIR}"/build/src magic.h
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
}
src_test() {
multilib-minimal_src_test
if use python ; then
cd python || die
distutils-r1_src_test
fi
}
python_test() {
eunittest
}
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
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -18,7 +18,7 @@ else
SRC_URI="https://astron.com/pub/file/${P}.tar.gz"
SRC_URI+=" verify-sig? ( https://astron.com/pub/file/${P}.tar.gz.asc )"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )"
fi
@ -60,8 +60,6 @@ QA_CONFIG_IMPL_DECL_SKIP=( makedev )
PATCHES=(
"${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet
"${FILESDIR}/file-5.45-seccomp-sandbox.patch"
"${FILESDIR}/file-5.46-zip.patch"
"${FILESDIR}/file-5.46-buffer-overflow.patch"
)
src_prepare() {

View File

@ -1,29 +0,0 @@
https://github.com/file/file/commit/8dc5513908381a14981b16a85d59ba054bf4df52
From 8dc5513908381a14981b16a85d59ba054bf4df52 Mon Sep 17 00:00:00 2001
From: Christos Zoulas <christos@zoulas.com>
Date: Mon, 31 Jul 2023 15:56:12 +0000
Subject: [PATCH] Check if we support _TIME_BITS. (Werner Fink)
--- a/configure.ac
+++ b/configure.ac
@@ -152,6 +152,18 @@ AC_TYPE_UINT64_T
AC_TYPE_INT64_T
AC_TYPE_INTPTR_T
AC_TYPE_UINTPTR_T
+m4_ifdef([AC_SYS_YEAR2038], [AC_SYS_YEAR2038], [
+# GNU libc only allows setting _TIME_BITS when FILE_OFFSET_BITS is also set.
+# GNU libc defines __TIMESIZE on systems where _TIME_BITS can be set.
+AS_IF([test X"$ac_cv_sys_file_offset_bits" = X"64"], [
+ AC_CHECK_DECL(__TIMESIZE, [
+ AC_DEFINE([_TIME_BITS], [64], [Number of bits in a timestamp, on hosts where this is settable.])
+ ], [], [
+AC_INCLUDES_DEFAULT
+#include <time.h>
+ ])
+ ])
+])
AC_FUNC_MMAP
AC_FUNC_FORK
AC_FUNC_MBRTOWC

View File

@ -1,34 +0,0 @@
https://mailman.astron.com/pipermail/file/2023-July/001206.html
https://github.com/file/file/commit/218fdf813fd5ccecbb8887a1b62509cd1c6dd3a1
From 218fdf813fd5ccecbb8887a1b62509cd1c6dd3a1 Mon Sep 17 00:00:00 2001
From: Christos Zoulas <christos@zoulas.com>
Date: Fri, 28 Jul 2023 14:38:25 +0000
Subject: [PATCH] deal with 32 bit time_t
--- a/src/file.h
+++ b/src/file.h
@@ -27,7 +27,7 @@
*/
/*
* file.h - definitions for file(1) program
- * @(#)$File: file.h,v 1.247 2023/07/27 19:40:22 christos Exp $
+ * @(#)$File: file.h,v 1.248 2023/07/28 14:38:25 christos Exp $
*/
#ifndef __file_h__
@@ -159,9 +159,11 @@
/*
* Dec 31, 23:59:59 9999
* we need to make sure that we don't exceed 9999 because some libc
- * implementations like muslc crash otherwise
+ * implementations like muslc crash otherwise. If you are unlucky
+ * to be running on a system with a 32 bit time_t, then it is even less.
*/
-#define MAX_CTIME CAST(time_t, 0x3afff487cfULL)
+#define MAX_CTIME \
+ CAST(time_t, sizeof(time_t) > 4 ? 0x3afff487cfULL : 0x7fffffffULL)
#define FILE_BADSIZE CAST(size_t, ~0ul)
#define MAXDESC 64 /* max len of text description/MIME type */

View File

@ -1,43 +0,0 @@
https://bugs.gentoo.org/908401
https://bugs.astron.com/view.php?id=457
https://github.com/file/file/commit/1fc9175166fc5c5117838a1dcfb309b7c595eb56
From 1fc9175166fc5c5117838a1dcfb309b7c595eb56 Mon Sep 17 00:00:00 2001
From: Christos Zoulas <christos@zoulas.com>
Date: Sun, 30 Jul 2023 16:31:47 +0000
Subject: [PATCH] Comment out weak magic
--- a/magic/Magdir/printer
+++ b/magic/Magdir/printer
@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
-# $File: printer,v 1.34 2023/06/16 19:27:12 christos Exp $
+# $File: printer,v 1.35 2023/07/30 16:31:47 christos Exp $
# printer: file(1) magic for printer-formatted files
#
@@ -230,8 +230,9 @@
0 string PS4
>0 use hpgl
# la.hp
-0 string BP
->0 use hpgl
+# Too weak
+#0 string BP
+#>0 use hpgl
# miter.hp
# Plot Absolute x,y{,x,y{...}}; x and y in range between -32767 and 32768 like: PA4000,3000;
0 string PA
@@ -241,8 +242,9 @@
#>2 regex \^([-]{0,1}[0-9]{1,5}) COORDINATE=%s
>>0 use hpgl
# pw.hpg number of pens x
-0 string NP
->0 use hpgl
+# Too weak
+#0 string NP
+#>0 use hpgl
# win_1.hp
#0 string \003INCA WHAT_IS_THAT
#>0 use hpgl