Hello community, here is the log from the commit of package file for openSUSE:Factory checked in at 2014-10-15 16:19:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/file (Old) and /work/SRC/openSUSE:Factory/.file.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "file" Changes: -------- --- /work/SRC/openSUSE:Factory/file/file.changes 2014-08-20 10:50:48.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.file.new/file.changes 2014-10-15 16:19:58.000000000 +0200 @@ -1,0 +2,12 @@ +Mon Oct 13 10:57:42 UTC 2014 - [email protected] + +- Update to file version 5.20 + * recognize encrypted CDF documents + * add magic_load_buffers from Brooks Davis + * add thumbs.db support +- Remove file-5.07-iso9660.dif as now upstream +- Remove file-5.19-gdbm.patch as now upstream +- Adapt and rename file-5.18-endian.patch to file-5.20-endian.patch +- Adapt and rename file-5.19.dif file-5.20.dif + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/file/python-magic.changes 2014-06-26 15:07:12.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.file.new/python-magic.changes 2014-10-15 16:19:58.000000000 +0200 @@ -1,0 +2,5 @@ +Mon Oct 13 13:19:32 UTC 2014 - [email protected] + +- adapt version in specfile to 5.20 + +------------------------------------------------------------------- Old: ---- file-5.07-iso9660.dif file-5.18-endian.patch file-5.19-gdbm.patch file-5.19.dif file-5.19.tar.gz New: ---- file-5.20-endian.patch file-5.20.dif file-5.20.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ file.spec ++++++ --- /var/tmp/diff_new_pack.b3DPlO/_old 2014-10-15 16:19:59.000000000 +0200 +++ /var/tmp/diff_new_pack.b3DPlO/_new 2014-10-15 16:19:59.000000000 +0200 @@ -30,7 +30,7 @@ %endif # # Set Version also in python-magic.spec -Version: 5.19 +Version: 5.20 Release: 0 Summary: A Tool to Determine File Types License: BSD-2-Clause @@ -38,7 +38,7 @@ Source: ftp://ftp.astron.com/pub/file/file-%{version}.tar.gz Source2: baselibs.conf Source3: file-rpmlintrc -Patch: file-5.19.dif +Patch: file-5.20.dif Patch1: file-5.19-misc.dif Patch4: file-4.24-autoconf.dif Patch5: file-5.14-tex.dif @@ -55,15 +55,13 @@ Patch25: file-5.18-javacheck.dif Patch26: file-5.19-solv.dif Patch27: file-5.19-zip2.0.dif -Patch28: file-5.07-iso9660.dif Patch31: file-5.19-biorad.dif Patch32: file-5.19-clicfs.dif Patch33: file-5.16-ocloexec.patch -Patch34: file-5.18-endian.patch +Patch34: file-5.20-endian.patch Patch35: file-5.12-nitpick.dif Patch36: file-5.15-clear-invalid.patch Patch37: file-secure_getenv.patch -Patch38: file-5.19-gdbm.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global _miscdir %{_datadir}/misc @@ -122,7 +120,6 @@ %patch25 -p0 -b .javacheck %patch26 -p0 -b .solv %patch27 -p0 -b .zip2.0 -%patch28 -p0 -b .iso9600 %patch31 -p0 -b .biorad %patch32 -p0 -b .clicfs %patch33 -p0 -b .clexe @@ -130,7 +127,6 @@ %patch35 -p0 -b .nitpick %patch36 -p1 -b .clear %patch37 -p1 -b .getenv -%patch38 -p0 -b .gdbm %patch -b .0 test -s src/magic.h.in || cp -p src/magic.h src/magic.h.in ++++++ python-magic.spec ++++++ --- /var/tmp/diff_new_pack.b3DPlO/_old 2014-10-15 16:19:59.000000000 +0200 +++ /var/tmp/diff_new_pack.b3DPlO/_new 2014-10-15 16:19:59.000000000 +0200 @@ -23,7 +23,7 @@ BuildRequires: python-devel BuildRequires: zlib-devel Url: http://www.darwinsys.com/file/ -Version: 5.19 +Version: 5.20 Release: 0 Summary: Python module to use libmagic License: BSD-3-Clause and BSD-4-Clause ++++++ file-5.18-endian.patch -> file-5.20-endian.patch ++++++ --- /work/SRC/openSUSE:Factory/file/file-5.18-endian.patch 2014-04-06 09:56:12.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.file.new/file-5.20-endian.patch 2014-10-15 16:19:57.000000000 +0200 @@ -1,5 +1,10 @@ +--- + src/apprentice.c | 70 ++++--------------------------------------------------- + src/cdf.c | 54 +++--------------------------------------- + 2 files changed, 10 insertions(+), 114 deletions(-) + --- src/apprentice.c -+++ src/apprentice.c 2014-03-28 10:17:46.310235050 +0000 ++++ src/apprentice.c 2014-10-13 11:02:16.023878187 +0000 @@ -54,6 +54,7 @@ FILE_RCSID("@(#)$File: apprentice.c,v 1. #if defined(HAVE_LIMITS_H) #include <limits.h> @@ -8,7 +13,7 @@ #ifndef SSIZE_MAX #define MAXMAGIC_SIZE ((ssize_t)0x7fffffff) -@@ -127,9 +128,11 @@ private struct mlist *mlist_alloc(void); +@@ -132,9 +133,11 @@ private struct mlist *mlist_alloc(void); private void mlist_free(struct mlist *); private void byteswap(struct magic *, uint32_t); private void bs1(struct magic *); @@ -16,14 +21,14 @@ -private uint32_t swap4(uint32_t); -private uint64_t swap8(uint64_t); + -+#define swap2(x) bswap_16(x) -+#define swap4(x) bswap_32(x) -+#define swap8(x) bswap_64(x) ++#define swap2(x) bswap_16(x) ++#define swap4(x) bswap_32(x) ++#define swap8(x) bswap_64(x) + private char *mkdbname(struct magic_set *, const char *, int); - private struct magic_map *apprentice_map(struct magic_set *, const char *); - private void apprentice_unmap(struct magic_map *); -@@ -2882,67 +2885,6 @@ byteswap(struct magic *magic, uint32_t n + private struct magic_map *apprentice_buf(struct magic_set *, struct magic *, + size_t); +@@ -3031,67 +3034,6 @@ byteswap(struct magic *magic, uint32_t n } /* @@ -92,8 +97,8 @@ */ private void --- src/cdf.c -+++ src/cdf.c 2013-09-30 00:00:00.000000000 +0000 -@@ -50,6 +50,7 @@ FILE_RCSID("@(#)$File: cdf.c,v 1.55 2014 ++++ src/cdf.c 2014-10-13 11:00:50.524206235 +0000 +@@ -50,6 +50,7 @@ FILE_RCSID("@(#)$File: cdf.c,v 1.67 2014 #ifdef HAVE_LIMITS_H #include <limits.h> #endif @@ -101,8 +106,8 @@ #ifndef EFTYPE #define EFTYPE EINVAL -@@ -75,56 +76,9 @@ static union { - #define CDF_TOLE2(x) ((uint16_t)(NEED_SWAP ? _cdf_tole2(x) : (uint16_t)(x))) +@@ -77,56 +78,9 @@ static union { + CDF_TOLE4(x) : CDF_TOLE8(x))) #define CDF_GETUINT32(x, y) cdf_getuint32(x, y) - ++++++ file-5.07-iso9660.dif -> file-5.20.dif ++++++ --- /work/SRC/openSUSE:Factory/file/file-5.07-iso9660.dif 2013-10-02 08:48:17.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.file.new/file-5.20.dif 2014-10-15 16:19:57.000000000 +0200 @@ -1,10 +1,581 @@ ---- magic/Magdir/filesystems -+++ magic/Magdir/filesystems 2013-09-30 00:00:00.000000000 +0000 -@@ -1946,6 +1946,7 @@ - 32769 string CD001 # - !:mime application/x-iso9660-image - >38913 string !NSR0 ISO 9660 CD-ROM filesystem data -+!:mime application/x-iso9660-image - >38913 string NSR0 UDF filesystem data - >>38917 string 1 (version 1.0) - >>38917 string 2 (version 1.5) +--- + magic/Magdir/elf | 2 + magic/Magdir/linux | 36 +++++---- + magic/Magdir/msad | 5 + + magic/Magdir/msdos | 4 - + magic/Makefile.am | 61 +++++++++------ + magic/Makefile.in | 60 +++++++++------ + src/Makefile.am | 2 + src/dcore.c | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 8 files changed, 311 insertions(+), 66 deletions(-) + +--- magic/Magdir/elf ++++ magic/Magdir/elf 2013-09-30 00:00:00.000000000 +0000 +@@ -128,7 +128,7 @@ + >18 leshort 47 Renesas H8/300H, + >18 leshort 48 Renesas H8S, + >18 leshort 49 Renesas H8/500, +->18 leshort 50 IA-64, ++>18 leshort 50 IA-64 (Intel 64 bit architecture), + >18 leshort 51 Stanford MIPS-X, + >18 leshort 52 Motorola Coldfire, + >18 leshort 53 Motorola M68HC12, +--- magic/Magdir/linux ++++ magic/Magdir/linux 2013-12-02 11:09:39.000000000 +0000 +@@ -101,23 +101,27 @@ + # and Nicolas Lichtmaier <[email protected]> + # 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) +-514 string HdrS Linux kernel ++514 string HdrS Linux + !:strength + 55 +->510 leshort 0xAA55 x86 boot executable +->>518 leshort >0x1ff +->>>529 byte 0 zImage, +->>>529 byte 1 bzImage, +->>>526 lelong >0 +->>>>(526.s+0x200) string >\0 version %s, +->>498 leshort 1 RO-rootFS, +->>498 leshort 0 RW-rootFS, +->>508 leshort >0 root_dev 0x%X, +->>502 leshort >0 swap_dev 0x%X, +->>504 leshort >0 RAMdisksize %u KB, +->>506 leshort 0xFFFF Normal VGA +->>506 leshort 0xFFFE Extended VGA +->>506 leshort 0xFFFD Prompt for Videomode +->>506 leshort >0 Video mode %d ++>510 leshort 0xAA55 \b/x86 Kernel ++>510 leshort <0xAA55 Kernel ++>510 leshort >0xAA55 Kernel ++>518 leshort 0x0105 \b, Setup Version 0x105, zImage ++>518 leshort >0x0105 \b, Setup Version %#x ++>518 leshort >0x1ff ++>>529 byte 0 \b, zImage ++>>529 byte 1 \b, bzImage ++>>526 lelong >0 ++>>>(526.s+0x200) string >\0 \b, Version %s ++>>498 leshort 1 \b, RO-rootFS ++>>498 leshort 0 \b, RW-rootFS ++>>508 leshort >0 \b, root_dev 0x%X ++>>502 leshort >0 \b, swap_dev 0x%X ++>>504 leshort >0 \b, RAMdisksize %u KB ++>>506 leshort 0xFFFF \b, Normal VGA ++>>506 leshort 0xFFFE \b, Extended VGA ++>>506 leshort 0xFFFD \b, Prompt for Videomode ++>>506 leshort >0 \b, Video mode %d + # 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 +--- magic/Magdir/msad ++++ magic/Magdir/msad 2013-09-30 00:00:00.000000000 +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 +--- magic/Magdir/msdos ++++ magic/Magdir/msdos 2013-09-30 00:00:00.000000000 +0000 +@@ -100,9 +100,9 @@ + >>>(0x3c.l+22) leshort&0x0200 >0 (stripped to external PDB) + >>>(0x3c.l+22) leshort&0x1000 >0 system file + >>>(0x3c.l+24) leshort 0x010b +->>>>(0x3c.l+232) lelong >0 Mono/.Net assembly ++>>>>(0x3c.l+232) lelong >0 \b, Mono/.Net assembly + >>>(0x3c.l+24) leshort 0x020b +->>>>(0x3c.l+248) lelong >0 Mono/.Net assembly ++>>>>(0x3c.l+248) lelong >0 \b, Mono/.Net assembly + + # 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) +--- magic/Makefile.am ++++ magic/Makefile.am 2014-10-13 11:06:01.852337743 +0000 +@@ -5,7 +5,7 @@ MAGIC_FRAGMENT_BASE = Magdir + MAGIC_DIR = $(top_srcdir)/magic + MAGIC_FRAGMENT_DIR = $(MAGIC_DIR)/$(MAGIC_FRAGMENT_BASE) + +-pkgdata_DATA = magic.mgc ++pkgdata_DATA = magic.mgc magic + + EXTRA_DIST = \ + $(MAGIC_DIR)/Header \ +@@ -21,7 +21,6 @@ $(MAGIC_FRAGMENT_DIR)/android \ + $(MAGIC_FRAGMENT_DIR)/animation \ + $(MAGIC_FRAGMENT_DIR)/aout \ + $(MAGIC_FRAGMENT_DIR)/apl \ +-$(MAGIC_FRAGMENT_DIR)/apple \ + $(MAGIC_FRAGMENT_DIR)/applix \ + $(MAGIC_FRAGMENT_DIR)/archive \ + $(MAGIC_FRAGMENT_DIR)/assembler \ +@@ -76,7 +75,6 @@ $(MAGIC_FRAGMENT_DIR)/epoc \ + $(MAGIC_FRAGMENT_DIR)/erlang \ + $(MAGIC_FRAGMENT_DIR)/esri \ + $(MAGIC_FRAGMENT_DIR)/fcs \ +-$(MAGIC_FRAGMENT_DIR)/filesystems \ + $(MAGIC_FRAGMENT_DIR)/flash \ + $(MAGIC_FRAGMENT_DIR)/fonts \ + $(MAGIC_FRAGMENT_DIR)/fortran \ +@@ -114,6 +112,8 @@ $(MAGIC_FRAGMENT_DIR)/isz \ + $(MAGIC_FRAGMENT_DIR)/java \ + $(MAGIC_FRAGMENT_DIR)/javascript \ + $(MAGIC_FRAGMENT_DIR)/jpeg \ ++$(MAGIC_FRAGMENT_DIR)/linux \ ++$(MAGIC_FRAGMENT_DIR)/filesystems \ + $(MAGIC_FRAGMENT_DIR)/karma \ + $(MAGIC_FRAGMENT_DIR)/kde \ + $(MAGIC_FRAGMENT_DIR)/keepass \ +@@ -121,7 +121,6 @@ $(MAGIC_FRAGMENT_DIR)/kml \ + $(MAGIC_FRAGMENT_DIR)/lecter \ + $(MAGIC_FRAGMENT_DIR)/lex \ + $(MAGIC_FRAGMENT_DIR)/lif \ +-$(MAGIC_FRAGMENT_DIR)/linux \ + $(MAGIC_FRAGMENT_DIR)/lisp \ + $(MAGIC_FRAGMENT_DIR)/llvm \ + $(MAGIC_FRAGMENT_DIR)/lua \ +@@ -129,7 +128,6 @@ $(MAGIC_FRAGMENT_DIR)/luks \ + $(MAGIC_FRAGMENT_DIR)/m4 \ + $(MAGIC_FRAGMENT_DIR)/mach \ + $(MAGIC_FRAGMENT_DIR)/macos \ +-$(MAGIC_FRAGMENT_DIR)/macintosh \ + $(MAGIC_FRAGMENT_DIR)/magic \ + $(MAGIC_FRAGMENT_DIR)/mail.news \ + $(MAGIC_FRAGMENT_DIR)/make \ +@@ -150,10 +148,10 @@ $(MAGIC_FRAGMENT_DIR)/misctools \ + $(MAGIC_FRAGMENT_DIR)/mkid \ + $(MAGIC_FRAGMENT_DIR)/mlssa \ + $(MAGIC_FRAGMENT_DIR)/mmdf \ +-$(MAGIC_FRAGMENT_DIR)/modem \ + $(MAGIC_FRAGMENT_DIR)/motorola \ + $(MAGIC_FRAGMENT_DIR)/mozilla \ + $(MAGIC_FRAGMENT_DIR)/msdos \ ++$(MAGIC_FRAGMENT_DIR)/modem \ + $(MAGIC_FRAGMENT_DIR)/msooxml \ + $(MAGIC_FRAGMENT_DIR)/msx \ + $(MAGIC_FRAGMENT_DIR)/msvc \ +@@ -199,6 +197,8 @@ $(MAGIC_FRAGMENT_DIR)/pyramid \ + $(MAGIC_FRAGMENT_DIR)/python \ + $(MAGIC_FRAGMENT_DIR)/revision \ + $(MAGIC_FRAGMENT_DIR)/riff \ ++$(MAGIC_FRAGMENT_DIR)/apple \ ++$(MAGIC_FRAGMENT_DIR)/macintosh \ + $(MAGIC_FRAGMENT_DIR)/rpm \ + $(MAGIC_FRAGMENT_DIR)/rtf \ + $(MAGIC_FRAGMENT_DIR)/ruby \ +@@ -268,8 +268,20 @@ $(MAGIC_FRAGMENT_DIR)/zfs \ + $(MAGIC_FRAGMENT_DIR)/zilog \ + $(MAGIC_FRAGMENT_DIR)/zyxel + ++RAW = magic + MAGIC = magic.mgc +-CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff ++CLEANFILES = ${MAGIC} $(MAGIC_DIR)/Localstuff ${RAW} ++ ++${RAW}: $(MAGIC_DIR)/Header $(MAGIC_DIR)/Localstuff $(EXTRA_DIST) ++ cat /dev/null > $@ ++ for frag in $(EXTRA_DIST); do \ ++ if test -f $(srcdir)/$$frag; then \ ++ f=$(srcdir)/$$frag; \ ++ else \ ++ f=$$frag; \ ++ fi; \ ++ cat $$f; \ ++ done >> $@ + + # 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 +@@ -281,19 +293,22 @@ FILE_COMPILE = $(top_builddir)/src/file$ + FILE_COMPILE_DEP = $(FILE_COMPILE) + endif + +-${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP) +- @rm -fr magic +- @mkdir magic && cp -p $(EXTRA_DIST) magic +- @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ +- echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ +- else \ +- v=$$(file --version | sed -e s/file-// -e q); \ +- if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ +- echo "Cannot use the installed version of file ($$v) to"; \ +- echo "cross-compile file ${PACKAGE_VERSION}"; \ +- echo "Please install file ${PACKAGE_VERSION} locally first"; \ +- exit 1; \ +- fi; \ +- fi) +- $(FILE_COMPILE) -C -m magic +- @rm -fr magic ++${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP) $(RAW) ++ $(FILE_COMPILE) -C -m $(RAW) ++ ++#${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP) ++# @rm -fr magic ++# @mkdir magic && cp -p $(EXTRA_DIST) magic ++# @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ ++# echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ ++# else \ ++# v=$$(file --version | sed -e s/file-// -e q); \ ++# if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ ++# echo "Cannot use the installed version of file ($$v) to"; \ ++# echo "cross-compile file ${PACKAGE_VERSION}"; \ ++# echo "Please install file ${PACKAGE_VERSION} locally first"; \ ++# exit 1; \ ++# fi; \ ++# fi) ++# $(FILE_COMPILE) -C -m magic ++# @rm -fr magic +--- magic/Makefile.in ++++ magic/Makefile.in 2014-10-13 11:09:03.820337523 +0000 +@@ -267,7 +267,7 @@ top_srcdir = @top_srcdir@ + MAGIC_FRAGMENT_BASE = Magdir + MAGIC_DIR = $(top_srcdir)/magic + MAGIC_FRAGMENT_DIR = $(MAGIC_DIR)/$(MAGIC_FRAGMENT_BASE) +-pkgdata_DATA = magic.mgc ++pkgdata_DATA = magic.mgc magic + EXTRA_DIST = \ + $(MAGIC_DIR)/Header \ + $(MAGIC_DIR)/Localstuff \ +@@ -282,7 +282,6 @@ $(MAGIC_FRAGMENT_DIR)/android \ + $(MAGIC_FRAGMENT_DIR)/animation \ + $(MAGIC_FRAGMENT_DIR)/aout \ + $(MAGIC_FRAGMENT_DIR)/apl \ +-$(MAGIC_FRAGMENT_DIR)/apple \ + $(MAGIC_FRAGMENT_DIR)/applix \ + $(MAGIC_FRAGMENT_DIR)/archive \ + $(MAGIC_FRAGMENT_DIR)/assembler \ +@@ -337,7 +336,6 @@ $(MAGIC_FRAGMENT_DIR)/epoc \ + $(MAGIC_FRAGMENT_DIR)/erlang \ + $(MAGIC_FRAGMENT_DIR)/esri \ + $(MAGIC_FRAGMENT_DIR)/fcs \ +-$(MAGIC_FRAGMENT_DIR)/filesystems \ + $(MAGIC_FRAGMENT_DIR)/flash \ + $(MAGIC_FRAGMENT_DIR)/fonts \ + $(MAGIC_FRAGMENT_DIR)/fortran \ +@@ -375,6 +373,8 @@ $(MAGIC_FRAGMENT_DIR)/isz \ + $(MAGIC_FRAGMENT_DIR)/java \ + $(MAGIC_FRAGMENT_DIR)/javascript \ + $(MAGIC_FRAGMENT_DIR)/jpeg \ ++$(MAGIC_FRAGMENT_DIR)/linux \ ++$(MAGIC_FRAGMENT_DIR)/filesystems \ + $(MAGIC_FRAGMENT_DIR)/karma \ + $(MAGIC_FRAGMENT_DIR)/kde \ + $(MAGIC_FRAGMENT_DIR)/keepass \ +@@ -382,7 +382,6 @@ $(MAGIC_FRAGMENT_DIR)/kml \ + $(MAGIC_FRAGMENT_DIR)/lecter \ + $(MAGIC_FRAGMENT_DIR)/lex \ + $(MAGIC_FRAGMENT_DIR)/lif \ +-$(MAGIC_FRAGMENT_DIR)/linux \ + $(MAGIC_FRAGMENT_DIR)/lisp \ + $(MAGIC_FRAGMENT_DIR)/llvm \ + $(MAGIC_FRAGMENT_DIR)/lua \ +@@ -390,7 +389,6 @@ $(MAGIC_FRAGMENT_DIR)/luks \ + $(MAGIC_FRAGMENT_DIR)/m4 \ + $(MAGIC_FRAGMENT_DIR)/mach \ + $(MAGIC_FRAGMENT_DIR)/macos \ +-$(MAGIC_FRAGMENT_DIR)/macintosh \ + $(MAGIC_FRAGMENT_DIR)/magic \ + $(MAGIC_FRAGMENT_DIR)/mail.news \ + $(MAGIC_FRAGMENT_DIR)/make \ +@@ -411,10 +409,10 @@ $(MAGIC_FRAGMENT_DIR)/misctools \ + $(MAGIC_FRAGMENT_DIR)/mkid \ + $(MAGIC_FRAGMENT_DIR)/mlssa \ + $(MAGIC_FRAGMENT_DIR)/mmdf \ +-$(MAGIC_FRAGMENT_DIR)/modem \ + $(MAGIC_FRAGMENT_DIR)/motorola \ + $(MAGIC_FRAGMENT_DIR)/mozilla \ + $(MAGIC_FRAGMENT_DIR)/msdos \ ++$(MAGIC_FRAGMENT_DIR)/modem \ + $(MAGIC_FRAGMENT_DIR)/msooxml \ + $(MAGIC_FRAGMENT_DIR)/msx \ + $(MAGIC_FRAGMENT_DIR)/msvc \ +@@ -460,6 +458,8 @@ $(MAGIC_FRAGMENT_DIR)/pyramid \ + $(MAGIC_FRAGMENT_DIR)/python \ + $(MAGIC_FRAGMENT_DIR)/revision \ + $(MAGIC_FRAGMENT_DIR)/riff \ ++$(MAGIC_FRAGMENT_DIR)/apple \ ++$(MAGIC_FRAGMENT_DIR)/macintosh \ + $(MAGIC_FRAGMENT_DIR)/rpm \ + $(MAGIC_FRAGMENT_DIR)/rtf \ + $(MAGIC_FRAGMENT_DIR)/ruby \ +@@ -529,10 +529,22 @@ $(MAGIC_FRAGMENT_DIR)/zfs \ + $(MAGIC_FRAGMENT_DIR)/zilog \ + $(MAGIC_FRAGMENT_DIR)/zyxel + ++RAW = magic + MAGIC = magic.mgc +-CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff ++CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff ${RAW} + @IS_CROSS_COMPILE_FALSE@FILE_COMPILE = $(top_builddir)/src/file${EXEEXT} + ++${RAW}: $(MAGIC_DIR)/Header $(MAGIC_DIR)/Localstuff $(EXTRA_DIST) ++ cat /dev/null > $@ ++ for frag in $(EXTRA_DIST); do \ ++ if test -f $(srcdir)/$$frag; then \ ++ f=$(srcdir)/$$frag; \ ++ else \ ++ f=$$frag; \ ++ fi; \ ++ cat $$f; \ ++ done >> $@ ++ + # 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 + @IS_CROSS_COMPILE_TRUE@FILE_COMPILE = file${EXEEXT} +@@ -753,23 +765,25 @@ uninstall-am: uninstall-pkgdataDATA + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags-am uninstall uninstall-am uninstall-pkgdataDATA + ++${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP) $(RAW) ++ $(FILE_COMPILE) -C -m $(RAW) + +-${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP) +- @rm -fr magic +- @mkdir magic && cp -p $(EXTRA_DIST) magic +- @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ +- echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ +- else \ +- v=$$(file --version | sed -e s/file-// -e q); \ +- if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ +- echo "Cannot use the installed version of file ($$v) to"; \ +- echo "cross-compile file ${PACKAGE_VERSION}"; \ +- echo "Please install file ${PACKAGE_VERSION} locally first"; \ +- exit 1; \ +- fi; \ +- fi) +- $(FILE_COMPILE) -C -m magic +- @rm -fr magic ++#${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP) ++# @rm -fr magic ++# @mkdir magic && cp -p $(EXTRA_DIST) magic ++# @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ ++# echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ ++# else \ ++# v=$$(file --version | sed -e s/file-// -e q); \ ++# if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ ++# echo "Cannot use the installed version of file ($$v) to"; \ ++# echo "cross-compile file ${PACKAGE_VERSION}"; \ ++# echo "Please install file ${PACKAGE_VERSION} locally first"; \ ++# exit 1; \ ++# fi; \ ++# fi) ++# $(FILE_COMPILE) -C -m magic ++# @rm -fr magic + + # 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. +--- src/Makefile.am ++++ src/Makefile.am 2013-09-30 00:00:00.000000000 +0000 +@@ -1,4 +1,4 @@ +-MAGIC = $(pkgdatadir)/magic ++MAGIC = $(sysconfdir)/magic:$(pkgdatadir)/magic + lib_LTLIBRARIES = libmagic.la + include_HEADERS = magic.h + +--- src/dcore.c ++++ src/dcore.c 2013-09-30 00:00:00.000000000 +0000 +@@ -0,0 +1,207 @@ ++/* ++ * Show goo about ELF core files ++ * Jeremy Fitzhardinge <[email protected]> 1996 ++ */ ++#include <unistd.h> ++#include <fcntl.h> ++#include <stdlib.h> ++#include <stdio.h> ++#include <sys/types.h> ++#include <string.h> ++#if defined __GLIBC__ && __GLIBC__ >= 2 ++#include <elf.h> ++#include <sys/procfs.h> ++# ifndef NT_PRFPREG ++# define NT_PRFPREG 2 ++# endif ++# ifndef NT_TASKSTRUCT ++# define NT_TASKSTRUCT 4 ++# endif ++#else ++#include <linux/elf.h> ++#include <linux/elfcore.h> ++#endif ++ ++static void fperror(const char *str) ++{ ++ perror(str); ++ exit(1); ++} ++ ++static size_t myread(int fd, void *buf, size_t sz) ++{ ++ size_t ret; ++ ++ if ((ret = read(fd, buf, sz)) != sz) ++ fperror("read failed"); ++ return ret; ++} ++ ++static void print_prstatus(const prstatus_t *pr) ++{ ++ unsigned i; ++ static const char *regs[] = { "ebx", "ecx", "edx", "esi", "edi", "ebp", ++ "eax", "ds", "es", "fs", "gs", ++ "orig_eax", "eip", "cs", ++ "efl", "uesp", "ss"}; ++ ++ printf(" pid=%d ppid=%d pgrp=%d sid=%d\n", ++ pr->pr_pid, pr->pr_ppid, pr->pr_pgrp, pr->pr_sid); ++ for(i = 0; i < NGREG; i++) ++ { ++ unsigned long val = pr->pr_reg[i]; ++ printf(" %-2u %-5s=%08lx %lu\n", i, regs[i], val, val); ++ } ++} ++ ++static void print_prpsinfo(const prpsinfo_t *ps) ++{ ++ printf(" uid=%d gid=%d\n", ps->pr_uid, ps->pr_gid); ++ printf(" comm=%s\n", ps->pr_fname); ++ printf(" psargs=%s\n", ps->pr_psargs); ++} ++ ++#define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) ++ ++static void do_note(int fd, Elf32_Phdr *phdr) ++{ ++ off_t here = lseek(fd, 0, SEEK_CUR); ++ int size = phdr->p_filesz; ++ char *raw = alloca(size), *end; ++ end = raw+size; ++ ++ lseek(fd, phdr->p_offset, SEEK_SET); ++ myread(fd, raw, size); ++ ++ while(raw < end) ++ { ++ Elf32_Nhdr *note = (Elf32_Nhdr *)raw; ++ const char *str; ++ const char *name, *desc; ++ ++ raw += sizeof(*note); ++ name = raw; ++ raw += roundup(note->n_namesz, sizeof(long)); ++ desc = raw; ++ raw += roundup(note->n_descsz, sizeof(long)); ++ ++ printf(" name=%.*s", (int)note->n_namesz, name); ++ ++ if(strncmp(name, "CORE", note->n_namesz) != 0) ++ { ++ printf("\n"); ++ continue; ++ } ++ ++ switch(note->n_type) ++ { ++#define X(x) case x: str = #x; break; ++ X(NT_PRSTATUS); ++ X(NT_PRFPREG); ++ X(NT_PRPSINFO); ++ X(NT_TASKSTRUCT); ++#undef X ++ default: ++ str = "???"; ++ } ++ printf(" n_type=%s n_descsz=%ld\n", ++ str, note->n_descsz); ++ switch(note->n_type) ++ { ++ case NT_PRSTATUS: ++ print_prstatus((prstatus_t *)desc); ++ break; ++ case NT_PRPSINFO: ++ print_prpsinfo((prpsinfo_t *)desc); ++ break; ++ } ++ } ++ lseek(fd, here, SEEK_SET); ++} ++ ++int main(int argc, char *argv[]) ++{ ++ int fd; ++ Elf32_Ehdr elf; ++ int i; ++ ++ if (argc != 2) ++ { ++ fprintf(stderr, "Usage: %s corefile\n", argv[0]); ++ exit(1); ++ } ++ ++ if ((fd = open(argv[1], O_RDONLY)) == -1) ++ fperror("open of core"); ++ ++ myread(fd, &elf, sizeof(elf)); ++ ++ if (memcmp(ELFMAG, elf.e_ident, SELFMAG) != 0) ++ printf("bad magic\n"); ++ ++ if (elf.e_ident[EI_CLASS] != ELFCLASS32) ++ printf("wrong class\n"); ++ ++ if (elf.e_ident[EI_DATA] != ELFDATA2LSB) ++ printf("wrong endianess\n"); ++ ++ if (elf.e_ident[EI_VERSION] != EV_CURRENT) ++ printf("wrong version\n"); ++ ++ { ++ const char *str; ++ switch(elf.e_type) ++ { ++#define C(x) case ET_##x: str = #x; break; ++ C(NONE); ++ C(REL); ++ C(EXEC); ++ C(DYN); ++ C(CORE); ++#undef C ++ default: str = "???"; break; ++ } ++ printf("elf file type ET_%s\n", str); ++ } ++ ++ if (elf.e_machine != EM_386 && elf.e_machine != EM_486) ++ printf("not i386 or i486\n"); ++ ++ if (elf.e_ehsize != sizeof(elf)) ++ printf("wrong header size\n"); ++ ++ if (elf.e_phentsize != sizeof(Elf32_Phdr)) ++ printf("wrong phdr size\n"); ++ ++ if (lseek(fd, elf.e_phoff, SEEK_SET) != (off_t)elf.e_phoff) ++ fperror("lseek to phdr failed\n"); ++ ++ for(i = 0; i < elf.e_phnum; i++) ++ { ++ Elf32_Phdr phdr; ++ const char *str; ++ ++ myread(fd, &phdr, sizeof(phdr)); ++ switch(phdr.p_type) ++ { ++#define C(x) case PT_##x: str = #x; break; ++ C(NULL); ++ C(LOAD); ++ C(DYNAMIC); ++ C(INTERP); ++ C(NOTE); ++ C(SHLIB); ++ C(PHDR); ++#undef C ++ default: ++ str = "???"; break; ++ } ++ printf("type PT_%s off=%ld vaddr=%lx filesz=%ld flags=%lx\n", ++ str, phdr.p_offset, phdr.p_vaddr, phdr.p_filesz, ++ (unsigned long)phdr.p_flags); ++ if (phdr.p_type == PT_NOTE) ++ do_note(fd, &phdr); ++ } ++ exit(0); ++} ++ ++++++ file-5.19.tar.gz -> file-5.20.tar.gz ++++++ ++++ 2814 lines of diff (skipped) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
