When cross compiling the host file(1) utility is used to compile the magic.

As the file(1) included internally in RPM is slightly older, the latest
version of file(1) at least chokes on some of the mime entries and b0rks
out...

> cat ./Header ./Localstuff > magic
> for frag in Magdir/acorn Magdir/adi Magdir/adventure Magdir/allegro 
> Magdir/alliant Magdir/alpha Magdir/amanda Magdir/amigaos Magdir/animation 
> Magdir/apl Magdir/apple Magdir/applix Magdir/archive Magdir/asterix 
> Magdir/att3b Magdir/audio Magdir/basis Magdir/bflt Magdir/blender Magdir/blit 
> Magdir/bout Magdir/bsdi Magdir/btsnoop Magdir/cad Magdir/cafebabe 
> Magdir/c-lang Magdir/c64 Magdir/cddb Magdir/chord Magdir/cisco Magdir/citrus 
> Magdir/claris Magdir/clipper Magdir/cracklib Magdir/spec Magdir/commands 
> Magdir/communications Magdir/compress Magdir/console Magdir/convex 
> Magdir/ctags Magdir/dact Magdir/database Magdir/diamond Magdir/diff 
> Magdir/digital Magdir/dolby Magdir/dump Magdir/editors Magdir/elf 
> Magdir/encore Magdir/epoc Magdir/esri Magdir/fcs Magdir/filesystems 
> Magdir/flash Magdir/fonts Magdir/frame Magdir/freebsd Magdir/fsav 
> Magdir/games Magdir/geos Magdir/gcc Magdir/gimp Magdir/gnu Magdir/grace 
> Magdir/gringotts Magdir/hitachi-sh Magdir/hp Magdir/human68k Magdir/ibm370 Ma
gdir/ibm6000 Magdir/iff Magdir/images Magdir/intel Magdir/interleaf 
Magdir/island Magdir/ispell Magdir/java Magdir/jpeg Magdir/karma Magdir/lecter 
Magdir/lex Magdir/lif Magdir/linux Magdir/lisp Magdir/mach Magdir/macintosh 
Magdir/magic Magdir/mail.news Magdir/maple Magdir/mathematica Magdir/matroska 
Magdir/mcrypt Magdir/mime Magdir/mips Magdir/mirage Magdir/misctools 
Magdir/mkid Magdir/mlssa Magdir/mmdf Magdir/modem Magdir/motorola Magdir/msdos 
Magdir/msvc Magdir/mup Magdir/natinst Magdir/ncr Magdir/netbsd Magdir/netscape 
Magdir/news Magdir/nitpicker Magdir/ocaml Magdir/octave Magdir/olf Magdir/os2 
Magdir/os400 Magdir/os9 Magdir/osf1 Magdir/palm Magdir/parix Magdir/pbm 
Magdir/pdf Magdir/pdp Magdir/perl Magdir/pgp Magdir/pkgadd Magdir/plan9 
Magdir/plus5 Magdir/policy Magdir/printer Magdir/project Magdir/psdbms 
Magdir/psion Magdir/pulsar Magdir/pyramid Magdir/python Magdir/revision 
Magdir/riff Magdir/rpm Magdir/rtf Magdir/sc Magdir/sccs Magdir/sendmail 
Magdir/sequent Magdir/sgi
 Magdir/sgml Magdir/sharc Magdir/sinclair Magdir/sketch Magdir/smalltalk 
