Accepting request 1057786 from Base:System
- Add patch dc71304b.patch * Handle script executable Zip archives - Use [Pp]atch0 explicit to avoid warning as python.magic build time - Modifying patches * file-5.22-elf.dif * file-5.19-printf.dif * file-5.19-zip2.0.dif * file-5.19-biorad.dif * file-secure_getenv.patch * file-5.28-btrfs-image.dif - Remove patch file-zstd.patch now upstream - Port patch file-5.42.dif and rename it to file-5.44.dif - Update to 5.44: * Handle nan's so that we don't get internal floating point exceptions when they are enabled (Vincent Mihalkovic) * PR/397: Restore the ability to process files from stdin immediately. * fixed various clustefuzz issues * Fix error detection for decompression code (Vincent Mihalkovic) * Add MAGIC_NO_COMPRESS_FORK and use it to produce a more meaningful error message if we are sandboxing. * Add built-in lzip decompression support (Michal Gorny) * Add built-in zstd decompression support (Martin Rodriguez Reboredo) - Enable tests for python-magic (not python-python-magic) - Run pre_checkin.sh to get correct source tar ball - Update to 5.44 OBS-URL: https://build.opensuse.org/request/show/1057786 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/file?expand=0&rev=133
This commit is contained in:
commit
13e65e82c8
27
dc71304b.patch
Normal file
27
dc71304b.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From dc71304b3b1fd2ed5f7098d59fb7f6ef10cfdc85 Mon Sep 17 00:00:00 2001
|
||||
From: Christos Zoulas <christos@zoulas.com>
|
||||
Date: Sat, 31 Dec 2022 20:24:08 +0000
|
||||
Subject: [PATCH] pyzip improvements (FC Stegerman)
|
||||
|
||||
---
|
||||
magic/Magdir/archive | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
--- magic/Magdir/archive
|
||||
+++ magic/Magdir/archive 2023-01-11 12:59:19.451975877 +0000
|
||||
@@ -1876,9 +1876,14 @@
|
||||
# https://en.wikipedia.org/wiki/ZIP_(file_format)#End_of_central_directory_record_(EOCD)
|
||||
# by Michal Gorny <mgorny@gentoo.org>
|
||||
-2 uleshort 0
|
||||
->&-22 string PK\005\006 Zip archive, with extra data prepended
|
||||
+>&-22 string PK\005\006
|
||||
+# without #!
|
||||
+>>0 string !#! Zip archive, with extra data prepended
|
||||
!:mime application/zip
|
||||
!:ext zip/cbz
|
||||
+# with #!
|
||||
+>>0 string/w #!\ a
|
||||
+>>>&-1 string/T x %s script executable (Zip archive)
|
||||
|
||||
# ACE archive (from http://www.wotsit.org/download.asp?f=ace)
|
||||
# by Stefan `Sec` Zehl <sec@42.org>
|
@ -6,7 +6,7 @@ Index: magic/Magdir/images
|
||||
===================================================================
|
||||
--- magic/Magdir/images.orig
|
||||
+++ magic/Magdir/images
|
||||
@@ -1969,6 +1969,8 @@
|
||||
@@ -2167,6 +2167,8 @@
|
||||
# https://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt
|
||||
# Samples: https://www.loci.wisc.edu/software/sample-data
|
||||
14 uleshort <2
|
||||
|
@ -6,7 +6,7 @@ Index: src/apprentice.c
|
||||
===================================================================
|
||||
--- src/apprentice.c.orig
|
||||
+++ src/apprentice.c
|
||||
@@ -2619,7 +2619,7 @@ check_format_type(const char *ptr, int t
|
||||
@@ -2623,7 +2623,7 @@ check_format_type(const char *ptr, int t
|
||||
}
|
||||
} else
|
||||
h = 0;
|
||||
|
@ -6,7 +6,7 @@ Index: magic/Magdir/archive
|
||||
===================================================================
|
||||
--- magic/Magdir/archive.orig
|
||||
+++ magic/Magdir/archive
|
||||
@@ -1421,6 +1421,11 @@
|
||||
@@ -1504,6 +1504,11 @@
|
||||
0 string PK\x07\x08PK\x03\x04 Zip multi-volume archive data, at least PKZIP v2.50 to extract
|
||||
!:mime application/zip
|
||||
!:ext zip/cbz
|
||||
|
@ -6,7 +6,7 @@ Index: src/readelf.c
|
||||
===================================================================
|
||||
--- src/readelf.c.orig
|
||||
+++ src/readelf.c
|
||||
@@ -825,7 +825,7 @@ do_core_note(struct magic_set *ms, unsig
|
||||
@@ -828,7 +828,7 @@ do_core_note(struct magic_set *ms, unsig
|
||||
|
||||
default:
|
||||
if (type == NT_PRPSINFO && *flags & FLAGS_IS_CORE) {
|
||||
@ -15,7 +15,7 @@ Index: src/readelf.c
|
||||
unsigned char c;
|
||||
/*
|
||||
* Extract the program name. We assume
|
||||
@@ -837,7 +837,9 @@ do_core_note(struct magic_set *ms, unsig
|
||||
@@ -840,7 +840,9 @@ do_core_note(struct magic_set *ms, unsig
|
||||
* If the characters aren't all printable,
|
||||
* reject it.
|
||||
*/
|
||||
|
@ -17,7 +17,7 @@ Index: file-5.43/magic/Magdir/filesystems
|
||||
===================================================================
|
||||
--- file-5.43.orig/magic/Magdir/filesystems
|
||||
+++ file-5.43/magic/Magdir/filesystems
|
||||
@@ -2302,20 +2302,29 @@
|
||||
@@ -2257,20 +2257,29 @@
|
||||
>>0x10060 string >\0 lockproto %s)
|
||||
|
||||
# Russell Coker <russell@coker.com.au>
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8c8015e91ae0e8d0321d94c78239892ef9dbc70c4ade0008c0e95894abfb1991
|
||||
size 1162786
|
@ -1,6 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iF0EABECAB0WIQS+BJlbqPkO0MDBdsRxESqxbLM7OgUCYyDSYwAKCRBxESqxbLM7
|
||||
Oq5DAJ4i24Hoo/BQ/twN6reZthvb2VyUsQCfb4+yj6JJW5C0fA++P/KYbrJChug=
|
||||
=3+aN
|
||||
-----END PGP SIGNATURE-----
|
@ -9,10 +9,8 @@
|
||||
src/dcore.c | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
8 files changed, 313 insertions(+), 68 deletions(-)
|
||||
|
||||
Index: magic/Magdir/elf
|
||||
===================================================================
|
||||
--- magic/Magdir/elf.orig
|
||||
+++ magic/Magdir/elf
|
||||
--- magic/Magdir/elf
|
||||
+++ magic/Magdir/elf 2023-01-09 14:36:25.751054574 +0000
|
||||
@@ -152,7 +152,7 @@
|
||||
>18 leshort 47 Renesas H8/300H,
|
||||
>18 leshort 48 Renesas H8S,
|
||||
@ -22,10 +20,8 @@ Index: magic/Magdir/elf
|
||||
>18 leshort 51 Stanford MIPS-X,
|
||||
>18 leshort 52 Motorola Coldfire,
|
||||
>18 leshort 53 Motorola M68HC12,
|
||||
Index: magic/Magdir/linux
|
||||
===================================================================
|
||||
--- magic/Magdir/linux.orig
|
||||
+++ magic/Magdir/linux
|
||||
--- magic/Magdir/linux
|
||||
+++ magic/Magdir/linux 2023-01-09 14:36:25.751054574 +0000
|
||||
@@ -140,27 +140,31 @@
|
||||
# All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29
|
||||
# Linux kernel boot images (i386 arch) (Wolfram Kleff)
|
||||
@ -74,21 +70,17 @@ Index: magic/Magdir/linux
|
||||
# This also matches new kernels, which were caught above by "HdrS".
|
||||
0 belong 0xb8c0078e Linux kernel
|
||||
>0x1e3 string Loading version 1.3.79 or older
|
||||
Index: magic/Magdir/msad
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ magic/Magdir/msad
|
||||
--- magic/Magdir/msad
|
||||
+++ magic/Magdir/msad 2023-01-09 14:36:25.751054574 +0000
|
||||
@@ -0,0 +1,5 @@
|
||||
+#------------------------------------------------------------------------------
|
||||
+# msad: file(1) magic for msad
|
||||
+# Microsoft visual C
|
||||
+# This must precede the heuristic for raw G3 data
|
||||
+4 string Standard\ Jet\ DB Microsoft Access Database
|
||||
Index: magic/Magdir/msdos
|
||||
===================================================================
|
||||
--- magic/Magdir/msdos.orig
|
||||
+++ magic/Magdir/msdos
|
||||
@@ -145,9 +145,9 @@
|
||||
--- magic/Magdir/msdos
|
||||
+++ magic/Magdir/msdos 2023-01-09 14:36:25.751054574 +0000
|
||||
@@ -296,9 +296,9 @@
|
||||
>>(0x3c.l+22) leshort&0x0200 >0 (stripped to external PDB)
|
||||
>>(0x3c.l+22) leshort&0x1000 >0 system file
|
||||
>>(0x3c.l+24) leshort 0x010b
|
||||
@ -100,7 +92,7 @@ Index: magic/Magdir/msdos
|
||||
|
||||
# hooray, there's a DOS extender using the PE format, with a valid PE
|
||||
# executable inside (which just prints a message and exits if run in win)
|
||||
@@ -750,7 +750,7 @@
|
||||
@@ -1020,7 +1020,7 @@
|
||||
>1 leshort <-259
|
||||
# that offset must be accessible
|
||||
# add 10000h to jump at end of 64 KiB segment, add 1 for jump instruction and 2 for 16-bit offset
|
||||
@ -109,10 +101,8 @@ Index: magic/Magdir/msdos
|
||||
# after jump next instruction for DEBUGGING!
|
||||
#>>>&-1 ubelong x \b, NEXT instruction %#8.8x
|
||||
>>>0 use msdos-com
|
||||
Index: magic/Makefile.am
|
||||
===================================================================
|
||||
--- magic/Makefile.am.orig
|
||||
+++ magic/Makefile.am
|
||||
--- magic/Makefile.am
|
||||
+++ magic/Makefile.am 2023-01-09 14:37:10.602219227 +0000
|
||||
@@ -5,7 +5,7 @@ MAGIC_FRAGMENT_BASE = Magdir
|
||||
MAGIC_DIR = $(top_srcdir)/magic
|
||||
MAGIC_FRAGMENT_DIR = $(MAGIC_DIR)/$(MAGIC_FRAGMENT_BASE)
|
||||
@ -130,14 +120,14 @@ Index: magic/Makefile.am
|
||||
$(MAGIC_FRAGMENT_DIR)/application \
|
||||
$(MAGIC_FRAGMENT_DIR)/applix \
|
||||
$(MAGIC_FRAGMENT_DIR)/apt \
|
||||
@@ -106,7 +105,6 @@ $(MAGIC_FRAGMENT_DIR)/erlang \
|
||||
@@ -105,7 +104,6 @@ $(MAGIC_FRAGMENT_DIR)/erlang \
|
||||
$(MAGIC_FRAGMENT_DIR)/espressif \
|
||||
$(MAGIC_FRAGMENT_DIR)/esri \
|
||||
$(MAGIC_FRAGMENT_DIR)/fcs \
|
||||
-$(MAGIC_FRAGMENT_DIR)/filesystems \
|
||||
$(MAGIC_FRAGMENT_DIR)/finger \
|
||||
$(MAGIC_FRAGMENT_DIR)/firmware \
|
||||
$(MAGIC_FRAGMENT_DIR)/flash \
|
||||
$(MAGIC_FRAGMENT_DIR)/flif \
|
||||
@@ -152,6 +150,8 @@ $(MAGIC_FRAGMENT_DIR)/isz \
|
||||
$(MAGIC_FRAGMENT_DIR)/java \
|
||||
$(MAGIC_FRAGMENT_DIR)/javascript \
|
||||
@ -176,7 +166,7 @@ Index: magic/Makefile.am
|
||||
$(MAGIC_FRAGMENT_DIR)/msooxml \
|
||||
$(MAGIC_FRAGMENT_DIR)/msvc \
|
||||
$(MAGIC_FRAGMENT_DIR)/msx \
|
||||
@@ -261,6 +259,8 @@ $(MAGIC_FRAGMENT_DIR)/qt \
|
||||
@@ -262,6 +260,8 @@ $(MAGIC_FRAGMENT_DIR)/qt \
|
||||
$(MAGIC_FRAGMENT_DIR)/revision \
|
||||
$(MAGIC_FRAGMENT_DIR)/ringdove \
|
||||
$(MAGIC_FRAGMENT_DIR)/riff \
|
||||
@ -185,7 +175,7 @@ Index: magic/Makefile.am
|
||||
$(MAGIC_FRAGMENT_DIR)/rpi \
|
||||
$(MAGIC_FRAGMENT_DIR)/rpm \
|
||||
$(MAGIC_FRAGMENT_DIR)/rpmsg \
|
||||
@@ -351,9 +351,21 @@ EXTRA_DIST = \
|
||||
@@ -353,9 +353,21 @@ EXTRA_DIST = \
|
||||
$(MAGIC_DIR)/scripts/create_filemagic_flac \
|
||||
$(MAGIC_FRAGMENTS)
|
||||
|
||||
@ -209,7 +199,7 @@ Index: magic/Makefile.am
|
||||
|
||||
# FIXME: Build file natively as well so that it can be used to compile
|
||||
# the target's magic file; for now we bail if the local version does not match
|
||||
@@ -365,19 +377,22 @@ FILE_COMPILE = $(top_builddir)/src/file$
|
||||
@@ -367,19 +379,22 @@ FILE_COMPILE = $(top_builddir)/src/file$
|
||||
FILE_COMPILE_DEP = $(FILE_COMPILE)
|
||||
endif
|
||||
|
||||
@ -248,11 +238,9 @@ Index: magic/Makefile.am
|
||||
+# fi)
|
||||
+# $(FILE_COMPILE) -C -m magic
|
||||
+# @rm -fr magic
|
||||
Index: magic/Makefile.in
|
||||
===================================================================
|
||||
--- magic/Makefile.in.orig
|
||||
+++ magic/Makefile.in
|
||||
@@ -283,7 +283,7 @@ top_srcdir = @top_srcdir@
|
||||
--- magic/Makefile.in
|
||||
+++ magic/Makefile.in 2023-01-09 14:37:31.561828862 +0000
|
||||
@@ -280,7 +280,7 @@ top_srcdir = @top_srcdir@
|
||||
MAGIC_FRAGMENT_BASE = Magdir
|
||||
MAGIC_DIR = $(top_srcdir)/magic
|
||||
MAGIC_FRAGMENT_DIR = $(MAGIC_DIR)/$(MAGIC_FRAGMENT_BASE)
|
||||
@ -261,7 +249,7 @@ Index: magic/Makefile.in
|
||||
MAGIC_FRAGMENTS = \
|
||||
$(MAGIC_DIR)/Header \
|
||||
$(MAGIC_DIR)/Localstuff \
|
||||
@@ -301,7 +301,6 @@ $(MAGIC_FRAGMENT_DIR)/animation \
|
||||
@@ -298,7 +298,6 @@ $(MAGIC_FRAGMENT_DIR)/animation \
|
||||
$(MAGIC_FRAGMENT_DIR)/aout \
|
||||
$(MAGIC_FRAGMENT_DIR)/apache \
|
||||
$(MAGIC_FRAGMENT_DIR)/apl \
|
||||
@ -269,15 +257,15 @@ Index: magic/Makefile.in
|
||||
$(MAGIC_FRAGMENT_DIR)/application \
|
||||
$(MAGIC_FRAGMENT_DIR)/applix \
|
||||
$(MAGIC_FRAGMENT_DIR)/apt \
|
||||
@@ -383,7 +382,6 @@ $(MAGIC_FRAGMENT_DIR)/erlang \
|
||||
@@ -379,7 +378,6 @@ $(MAGIC_FRAGMENT_DIR)/erlang \
|
||||
$(MAGIC_FRAGMENT_DIR)/espressif \
|
||||
$(MAGIC_FRAGMENT_DIR)/esri \
|
||||
$(MAGIC_FRAGMENT_DIR)/fcs \
|
||||
-$(MAGIC_FRAGMENT_DIR)/filesystems \
|
||||
$(MAGIC_FRAGMENT_DIR)/finger \
|
||||
$(MAGIC_FRAGMENT_DIR)/firmware \
|
||||
$(MAGIC_FRAGMENT_DIR)/flash \
|
||||
$(MAGIC_FRAGMENT_DIR)/flif \
|
||||
@@ -429,6 +427,8 @@ $(MAGIC_FRAGMENT_DIR)/isz \
|
||||
@@ -426,6 +424,8 @@ $(MAGIC_FRAGMENT_DIR)/isz \
|
||||
$(MAGIC_FRAGMENT_DIR)/java \
|
||||
$(MAGIC_FRAGMENT_DIR)/javascript \
|
||||
$(MAGIC_FRAGMENT_DIR)/jpeg \
|
||||
@ -286,7 +274,7 @@ Index: magic/Makefile.in
|
||||
$(MAGIC_FRAGMENT_DIR)/karma \
|
||||
$(MAGIC_FRAGMENT_DIR)/kde \
|
||||
$(MAGIC_FRAGMENT_DIR)/keepass \
|
||||
@@ -439,7 +439,6 @@ $(MAGIC_FRAGMENT_DIR)/lammps \
|
||||
@@ -436,7 +436,6 @@ $(MAGIC_FRAGMENT_DIR)/lammps \
|
||||
$(MAGIC_FRAGMENT_DIR)/lecter \
|
||||
$(MAGIC_FRAGMENT_DIR)/lex \
|
||||
$(MAGIC_FRAGMENT_DIR)/lif \
|
||||
@ -294,7 +282,7 @@ Index: magic/Makefile.in
|
||||
$(MAGIC_FRAGMENT_DIR)/lisp \
|
||||
$(MAGIC_FRAGMENT_DIR)/llvm \
|
||||
$(MAGIC_FRAGMENT_DIR)/locoscript \
|
||||
@@ -447,7 +446,6 @@ $(MAGIC_FRAGMENT_DIR)/lua \
|
||||
@@ -444,7 +443,6 @@ $(MAGIC_FRAGMENT_DIR)/lua \
|
||||
$(MAGIC_FRAGMENT_DIR)/luks \
|
||||
$(MAGIC_FRAGMENT_DIR)/m4 \
|
||||
$(MAGIC_FRAGMENT_DIR)/mach \
|
||||
@ -302,7 +290,7 @@ Index: magic/Makefile.in
|
||||
$(MAGIC_FRAGMENT_DIR)/macos \
|
||||
$(MAGIC_FRAGMENT_DIR)/magic \
|
||||
$(MAGIC_FRAGMENT_DIR)/mail.news \
|
||||
@@ -471,11 +469,11 @@ $(MAGIC_FRAGMENT_DIR)/misctools \
|
||||
@@ -468,11 +466,11 @@ $(MAGIC_FRAGMENT_DIR)/misctools \
|
||||
$(MAGIC_FRAGMENT_DIR)/mkid \
|
||||
$(MAGIC_FRAGMENT_DIR)/mlssa \
|
||||
$(MAGIC_FRAGMENT_DIR)/mmdf \
|
||||
@ -315,7 +303,7 @@ Index: magic/Makefile.in
|
||||
$(MAGIC_FRAGMENT_DIR)/msooxml \
|
||||
$(MAGIC_FRAGMENT_DIR)/msvc \
|
||||
$(MAGIC_FRAGMENT_DIR)/msx \
|
||||
@@ -538,6 +536,8 @@ $(MAGIC_FRAGMENT_DIR)/qt \
|
||||
@@ -536,6 +534,8 @@ $(MAGIC_FRAGMENT_DIR)/qt \
|
||||
$(MAGIC_FRAGMENT_DIR)/revision \
|
||||
$(MAGIC_FRAGMENT_DIR)/ringdove \
|
||||
$(MAGIC_FRAGMENT_DIR)/riff \
|
||||
@ -324,7 +312,7 @@ Index: magic/Makefile.in
|
||||
$(MAGIC_FRAGMENT_DIR)/rpi \
|
||||
$(MAGIC_FRAGMENT_DIR)/rpm \
|
||||
$(MAGIC_FRAGMENT_DIR)/rpmsg \
|
||||
@@ -628,10 +628,22 @@ EXTRA_DIST = \
|
||||
@@ -627,10 +627,22 @@ EXTRA_DIST = \
|
||||
$(MAGIC_DIR)/scripts/create_filemagic_flac \
|
||||
$(MAGIC_FRAGMENTS)
|
||||
|
||||
@ -390,20 +378,16 @@ Index: magic/Makefile.in
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
Index: src/Makefile.am
|
||||
===================================================================
|
||||
--- src/Makefile.am.orig
|
||||
+++ src/Makefile.am
|
||||
--- src/Makefile.am
|
||||
+++ src/Makefile.am 2023-01-09 14:36:25.751054574 +0000
|
||||
@@ -1,4 +1,4 @@
|
||||
-MAGIC = $(pkgdatadir)/magic
|
||||
+MAGIC = $(sysconfdir)/magic:$(pkgdatadir)/magic
|
||||
lib_LTLIBRARIES = libmagic.la
|
||||
nodist_include_HEADERS = magic.h
|
||||
|
||||
Index: src/dcore.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ src/dcore.c
|
||||
--- src/dcore.c
|
||||
+++ src/dcore.c 2023-01-09 14:36:25.751054574 +0000
|
||||
@@ -0,0 +1,207 @@
|
||||
+/*
|
||||
+ * Show goo about ELF core files
|
BIN
file-5.44.tar.gz
(Stored with Git LFS)
Normal file
BIN
file-5.44.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
6
file-5.44.tar.gz.asc
Normal file
6
file-5.44.tar.gz.asc
Normal file
@ -0,0 +1,6 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iF0EABECAB0WIQS+BJlbqPkO0MDBdsRxESqxbLM7OgUCY6nndwAKCRBxESqxbLM7
|
||||
OiUWAJ9ygauXJ3pohF38SQuLYu+J8qayuwCeIFPcEukUyNuYv04B9FIXkumreI8=
|
||||
=/CFO
|
||||
-----END PGP SIGNATURE-----
|
@ -6,7 +6,7 @@
|
||||
|
||||
--- file-5.42/configure.ac
|
||||
+++ file-5.42/configure.ac 2022-06-13 08:34:50.347521415 +0000
|
||||
@@ -122,6 +122,8 @@ if test "$enable_xzlib" != "no"; then
|
||||
@@ -130,6 +130,8 @@ if test "$enable_xzlib" != "no"; then
|
||||
fi
|
||||
AC_CHECK_TYPE([sig_t],[AC_DEFINE([HAVE_SIG_T],1,[Have sig_t type])],,[#include <signal.h>])
|
||||
|
||||
|
179
file-zstd.patch
179
file-zstd.patch
@ -1,179 +0,0 @@
|
||||
Uses the streaming decompression API of libzstd to obtain inflated info for
|
||||
magic processing from Zstandard compressed data.
|
||||
---
|
||||
configure.ac | 19 ++++++++++++++
|
||||
src/compress.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 87 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ffbe0f69..9172be9d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -49,6 +49,11 @@ AC_ARG_ENABLE([xzlib],
|
||||
[AS_HELP_STRING([--disable-xzlib], [disable liblzma/xz compression support @<:@default=auto@:>@])])
|
||||
AC_MSG_RESULT($enable_xzlib)
|
||||
|
||||
+AC_MSG_CHECKING(for zstdlib support)
|
||||
+AC_ARG_ENABLE([zstdlib],
|
||||
+[AS_HELP_STRING([--disable-zstdlib], [disable zstdlib compression support @<:@default=auto@:>@])])
|
||||
+AC_MSG_RESULT($enable_zstdlib)
|
||||
+
|
||||
AC_MSG_CHECKING(for libseccomp support)
|
||||
AC_ARG_ENABLE([libseccomp],
|
||||
[AS_HELP_STRING([--disable-libseccomp], [disable libseccomp sandboxing @<:@default=auto@:>@])])
|
||||
@@ -112,6 +117,9 @@ fi
|
||||
if test "$enable_xzlib" != "no"; then
|
||||
AC_CHECK_HEADERS(lzma.h)
|
||||
fi
|
||||
+if test "$enable_zstdlib" != "no"; then
|
||||
+ AC_CHECK_HEADERS(zstd.h zstd_errors.h)
|
||||
+fi
|
||||
AC_CHECK_TYPE([sig_t],[AC_DEFINE([HAVE_SIG_T],1,[Have sig_t type])],,[#include <signal.h>])
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
@@ -180,6 +188,9 @@ fi
|
||||
if test "$enable_xzlib" != "no"; then
|
||||
AC_CHECK_LIB(lzma, lzma_stream_decoder)
|
||||
fi
|
||||
+if test "$enable_zstdlib" != "no"; then
|
||||
+ AC_CHECK_LIB(zstd, ZSTD_createDStream)
|
||||
+fi
|
||||
if test "$enable_libseccomp" != "no"; then
|
||||
AC_CHECK_LIB(seccomp, seccomp_init)
|
||||
fi
|
||||
@@ -215,6 +226,14 @@ fi
|
||||
if test "$ac_cv_header_lzma_h$ac_cv_lib_lzma_lzma_stream_decoder" = "yesyes"; then
|
||||
AC_DEFINE([XZLIBSUPPORT], 1, [Enable xzlib compression support])
|
||||
fi
|
||||
+if test "$enable_zstdlib" = "yes"; then
|
||||
+ if test "$ac_cv_header_zstd_h$ac_cv_lib_zstd_ZSTD_createDStream" != "yesyes"; then
|
||||
+ AC_MSG_ERROR([zstdlib support requested but not found])
|
||||
+ fi
|
||||
+fi
|
||||
+if test "$ac_cv_header_zstd_h$ac_cv_lib_zstd_ZSTD_createDStream" = "yesyes"; then
|
||||
+ AC_DEFINE([ZSTDLIBSUPPORT], 1, [Enable zstdlib compression support])
|
||||
+fi
|
||||
|
||||
AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile libmagic.pc])
|
||||
AC_OUTPUT
|
||||
diff --git a/src/compress.c b/src/compress.c
|
||||
index 113077ae..abb8e766 100644
|
||||
--- a/src/compress.c
|
||||
+++ b/src/compress.c
|
||||
@@ -79,6 +79,12 @@ typedef void (*sig_t)(int);
|
||||
#include <lzma.h>
|
||||
#endif
|
||||
|
||||
+#if defined(HAVE_ZSTD_H) && defined(ZSTDLIBSUPPORT)
|
||||
+#define BUILTIN_ZSTDLIB
|
||||
+#include <zstd.h>
|
||||
+#include <zstd_errors.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef DEBUG
|
||||
int tty = -1;
|
||||
#define DPRINTF(...) do { \
|
||||
@@ -175,6 +181,7 @@ private const struct {
|
||||
#define METH_FROZEN 2
|
||||
#define METH_BZIP 7
|
||||
#define METH_XZ 9
|
||||
+#define METH_ZSTD 12
|
||||
#define METH_LZMA 13
|
||||
#define METH_ZLIB 14
|
||||
{ { .magic = "\037\235" }, 2, gzip_args, NULL }, /* 0, compressed */
|
||||
@@ -223,6 +230,10 @@ private int uncompressbzlib(const unsigned char *, unsigned char **, size_t,
|
||||
private int uncompressxzlib(const unsigned char *, unsigned char **, size_t,
|
||||
size_t *);
|
||||
#endif
|
||||
+#ifdef BUILTIN_ZSTDLIB
|
||||
+private int uncompresszstd(const unsigned char *, unsigned char **, size_t,
|
||||
+ size_t *);
|
||||
+#endif
|
||||
|
||||
static int makeerror(unsigned char **, size_t *, const char *, ...)
|
||||
__attribute__((__format__(__printf__, 3, 4)));
|
||||
@@ -697,6 +708,55 @@ err:
|
||||
}
|
||||
#endif
|
||||
|
||||
+#ifdef BUILTIN_ZSTDLIB
|
||||
+private int
|
||||
+uncompresszstd(const unsigned char *old, unsigned char **newch,
|
||||
+ size_t bytes_max, size_t *n)
|
||||
+{
|
||||
+ size_t rc;
|
||||
+ ZSTD_DStream *zstd;
|
||||
+ ZSTD_inBuffer in;
|
||||
+ ZSTD_outBuffer out;
|
||||
+
|
||||
+ if ((zstd = ZSTD_createDStream()) == NULL)
|
||||
+ return makeerror(newch, n, "No ZSTD decompression stream, %s", strerror(errno));
|
||||
+
|
||||
+ rc = ZSTD_DCtx_reset(zstd, ZSTD_reset_session_only);
|
||||
+ if (ZSTD_isError(rc))
|
||||
+ goto err;
|
||||
+
|
||||
+ if ((*newch = CAST(unsigned char *, malloc(bytes_max + 1))) == NULL) {
|
||||
+ ZSTD_freeDStream(zstd);
|
||||
+ return makeerror(newch, n, "No buffer, %s", strerror(errno));
|
||||
+ }
|
||||
+
|
||||
+ in.src = CCAST(const void *, old);
|
||||
+ in.size = *n;
|
||||
+ in.pos = 0;
|
||||
+ out.dst = RCAST(void *, *newch);
|
||||
+ out.size = bytes_max;
|
||||
+ out.pos = 0;
|
||||
+
|
||||
+ rc = ZSTD_decompressStream(zstd, &out, &in);
|
||||
+ if (ZSTD_isError(rc))
|
||||
+ goto err;
|
||||
+
|
||||
+ *n = out.pos;
|
||||
+
|
||||
+ ZSTD_freeDStream(zstd);
|
||||
+
|
||||
+ /* let's keep the nul-terminate tradition */
|
||||
+ (*newch)[*n] = '\0';
|
||||
+
|
||||
+ return OKDATA;
|
||||
+err:
|
||||
+ ZSTD_freeDStream(zstd);
|
||||
+ snprintf(RCAST(char *, *newch), bytes_max, "zstd error %d", ZSTD_getErrorCode(rc));
|
||||
+ *n = strlen(RCAST(char *, *newch));
|
||||
+ return ERRDATA;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
|
||||
static int
|
||||
makeerror(unsigned char **buf, size_t *len, const char *fmt, ...)
|
||||
@@ -863,6 +923,10 @@ methodname(size_t method)
|
||||
case METH_XZ:
|
||||
case METH_LZMA:
|
||||
return "xzlib";
|
||||
+#endif
|
||||
+#ifdef BUILTIN_ZSTDLIB
|
||||
+ case METH_ZSTD:
|
||||
+ return "zstd";
|
||||
#endif
|
||||
default:
|
||||
return compr[method].argv[0];
|
||||
@@ -899,6 +963,10 @@ uncompressbuf(int fd, size_t bytes_max, size_t method, const unsigned char *old,
|
||||
case METH_XZ:
|
||||
case METH_LZMA:
|
||||
return uncompressxzlib(old, newch, bytes_max, n);
|
||||
+#endif
|
||||
+#ifdef BUILTIN_ZSTDLIB
|
||||
+ case METH_ZSTD:
|
||||
+ return uncompresszstd(old, newch, bytes_max, n);
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
--
|
||||
2.37.3
|
||||
|
||||
--
|
||||
File mailing list
|
||||
File@astron.com
|
||||
https://mailman.astron.com/mailman/listinfo/file
|
34
file.changes
34
file.changes
@ -1,3 +1,37 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 11 13:06:56 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- Add patch dc71304b.patch
|
||||
* Handle script executable Zip archives
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 10 13:28:51 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- Use [Pp]atch0 explicit to avoid warning as python.magic build time
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 9 14:30:30 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- Modifying patches
|
||||
* file-5.22-elf.dif
|
||||
* file-5.19-printf.dif
|
||||
* file-5.19-zip2.0.dif
|
||||
* file-5.19-biorad.dif
|
||||
* file-secure_getenv.patch
|
||||
* file-5.28-btrfs-image.dif
|
||||
- Remove patch file-zstd.patch now upstream
|
||||
- Port patch file-5.42.dif and rename it to file-5.44.dif
|
||||
- Update to 5.44:
|
||||
* Handle nan's so that we don't get internal floating point exceptions
|
||||
when they are enabled (Vincent Mihalkovic)
|
||||
* PR/397: Restore the ability to process files from stdin immediately.
|
||||
* fixed various clustefuzz issues
|
||||
* Fix error detection for decompression code (Vincent Mihalkovic)
|
||||
* Add MAGIC_NO_COMPRESS_FORK and use it to produce a more
|
||||
meaningful error message if we are sandboxing.
|
||||
* Add built-in lzip decompression support (Michal Gorny)
|
||||
* Add built-in zstd decompression support (Martin Rodriguez Reboredo)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 14 08:58:50 UTC 2022 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
|
19
file.spec
19
file.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package file
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -34,17 +34,17 @@ Obsoletes: file-64bit
|
||||
%endif
|
||||
#
|
||||
# Set Version also in python-magic.spec
|
||||
Version: 5.43
|
||||
Version: 5.44
|
||||
Release: 0
|
||||
Summary: A Tool to Determine File Types
|
||||
License: BSD-2-Clause
|
||||
Group: Productivity/File utilities
|
||||
Source0: ftp://ftp.astron.com/pub/file/file-%{version}.tar.gz
|
||||
Source0: https://www.astron.com/pub/file/file-%{version}.tar.gz
|
||||
Source2: baselibs.conf
|
||||
Source3: file-rpmlintrc
|
||||
Source4: ftp://ftp.astron.com/pub/file/file-%{version}.tar.gz.asc
|
||||
Source4: https://www.astron.com/pub/file/file-%{version}.tar.gz.asc
|
||||
Source5: file.keyring
|
||||
Patch: file-5.42.dif
|
||||
Patch0: file-5.44.dif
|
||||
Patch1: file-5.19-misc.dif
|
||||
Patch4: file-4.24-autoconf.dif
|
||||
Patch5: file-5.14-tex.dif
|
||||
@ -63,8 +63,8 @@ Patch31: file-5.19-biorad.dif
|
||||
Patch32: file-5.19-clicfs.dif
|
||||
Patch37: file-secure_getenv.patch
|
||||
Patch39: file-5.28-btrfs-image.dif
|
||||
# Upstream mailing list
|
||||
Patch42: file-zstd.patch
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch42: dc71304b.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%global _sysconfdir /etc
|
||||
%global magicdir %{_datadir}/file
|
||||
@ -109,7 +109,7 @@ to develop applications that require the magic "file" interface.
|
||||
|
||||
%prep
|
||||
%setup -q -n file-%{version}
|
||||
%patch42 -p1
|
||||
%patch42 -p0
|
||||
%patch1 -p0 -b .misc
|
||||
%patch4 -p0 -b .conf
|
||||
%patch5 -p0 -b .tex
|
||||
@ -128,8 +128,7 @@ to develop applications that require the magic "file" interface.
|
||||
%patch32 -p0 -b .clicfs
|
||||
%patch37 -p1 -b .getenv
|
||||
%patch39 -p1 -b .btrfs
|
||||
|
||||
%patch -b .0
|
||||
%patch0 -b .0
|
||||
test -s src/magic.h.in || cp -p src/magic.h src/magic.h.in
|
||||
rm -fv src/magic.h
|
||||
|
||||
|
@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 10 13:28:15 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- Enable tests for python-magic (not python-python-magic)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 10 08:29:12 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- Run pre_checkin.sh to get correct source tar ball
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 9 14:29:09 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- Update to 5.44
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 12 08:58:58 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
@ -17,7 +32,7 @@ Sat Mar 19 18:01:52 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 19 09:55:47 UTC 2021 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- Update to 5.41
|
||||
- Update to 5.41
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 3 07:32:11 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-magic
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -21,13 +21,14 @@
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%global _miscdir %{_datadir}/misc
|
||||
Name: python-magic
|
||||
Version: 5.43
|
||||
Version: 5.44
|
||||
Release: 0
|
||||
Summary: Python module to use libmagic
|
||||
License: BSD-3-Clause AND BSD-4-Clause
|
||||
Group: Development/Languages/Python
|
||||
URL: https://www.darwinsys.com/file/
|
||||
Source99: file.spec
|
||||
BuildRequires: %{python_module devel}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: findutils
|
||||
BuildRequires: libtool
|
||||
@ -55,6 +56,15 @@ pushd python
|
||||
%python_install
|
||||
popd
|
||||
|
||||
%check
|
||||
export LC_ALL=C.UTF-8
|
||||
pushd python
|
||||
%python_flavored_alternatives
|
||||
%{python_expand # indicate a writeable .pth directory for tests
|
||||
python%{$python_version} setup.py test
|
||||
}
|
||||
popd
|
||||
|
||||
%files %{python_files}
|
||||
%doc python/README python/example.py
|
||||
%{python_sitelib}/magic.py*
|
||||
|
Loading…
Reference in New Issue
Block a user