diff options
| -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" |