Magdir/sniffer Magdir/dyadic Magdir/scientific Magdir/softquad Magdir/spectrum 
Magdir/sql Magdir/sun Magdir/sysex Magdir/teapot Magdir/terminfo Magdir/tex 
Magdir/tgif Magdir/ti-8x Magdir/timezone Magdir/troff Magdir/tuxedo 
Magdir/typeset Magdir/unknown Magdir/unicode Magdir/uuencode Magdir/varied.out 
Magdir/varied.script Magdir/vax Magdir/vicar Magdir/virtutech Magdir/visx 
Magdir/vms Magdir/vmware Magdir/vorbis Magdir/vxl Magdir/wordprocessors 
Magdir/xdelta Magdir/xenix Magdir/xo65 Magdir/xwindows Magdir/zilog 
Magdir/zyxel; do \
>           if test -f ./$frag; then \
>             f=./$frag; \
>           else \
>             f=$frag; \
>           fi; \
>           cat $f; \
>         done >> magic
> file -C -m magic
> magic, 2169: Warning: <= not supported
> magic, 5728: Warning: <= not supported
> magic, 5731: Warning: <= not supported
> magic, 7635: Warning: >= not supported
> file: could not find any magic files!
> make[5]: *** [magic.mgc] Error 255
> make[5]: Leaving directory 
> `/var/tmp/nkukard-kernel-preboot_i586-build/buildroot/build_i586/rpm-5.1.6/file/magic'

The file(1) changelog entry reads as follows...
2008-04-04 11:00  Christos Zoulas  <[EMAIL PROTECTED]>
        * >= <= is not supported, so fix the magic and warn about it.
          reported by: Thien-Thi Nguyen <[EMAIL PROTECTED]>

It seems though that these are not warnings and have a similar effect as
-Werror (ie. non 0 exit status), but anyway.

I've patched the mime sources for the internal file(1) utility and
attached the patch, this makes it compatible with both the internal and
latest file(1) utility  :)

Jeff, can you let me know if its ok to commit.

-N
diff -u --new-file --recursive rpm-5.1.6_vanilla/file/magic/Magdir/audio rpm-5.1.6_magic-file-fix/file/magic/Magdir/audio
--- rpm-5.1.6_vanilla/file/magic/Magdir/audio	2007-05-31 02:19:30.000000000 +0000
+++ rpm-5.1.6_magic-file-fix/file/magic/Magdir/audio	2008-11-29 15:45:32.000000000 +0000
@@ -208,7 +208,7 @@
 >22	belong&0x00ffffff	x		%d Hz,
 >18	beshort		=0			no loop,
 >18	beshort		=-1			loop,
->21	ubyte		<=127			note %d,
+>21	ubyte		<128			note %d,
 >22	byte		=0			replay 5.485 KHz
 >22	byte		=1			replay 8.084 KHz
 >22	byte		=2			replay 10.971 Khz
diff -u --new-file --recursive rpm-5.1.6_vanilla/file/magic/Magdir/freebsd rpm-5.1.6_magic-file-fix/file/magic/Magdir/freebsd
--- rpm-5.1.6_vanilla/file/magic/Magdir/freebsd	2003-04-15 16:58:35.000000000 +0000
+++ rpm-5.1.6_magic-file-fix/file/magic/Magdir/freebsd	2008-11-29 15:45:32.000000000 +0000
@@ -128,10 +128,10 @@
 # What are you laughing about?
 0	lelong			011421044151	ld.so hints file (Little Endian
 >4	lelong			>0		\b, version %d)
->4	belong			<=0		\b)
+>4	belong			<1		\b)
 0	belong			011421044151	ld.so hints file (Big Endian
 >4	belong			>0		\b, version %d)
->4	belong			<=0		\b)
+>4	belong			<1		\b)
 
 #
 # Files generated by FreeBSD scrshot(1)/vidcontrol(1) utilities
diff -u --new-file --recursive rpm-5.1.6_vanilla/file/magic/Magdir/linux rpm-5.1.6_magic-file-fix/file/magic/Magdir/linux
--- rpm-5.1.6_vanilla/file/magic/Magdir/linux	2007-05-31 02:19:30.000000000 +0000
+++ rpm-5.1.6_magic-file-fix/file/magic/Magdir/linux	2008-11-29 15:45:32.000000000 +0000
@@ -84,7 +84,7 @@
 # Linux kernel boot images (i386 arch) (Wolfram Kleff)
 514	string		HdrS		Linux kernel
 >510	leshort		0xAA55		x86 boot executable
->>518	leshort		>=0x200
+>>518	leshort		>0x1ff
 >>529	byte		0		zImage,
 >>>529	byte		1		bzImage,
 >>>(526.s+0x200) string	>\0		version %s,

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to