mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-14 16:37:01 +02:00
sys-apps/file: Sync with Gentoo
It's from Gentoo commit ed468028e725c9580a7b2ee02d6b7b9375f7a0b2.
This commit is contained in:
parent
adb774f4a1
commit
b008eb9bf9
@ -1,4 +1,2 @@
|
||||
DIST file-5.43.tar.gz 1162786 BLAKE2B aaaf32c5054fb83e912af6656e5e67947f45576ec3711c7cba5531ed780e142a448580e0db41a828c8a3c5d2f1bf0c8ed49bc9688499caaae4a08baa16b3610c SHA512 9d02f4e7a69d90468d6bd35df5ec240ddee8c2408b7df3e73427d7f18736baf77db0638a1fe8283f4e6abd1d5ad653890ed3a5a0d48bb52d4023ca4070ecdf06
|
||||
DIST file-5.43.tar.gz.asc 195 BLAKE2B d7f83b3e21d1390467989f8870e36daa48ebb8c5ac7ab8dc6d667a65d10561126d32cfc5ef3d81a130990b3e46bcba9b5e03f0a7dd169782351b02cebec2471f SHA512 c565958840f2f5c62821cd08d4149ec97c574232913ec00400473364e160250cfaced8c715e109c4c617359e33d2470f7ca6af1891cbdf994329e890f90c8be3
|
||||
DIST file-5.44.tar.gz 1186437 BLAKE2B a90ccae738a95315d75a0aaee7bbff3624425cc9267daf18ba9147b7c9b9ebfb31288b54c63a73e4695eca0e876f206e40bcb81c422f1bf572b976e753b25a42 SHA512 26c3b9c7a6950649d0b2de896bfeca54289febe4cd487c0f91aa6ff1857fa49f9077f8738a17b86100125668a31dae05b586615c564f78da47ac20a1e4a74f63
|
||||
DIST file-5.44.tar.gz.asc 195 BLAKE2B a0905d42fec0fa052d75fb5b267c6ae223176451c0f1d3346006d4b760c3d858f2dcda5f0a30c6aa4b09b5afee427b75bc4debd5033d978f39dc1da01d3e1bd1 SHA512 1a4dc39283f4859581441aa35b3ed72b323c4e05ca0960d17126d1b9ec18465c695c0545e24f09f8437a60ab52e582be67b6cbbc656bbb676de00148c3644d23
|
||||
|
@ -1,162 +0,0 @@
|
||||
# Copyright 1999-2022 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_{8..11} )
|
||||
|
||||
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
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/file.asc
|
||||
inherit verify-sig
|
||||
SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )"
|
||||
|
||||
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"
|
||||
|
||||
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 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}] )"
|
||||
BDEPEND+="
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
${DISTUTILS_DEPS}
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/file-5.43-portage-sandbox.patch" #713710 #728978
|
||||
"${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet
|
||||
"${FILESDIR}/${P}-configure-clang16.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautoreconf
|
||||
else
|
||||
elibtoolize
|
||||
fi
|
||||
|
||||
# don't let python README kill main README, bug ##60043
|
||||
mv python/README.md python/README.python.md || die
|
||||
# bug #662090
|
||||
sed 's@README.md@README.python.md@' -i python/setup.py || die
|
||||
}
|
||||
|
||||
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
|
||||
)
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 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_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit distutils-r1 libtool toolchain-funcs multilib-minimal
|
||||
|
||||
@ -18,7 +18,7 @@ else
|
||||
SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
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"
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )"
|
||||
fi
|
||||
@ -39,23 +39,28 @@ DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.5.4[${MULTILIB_USEDEP}] )
|
||||
zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
python? ( !dev-python/python-magic )
|
||||
seccomp? ( sys-libs/libseccomp[${MULTILIB_USEDEP}] )"
|
||||
seccomp? ( >=sys-libs/libseccomp-2.5.4[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
BDEPEND+="
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
${DISTUTILS_DEPS}
|
||||
)"
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet
|
||||
"${FILESDIR}/file-5.43-portage-sandbox.patch" #889046
|
||||
"${FILESDIR}/file-5.44-limits-solaris.patch" # applied upstream
|
||||
"${FILESDIR}/file-5.44-seccomp-utimes.patch" # upstream
|
||||
"${FILESDIR}/file-5.44-decompress-empty.patch" # upstream
|
||||
)
|
||||
|
||||
src_prepare() {
|
@ -1,11 +1,11 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 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_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit distutils-r1 libtool toolchain-funcs multilib-minimal
|
||||
|
||||
@ -39,17 +39,21 @@ DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.5.4[${MULTILIB_USEDEP}] )
|
||||
zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
python? ( !dev-python/python-magic )
|
||||
seccomp? ( sys-libs/libseccomp[${MULTILIB_USEDEP}] )"
|
||||
seccomp? ( >=sys-libs/libseccomp-2.5.4[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
BDEPEND+="
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
${DISTUTILS_DEPS}
|
||||
)"
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/file-5.43-seccomp-fstatat64-musl.patch" #789336, not upstream yet
|
||||
|
@ -1,20 +0,0 @@
|
||||
https://github.com/file/file/commit/4502517cc7316569d5902ab65c97b3b8e46f8a25
|
||||
https://github.com/file/file/commit/8c845b7bbad085678695d3e70467b8eec3dfa7af
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -14037,13 +14037,14 @@ else $as_nop
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <time.h>
|
||||
+#include <stdlib.h>
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
#if !HAVE_DECL_DAYLIGHT
|
||||
extern int daylight;
|
||||
#endif
|
||||
-atoi(daylight);
|
||||
+daylight = atoi("1");
|
||||
;
|
||||
return 0;
|
||||
}
|
126
sdk_container/src/third_party/portage-stable/sys-apps/file/files/file-5.44-decompress-empty.patch
vendored
Normal file
126
sdk_container/src/third_party/portage-stable/sys-apps/file/files/file-5.44-decompress-empty.patch
vendored
Normal file
@ -0,0 +1,126 @@
|
||||
https://bugs.astron.com/view.php?id=415
|
||||
https://github.com/file/file/commit/1dd21dd360472d7b830825df8e40a06cdc1cbbcf
|
||||
|
||||
From 1dd21dd360472d7b830825df8e40a06cdc1cbbcf Mon Sep 17 00:00:00 2001
|
||||
From: Christos Zoulas <christos@zoulas.com>
|
||||
Date: Sun, 8 Jan 2023 18:09:16 +0000
|
||||
Subject: [PATCH] fix decompression always returning empty.
|
||||
|
||||
--- a/src/compress.c
|
||||
+++ b/src/compress.c
|
||||
@@ -609,6 +609,7 @@ uncompresszlib(const unsigned char *old, unsigned char **newch,
|
||||
int rc;
|
||||
z_stream z;
|
||||
|
||||
+ DPRINTF("builtin zlib decompression\n");
|
||||
z.next_in = CCAST(Bytef *, old);
|
||||
z.avail_in = CAST(uint32_t, *n);
|
||||
z.next_out = *newch;
|
||||
@@ -650,6 +651,7 @@ uncompressbzlib(const unsigned char *old, unsigned char **newch,
|
||||
int rc;
|
||||
bz_stream bz;
|
||||
|
||||
+ DPRINTF("builtin bzlib decompression\n");
|
||||
memset(&bz, 0, sizeof(bz));
|
||||
rc = BZ2_bzDecompressInit(&bz, 0, 0);
|
||||
if (rc != BZ_OK)
|
||||
@@ -690,6 +692,7 @@ uncompressxzlib(const unsigned char *old, unsigned char **newch,
|
||||
int rc;
|
||||
lzma_stream xz;
|
||||
|
||||
+ DPRINTF("builtin xzlib decompression\n");
|
||||
memset(&xz, 0, sizeof(xz));
|
||||
rc = lzma_auto_decoder(&xz, UINT64_MAX, 0);
|
||||
if (rc != LZMA_OK)
|
||||
@@ -729,6 +732,7 @@ uncompresszstd(const unsigned char *old, unsigned char **newch,
|
||||
ZSTD_inBuffer in;
|
||||
ZSTD_outBuffer out;
|
||||
|
||||
+ DPRINTF("builtin zstd decompression\n");
|
||||
if ((zstd = ZSTD_createDStream()) == NULL) {
|
||||
return makeerror(newch, n, "No ZSTD decompression stream, %s",
|
||||
strerror(errno));
|
||||
@@ -777,6 +781,7 @@ uncompresslzlib(const unsigned char *old, unsigned char **newch,
|
||||
|
||||
bufp = *newch;
|
||||
|
||||
+ DPRINTF("builtin lzlib decompression\n");
|
||||
dec = LZ_decompress_open();
|
||||
if (!dec) {
|
||||
return makeerror(newch, n, "unable to allocate LZ_Decoder");
|
||||
@@ -833,11 +838,13 @@ makeerror(unsigned char **buf, size_t *len, const char *fmt, ...)
|
||||
va_list ap;
|
||||
int rv;
|
||||
|
||||
+ DPRINTF("Makeerror %s\n", fmt);
|
||||
free(*buf);
|
||||
va_start(ap, fmt);
|
||||
rv = vasprintf(&msg, fmt, ap);
|
||||
va_end(ap);
|
||||
if (rv < 0) {
|
||||
+ DPRINTF("Makeerror failed");
|
||||
*buf = NULL;
|
||||
*len = 0;
|
||||
return NODATA;
|
||||
@@ -1048,7 +1055,7 @@ uncompressbuf(int fd, size_t bytes_max, size_t method, int nofork,
|
||||
pid_t pid;
|
||||
pid_t writepid = -1;
|
||||
size_t i;
|
||||
- ssize_t r;
|
||||
+ ssize_t r, re;
|
||||
char *const *args;
|
||||
#ifdef HAVE_POSIX_SPAWNP
|
||||
posix_spawn_file_actions_t fa;
|
||||
@@ -1103,6 +1110,7 @@ uncompressbuf(int fd, size_t bytes_max, size_t method, int nofork,
|
||||
|
||||
handledesc(&fa, fd, fdp);
|
||||
|
||||
+ DPRINTF("Executing %s\n", compr[method].argv[0]);
|
||||
status = posix_spawnp(&pid, compr[method].argv[0], &fa, NULL,
|
||||
args, NULL);
|
||||
|
||||
@@ -1128,6 +1136,7 @@ uncompressbuf(int fd, size_t bytes_max, size_t method, int nofork,
|
||||
* do not modify fdp[i][j].
|
||||
*/
|
||||
handledesc(NULL, fd, fdp);
|
||||
+ DPRINTF("Executing %s\n", compr[method].argv[0]);
|
||||
|
||||
(void)execvp(compr[method].argv[0], args);
|
||||
dprintf(STDERR_FILENO, "exec `%s' failed, %s",
|
||||
@@ -1146,6 +1155,7 @@ uncompressbuf(int fd, size_t bytes_max, size_t method, int nofork,
|
||||
if (writepid == (pid_t)-1) {
|
||||
rv = makeerror(newch, n, "Write to child failed, %s",
|
||||
strerror(errno));
|
||||
+ DPRINTF("Write to child failed\n");
|
||||
goto err;
|
||||
}
|
||||
closefd(fdp[STDIN_FILENO], 1);
|
||||
@@ -1153,6 +1163,7 @@ uncompressbuf(int fd, size_t bytes_max, size_t method, int nofork,
|
||||
|
||||
rv = OKDATA;
|
||||
r = sread(fdp[STDOUT_FILENO][0], *newch, bytes_max, 0);
|
||||
+ DPRINTF("read got %zd\n", r);
|
||||
if (r < 0) {
|
||||
rv = ERRDATA;
|
||||
DPRINTF("Read stdout failed %d (%s)\n", fdp[STDOUT_FILENO][0],
|
||||
@@ -1165,15 +1176,17 @@ uncompressbuf(int fd, size_t bytes_max, size_t method, int nofork,
|
||||
* errors, otherwise we risk the child blocking and never
|
||||
* exiting.
|
||||
*/
|
||||
+ DPRINTF("Closing stdout for bytes_max\n");
|
||||
closefd(fdp[STDOUT_FILENO], 0);
|
||||
goto ok;
|
||||
}
|
||||
- if ((r = sread(fdp[STDERR_FILENO][0], *newch, bytes_max, 0)) > 0) {
|
||||
+ if ((re = sread(fdp[STDERR_FILENO][0], *newch, bytes_max, 0)) > 0) {
|
||||
+ DPRINTF("Got stuff from stderr %s\n", *newch);
|
||||
rv = ERRDATA;
|
||||
r = filter_error(*newch, r);
|
||||
goto ok;
|
||||
}
|
||||
- if (r == 0)
|
||||
+ if (re == 0)
|
||||
goto ok;
|
||||
rv = makeerror(newch, n, "Read stderr failed, %s",
|
||||
strerror(errno));
|
||||
|
Loading…
Reference in New Issue
Block a user