diff options
author | Qing He <qing.he@intel.com> | 2010-08-17 10:58:15 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-27 13:04:38 +0100 |
commit | 9a60cbcf48deac3d36643f03943b8b1b1c4dfd0e (patch) | |
tree | c5b92a49279d25120d69b5debf5c48ab300f9b3e /meta | |
parent | 6b039d0bb74d624b62f8cfc6167f287a24b75405 (diff) | |
download | poky-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.patch | 70 | ||||
-rw-r--r-- | meta/packages/file/file/native-fix.diff | 13 | ||||
-rw-r--r-- | meta/packages/file/file/stringb-compat.patch | 29 | ||||
-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, | ||
2 | but causes an warning in file 5.04. Add support for these | ||
3 | two operators as a feature extension, however, users should | ||
4 | not rely on them. | ||
5 | |||
6 | 8/17/2010 - created by Qing He <qing.he@intel.com> | ||
7 | |||
8 | diff --git a/src/apprentice.c b/src/apprentice.c | ||
9 | index 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; | ||
28 | diff --git a/src/softmagic.c b/src/softmagic.c | ||
29 | index 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 @@ | |||
1 | Index: 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, | ||
2 | let `B' be an alias of `W'. | ||
3 | |||
4 | 8/17/2010 - created by Qing He <qing.he@intel.com> | ||
5 | |||
6 | diff --git a/src/apprentice.c b/src/apprentice.c | ||
7 | index 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; | ||
18 | diff --git a/src/file.h b/src/file.h | ||
19 | index 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 |
7 | LICENSE = "BSD" | 7 | LICENSE = "BSD" |
8 | LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=6a7382872edb68d33e1a9398b6e03188" | ||
8 | 9 | ||
9 | DEPENDS = "file-native" | 10 | DEPENDS = "zlib file-native" |
10 | DEPENDS_virtclass-native = "" | 11 | DEPENDS_virtclass-native = "zlib-native" |
12 | PR = "r1" | ||
11 | 13 | ||
12 | SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \ | 14 | SRC_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" |
15 | SRC_URI_append_virtclass-native = " file://native-fix.diff;patch=1" | ||
16 | 19 | ||
17 | inherit autotools | 20 | inherit autotools |
18 | 21 | ||
19 | do_configure_prepend() { | 22 | do_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 | ||
27 | FILES_${PN} += "${datadir}/misc/*.mgc" | ||
28 | |||
25 | BBCLASSEXTEND = "native" | 29 | BBCLASSEXTEND = "native" |