Hello community,
here is the log from the commit of package file for openSUSE:Factory checked in at 2013-03-01 07:17:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/file (Old)
and /work/SRC/openSUSE:Factory/.file.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "file", Maintainer is "werner@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/file/file.changes 2013-02-19 16:17:28.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.file.new/file.changes 2013-03-01 07:17:37.000000000 +0100
@@ -1,0 +2,25 @@
+Tue Feb 26 17:33:36 UTC 2013 - werner@suse.de
+
+- Add patch file-5.13-return.patch: avoid doubled return
+
+-------------------------------------------------------------------
+Fri Feb 22 10:14:36 UTC 2013 - werner@suse.de
+
+- Update to file version 5.13 (mainly bug fixes)
+ * add elf reading of debug info to determine if file is stripped
+ * use pread()
+ * change mime description size from 64 to 80 to accommodate OOXML.
+ * Warn about inconsistent continuation levels.
+ * Change fsmagic to add a space after it prints.
+ * Make getline public so that file can link against it.
+ Perhaps it is better to rename it, or hide it differently.
+ Fixes builds on platforms that do not provide it.
+ * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document
+ what long, int, short, etc is (Guy Harris)
+ * add magic_version function and constant
+ * Redo memory allocation and de-allocation.
+ (prevents double frees on non mmap platforms)
+ * Fix bug with name/use having to do with passing
+ found state from the parent to the child and back.
+
+-------------------------------------------------------------------
Old:
----
file-5.12-llong.dif
file-5.12-upstream.patch
file-5.12.dif
file-5.12.tar.gz
New:
----
file-5.13-return.patch
file-5.13.dif
file-5.13.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ file.spec ++++++
--- /var/tmp/diff_new_pack.8p7erb/_old 2013-03-01 07:17:38.000000000 +0100
+++ /var/tmp/diff_new_pack.8p7erb/_new 2013-03-01 07:17:38.000000000 +0100
@@ -30,16 +30,15 @@
%endif
#
# Set Version also in python-magic.spec
-Version: 5.12
+Version: 5.13
Release: 0
Summary: A Tool to Determine File Types
License: BSD-2-Clause
Group: Productivity/File utilities
Source: ftp://ftp.astron.com/pub/file/file-%{version}.tar.gz
Source2: baselibs.conf
-Patch: file-5.12.dif
+Patch: file-5.13.dif
Patch1: file-5.12-misc.dif
-Patch2: file-5.12-llong.dif
Patch4: file-4.24-autoconf.dif
Patch5: file-4.03-tex.dif
Patch7: file-4.20-ssd.dif
@@ -62,7 +61,8 @@
Patch33: file-5.12-ocloexec.patch
Patch34: file-5.12-endian.patch
Patch35: file-5.12-nitpick.dif
-Patch42: file-5.12-upstream.patch
+# PATCH-FIX-UPSTREAM: avoid doubled return
+Patch36: file-5.13-return.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global _sysconfdir /etc
%global _miscdir %{_datadir}/misc
@@ -103,9 +103,7 @@
%prep
%setup -q -n file-%{version}
-%patch42 -p1
%patch1 -p0 -b .misc
-%patch2 -p0 -b .llong
%patch4 -p0 -b .conf
%patch5 -p0 -b .tex
%patch7 -p0 -b .ssd
@@ -130,7 +128,10 @@
%patch33 -p0 -b .clexe
%patch34 -p0 -b .endian
%patch35 -p0 -b .nitpick
+%patch36 -p0 -b .return
%patch -b .0
+test -s src/magic.h.in || cp -p src/magic.h src/magic.h.in
+
%build
export LANG=POSIX
export LC_ALL=POSIX
++++++ file-5.13-return.patch ++++++
--- src/cdf.c
+++ src/cdf.c 2013-02-26 17:30:21.073444930 +0000
@@ -250,8 +250,6 @@ cdf_read(const cdf_info_t *info, off_t o
if (info->i_fd == -1)
return -1;
- return -1;
-
if (pread(info->i_fd, buf, len, off) != (ssize_t)len)
return -1;
++++++ file-5.12-llong.dif -> file-5.13.dif ++++++
--- /work/SRC/openSUSE:Factory/file/file-5.12-llong.dif 2013-01-29 06:55:49.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.file.new/file-5.13.dif 2013-03-01 07:17:37.000000000 +0100
@@ -1,10 +1,586 @@
---- configure.ac
-+++ configure.ac 2013-01-23 12:57:44.605952352 +0000
-@@ -107,6 +107,7 @@ AC_TYPE_UINT32_T
- AC_TYPE_INT32_T
- AC_TYPE_UINT64_T
- AC_TYPE_INT64_T
-+AC_CHECK_SIZEOF(long long)
- AC_FUNC_MMAP
- AC_FUNC_FORK
- AC_FUNC_MBRTOWC
+--- magic/Magdir/elf
++++ magic/Magdir/elf 2013-01-22 15:12:11.000000000 +0000
+@@ -127,7 +127,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-01-22 15:16:41.000000000 +0000
+@@ -97,22 +97,44 @@
+ # and Nicolas Lichtmaier
+ # 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 + 5
+->510 leshort 0xAA55 x86 boot executable
+->>518 leshort >0x1ff
+->>>529 byte 0 zImage,
+->>>529 byte 1 bzImage,
+->>>(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 %#hx
++>>529 byte 0 \b, zImage
++>>529 byte 1 \b, bzImage
++>>>(526.s+0x205) byte 32
++>>>>(526.s+0x200) string >\0 \b, Version %5.5s
++>>>(526.s+0x206) byte 32
++>>>>(526.s+0x200) string >\0 \b, Version %6.6s
++>>>(526.s+0x207) byte 32
++>>>>(526.s+0x200) string >\0 \b, Version %7.7s
++>>>(526.s+0x205) byte 45
++>>>>(526.s+0x200) string >\0 \b, Version %5.5s
++>>>(526.s+0x206) byte 45
++>>>>(526.s+0x200) string >\0 \b, Version %6.6s
++>>>(526.s+0x207) byte 45
++>>>>(526.s+0x200) string >\0 \b, Version %7.7s
++>>>(526.s+0x208) byte 45
++>>>>(526.s+0x200) string >\0 \b, Version %8.8s
++>>>(526.s+0x209) byte 45
++>>>>(526.s+0x200) string >\0 \b, Version %9.9s
++>>>(526.s+0x20a) byte 45
++>>>>(526.s+0x200) string >\0 \b, Version %10.10s
++>>>(526.s+0x20b) byte 45
++>>>>(526.s+0x200) string >\0 \b, Version %11.11s
++>>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 2006-03-27 11:29:19.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 2011-06-14 14:36:26.000000000 +0000
+@@ -99,9 +99,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 2013-01-22 15:19:21.000000000 +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 \
+@@ -20,7 +20,6 @@ $(MAGIC_FRAGMENT_DIR)/amigaos \
+ $(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 \
+@@ -73,7 +72,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 \
+@@ -111,6 +109,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 \
+@@ -118,7 +118,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 \
+@@ -126,7 +125,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 \
+@@ -145,10 +143,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)/msvc \
+ $(MAGIC_FRAGMENT_DIR)/mup \
+@@ -190,6 +188,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)/rinex \
+ $(MAGIC_FRAGMENT_DIR)/rpm \
+ $(MAGIC_FRAGMENT_DIR)/rtf \
+@@ -258,8 +258,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
+@@ -271,19 +283,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 2013-01-22 15:20:19.000000000 +0000
+@@ -204,7 +204,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 \
+@@ -218,7 +218,6 @@ $(MAGIC_FRAGMENT_DIR)/amigaos \
+ $(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 \
+@@ -271,7 +270,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 \
+@@ -309,6 +307,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 \
+@@ -316,7 +316,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 \
+@@ -324,7 +323,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 \
+@@ -343,10 +341,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)/msvc \
+ $(MAGIC_FRAGMENT_DIR)/mup \
+@@ -388,6 +386,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)/rinex \
+ $(MAGIC_FRAGMENT_DIR)/rpm \
+ $(MAGIC_FRAGMENT_DIR)/rtf \
+@@ -456,10 +456,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_DIR)/Localstuff ${RAW}
+ @IS_CROSS_COMPILE_FALSE@FILE_COMPILE = $(top_builddir)/src/file
+
++${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
+@@ -674,23 +686,25 @@ uninstall-am: uninstall-pkgdataDATA
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-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 2008-04-14 15:14:56.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 2006-03-27 11:29:19.000000000 +0000
+@@ -0,0 +1,207 @@
++/*
++ * Show goo about ELF core files
++ * Jeremy Fitzhardinge 1996
++ */
++#include
++#include
++#include
++#include
++#include
++#include
++#if defined __GLIBC__ && __GLIBC__ >= 2
++#include
++#include
++# ifndef NT_PRFPREG
++# define NT_PRFPREG 2
++# endif
++# ifndef NT_TASKSTRUCT
++# define NT_TASKSTRUCT 4
++# endif
++#else
++#include
++#include
++#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.12.tar.gz -> file-5.13.tar.gz ++++++
++++ 6197 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org