summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorQing He <qing.he@intel.com>2010-08-17 10:58:15 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 13:04:38 +0100
commit9a60cbcf48deac3d36643f03943b8b1b1c4dfd0e (patch)
treec5b92a49279d25120d69b5debf5c48ab300f9b3e /meta
parent6b039d0bb74d624b62f8cfc6167f287a24b75405 (diff)
downloadpoky-9a60cbcf48deac3d36643f03943b8b1b1c4dfd0e.tar.gz
file: reinstate 5.04 upgrades with modifications
reinstate the patch since rpm recipe has been upgraded > commit 21d586b47c8c5338913c5e8ca2ee604409cc57a0 > Author: Qing He <qing.he@intel.com> > Date: Tue Jul 6 13:19:10 2010 +0800 > > file: upgrade to version 5.04 > > from 4.18 > > changes: > - remove native-fix.patch and sed line in do_configure_prepend, > AM_CONDITIONAL(IS_CROSS_COMPILE, ...) works well > - fix the bug of not packaging ${datadir}/misc/magic.mgc, > without this file, this utility isn't very useful > - add zlib as explicit build dependency > > Signed-off-by: Qing He <qing.he@intel.com> new changes: - string/B is not supported in file 5.04, add an alias to string/W - '>=' and '<=' was not supported, add an extension for existing usage Signed-off-by: Qing He <qing.he@intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/packages/file/file/ge-le.patch70
-rw-r--r--meta/packages/file/file/native-fix.diff13
-rw-r--r--meta/packages/file/file/stringb-compat.patch29
-rw-r--r--meta/packages/file/file_5.04.bb (renamed from meta/packages/file/file_4.18.bb)12
4 files changed, 107 insertions, 17 deletions
diff --git a/meta/packages/file/file/ge-le.patch b/meta/packages/file/file/ge-le.patch
new file mode 100644
index 0000000000..7b7d8b60a4
--- /dev/null
+++ b/meta/packages/file/file/ge-le.patch
@@ -0,0 +1,70 @@
1`>=' and `<=' was silently ignored in previous version,
2but causes an warning in file 5.04. Add support for these
3two operators as a feature extension, however, users should
4not rely on them.
5
68/17/2010 - created by Qing He <qing.he@intel.com>
7
8diff --git a/src/apprentice.c b/src/apprentice.c
9index 3d4c3cf..a2b86ed 100644
10--- a/src/apprentice.c
11+++ b/src/apprentice.c
12@@ -1396,11 +1396,10 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp,
13 m->reln = *l;
14 ++l;
15 if (*l == '=') {
16- if (ms->flags & MAGIC_CHECK) {
17- file_magwarn(ms, "%c= not supported",
18- m->reln);
19- return -1;
20- }
21+ if (m->reln == '>')
22+ m->reln = 'g';
23+ else if (m->reln == '<')
24+ m->reln = 'l';
25 ++l;
26 }
27 break;
28diff --git a/src/softmagic.c b/src/softmagic.c
29index d8a5675..1648e43 100644
30--- a/src/softmagic.c
31+++ b/src/softmagic.c
32@@ -1955,6 +1955,38 @@ magiccheck(struct magic_set *ms, struct magic *m)
33 }
34 break;
35
36+ case 'g':
37+ if (m->flag & UNSIGNED) {
38+ matched = v >= l;
39+ if ((ms->flags & MAGIC_DEBUG) != 0)
40+ (void) fprintf(stderr, "%llu >= %llu = %d\n",
41+ (unsigned long long)v,
42+ (unsigned long long)l, matched);
43+ }
44+ else {
45+ matched = (int64_t) v >= (int64_t) l;
46+ if ((ms->flags & MAGIC_DEBUG) != 0)
47+ (void) fprintf(stderr, "%lld >= %lld = %d\n",
48+ (long long)v, (long long)l, matched);
49+ }
50+ break;
51+
52+ case 'l':
53+ if (m->flag & UNSIGNED) {
54+ matched = v <= l;
55+ if ((ms->flags & MAGIC_DEBUG) != 0)
56+ (void) fprintf(stderr, "%llu <= %llu = %d\n",
57+ (unsigned long long)v,
58+ (unsigned long long)l, matched);
59+ }
60+ else {
61+ matched = (int64_t) v <= (int64_t) l;
62+ if ((ms->flags & MAGIC_DEBUG) != 0)
63+ (void) fprintf(stderr, "%lld <= %lld = %d\n",
64+ (long long)v, (long long)l, matched);
65+ }
66+ break;
67+
68 case '&':
69 matched = (v & l) == l;
70 if ((ms->flags & MAGIC_DEBUG) != 0)
diff --git a/meta/packages/file/file/native-fix.diff b/meta/packages/file/file/native-fix.diff
deleted file mode 100644
index d17215a1b4..0000000000
--- a/meta/packages/file/file/native-fix.diff
+++ /dev/null
@@ -1,13 +0,0 @@
1Index: file-4.16/magic/Makefile.am
2===================================================================
3--- file-4.16.orig/magic/Makefile.am 2005-08-18 17:20:49.000000000 +0200
4+++ file-4.16/magic/Makefile.am 2006-03-08 17:01:13.000000000 +0100
5@@ -18,7 +18,7 @@
6 if IS_CROSS_COMPILE
7 FILE_COMPILE = file
8 else
9-FILE_COMPILE = $(top_builddir)/src/file
10+FILE_COMPILE = ../src/file
11 endif
12
13 magic.mgc: magic
diff --git a/meta/packages/file/file/stringb-compat.patch b/meta/packages/file/file/stringb-compat.patch
new file mode 100644
index 0000000000..055e43e30a
--- /dev/null
+++ b/meta/packages/file/file/stringb-compat.patch
@@ -0,0 +1,29 @@
1`B' in file 4.x has the same meaning with `W' in file 5,
2let `B' be an alias of `W'.
3
48/17/2010 - created by Qing He <qing.he@intel.com>
5
6diff --git a/src/apprentice.c b/src/apprentice.c
7index 58826c3..3d4c3cf 100644
8--- a/src/apprentice.c
9+++ b/src/apprentice.c
10@@ -1340,6 +1340,7 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp,
11 "zero range");
12 l = t - 1;
13 break;
14+ case CHAR_COMPACT_BLANK:
15 case CHAR_COMPACT_WHITESPACE:
16 m->str_flags |= STRING_COMPACT_WHITESPACE;
17 break;
18diff --git a/src/file.h b/src/file.h
19index c07f2d4..42cf416 100644
20--- a/src/file.h
21+++ b/src/file.h
22@@ -282,6 +282,7 @@ struct magic {
23 #define STRING_TEXTTEST BIT(5)
24 #define STRING_BINTEST BIT(6)
25 #define CHAR_COMPACT_WHITESPACE 'W'
26+#define CHAR_COMPACT_BLANK 'B'
27 #define CHAR_COMPACT_OPTIONAL_WHITESPACE 'w'
28 #define CHAR_IGNORE_LOWERCASE 'c'
29 #define CHAR_IGNORE_UPPERCASE 'C'
diff --git a/meta/packages/file/file_4.18.bb b/meta/packages/file/file_5.04.bb
index 4c8e64c308..afc08162d4 100644
--- a/meta/packages/file/file_4.18.bb
+++ b/meta/packages/file/file_5.04.bb
@@ -5,21 +5,25 @@ SECTION = "console/utils"
5 5
6# two clause BSD 6# two clause BSD
7LICENSE = "BSD" 7LICENSE = "BSD"
8LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=6a7382872edb68d33e1a9398b6e03188"
8 9
9DEPENDS = "file-native" 10DEPENDS = "zlib file-native"
10DEPENDS_virtclass-native = "" 11DEPENDS_virtclass-native = "zlib-native"
12PR = "r1"
11 13
12SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \ 14SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \
15 file://stringb-compat.patch \
16 file://ge-le.patch \
13 file://dump \ 17 file://dump \
14 file://filesystems" 18 file://filesystems"
15SRC_URI_append_virtclass-native = " file://native-fix.diff;patch=1"
16 19
17inherit autotools 20inherit autotools
18 21
19do_configure_prepend() { 22do_configure_prepend() {
20 sed -i -e 's,$(top_builddir)/src/file,file,' ${S}/magic/Makefile.am
21 cp ${WORKDIR}/dump ${S}/magic/Magdir/ 23 cp ${WORKDIR}/dump ${S}/magic/Magdir/
22 cp ${WORKDIR}/filesystems ${S}/magic/Magdir/ 24 cp ${WORKDIR}/filesystems ${S}/magic/Magdir/
23} 25}
24 26
27FILES_${PN} += "${datadir}/misc/*.mgc"
28
25BBCLASSEXTEND = "native" 29BBCLASSEXTEND = "native"