[OE-core] [zeus][PATCH] libarchive: Fix CVE-2020-9308
Fix CVE-2020-9308 Signed-off-by: Wenlin Kang --- ...ct-files-that-declare-invalid-header.patch | 124 ++ .../libarchive/libarchive_3.4.0.bb| 1 + 2 files changed, 125 insertions(+) create mode 100644 meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch diff --git a/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch b/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch new file mode 100644 index 00..a84c1f1f76 --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch @@ -0,0 +1,124 @@ +From c1fe0a8cc8dde8ba3eae3d17e34060d2d6e4eb96 Mon Sep 17 00:00:00 2001 +From: Grzegorz Antoniak +Date: Sun, 2 Feb 2020 08:04:41 +0100 +Subject: [PATCH] RAR5 reader: reject files that declare invalid header flags + +One of the fields in RAR5's base block structure is the size of the +header. Some invalid files declare a 0 header size setting, which can +confuse the unpacker. Minimum header size for RAR5 base blocks is 7 +bytes (4 bytes for CRC, and 3 bytes for the rest), so block size of 0 +bytes should be rejected at header parsing stage. + +The fix adds an error condition if header size of 0 bytes is detected. +In this case, the unpacker will not attempt to unpack the file, as the +header is corrupted. + +The commit also adds OSSFuzz #20459 sample to test further regressions +in this area. + +Upstream-Status: Backport[https://github.com/libarchive/libarchive/commit/94821008d6eea81e315c5881cdf739202961040a] +CVE: CVE-2020-9308 + +Signed-off-by: Wenlin Kang +--- + Makefile.am | 1 + + libarchive/archive_read_support_format_rar5.c | 17 +++-- + libarchive/test/test_read_format_rar5.c | 15 +++ + ...d_format_rar5_block_size_is_too_small.rar.uu | 8 + 4 files changed, 39 insertions(+), 2 deletions(-) + create mode 100644 libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu + +diff --git a/Makefile.am b/Makefile.am +index da78b24..01abf20 100644 +--- a/Makefile.am b/Makefile.am +@@ -863,6 +863,7 @@ libarchive_test_EXTRA_DIST=\ + libarchive/test/test_read_format_rar5_symlink.rar.uu \ + libarchive/test/test_read_format_rar5_truncated_huff.rar.uu \ + libarchive/test/test_read_format_rar5_win32.rar.uu \ ++ libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu \ + libarchive/test/test_read_format_raw.bufr.uu \ + libarchive/test/test_read_format_raw.data.gz.uu \ + libarchive/test/test_read_format_raw.data.Z.uu \ +diff --git a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c +index 7c24627..f73393c 100644 +--- a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c +@@ -2034,6 +2034,8 @@ static int scan_for_signature(struct archive_read* a); + static int process_base_block(struct archive_read* a, + struct archive_entry* entry) + { ++ const size_t SMALLEST_RAR5_BLOCK_SIZE = 3; ++ + struct rar5* rar = get_context(a); + uint32_t hdr_crc, computed_crc; + size_t raw_hdr_size = 0, hdr_size_len, hdr_size; +@@ -2057,15 +2059,26 @@ static int process_base_block(struct archive_read* a, + return ARCHIVE_EOF; + } + ++ hdr_size = raw_hdr_size + hdr_size_len; ++ + /* Sanity check, maximum header size for RAR5 is 2MB. */ +- if(raw_hdr_size > (2 * 1024 * 1024)) { ++ if(hdr_size > (2 * 1024 * 1024)) { + archive_set_error(>archive, ARCHIVE_ERRNO_FILE_FORMAT, + "Base block header is too large"); + + return ARCHIVE_FATAL; + } + +- hdr_size = raw_hdr_size + hdr_size_len; ++ /* Additional sanity checks to weed out invalid files. */ ++ if(raw_hdr_size == 0 || hdr_size_len == 0 || ++ hdr_size < SMALLEST_RAR5_BLOCK_SIZE) ++ { ++ archive_set_error(>archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Too small block encountered (%ld bytes)", ++ raw_hdr_size); ++ ++ return ARCHIVE_FATAL; ++ } + + /* Read the whole header data into memory, maximum memory use here is +* 2MB. */ +diff --git a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c +index 1408f37..32e7ed8 100644 +--- a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c +@@ -1194,3 +1194,18 @@ DEFINE_TEST(test_read_format_rar5_fileattr) + + EPILOGUE(); + } ++ ++DEFINE_TEST(test_read_format_rar5_block_size_is_too_small) ++{ ++ char buf[4096]; ++ PROLOGUE("test_read_format_rar5_block_size_is_too_small.rar"); ++ ++ /* Th
[OE-core] [PATCH v2] libarchive: Fix CVE-2020-9308
Fix CVE-2020-9308 Signed-off-by: Wenlin Kang --- ...ct-files-that-declare-invalid-header.patch | 124 ++ .../libarchive/libarchive_3.4.1.bb| 4 +- 2 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch diff --git a/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch b/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch new file mode 100644 index 00..2b37d68d82 --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch @@ -0,0 +1,124 @@ +From 94821008d6eea81e315c5881cdf739202961040a Mon Sep 17 00:00:00 2001 +From: Grzegorz Antoniak +Date: Sun, 2 Feb 2020 08:04:41 +0100 +Subject: [PATCH] RAR5 reader: reject files that declare invalid header flags + +One of the fields in RAR5's base block structure is the size of the +header. Some invalid files declare a 0 header size setting, which can +confuse the unpacker. Minimum header size for RAR5 base blocks is 7 +bytes (4 bytes for CRC, and 3 bytes for the rest), so block size of 0 +bytes should be rejected at header parsing stage. + +The fix adds an error condition if header size of 0 bytes is detected. +In this case, the unpacker will not attempt to unpack the file, as the +header is corrupted. + +The commit also adds OSSFuzz #20459 sample to test further regressions +in this area. + +Upstream-Status: Backport[https://github.com/libarchive/libarchive/commit/94821008d6eea81e315c5881cdf739202961040a] +CVE: CVE-2020-9308 + +Signed-off-by: Wenlin Kang +--- + Makefile.am | 1 + + libarchive/archive_read_support_format_rar5.c | 17 +++-- + libarchive/test/test_read_format_rar5.c | 15 +++ + ...test_read_format_rar5_block_size_is_too_small.rar.uu | 8 + 4 files changed, 39 insertions(+), 2 deletions(-) + create mode 100644 libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu + +diff --git a/Makefile.am b/Makefile.am +index 06c2644..c65e243 100644 +--- a/Makefile.am b/Makefile.am +@@ -877,6 +877,7 @@ libarchive_test_EXTRA_DIST=\ + libarchive/test/test_read_format_rar5_win32.rar.uu \ + libarchive/test/test_read_format_rar5_arm_filter_on_window_boundary.rar.uu \ + libarchive/test/test_read_format_rar5_different_winsize_on_merge.rar.uu \ ++ libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu \ + libarchive/test/test_read_format_raw.bufr.uu \ + libarchive/test/test_read_format_raw.data.gz.uu \ + libarchive/test/test_read_format_raw.data.Z.uu \ +diff --git a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c +index ff1d6f8..f7c163e 100644 +--- a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c +@@ -2085,6 +2085,8 @@ static int scan_for_signature(struct archive_read* a); + static int process_base_block(struct archive_read* a, + struct archive_entry* entry) + { ++ const size_t SMALLEST_RAR5_BLOCK_SIZE = 3; ++ + struct rar5* rar = get_context(a); + uint32_t hdr_crc, computed_crc; + size_t raw_hdr_size = 0, hdr_size_len, hdr_size; +@@ -2114,15 +2116,26 @@ static int process_base_block(struct archive_read* a, + return ARCHIVE_EOF; + } + ++ hdr_size = raw_hdr_size + hdr_size_len; ++ + /* Sanity check, maximum header size for RAR5 is 2MB. */ +- if(raw_hdr_size > (2 * 1024 * 1024)) { ++ if(hdr_size > (2 * 1024 * 1024)) { + archive_set_error(>archive, ARCHIVE_ERRNO_FILE_FORMAT, + "Base block header is too large"); + + return ARCHIVE_FATAL; + } + +- hdr_size = raw_hdr_size + hdr_size_len; ++ /* Additional sanity checks to weed out invalid files. */ ++ if(raw_hdr_size == 0 || hdr_size_len == 0 || ++ hdr_size < SMALLEST_RAR5_BLOCK_SIZE) ++ { ++ archive_set_error(>archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Too small block encountered (%ld bytes)", ++ raw_hdr_size); ++ ++ return ARCHIVE_FATAL; ++ } + + /* Read the whole header data into memory, maximum memory use here is +* 2MB. */ +diff --git a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c +index bb94d4e..f91521e 100644 +--- a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c +@@ -1256,3 +1256,18 @@ DEFINE_TEST(test_read_format_rar5_different_winsize_on_merge) + + EPILOGUE(); + } ++ ++DEFINE_TEST(test_read_format_rar5_block_size_is_too_small) ++{ ++
Re: [OE-core] [PATCH] libarchive: Fix CVE-2020-9308
On 2/26/20 11:11 PM, Wenlin Kang wrote: Please ignore it. Fix CVE-2020-9308 Signed-off-by: Wenlin Kang --- ...ct-files-that-declare-invalid-header.patch | 124 ++ .../libarchive/libarchive_3.4.1.bb| 4 +- 2 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch diff --git a/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch b/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch new file mode 100644 index 00..c3e0af571e --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch @@ -0,0 +1,124 @@ +From 94821008d6eea81e315c5881cdf739202961040a Mon Sep 17 00:00:00 2001 +From: Grzegorz Antoniak +Date: Sun, 2 Feb 2020 08:04:41 +0100 +Subject: [PATCH] RAR5 reader: reject files that declare invalid header flags + +One of the fields in RAR5's base block structure is the size of the +header. Some invalid files declare a 0 header size setting, which can +confuse the unpacker. Minimum header size for RAR5 base blocks is 7 +bytes (4 bytes for CRC, and 3 bytes for the rest), so block size of 0 +bytes should be rejected at header parsing stage. + +The fix adds an error condition if header size of 0 bytes is detected. +In this case, the unpacker will not attempt to unpack the file, as the +header is corrupted. + +The commit also adds OSSFuzz #20459 sample to test further regressions +in this area. + +Upstream-Status: Backport[https://github.com/libarchive/libarchive/commit/94821008d6eea81e315c5881cdf739202961040a] +CVE-2020-9308 + +Signed-off-by: Wenlin Kang +--- + Makefile.am | 1 + + libarchive/archive_read_support_format_rar5.c | 17 +++-- + libarchive/test/test_read_format_rar5.c | 15 +++ + ...test_read_format_rar5_block_size_is_too_small.rar.uu | 8 + 4 files changed, 39 insertions(+), 2 deletions(-) + create mode 100644 libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu + +diff --git a/Makefile.am b/Makefile.am +index 06c2644..c65e243 100644 +--- a/Makefile.am b/Makefile.am +@@ -877,6 +877,7 @@ libarchive_test_EXTRA_DIST=\ + libarchive/test/test_read_format_rar5_win32.rar.uu \ + libarchive/test/test_read_format_rar5_arm_filter_on_window_boundary.rar.uu \ + libarchive/test/test_read_format_rar5_different_winsize_on_merge.rar.uu \ ++ libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu \ + libarchive/test/test_read_format_raw.bufr.uu \ + libarchive/test/test_read_format_raw.data.gz.uu \ + libarchive/test/test_read_format_raw.data.Z.uu \ +diff --git a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c +index ff1d6f8..f7c163e 100644 +--- a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c +@@ -2085,6 +2085,8 @@ static int scan_for_signature(struct archive_read* a); + static int process_base_block(struct archive_read* a, + struct archive_entry* entry) + { ++ const size_t SMALLEST_RAR5_BLOCK_SIZE = 3; ++ + struct rar5* rar = get_context(a); + uint32_t hdr_crc, computed_crc; + size_t raw_hdr_size = 0, hdr_size_len, hdr_size; +@@ -2114,15 +2116,26 @@ static int process_base_block(struct archive_read* a, + return ARCHIVE_EOF; + } + ++ hdr_size = raw_hdr_size + hdr_size_len; ++ + /* Sanity check, maximum header size for RAR5 is 2MB. */ +- if(raw_hdr_size > (2 * 1024 * 1024)) { ++ if(hdr_size > (2 * 1024 * 1024)) { + archive_set_error(>archive, ARCHIVE_ERRNO_FILE_FORMAT, + "Base block header is too large"); + + return ARCHIVE_FATAL; + } + +- hdr_size = raw_hdr_size + hdr_size_len; ++ /* Additional sanity checks to weed out invalid files. */ ++ if(raw_hdr_size == 0 || hdr_size_len == 0 || ++ hdr_size < SMALLEST_RAR5_BLOCK_SIZE) ++ { ++ archive_set_error(>archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Too small block encountered (%ld bytes)", ++ raw_hdr_size); ++ ++ return ARCHIVE_FATAL; ++ } + + /* Read the whole header data into memory, maximum memory use here is +* 2MB. */ +diff --git a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c +index bb94d4e..f91521e 100644 +--- a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c +@@ -1256,3 +1256,18 @@ DEFINE_TEST(test_read_format_rar5_different_winsize_on_merge) + + EPILOGUE(); + } ++ ++DEFINE_TEST(test_read_
[OE-core] [PATCH] libarchive: Fix CVE-2020-9308
Fix CVE-2020-9308 Signed-off-by: Wenlin Kang --- ...ct-files-that-declare-invalid-header.patch | 124 ++ .../libarchive/libarchive_3.4.1.bb| 4 +- 2 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch diff --git a/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch b/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch new file mode 100644 index 00..c3e0af571e --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0001-RAR5-reader-reject-files-that-declare-invalid-header.patch @@ -0,0 +1,124 @@ +From 94821008d6eea81e315c5881cdf739202961040a Mon Sep 17 00:00:00 2001 +From: Grzegorz Antoniak +Date: Sun, 2 Feb 2020 08:04:41 +0100 +Subject: [PATCH] RAR5 reader: reject files that declare invalid header flags + +One of the fields in RAR5's base block structure is the size of the +header. Some invalid files declare a 0 header size setting, which can +confuse the unpacker. Minimum header size for RAR5 base blocks is 7 +bytes (4 bytes for CRC, and 3 bytes for the rest), so block size of 0 +bytes should be rejected at header parsing stage. + +The fix adds an error condition if header size of 0 bytes is detected. +In this case, the unpacker will not attempt to unpack the file, as the +header is corrupted. + +The commit also adds OSSFuzz #20459 sample to test further regressions +in this area. + +Upstream-Status: Backport[https://github.com/libarchive/libarchive/commit/94821008d6eea81e315c5881cdf739202961040a] +CVE-2020-9308 + +Signed-off-by: Wenlin Kang +--- + Makefile.am | 1 + + libarchive/archive_read_support_format_rar5.c | 17 +++-- + libarchive/test/test_read_format_rar5.c | 15 +++ + ...test_read_format_rar5_block_size_is_too_small.rar.uu | 8 + 4 files changed, 39 insertions(+), 2 deletions(-) + create mode 100644 libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu + +diff --git a/Makefile.am b/Makefile.am +index 06c2644..c65e243 100644 +--- a/Makefile.am b/Makefile.am +@@ -877,6 +877,7 @@ libarchive_test_EXTRA_DIST=\ + libarchive/test/test_read_format_rar5_win32.rar.uu \ + libarchive/test/test_read_format_rar5_arm_filter_on_window_boundary.rar.uu \ + libarchive/test/test_read_format_rar5_different_winsize_on_merge.rar.uu \ ++ libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu \ + libarchive/test/test_read_format_raw.bufr.uu \ + libarchive/test/test_read_format_raw.data.gz.uu \ + libarchive/test/test_read_format_raw.data.Z.uu \ +diff --git a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c +index ff1d6f8..f7c163e 100644 +--- a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c +@@ -2085,6 +2085,8 @@ static int scan_for_signature(struct archive_read* a); + static int process_base_block(struct archive_read* a, + struct archive_entry* entry) + { ++ const size_t SMALLEST_RAR5_BLOCK_SIZE = 3; ++ + struct rar5* rar = get_context(a); + uint32_t hdr_crc, computed_crc; + size_t raw_hdr_size = 0, hdr_size_len, hdr_size; +@@ -2114,15 +2116,26 @@ static int process_base_block(struct archive_read* a, + return ARCHIVE_EOF; + } + ++ hdr_size = raw_hdr_size + hdr_size_len; ++ + /* Sanity check, maximum header size for RAR5 is 2MB. */ +- if(raw_hdr_size > (2 * 1024 * 1024)) { ++ if(hdr_size > (2 * 1024 * 1024)) { + archive_set_error(>archive, ARCHIVE_ERRNO_FILE_FORMAT, + "Base block header is too large"); + + return ARCHIVE_FATAL; + } + +- hdr_size = raw_hdr_size + hdr_size_len; ++ /* Additional sanity checks to weed out invalid files. */ ++ if(raw_hdr_size == 0 || hdr_size_len == 0 || ++ hdr_size < SMALLEST_RAR5_BLOCK_SIZE) ++ { ++ archive_set_error(>archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Too small block encountered (%ld bytes)", ++ raw_hdr_size); ++ ++ return ARCHIVE_FATAL; ++ } + + /* Read the whole header data into memory, maximum memory use here is +* 2MB. */ +diff --git a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c +index bb94d4e..f91521e 100644 +--- a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c +@@ -1256,3 +1256,18 @@ DEFINE_TEST(test_read_format_rar5_different_winsize_on_merge) + + EPILOGUE(); + } ++ ++DEFINE_TEST(test_read_format_rar5_block_size_is_too_small) ++{ ++
[OE-core] [PATCH] sysstat: remove check for chkconfig
For cross-platform, chkconfig can't work, so should remove check for it. This can only be reproduced on some platform with chkconfig(e.g. CentOS Linux release 7.2.1511), and need with --enable-install-cron and without --enable-copy-only. Fixed: | if [ "n" == "n" ]; then \ | if [ -x "/usr/sbin/chkconfig" ]; then \ | cd /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/init.d && /usr/sbin/chkconfig --add sysstat; \ | else \ | [ -d /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc2.d ] || mkdir -p /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc2.d; \ | [ -d /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc3.d ] || mkdir -p /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc3.d; \ | [ -d /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc5.d ] || mkdir -p /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc5.d; \ | cd /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc2.d && ln -s -f ../init.d/sysstat S01sysstat; \ | cd /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc3.d && ln -s -f ../init.d/sysstat S01sysstat; \ | cd /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d/rc5.d && ln -s -f ../init.d/sysstat S01sysstat; \ | fi \ | fi \ | elif [ -d /path/to/tmp/work/corei7-64-wrs-linux/sysstat/11.1.5-r0/image/etc/rc.d ]; then \ | ... | fi | error reading information on service sysstat: No such file or directory | Makefile:382: recipe for target 'install_all' failed Signed-off-by: Wenlin Kang --- ...1-configure.in-remove-check-for-chkconfig.patch | 31 ++ meta/recipes-extended/sysstat/sysstat_12.1.6.bb| 1 + 2 files changed, 32 insertions(+) create mode 100644 meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch diff --git a/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch b/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch new file mode 100644 index 000..4067bb9 --- /dev/null +++ b/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch @@ -0,0 +1,31 @@ +From 1590cc614aaf0fb81cd804414d6c9d5a9227352c Mon Sep 17 00:00:00 2001 +From: Wenlin Kang +Date: Tue, 5 Nov 2019 16:16:44 +0800 +Subject: [PATCH] configure.in: remove check for chkconfig + +chkconfig can't work on cross-platform, so should remove check for it. + +Upstream-Status: Inappropriate [ embedded specific ] + +Signed-off-by: Wenlin Kang +--- + configure.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index 48b9a31..cedeb43 100644 +--- a/configure.in b/configure.in +@@ -42,7 +42,8 @@ AC_SUBST(VER_JSON) + AC_SUBST(VER_XML) + + AC_PATH_PROG(PATH_CP, cp) +-AC_PATH_PROG(PATH_CHKCONFIG, chkconfig) ++#AC_PATH_PROG(PATH_CHKCONFIG, chkconfig) ++AC_SUBST(PATH_CHKCONFIG) + + # Check for systemd + AC_CHECK_PROG(PKG_CONFIG, pkg-config, pkg-config) +-- +1.9.1 + diff --git a/meta/recipes-extended/sysstat/sysstat_12.1.6.bb b/meta/recipes-extended/sysstat/sysstat_12.1.6.bb index 362888d..83bb45e 100644 --- a/meta/recipes-extended/sysstat/sysstat_12.1.6.bb +++ b/meta/recipes-extended/sysstat/sysstat_12.1.6.bb @@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" SRC_URI += "file://0001-Include-needed-headers-explicitly.patch \ file://0001-Fix-232-Memory-corruption-bug-due-to-Integer-Overflo.patch \ + file://0001-configure.in-remove-check-for-chkconfig.patch \ " SRC_URI[md5sum] = "d8e3bbb9c873dd370f6d33664e326570" -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] sysstat: fix CVE-2019-16167
This commit is another part of CVE-2019-16167, please see https://github.com/sysstat/sysstat/issues/232. Signed-off-by: Wenlin Kang --- ...ory-corruption-bug-due-to-Integer-Overflo.patch | 46 ++ meta/recipes-extended/sysstat/sysstat_12.1.6.bb| 4 +- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/sysstat/sysstat/0001-Fix-232-Memory-corruption-bug-due-to-Integer-Overflo.patch diff --git a/meta/recipes-extended/sysstat/sysstat/0001-Fix-232-Memory-corruption-bug-due-to-Integer-Overflo.patch b/meta/recipes-extended/sysstat/sysstat/0001-Fix-232-Memory-corruption-bug-due-to-Integer-Overflo.patch new file mode 100644 index 000..46b1118 --- /dev/null +++ b/meta/recipes-extended/sysstat/sysstat/0001-Fix-232-Memory-corruption-bug-due-to-Integer-Overflo.patch @@ -0,0 +1,46 @@ +From 603ae4ed8cd65abf0776ef7f68354a5c24a3411c Mon Sep 17 00:00:00 2001 +From: Sebastien GODARD +Date: Tue, 15 Oct 2019 14:39:33 +0800 +Subject: [PATCH] Fix #232: Memory corruption bug due to Integer Overflow in + remap_struct() + +Try to avoid integer overflow when reading a corrupted binary datafile +with sadf. + +Upstream-Status: Backport [https://github.com/sysstat/sysstat/commit/83fad9c895d1ac13f76af5883b7451b3302beef5] +CVE: CVE-2019-16167 + +Signed-off-by: Sebastien GODARD +Signed-off-by: Wenlin Kang +--- + sa_common.c | 7 +-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/sa_common.c b/sa_common.c +index 395c11c..cfa9007 100644 +--- a/sa_common.c b/sa_common.c +@@ -1336,7 +1336,8 @@ int remap_struct(unsigned int gtypes_nr[], unsigned int ftypes_nr[], + /* Remap [unsigned] int fields */ + d = gtypes_nr[1] - ftypes_nr[1]; + if (d) { +- if (ftypes_nr[1] * UL_ALIGNMENT_WIDTH < ftypes_nr[1]) ++ if (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH + ++ ftypes_nr[1] * UL_ALIGNMENT_WIDTH < ftypes_nr[1]) + /* Overflow */ + return -1; + +@@ -1365,7 +1366,9 @@ int remap_struct(unsigned int gtypes_nr[], unsigned int ftypes_nr[], + /* Remap possible fields (like strings of chars) following int fields */ + d = gtypes_nr[2] - ftypes_nr[2]; + if (d) { +- if (ftypes_nr[2] * U_ALIGNMENT_WIDTH < ftypes_nr[2]) ++ if (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH + ++ gtypes_nr[1] * UL_ALIGNMENT_WIDTH + ++ ftypes_nr[2] * U_ALIGNMENT_WIDTH < ftypes_nr[2]) + /* Overflow */ + return -1; + +-- +1.9.1 + diff --git a/meta/recipes-extended/sysstat/sysstat_12.1.6.bb b/meta/recipes-extended/sysstat/sysstat_12.1.6.bb index 8cf8c36..362888d 100644 --- a/meta/recipes-extended/sysstat/sysstat_12.1.6.bb +++ b/meta/recipes-extended/sysstat/sysstat_12.1.6.bb @@ -2,7 +2,9 @@ require sysstat.inc LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" -SRC_URI += "file://0001-Include-needed-headers-explicitly.patch" +SRC_URI += "file://0001-Include-needed-headers-explicitly.patch \ + file://0001-Fix-232-Memory-corruption-bug-due-to-Integer-Overflo.patch \ +" SRC_URI[md5sum] = "d8e3bbb9c873dd370f6d33664e326570" SRC_URI[sha256sum] = "f752f3c406153a6fc446496f1102872505ace3f0931d975c1d664c81ec09f129" -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] db: add switch for building database verification
Add switch for building database verification, enable this, it will solve the following issue: root@qemux86-64:~# db_verify /var/lib/rpm/Packages db_verify: BDB0571 library build did not include support for database verification BDB5105 Verification of /var/lib/rpm/Packages failed. Signed-off-by: Wenlin Kang --- meta/recipes-support/db/db_5.3.28.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-support/db/db_5.3.28.bb b/meta/recipes-support/db/db_5.3.28.bb index 8975647..761d80c 100644 --- a/meta/recipes-support/db/db_5.3.28.bb +++ b/meta/recipes-support/db/db_5.3.28.bb @@ -56,10 +56,12 @@ FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so" #configuration - set in local.conf to override # All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) -DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql" +DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-compat185 --disable-sql" EXTRA_OECONF = "${DB5_CONFIG} --enable-shared --enable-cxx --with-sysroot STRIP=true" +PACKAGECONFIG[verify] = "--enable-verify, --disable-verify" + EXTRA_OEMAKE += "LIBTOOL='./${HOST_SYS}-libtool'" EXTRA_AUTORECONF += "--exclude=autoheader -I ${S}/dist/aclocal -I${S}/dist/aclocal_java" -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] systemd: install libnss-myhostname.so when myhostname be enabled
This fixes the follow issue, the cause is that net-tools needs libnss-myhostname.so when run "hostname -s". root@qemuarm64:~# hostname -s hostname: Unknown host Signed-off-by: Wenlin Kang --- meta/recipes-core/systemd/systemd_241.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/systemd/systemd_241.bb b/meta/recipes-core/systemd/systemd_241.bb index bfbfc81..251daaa 100644 --- a/meta/recipes-core/systemd/systemd_241.bb +++ b/meta/recipes-core/systemd/systemd_241.bb @@ -547,6 +547,7 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ $ RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck" RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf" +RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'myhostname', 'libnss-myhostname', '', d)}" RRECOMMENDS_${PN} += "systemd-extra-utils \ systemd-compat-units udev-hwdb \ -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] kexec-tools: add systemd support for kdump
On 2017年10月17日 10:21, Wenlin Kang wrote: Add file kdump.service to support kdump in systemd. Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> --- meta/recipes-kernel/kexec/kexec-tools.inc | 1 + .../recipes-kernel/kexec/kexec-tools/kdump.service | 12 +++ meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb| 23 +- 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 meta/recipes-kernel/kexec/kexec-tools/kdump.service diff --git a/meta/recipes-kernel/kexec/kexec-tools.inc b/meta/recipes-kernel/kexec/kexec-tools.inc index bdfe024..c689bec 100644 --- a/meta/recipes-kernel/kexec/kexec-tools.inc +++ b/meta/recipes-kernel/kexec/kexec-tools.inc @@ -11,6 +11,7 @@ DEPENDS = "zlib xz" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \ file://kdump \ file://kdump.conf \ + file://kdump.service \ " PR = "r1" diff --git a/meta/recipes-kernel/kexec/kexec-tools/kdump.service b/meta/recipes-kernel/kexec/kexec-tools/kdump.service new file mode 100644 index 000..4e65a46 --- /dev/null +++ b/meta/recipes-kernel/kexec/kexec-tools/kdump.service @@ -0,0 +1,12 @@ +[Unit] +Description=Reboot and dump vmcore via kexec +DefaultDependencies=no + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@LIBEXECDIR@/kdump-helper start +ExecStop=@LIBEXECDIR@/kdump-helper stop + +[Install] +WantedBy=multi-user.target diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb index bd89720..0f6398f1 100644 --- a/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb +++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb @@ -34,19 +34,32 @@ ALLOW_EMPTY_${PN} = "1" RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg" FILES_kexec = "${sbindir}/kexec" -FILES_kdump = "${sbindir}/kdump ${sysconfdir}/init.d/kdump \ - ${sysconfdir}/sysconfig/kdump.conf" +FILES_kdump = "${sbindir}/kdump \ + ${sysconfdir}/sysconfig/kdump.conf \ + ${sysconfdir}/init.d/kdump \ + ${libexecdir}/kdump-helper \ + ${systemd_unitdir}/system/kdump.service \ +" + FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg" -inherit update-rc.d +inherit update-rc.d systemd INITSCRIPT_PACKAGES = "kdump" INITSCRIPT_NAME_kdump = "kdump" INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ." do_install_append () { -install -d ${D}${sysconfdir}/init.d -install -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump install -d ${D}${sysconfdir}/sysconfig install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig + +if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then +install -D -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump +fi + +if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then +install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper +install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service +sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service +fi } ping .. -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] kexec-tools: add systemd support for kdump
Add file kdump.service to support kdump in systemd. Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> --- meta/recipes-kernel/kexec/kexec-tools.inc | 1 + .../recipes-kernel/kexec/kexec-tools/kdump.service | 12 +++ meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb| 23 +- 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 meta/recipes-kernel/kexec/kexec-tools/kdump.service diff --git a/meta/recipes-kernel/kexec/kexec-tools.inc b/meta/recipes-kernel/kexec/kexec-tools.inc index bdfe024..c689bec 100644 --- a/meta/recipes-kernel/kexec/kexec-tools.inc +++ b/meta/recipes-kernel/kexec/kexec-tools.inc @@ -11,6 +11,7 @@ DEPENDS = "zlib xz" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \ file://kdump \ file://kdump.conf \ + file://kdump.service \ " PR = "r1" diff --git a/meta/recipes-kernel/kexec/kexec-tools/kdump.service b/meta/recipes-kernel/kexec/kexec-tools/kdump.service new file mode 100644 index 000..4e65a46 --- /dev/null +++ b/meta/recipes-kernel/kexec/kexec-tools/kdump.service @@ -0,0 +1,12 @@ +[Unit] +Description=Reboot and dump vmcore via kexec +DefaultDependencies=no + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@LIBEXECDIR@/kdump-helper start +ExecStop=@LIBEXECDIR@/kdump-helper stop + +[Install] +WantedBy=multi-user.target diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb index bd89720..0f6398f1 100644 --- a/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb +++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.14.bb @@ -34,19 +34,32 @@ ALLOW_EMPTY_${PN} = "1" RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg" FILES_kexec = "${sbindir}/kexec" -FILES_kdump = "${sbindir}/kdump ${sysconfdir}/init.d/kdump \ - ${sysconfdir}/sysconfig/kdump.conf" +FILES_kdump = "${sbindir}/kdump \ + ${sysconfdir}/sysconfig/kdump.conf \ + ${sysconfdir}/init.d/kdump \ + ${libexecdir}/kdump-helper \ + ${systemd_unitdir}/system/kdump.service \ +" + FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg" -inherit update-rc.d +inherit update-rc.d systemd INITSCRIPT_PACKAGES = "kdump" INITSCRIPT_NAME_kdump = "kdump" INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ." do_install_append () { -install -d ${D}${sysconfdir}/init.d -install -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump install -d ${D}${sysconfdir}/sysconfig install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig + +if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then +install -D -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump +fi + +if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then +install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper +install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service +sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service +fi } -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] freetype: Fix some CVE
On 2017年05月25日 17:43, Burton, Ross wrote: On 25 May 2017 at 10:23, Wenlin Kang <wenlin.k...@windriver.com <mailto:wenlin.k...@windriver.com>> wrote: Fix the follow CVE. CVE-2017-7864 CVE-2017-7858 CVE-2017-7857 CVE-2017-8105 CVE-2017-8287 How many of these are fixed in the 2.8 release, which we should be upgrading to instead of backporting patches as oe-core is now open for upgrades. Hi Ross These all have been fixed in the 2.8 release. Ross -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] freetype: Fix some CVE
Fix the follow CVE. CVE-2017-7864 CVE-2017-7858 CVE-2017-7857 CVE-2017-8105 CVE-2017-8287 Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> --- ...01-truetype-Fix-MVAR-post-action-handling.patch | 68 +++ ...mprove-handling-for-buggy-variation-fonts.patch | 74 + ...fnt-Another-fix-for-buggy-variation-fonts.patch | 63 ++ .../0004-psaux-Better-protect-flex-handling.patch | 77 ++ ...sobjs.c-t1_builder_close_contour-Add-safe.patch | 59 + meta/recipes-graphics/freetype/freetype_2.7.1.bb | 8 ++- 6 files changed, 348 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-graphics/freetype/freetype/0001-truetype-Fix-MVAR-post-action-handling.patch create mode 100644 meta/recipes-graphics/freetype/freetype/0002-sfnt-Improve-handling-for-buggy-variation-fonts.patch create mode 100644 meta/recipes-graphics/freetype/freetype/0003-sfnt-Another-fix-for-buggy-variation-fonts.patch create mode 100644 meta/recipes-graphics/freetype/freetype/0004-psaux-Better-protect-flex-handling.patch create mode 100644 meta/recipes-graphics/freetype/freetype/0005-src-psaux-psobjs.c-t1_builder_close_contour-Add-safe.patch diff --git a/meta/recipes-graphics/freetype/freetype/0001-truetype-Fix-MVAR-post-action-handling.patch b/meta/recipes-graphics/freetype/freetype/0001-truetype-Fix-MVAR-post-action-handling.patch new file mode 100644 index 000..8bb78f1 --- /dev/null +++ b/meta/recipes-graphics/freetype/freetype/0001-truetype-Fix-MVAR-post-action-handling.patch @@ -0,0 +1,68 @@ +From 00af09fabe6ccef97a162be304d475c0544062b9 Mon Sep 17 00:00:00 2001 +From: Werner Lemberg <w...@gnu.org> +Date: Thu, 25 May 2017 16:15:53 +0800 +Subject: [PATCH 1/5] [truetype] Fix MVAR post-action handling. + +Reported as + +https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=509 + +* src/truetype/ttobjs.c (tt_size_reset): Do nothing for CFF2. This +is important to make `tt_size_reset_iterator' (called in +`tt_apply_mvar') always work. + +This patch comes from git://git.savannah.gnu.org/freetype/freetype2.git, +the commit is e6699596af5c5d6f0ae0ea06e19df87dce088df8. + +Upsteam-Status: Backport + +Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> +--- + ChangeLog | 12 + src/truetype/ttobjs.c | 8 ++-- + 2 files changed, 18 insertions(+), 2 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index 23f5748..b0239ec 100644 +--- a/ChangeLog b/ChangeLog +@@ -1,3 +1,15 @@ ++ [truetype] Fix MVAR post-action handling. ++ ++ Reported as ++ ++https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=509 ++ ++ * src/truetype/ttobjs.c (tt_size_reset): Do nothing for CFF2. This ++ is important to make `tt_size_reset_iterator' (called in ++ `tt_apply_mvar') always work. ++ ++2017-02-02 Werner Lemberg <w...@gnu.org> ++ + 2016-09-08 Werner Lemberg <w...@gnu.org> + + * Version 2.7.1 released. +diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c +index 7e37113..3d760b8 100644 +--- a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c +@@ -1194,10 +1194,14 @@ + FT_Size_Metrics* metrics; + + +-size->ttmetrics.valid = FALSE; +- + face = (TT_Face)size->root.face; + ++/* nothing to do for CFF2 */ ++if ( face->isCFF2 ) ++ return FT_Err_Ok; ++ ++size->ttmetrics.valid = FALSE; ++ + metrics = >metrics; + + /* copy the result from base layer */ +-- +1.9.1 + diff --git a/meta/recipes-graphics/freetype/freetype/0002-sfnt-Improve-handling-for-buggy-variation-fonts.patch b/meta/recipes-graphics/freetype/freetype/0002-sfnt-Improve-handling-for-buggy-variation-fonts.patch new file mode 100644 index 000..7940fb4 --- /dev/null +++ b/meta/recipes-graphics/freetype/freetype/0002-sfnt-Improve-handling-for-buggy-variation-fonts.patch @@ -0,0 +1,74 @@ +From b642aa8f590658cfd394bfaa9db5e138d6013938 Mon Sep 17 00:00:00 2001 +From: Werner Lemberg <w...@gnu.org> +Date: Thu, 25 May 2017 16:23:09 +0800 +Subject: [PATCH 2/5] [sfnt] Improve handling for buggy variation fonts. + +Reported as + +https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=738 + +* src/sfnt/sfobjs.c (sfnt_init_face): While setting number of +instances to zero for `CFF' fonts table, ensure that there is no `glyf' +present also (which gets priority). + +This patch comes from git://git.savannah.gnu.org/freetype/freetype2.git, +the commit is 779309744222a736eba0f1731e8162fce6288d4e. + +Upstream-Status: Backport + +Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> +--- + ChangeLog | 12 + src/sfnt/sfobjs.c | 9 + + 2 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index b0239ec..1fe66f3 100644 +--- a/ChangeLog b/ChangeLog +@@ -1,3 +1,15 @@ ++2017-03-07 Werner Lemberg <w...@gnu.org> ++ ++ [sfnt] Improve handling for b
Re: [OE-core] [PATCH] gnupg: specify explicitly tar path
On 2016年12月20日 17:47, Wenlin Kang wrote: On 2016年12月19日 19:39, Burton, Ross wrote: On 19 December 2016 at 07:01, Wenlin Kang <wenlin.k...@windriver.com <mailto:wenlin.k...@windriver.com>> wrote: +- AC_PATH_PROG(TAR,"tar") +-_mytar=$ac_cv_path_TAR You don't need to patch configure.ac <http://configure.ac> as you can just set pass ac_cv_path_TAR=${base_bindir/tar in EXTRA_OECONF. Ross Your means is that we should only set --with-tar=${base_bindir}/tar in EXTRA_OECONF, not to modify configure.ac, right? If that, the configure code will skip directly "ustar format check code", not check whether tar supports "ustar format", and think it doesn't support ustar format, so I think we need to modify the configure(related m4/tar-ustar.m4 file) when set --with-tar=${base_bindir}/tar in EXTRA_OECONF. Hi Ross Do you have any thoughts for above my explain? and can you merge that patch to oecore ? thanks. -- Thanks, Wenlin Kang -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] gnupg: specify explicitly tar path
On 2016年12月20日 17:47, Wenlin Kang wrote: On 2016年12月19日 19:39, Burton, Ross wrote: On 19 December 2016 at 07:01, Wenlin Kang <wenlin.k...@windriver.com <mailto:wenlin.k...@windriver.com>> wrote: +- AC_PATH_PROG(TAR,"tar") +-_mytar=$ac_cv_path_TAR You don't need to patch configure.ac <http://configure.ac> as you can just set pass ac_cv_path_TAR=${base_bindir/tar in EXTRA_OECONF. Ross Your means is that we should only set --with-tar=${base_bindir}/tar in EXTRA_OECONF, not to modify configure.ac, right? If that, the configure code will skip directly "ustar format check code", not check whether tar supports "ustar format", and think it doesn't support ustar format, so I think we need to modify the configure(related m4/tar-ustar.m4 file) when set --with-tar=${base_bindir}/tar in EXTRA_OECONF. -- Thanks, Wenlin Kang ping .. -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] gnupg: specify explicitly tar path
On 2016年12月19日 19:39, Burton, Ross wrote: On 19 December 2016 at 07:01, Wenlin Kang <wenlin.k...@windriver.com <mailto:wenlin.k...@windriver.com>> wrote: +- AC_PATH_PROG(TAR,"tar") +-_mytar=$ac_cv_path_TAR You don't need to patch configure.ac <http://configure.ac> as you can just set pass ac_cv_path_TAR=${base_bindir/tar in EXTRA_OECONF. Ross Your means is that we should only set --with-tar=${base_bindir}/tar in EXTRA_OECONF, not to modify configure.ac, right? If that, the configure code will skip directly "ustar format check code", not check whether tar supports "ustar format", and think it doesn't support ustar format, so I think we need to modify the configure(related m4/tar-ustar.m4 file) when set --with-tar=${base_bindir}/tar in EXTRA_OECONF. -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] gnupg: specify explicitly tar path
On cross-compile platform, automatic check of ustar is unreliable, so we specify explicitly tar path after check manually. Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> --- .../fix-ustar-and-tar-path-check-issue.patch | 46 ++ meta/recipes-support/gnupg/gnupg_1.4.7.bb | 2 + 2 files changed, 48 insertions(+) create mode 100644 meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch new file mode 100644 index 000..fca8d64 --- /dev/null +++ b/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch @@ -0,0 +1,46 @@ +Remove automatic detection of tar path and ustar format + +Remove automatic detection of tar path and ustar format, because they +are unreliable and inappropriate for cross-compile platform. + +Upstream status: Inappropriate [cross-compile platform specific] + +Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> + +diff -uarN gnupg-1.4.7-org/m4/tar-ustar.m4 gnupg-1.4.7/m4/tar-ustar.m4 +--- gnupg-1.4.7-org/m4/tar-ustar.m42016-12-19 11:06:58.621838069 +0800 gnupg-1.4.7/m4/tar-ustar.m42016-12-19 11:13:31.721840809 +0800 +@@ -15,22 +15,22 @@ + + if test x$_do_tar != xno ; then + +- if test x$_do_tar = x ; then +-AC_PATH_PROG(TAR,"tar") +-_mytar=$ac_cv_path_TAR +- fi +- + # Check if our tar is ustar format. If so, it's good. TODO: Add some + # code to check various options, etc, to try and create ustar + # format. + +- if test x$_mytar != x ; then +-AC_MSG_CHECKING([whether $_mytar speaks USTAR]) +-echo hithere > conftest.txt +-$_mytar -cf - conftest.txt | (dd skip=257 bs=1 count=5 2>/dev/null || cat) | grep ustar > /dev/null +-_tar_bad=$? +-rm conftest.txt ++ if test x$_do_tar != x ; then ++AC_SUBST(TAR,$_do_tar) ++AC_MSG_CHECKING([whether $_do_tar speaks USTAR]) ++ ++# Here, we ignore the check code, because it isn't indeed applicable for ++# cross-compile platform. ++# Now our tar support ustar, so we say directly yes, but once the tar is changed, ++# you should check whether it suppport ustar, and please reference the follow command: ++# echo hithere > conftest.txt ++# tar -cf - conftest.txt | (dd skip=257 bs=1 count=5 2>/dev/null || cat) | grep ustar > /dev/null + ++_tar_bad=0 + if test x$_tar_bad = x0 ; then + AC_MSG_RESULT([yes]) + else diff --git a/meta/recipes-support/gnupg/gnupg_1.4.7.bb b/meta/recipes-support/gnupg/gnupg_1.4.7.bb index 6ccffd5..6ea6fe3 100644 --- a/meta/recipes-support/gnupg/gnupg_1.4.7.bb +++ b/meta/recipes-support/gnupg/gnupg_1.4.7.bb @@ -18,6 +18,7 @@ SRC_URI = "${GNUPG_MIRROR}/gnupg/gnupg-${PV}.tar.bz2 \ file://CVE-2013-4351.patch \ file://CVE-2013-4576.patch \ file://CVE-2013-4242.patch \ + file://fix-ustar-and-tar-path-check-issue.patch \ " SRC_URI[md5sum] = "b06a141cca5cd1a55bbdd25ab833303c" @@ -79,6 +80,7 @@ EXTRA_OECONF = "--disable-ldap \ --disable-selinux-support \ --with-readline=${STAGING_LIBDIR}/.. \ ac_cv_sys_symbol_underscore=no \ +--with-tar=${base_bindir}/tar \ " # Force gcc's traditional handling of inline to avoid issues with gcc 5 -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] relocate_sdk: fixed .gccrelocprefix section handling
When fixing paths for .gccrelocprefix section, it will corrupt the next entry during updating the current one if "new_prefix" length is more than "DEFAULT_INSTALL_DIR", this problem is obvious on the code, but it's only found when install sdk onto a net file system. Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> --- scripts/relocate_sdk.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py index 992db5c..ceca1f2 100755 --- a/scripts/relocate_sdk.py +++ b/scripts/relocate_sdk.py @@ -166,6 +166,7 @@ def change_dl_sysdirs(): while (offset + 4096) <= sh_size: path = f.read(4096) new_path = old_prefix.sub(new_prefix, path) +new_path = new_path.rstrip(b("\0")) # pad with zeros new_path += b("\0") * (4096 - len(new_path)) #print "Changing %s to %s at %s" % (str(path), str(new_path), str(offset)) -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] toolchain-shar-extract.sh: limit the length for target_sdk_dir
Limit the length for target_sdk_dir, this can ensure the relocation behaviour in relocate_sdk.py has the right result. Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> --- meta/files/toolchain-shar-extract.sh | 6 ++ 1 file changed, 6 insertions(+) diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index 12d39c3..0295bde 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh @@ -110,6 +110,12 @@ else target_sdk_dir=$(readlink -m "$target_sdk_dir") fi +# limit the length for target_sdk_dir, ensure the relocation behaviour in relocate_sdk.py has right result. +if [ ${#target_sdk_dir} -gt 2048 ]; then + echo "Error: The target directory path is too long!!!" + exit 1 +fi + if [ "$SDK_EXTENSIBLE" = "1" ]; then # We're going to be running the build system, additional restrictions apply if echo "$target_sdk_dir" | grep -q '[+\ @$]'; then -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] kexec-tools: added the script kdump
Added the script file kdump,it provides the follow support: 1. Load a kdump kernel image into memory; 2. Copy away vmcore when system panic. Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com> --- meta/recipes-kernel/kexec/kexec-tools.inc| 5 +- meta/recipes-kernel/kexec/kexec-tools/kdump | 163 +++ meta/recipes-kernel/kexec/kexec-tools/kdump.conf | 18 +++ meta/recipes-kernel/kexec/kexec-tools_2.0.10.bb | 8 ++ 4 files changed, 193 insertions(+), 1 deletion(-) create mode 100755 meta/recipes-kernel/kexec/kexec-tools/kdump create mode 100644 meta/recipes-kernel/kexec/kexec-tools/kdump.conf diff --git a/meta/recipes-kernel/kexec/kexec-tools.inc b/meta/recipes-kernel/kexec/kexec-tools.inc index 7797a25..758a3a7 100644 --- a/meta/recipes-kernel/kexec/kexec-tools.inc +++ b/meta/recipes-kernel/kexec/kexec-tools.inc @@ -8,7 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \ file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09" DEPENDS = "zlib xz" -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz" +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \ + file://kdump \ + file://kdump.conf \ +" PR = "r1" diff --git a/meta/recipes-kernel/kexec/kexec-tools/kdump b/meta/recipes-kernel/kexec/kexec-tools/kdump new file mode 100755 index 000..3fb133f --- /dev/null +++ b/meta/recipes-kernel/kexec/kexec-tools/kdump @@ -0,0 +1,163 @@ +#! /bin/sh +# +# kdump +# +# Description: The kdump script provides the support: +# 1. Load a kdump kernel image into memory; +# 2. Copy away vmcore when system panic. +# + +#default +KDUMP_KVER="`uname -r`" +KDUMP_KIMAGE="/boot/bzImage-${KDUMP_KVER}" +KDUMP_CMDLINE="`cat /proc/cmdline`" +KDUMP_CMDLINE_APPEND="kdump_needed maxcpus=1 irqpoll reset_devices" +KDUMP_VMCORE_PATH="/var/crash/`date +"%Y-%m-%d"`" + +#get right kernel image +march="`uname -m`" +case ${march} in + x86*|i?86) + ;; + *) + KDUMP_KIMAGE="/boot/uImage-${KDUMP_KVER}" + ;; +esac + +KEXEC=usr/sbin/kexec +KEXEC_ARGS="-p" + +MAKEDUMPFILE=/usr/bin/makedumpfile +MAKEDUMPFILE_ARGS="-E -d 1" + +LOGGER="logger -p info -t kdump" + +if [ -f /etc/sysconfig/kdump.conf ]; then + . /etc/sysconfig/kdump.conf +fi + +do_check() +{ + #check makedumpfile + if [ ! -e ${MAKEDUMPFILE} -o ! -x ${MAKEDUMPFILE} ] ;then + echo "No makedumpfile found." + return 1; + fi + + #check kexec + if [ ! -e ${KEXEC} -o ! -x ${KEXEC} ] ;then + echo "No kexec found." + return 1; + fi + + #check whether kdump kernel image exists on the system + if [ ! -f ${KDUMP_KIMAGE} ]; then + echo "No kdump kernel image found." + return 1 + fi +} + +do_save_vmcore() +{ + mkdir -p ${KDUMP_VMCORE_PATH} + echo "Saving a vmcore to ${KDUMP_VMCORE_PATH}." + + ${MAKEDUMPFILE} ${MAKEDUMPFILE_ARGS} /proc/vmcore ${KDUMP_VMCORE_PATH}/vmcore-"`date +"%H:%M:%S"`" +# cp --sparse=always /proc/vmcore ${KDUMP_VMCORE_PATH}/vmcore-"`date +"%H:%M:%S"`" + rc=$? + if [ ${rc} == 0 ]; then + ${LOGGER} "Saved a vmcore to ${KDUMP_VMCORE_PATH}." + else + ${LOGGER} "Failed to save vmcore!" + fi + return ${rc} +} + +do_start() +{ + #check file + do_check + + #check whether the running kernel supports kdump. + if [ ! -e /sys/kernel/kexec_crash_loaded ]; then + echo "Kdump isn't supported on the running kernel!!!" + ${LOGGER} "Kdump isn't supported on the running kernel!!!" + return 1 + fi + + #check whether kdump kernel image has been loaded + rc=`cat /sys/kernel/kexec_crash_loaded` + if [ ${rc} != 0 ]; then + echo "Kdump is already running."; + ${LOGGER} "Kdump is already running." + return 0 + fi + + #check the running kernel cmdline option,insure "crashkenrel=" always set. + grep -q crashkernel= /proc/cmdline + if [ $? != 0 ]; then + echo "Kdump isn't supported on the running kernel,please check boot option!!!" + ${LOGGER} "Kdump isn't supported on the running kernel,please check boot option!!!" + return 1 + fi + + #handle kdump cmdline parameters, remove some useless options + kcmdline="" + for x in `cat /pro
[OE-core] [PATCH] openssh: fix login fails for ssh -o Batchmode=yes with empty passwords
The patch fixes the login fails for ssh -o Batchmode=yes when passwords is empty and without authorized_keys file even if set PermitEmptyPasswords yes in sshd_config file. Here, to fix this issue, we remove the file auth2-none.c-avoid-authenticate- empty-passwords-to-m.patch, that fixed broken pipe while sshd with pam, but it isn't needed any more now, because we make it has gone by change ChallengeResponseAuthentication value in sshd_config file. Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- ...c-avoid-authenticate-empty-passwords-to-m.patch | 30 .../openssh/openssh/sshd_config|2 +- meta/recipes-connectivity/openssh/openssh_6.8p1.bb |3 +- 3 files changed, 2 insertions(+), 33 deletions(-) delete mode 100644 meta/recipes-connectivity/openssh/openssh/auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch diff --git a/meta/recipes-connectivity/openssh/openssh/auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch b/meta/recipes-connectivity/openssh/openssh/auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch deleted file mode 100644 index ba13cd1..000 --- a/meta/recipes-connectivity/openssh/openssh/auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch +++ /dev/null @@ -1,30 +0,0 @@ -Upstream-Status: Pending - -Subject: auth2-none.c: avoid authenticate empty passwords to mess up with PAM - -If UsePAM, PermitEmptyPasswords, PasswordAuthentication are enabled. The ssh daemon -will try to authenticate an empty password, resulting in login failures of any user. -If PAM is enabled, then we should leave the task of password authentication to PAM. - -Signed-off-by: Chen Qi qi.c...@windriver.com - - auth2-none.c |2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/auth2-none.c b/auth2-none.c -index c8c6c74..b48b2fd 100644 a/auth2-none.c -+++ b/auth2-none.c -@@ -61,7 +61,7 @@ userauth_none(Authctxt *authctxt) - { - none_enabled = 0; - packet_check_eom(); -- if (options.permit_empty_passwd options.password_authentication) -+ if (options.permit_empty_passwd options.password_authentication !options.use_pam) - return (PRIVSEP(auth_password(authctxt, ))); - return (0); - } --- -1.7.9.5 - diff --git a/meta/recipes-connectivity/openssh/openssh/sshd_config b/meta/recipes-connectivity/openssh/openssh/sshd_config index 3553669..d48bd2b 100644 --- a/meta/recipes-connectivity/openssh/openssh/sshd_config +++ b/meta/recipes-connectivity/openssh/openssh/sshd_config @@ -73,7 +73,7 @@ AuthorizedKeysFile .ssh/authorized_keys #PermitEmptyPasswords no # Change to no to disable s/key passwords -#ChallengeResponseAuthentication yes +ChallengeResponseAuthentication no # Kerberos options #KerberosAuthentication no diff --git a/meta/recipes-connectivity/openssh/openssh_6.8p1.bb b/meta/recipes-connectivity/openssh/openssh_6.8p1.bb index 8e07e00..b00ef6f 100644 --- a/meta/recipes-connectivity/openssh/openssh_6.8p1.bb +++ b/meta/recipes-connectivity/openssh/openssh_6.8p1.bb @@ -20,8 +20,7 @@ SRC_URI = ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar. file://sshdgenkeys.service \ file://volatiles.99_sshd \ file://add-test-support-for-busybox.patch \ - file://run-ptest \ - file://auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch + file://run-ptest PAM_SRC_URI = file://sshd -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] busybox: fix a sh link wrong
On 2014年04月08日 15:16, Wenlin Kang wrote: When both bash and busybox be installed, without ash support in busybox,if bash is installed before busybox in the final stage, even if ALTERNATIVE_PRIORITY of bash ALTERNATIVE_PRIORITY of busybox, the symlink from /bin/sh to bash can be yet overwritten by busybox. Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- meta/recipes-core/busybox/busybox.inc |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index 69b9b0c..bf2ddc1 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc @@ -188,7 +188,9 @@ do_install () { install -m 0755 ${B}/busybox.nosuid ${D}${base_bindir} install -m 0644 ${S}/busybox.links.suid ${D}${sysconfdir} install -m 0644 ${S}/busybox.links.nosuid ${D}${sysconfdir} - ln -sf busybox.nosuid ${D}${base_bindir}/sh + if grep -q CONFIG_FEATURE_SH_IS_ASH=y ${B}/.config; then + ln -sf busybox.nosuid ${D}${base_bindir}/sh + fi # Keep a default busybox for people who want to invoke busybox directly. # This is also useful for the on device upgrade. Because we want # to use the busybox command in postinst. @@ -200,7 +202,9 @@ do_install () { install -m 0755 ${B}/busybox ${D}${base_bindir} fi install -m 0644 ${S}/busybox.links ${D}${sysconfdir} - ln -sf busybox ${D}${base_bindir}/sh + if grep -q CONFIG_FEATURE_SH_IS_ASH=y ${B}/.config; then + ln -sf busybox ${D}${base_bindir}/sh + fi # We make this symlink here to eliminate the error when upgrading together # with busybox-syslog. Without this symlink, the opkg may think of the # busybox.nosuid as obsolete and remove it, resulting in dead links like ping ... -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH V2] bash: fix to build bash/po/ correctly
On 2014年06月09日 14:29, Wenlin Kang wrote: Changes from V1: 1. add Signed-off-by: tag 2. remake the patch, make it can apply correctly Wenlin Kang (1): bash: fix to build bash/po/ correctly .../bash/bash/fix-to-build-po-correctly.patch | 87 meta/recipes-extended/bash/bash_4.3.bb |1 + 2 files changed, 88 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch ping // Wenlin -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] fetch2/svn.py: fix Unable to fetch URL bug
On 2014年06月11日 16:18, Wenlin Kang wrote: On 2014年06月03日 15:13, Wenlin Kang wrote: On 2014年06月03日 11:30, Saul Wold wrote: On 06/02/2014 06:55 PM, Wenlin Kang wrote: For svn source, when download a revsion on branches, if the download revsion the branch created time revsion, then it will fail. The detail description reference the Yocto Project bugzilla, please see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=6258 Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- lib/bb/fetch2/svn.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/svn.py b/lib/bb/fetch2/svn.py index 8847461..75e21df 100644 --- a/lib/bb/fetch2/svn.py +++ b/lib/bb/fetch2/svn.py @@ -98,7 +98,8 @@ class Svn(FetchMethod): suffix = if ud.revision: options.append(-r %s % ud.revision) - suffix = @%s % (ud.revision) + #follow this line can make the fetch fail when download a revsion on branches if the download revsion the branch created time revsion. + #suffix = @%s % (ud.revision) Will this cause other failures if there versions requests at a specific revision? can you detail how you tested this? For a specific revsion download, I also do test, but I don't see failure now. My test follow, you can reference it. First, you need to create a svn server, eg, my is svnroot $svnadmin create ~/workspace/svnroot Second, on the client side do: $mkdir -p ~/workspace/svntest $cd ~/workspace/svntest $mkdir -p test/{trunk,branches,tag} $mkdir -p test/trunk/tdir0/tdir1/tdir2 $touch test/trunk/{hello.c} $touch test/trunk/tdir0/tdir1/tdir2/test2.c $touch test/trunk/tdir0/tdir1/test1.c $touch test/trunk/tdir0/test0.c $svn import -m create the project test test/ svn://xxx.xxx.xxx.xxx/svnroot/test Then, do some commit,... Such, we now get r15 $svn cp -m create a branch test_debug-1.0 svn://xxx.xxx.xxx.xxx/svnroot/test/trunk svn://xxx.xxx.xxx.xxx/svnroot/test/branches/test_debug-1.0 Now, we create a bb file(eg, mytest.bb) to down tdir1 with the verion test_debug-1.0 created time version, eg, download r12 in bb file has: SRCREV = 12 SRC_URI = svn://xxx.xxx.xxx.xxx/svnroot/test/branches/test_debug-1.0;module=test0/tdir1 Replace module=test0/tdir1 with module=tdir0/tdir1 //Wenlin Last, run fetch for mytest.bb Hi, Saul What can tell me about this? I wan to know the upstream status for the patch and test step, thanks. // Wenlin if command == fetch: svncmd = %s co %s %s://%s/%s%s %s % (ud.basecmd, .join(options), proto, svnroot, ud.module, suffix, ud.module) -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] fetch2/svn.py: fix Unable to fetch URL bug
On 2014年06月03日 15:13, Wenlin Kang wrote: On 2014年06月03日 11:30, Saul Wold wrote: On 06/02/2014 06:55 PM, Wenlin Kang wrote: For svn source, when download a revsion on branches, if the download revsion the branch created time revsion, then it will fail. The detail description reference the Yocto Project bugzilla, please see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=6258 Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- lib/bb/fetch2/svn.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/svn.py b/lib/bb/fetch2/svn.py index 8847461..75e21df 100644 --- a/lib/bb/fetch2/svn.py +++ b/lib/bb/fetch2/svn.py @@ -98,7 +98,8 @@ class Svn(FetchMethod): suffix = if ud.revision: options.append(-r %s % ud.revision) - suffix = @%s % (ud.revision) + #follow this line can make the fetch fail when download a revsion on branches if the download revsion the branch created time revsion. + #suffix = @%s % (ud.revision) Will this cause other failures if there versions requests at a specific revision? can you detail how you tested this? For a specific revsion download, I also do test, but I don't see failure now. My test follow, you can reference it. First, you need to create a svn server, eg, my is svnroot $svnadmin create ~/workspace/svnroot Second, on the client side do: $mkdir -p ~/workspace/svntest $cd ~/workspace/svntest $mkdir -p test/{trunk,branches,tag} $mkdir -p test/trunk/tdir0/tdir1/tdir2 $touch test/trunk/{hello.c} $touch test/trunk/tdir0/tdir1/tdir2/test2.c $touch test/trunk/tdir0/tdir1/test1.c $touch test/trunk/tdir0/test0.c $svn import -m create the project test test/ svn://xxx.xxx.xxx.xxx/svnroot/test Then, do some commit,... Such, we now get r15 $svn cp -m create a branch test_debug-1.0 svn://xxx.xxx.xxx.xxx/svnroot/test/trunk svn://xxx.xxx.xxx.xxx/svnroot/test/branches/test_debug-1.0 Now, we create a bb file(eg, mytest.bb) to down tdir1 with the verion test_debug-1.0 created time version, eg, download r12 in bb file has: SRCREV = 12 SRC_URI = svn://xxx.xxx.xxx.xxx/svnroot/test/branches/test_debug-1.0;module=test0/tdir1 Replace module=test0/tdir1 with module=tdir0/tdir1 //Wenlin Last, run fetch for mytest.bb if command == fetch: svncmd = %s co %s %s://%s/%s%s %s % (ud.basecmd, .join(options), proto, svnroot, ud.module, suffix, ud.module) -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] bash: fix to build bash/po/ correctly
On 2014年06月07日 02:11, Saul Wold wrote: On 06/04/2014 12:45 AM, Wenlin Kang wrote: There was an ignored error while building bash, causing the po/ directory not built out correctly, the log follow: make[1]: *** No rule to make target `/config.status', needed by `Makefile'. Stop. make: [installdirs] Error 2 (ignored) The cause is that some variable,PACKAGE and VERSION don't be defined, and others don't get correct value, eg, top_builddir in po/Makevar, GETTEXT_MACRO_VERSION and MKDIR_P in po/Makefile.in.in and so on. The patch fixed above problem. No Signed-off-by: tag for this patch for OE-Core, I see one in the patch below. Oh, yes, I miss it, I will add it. The patch does not seem to apply correctly, did you verify this against master? Got it, thank your test, I will remake it. //Wenlin Sau! --- .../bash/bash/fix-to-build-po-correctly.patch | 83 meta/recipes-extended/bash/bash_4.3.bb | 1 + 2 files changed, 84 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch diff --git a/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch b/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch new file mode 100644 index 000..9db6fe2 --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch @@ -0,0 +1,83 @@ + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Wenlin Kang wenlin.k...@windriver.com + +diff -aurN bash-4.3-org/aclocal.m4 bash-4.3/aclocal.m4 +--- bash-4.3-org/aclocal.m4 2014-05-23 15:28:54.252565146 +0800 bash-4.3/aclocal.m4 2014-05-23 15:33:19.924570133 +0800 +@@ -3710,6 +3710,14 @@ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl ++ AC_REQUIRE([AC_PROG_MKDIR_P])dnl ++ AC_REQUIRE([AC_PROG_SED])dnl ++ ++ AC_SUBST([mkdir_p], ['$(MKDIR_P)']) ++ ++ dnl Release version of the gettext macros. This is used to ensure that ++ dnl the gettext macros and po/Makefile.in.in are in sync. ++ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for make dist to work. +@@ -3723,6 +3731,22 @@ + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + ++ dnl Test whether it is GNU msgfmt = 0.15. ++changequote(,)dnl ++ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; ++ *) MSGFMT_015=$MSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([MSGFMT_015]) ++changequote(,)dnl ++ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; ++ *) GMSGFMT_015=$GMSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([GMSGFMT_015]) ++ + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. +@@ -3733,6 +3757,15 @@ + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + ++ dnl Test whether it is GNU xgettext = 0.15. ++changequote(,)dnl ++ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; ++ *) XGETTEXT_015=$XGETTEXT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([XGETTEXT_015]) ++ + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null /dev/null 21], :) +diff -aurN bash-4.3-org/configure.ac bash-4.3/configure.ac +--- bash-4.3-org/configure.ac 2014-05-23 15:28:54.208565145 +0800 bash-4.3/configure.ac 2014-05-23 15:29:35.640565923 +0800 +@@ -1201,6 +1201,10 @@ + #AC_SUBST(ALLOCA_SOURCE) + #AC_SUBST(ALLOCA_OBJECT) + ++# Define the identity of the package. ++AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl ++AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])dnl ++ + AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \ + lib/intl/Makefile \ + lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \ +diff -aurN bash-4.3-org/po/Makevars bash-4.3/po/Makevars +--- bash-4.3-org/po/Makevars 2014-05-23 15:28:54.204565145 +0800 bash-4.3/po/Makevars 2014-05-23 15:30:04.772566469 +0800 +@@ -5,7 +5,7 @@ + + # These two variables depend on the location of this directory. + subdir = po +-top_builddir = $(BUILD_DIR) ++top_builddir = .. + + # These options get passed to xgettext. + XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ -C diff --git a/meta/recipes-extended/bash/bash_4.3.bb b/meta/recipes-extended/bash/bash_4.3.bb index 25b7410..a6d7d40 100644 --- a/meta/recipes-extended/bash/bash_4.3.bb +++ b/meta/recipes-extended/bash/bash_4.3.bb @@ -10,6 +10,7 @@ SRC_URI = ${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ file://build-tests.patch \ file://test-output.patch \ file://run-ptest \ + file://fix-to-build-po-correctly.patch \ SRC_URI[tarball.md5sum
[OE-core] [PATCH] bash: fix to build bash/po/ correctly
There was an ignored error while building bash, causing the po/ directory not built out correctly, the log follow: make[1]: *** No rule to make target `/config.status', needed by `Makefile'. Stop. make: [installdirs] Error 2 (ignored) The cause is that some variable,PACKAGE and VERSION don't be defined, and others don't get correct value, eg, top_builddir in po/Makevar, GETTEXT_MACRO_VERSION and MKDIR_P in po/Makefile.in.in and so on. The patch fixed above problem. Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- .../bash/bash/fix-to-build-po-correctly.patch | 87 meta/recipes-extended/bash/bash_4.3.bb |1 + 2 files changed, 88 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch diff --git a/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch b/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch new file mode 100644 index 000..ae3c86a --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch @@ -0,0 +1,87 @@ + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Wenlin Kang wenlin.k...@windriver.com + +diff -aurN bash-4.3-org/aclocal.m4 bash-4.3/aclocal.m4 +--- bash-4.3-org/aclocal.m42014-05-23 15:28:54.252565146 +0800 bash-4.3/aclocal.m42014-05-23 15:33:19.924570133 +0800 +@@ -3710,6 +3710,14 @@ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl ++ AC_REQUIRE([AC_PROG_MKDIR_P])dnl ++ AC_REQUIRE([AC_PROG_SED])dnl ++ ++ AC_SUBST([mkdir_p], ['$(MKDIR_P)']) ++ ++ dnl Release version of the gettext macros. This is used to ensure that ++ dnl the gettext macros and po/Makefile.in.in are in sync. ++ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for make dist to work. +@@ -3723,6 +3731,22 @@ + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + ++ dnl Test whether it is GNU msgfmt = 0.15. ++changequote(,)dnl ++ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; ++*) MSGFMT_015=$MSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([MSGFMT_015]) ++changequote(,)dnl ++ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; ++*) GMSGFMT_015=$GMSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([GMSGFMT_015]) ++ + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. +@@ -3733,6 +3757,15 @@ + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + ++ dnl Test whether it is GNU xgettext = 0.15. ++changequote(,)dnl ++ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; ++*) XGETTEXT_015=$XGETTEXT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([XGETTEXT_015]) ++ + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null /dev/null 21], :) +diff -aurN bash-4.3-org/configure.ac bash-4.3/configure.ac +--- bash-4.3-org/configure.ac 2014-05-23 15:28:54.208565145 +0800 bash-4.3/configure.ac 2014-05-23 15:29:35.640565923 +0800 +@@ -1201,6 +1201,10 @@ + #AC_SUBST(ALLOCA_SOURCE) + #AC_SUBST(ALLOCA_OBJECT) + ++# Define the identity of the package. ++AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl ++AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])dnl ++ + AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \ + lib/intl/Makefile \ + lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \ +diff -aurN bash-4.3-org/po/Makevars bash-4.3/po/Makevars +--- bash-4.3-org/po/Makevars 2014-05-23 15:28:54.204565145 +0800 bash-4.3/po/Makevars 2014-05-23 15:30:04.772566469 +0800 +@@ -5,7 +5,7 @@ + + # These two variables depend on the location of this directory. + subdir = po +-top_builddir = $(BUILD_DIR) ++top_builddir = .. + + # These options get passed to xgettext. + XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ -C diff --git a/meta/recipes-extended/bash/bash_4.3.bb b/meta/recipes-extended/bash/bash_4.3.bb index 25b7410..a6d7d40 100644 --- a/meta/recipes-extended/bash/bash_4.3.bb +++ b/meta/recipes-extended/bash/bash_4.3.bb @@ -10,6 +10,7 @@ SRC_URI = ${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ file://build-tests.patch \ file://test-output.patch \ file://run-ptest \ + file://fix-to-build-po-correctly.patch \ SRC_URI[tarball.md5sum] = 81348932d5da294953e15d4814c74dd1 -- 1.7.9.5 -- ___ Openembedded-core
[OE-core] [PATCH V2] bash: fix to build bash/po/ correctly
Changes from V1: 1. add Signed-off-by: tag 2. remake the patch, make it can apply correctly Wenlin Kang (1): bash: fix to build bash/po/ correctly .../bash/bash/fix-to-build-po-correctly.patch | 87 meta/recipes-extended/bash/bash_4.3.bb |1 + 2 files changed, 88 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] bash: fix to build bash/po/ correctly
There was an ignored error while building bash, causing the po/ directory not built out correctly, the log follow: make[1]: *** No rule to make target `/config.status', needed by `Makefile'. Stop. make: [installdirs] Error 2 (ignored) The cause is that some variable,PACKAGE and VERSION don't be defined, and others don't get correct value, eg, top_builddir in po/Makevar, GETTEXT_MACRO_VERSION and MKDIR_P in po/Makefile.in.in and so on. The patch fixed above problem. --- .../bash/bash/fix-to-build-po-correctly.patch | 83 meta/recipes-extended/bash/bash_4.3.bb |1 + 2 files changed, 84 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch diff --git a/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch b/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch new file mode 100644 index 000..9db6fe2 --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-to-build-po-correctly.patch @@ -0,0 +1,83 @@ + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Wenlin Kang wenlin.k...@windriver.com + +diff -aurN bash-4.3-org/aclocal.m4 bash-4.3/aclocal.m4 +--- bash-4.3-org/aclocal.m42014-05-23 15:28:54.252565146 +0800 bash-4.3/aclocal.m42014-05-23 15:33:19.924570133 +0800 +@@ -3710,6 +3710,14 @@ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl ++ AC_REQUIRE([AC_PROG_MKDIR_P])dnl ++ AC_REQUIRE([AC_PROG_SED])dnl ++ ++ AC_SUBST([mkdir_p], ['$(MKDIR_P)']) ++ ++ dnl Release version of the gettext macros. This is used to ensure that ++ dnl the gettext macros and po/Makefile.in.in are in sync. ++ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for make dist to work. +@@ -3723,6 +3731,22 @@ + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + ++ dnl Test whether it is GNU msgfmt = 0.15. ++changequote(,)dnl ++ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; ++*) MSGFMT_015=$MSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([MSGFMT_015]) ++changequote(,)dnl ++ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; ++*) GMSGFMT_015=$GMSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([GMSGFMT_015]) ++ + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. +@@ -3733,6 +3757,15 @@ + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + ++ dnl Test whether it is GNU xgettext = 0.15. ++changequote(,)dnl ++ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; ++*) XGETTEXT_015=$XGETTEXT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([XGETTEXT_015]) ++ + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null /dev/null 21], :) +diff -aurN bash-4.3-org/configure.ac bash-4.3/configure.ac +--- bash-4.3-org/configure.ac 2014-05-23 15:28:54.208565145 +0800 bash-4.3/configure.ac 2014-05-23 15:29:35.640565923 +0800 +@@ -1201,6 +1201,10 @@ + #AC_SUBST(ALLOCA_SOURCE) + #AC_SUBST(ALLOCA_OBJECT) + ++# Define the identity of the package. ++AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl ++AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])dnl ++ + AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \ + lib/intl/Makefile \ + lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \ +diff -aurN bash-4.3-org/po/Makevars bash-4.3/po/Makevars +--- bash-4.3-org/po/Makevars 2014-05-23 15:28:54.204565145 +0800 bash-4.3/po/Makevars 2014-05-23 15:30:04.772566469 +0800 +@@ -5,7 +5,7 @@ + + # These two variables depend on the location of this directory. + subdir = po +-top_builddir = $(BUILD_DIR) ++top_builddir = .. + + # These options get passed to xgettext. + XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ -C diff --git a/meta/recipes-extended/bash/bash_4.3.bb b/meta/recipes-extended/bash/bash_4.3.bb index 25b7410..a6d7d40 100644 --- a/meta/recipes-extended/bash/bash_4.3.bb +++ b/meta/recipes-extended/bash/bash_4.3.bb @@ -10,6 +10,7 @@ SRC_URI = ${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ file://build-tests.patch \ file://test-output.patch \ file://run-ptest \ + file://fix-to-build-po-correctly.patch \ SRC_URI[tarball.md5sum] = 81348932d5da294953e15d4814c74dd1 -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org
[OE-core] [PATCH] bash: fixed bash build error
When build bash, a error occurs, the log follow: make[1]: *** No rule to make target `/config.status', needed by `Makefile'. Stop. make: [installdirs] Error 2 (ignored) The cause is that some variable,PACKAGE and VERSION don't be defined, and others don't get correct value, eg, top_builddir in po/Makevar, GETTEXT_MACRO_VERSION and MKDIR_P in po/Makefile.in.in and so on. The patch fixed above problem. Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- .../bash/bash/fix-build-error.patch| 83 meta/recipes-extended/bash/bash_4.3.bb |1 + 2 files changed, 84 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/fix-build-error.patch diff --git a/meta/recipes-extended/bash/bash/fix-build-error.patch b/meta/recipes-extended/bash/bash/fix-build-error.patch new file mode 100644 index 000..9db6fe2 --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-build-error.patch @@ -0,0 +1,83 @@ + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Wenlin Kang wenlin.k...@windriver.com + +diff -aurN bash-4.3-org/aclocal.m4 bash-4.3/aclocal.m4 +--- bash-4.3-org/aclocal.m42014-05-23 15:28:54.252565146 +0800 bash-4.3/aclocal.m42014-05-23 15:33:19.924570133 +0800 +@@ -3710,6 +3710,14 @@ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl ++ AC_REQUIRE([AC_PROG_MKDIR_P])dnl ++ AC_REQUIRE([AC_PROG_SED])dnl ++ ++ AC_SUBST([mkdir_p], ['$(MKDIR_P)']) ++ ++ dnl Release version of the gettext macros. This is used to ensure that ++ dnl the gettext macros and po/Makefile.in.in are in sync. ++ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for make dist to work. +@@ -3723,6 +3731,22 @@ + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + ++ dnl Test whether it is GNU msgfmt = 0.15. ++changequote(,)dnl ++ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; ++*) MSGFMT_015=$MSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([MSGFMT_015]) ++changequote(,)dnl ++ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; ++*) GMSGFMT_015=$GMSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([GMSGFMT_015]) ++ + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. +@@ -3733,6 +3757,15 @@ + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + ++ dnl Test whether it is GNU xgettext = 0.15. ++changequote(,)dnl ++ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; ++*) XGETTEXT_015=$XGETTEXT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([XGETTEXT_015]) ++ + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null /dev/null 21], :) +diff -aurN bash-4.3-org/configure.ac bash-4.3/configure.ac +--- bash-4.3-org/configure.ac 2014-05-23 15:28:54.208565145 +0800 bash-4.3/configure.ac 2014-05-23 15:29:35.640565923 +0800 +@@ -1201,6 +1201,10 @@ + #AC_SUBST(ALLOCA_SOURCE) + #AC_SUBST(ALLOCA_OBJECT) + ++# Define the identity of the package. ++AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl ++AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])dnl ++ + AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \ + lib/intl/Makefile \ + lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \ +diff -aurN bash-4.3-org/po/Makevars bash-4.3/po/Makevars +--- bash-4.3-org/po/Makevars 2014-05-23 15:28:54.204565145 +0800 bash-4.3/po/Makevars 2014-05-23 15:30:04.772566469 +0800 +@@ -5,7 +5,7 @@ + + # These two variables depend on the location of this directory. + subdir = po +-top_builddir = $(BUILD_DIR) ++top_builddir = .. + + # These options get passed to xgettext. + XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ -C diff --git a/meta/recipes-extended/bash/bash_4.3.bb b/meta/recipes-extended/bash/bash_4.3.bb index 25b7410..3ddf145 100644 --- a/meta/recipes-extended/bash/bash_4.3.bb +++ b/meta/recipes-extended/bash/bash_4.3.bb @@ -10,6 +10,7 @@ SRC_URI = ${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ file://build-tests.patch \ file://test-output.patch \ file://run-ptest \ + file://fix-build-error.patch \ SRC_URI[tarball.md5sum] = 81348932d5da294953e15d4814c74dd1 -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] fetch2/svn.py: fix Unable to fetch URL bug
On 2014年06月03日 11:30, Saul Wold wrote: On 06/02/2014 06:55 PM, Wenlin Kang wrote: For svn source, when download a revsion on branches, if the download revsion the branch created time revsion, then it will fail. The detail description reference the Yocto Project bugzilla, please see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=6258 Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- lib/bb/fetch2/svn.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/svn.py b/lib/bb/fetch2/svn.py index 8847461..75e21df 100644 --- a/lib/bb/fetch2/svn.py +++ b/lib/bb/fetch2/svn.py @@ -98,7 +98,8 @@ class Svn(FetchMethod): suffix = if ud.revision: options.append(-r %s % ud.revision) - suffix = @%s % (ud.revision) + #follow this line can make the fetch fail when download a revsion on branches if the download revsion the branch created time revsion. + #suffix = @%s % (ud.revision) Will this cause other failures if there versions requests at a specific revision? can you detail how you tested this? For a specific revsion download, I also do test, but I don't see failure now. My test follow, you can reference it. First, you need to create a svn server, eg, my is svnroot $svnadmin create ~/workspace/svnroot Second, on the client side do: $mkdir -p ~/workspace/svntest $cd ~/workspace/svntest $mkdir -p test/{trunk,branches,tag} $mkdir -p test/trunk/tdir0/tdir1/tdir2 $touch test/trunk/{hello.c} $touch test/trunk/tdir0/tdir1/tdir2/test2.c $touch test/trunk/tdir0/tdir1/test1.c $touch test/trunk/tdir0/test0.c $svn import -m create the project test test/ svn://xxx.xxx.xxx.xxx/svnroot/test Then, do some commit,... Such, we now get r15 $svn cp -m create a branch test_debug-1.0 svn://xxx.xxx.xxx.xxx/svnroot/test/trunk svn://xxx.xxx.xxx.xxx/svnroot/test/branches/test_debug-1.0 Now, we create a bb file(eg, mytest.bb) to down tdir1 with the verion test_debug-1.0 created time version, eg, download r12 in bb file has: SRCREV = 12 SRC_URI = svn://xxx.xxx.xxx.xxx/svnroot/test/branches/test_debug-1.0;module=test0/tdir1 Last, run fetch for mytest.bb if command == fetch: svncmd = %s co %s %s://%s/%s%s %s % (ud.basecmd, .join(options), proto, svnroot, ud.module, suffix, ud.module) -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] bash: fixed bash build error
On 2014年06月03日 14:58, Richard Purdie wrote: On Tue, 2014-06-03 at 13:59 +0800, Wenlin Kang wrote: When build bash, a error occurs, the log follow: make[1]: *** No rule to make target `/config.status', needed by `Makefile'. Stop. make: [installdirs] Error 2 (ignored) The cause is that some variable,PACKAGE and VERSION don't be defined, and others don't get correct value, eg, top_builddir in po/Makevar, GETTEXT_MACRO_VERSION and MKDIR_P in po/Makefile.in.in and so on. The patch fixed above problem. Why are you seeing this issue yet for most of us, bash builds fine? This isn't quite clear, we need to check bash/temp/log.do_install file to find it, and this is trigged when builds in bash/po/ Cheers, Richard Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- .../bash/bash/fix-build-error.patch| 83 meta/recipes-extended/bash/bash_4.3.bb |1 + 2 files changed, 84 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/fix-build-error.patch diff --git a/meta/recipes-extended/bash/bash/fix-build-error.patch b/meta/recipes-extended/bash/bash/fix-build-error.patch new file mode 100644 index 000..9db6fe2 --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-build-error.patch @@ -0,0 +1,83 @@ + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Wenlin Kang wenlin.k...@windriver.com + +diff -aurN bash-4.3-org/aclocal.m4 bash-4.3/aclocal.m4 +--- bash-4.3-org/aclocal.m42014-05-23 15:28:54.252565146 +0800 bash-4.3/aclocal.m42014-05-23 15:33:19.924570133 +0800 +@@ -3710,6 +3710,14 @@ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl ++ AC_REQUIRE([AC_PROG_MKDIR_P])dnl ++ AC_REQUIRE([AC_PROG_SED])dnl ++ ++ AC_SUBST([mkdir_p], ['$(MKDIR_P)']) ++ ++ dnl Release version of the gettext macros. This is used to ensure that ++ dnl the gettext macros and po/Makefile.in.in are in sync. ++ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for make dist to work. +@@ -3723,6 +3731,22 @@ + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + ++ dnl Test whether it is GNU msgfmt = 0.15. ++changequote(,)dnl ++ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; ++*) MSGFMT_015=$MSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([MSGFMT_015]) ++changequote(,)dnl ++ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; ++*) GMSGFMT_015=$GMSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([GMSGFMT_015]) ++ + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. +@@ -3733,6 +3757,15 @@ + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + ++ dnl Test whether it is GNU xgettext = 0.15. ++changequote(,)dnl ++ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; ++*) XGETTEXT_015=$XGETTEXT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([XGETTEXT_015]) ++ + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null /dev/null 21], :) +diff -aurN bash-4.3-org/configure.ac bash-4.3/configure.ac +--- bash-4.3-org/configure.ac 2014-05-23 15:28:54.208565145 +0800 bash-4.3/configure.ac 2014-05-23 15:29:35.640565923 +0800 +@@ -1201,6 +1201,10 @@ + #AC_SUBST(ALLOCA_SOURCE) + #AC_SUBST(ALLOCA_OBJECT) + ++# Define the identity of the package. ++AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl ++AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])dnl ++ + AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \ + lib/intl/Makefile \ + lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \ +diff -aurN bash-4.3-org/po/Makevars bash-4.3/po/Makevars +--- bash-4.3-org/po/Makevars 2014-05-23 15:28:54.204565145 +0800 bash-4.3/po/Makevars 2014-05-23 15:30:04.772566469 +0800 +@@ -5,7 +5,7 @@ + + # These two variables depend on the location of this directory. + subdir = po +-top_builddir = $(BUILD_DIR) ++top_builddir = .. + + # These options get passed to xgettext. + XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ -C diff --git a/meta/recipes-extended/bash/bash_4.3.bb b/meta/recipes-extended/bash/bash_4.3.bb index 25b7410..3ddf145 100644 --- a/meta/recipes-extended/bash/bash_4.3.bb +++ b/meta/recipes-extended/bash/bash_4.3.bb @@ -10,6 +10,7 @@ SRC_URI = ${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ file://build-tests.patch \ file://test-output.patch \ file://run
[OE-core] [PATCH] fetch2/svn.py: fix Unable to fetch URL bug
For svn source, when download a revsion on branches, if the download revsion the branch created time revsion, then it will fail. The detail description reference the Yocto Project bugzilla, please see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=6258 Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- lib/bb/fetch2/svn.py |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/svn.py b/lib/bb/fetch2/svn.py index 8847461..75e21df 100644 --- a/lib/bb/fetch2/svn.py +++ b/lib/bb/fetch2/svn.py @@ -98,7 +98,8 @@ class Svn(FetchMethod): suffix = if ud.revision: options.append(-r %s % ud.revision) -suffix = @%s % (ud.revision) +#follow this line can make the fetch fail when download a revsion on branches if the download revsion the branch created time revsion. +#suffix = @%s % (ud.revision) if command == fetch: svncmd = %s co %s %s://%s/%s%s %s % (ud.basecmd, .join(options), proto, svnroot, ud.module, suffix, ud.module) -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] bash: fixed bash build error
When build bash, a error occurs, the log follow: make[1]: *** No rule to make target `/config.status', needed by `Makefile'. Stop. make: [installdirs] Error 2 (ignored) The cause is that some variable,PACKAGE and VERSION don't be defined, and others don't get correct value, eg, top_builddir in po/Makevar, GETTEXT_MACRO_VERSION and MKDIR_P in po/Makefile.in.in and so on. The patch fixed above problem. Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- .../bash/bash/fix-build-error.patch| 83 meta/recipes-extended/bash/bash_4.3.bb |1 + 2 files changed, 84 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/fix-build-error.patch diff --git a/meta/recipes-extended/bash/bash/fix-build-error.patch b/meta/recipes-extended/bash/bash/fix-build-error.patch new file mode 100644 index 000..9db6fe2 --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-build-error.patch @@ -0,0 +1,83 @@ +diff -aurN bash-4.3-org/aclocal.m4 bash-4.3/aclocal.m4 +--- bash-4.3-org/aclocal.m42014-05-23 15:28:54.252565146 +0800 bash-4.3/aclocal.m42014-05-23 15:33:19.924570133 +0800 +@@ -3710,6 +3710,14 @@ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl ++ AC_REQUIRE([AC_PROG_MKDIR_P])dnl ++ AC_REQUIRE([AC_PROG_SED])dnl ++ ++ AC_SUBST([mkdir_p], ['$(MKDIR_P)']) ++ ++ dnl Release version of the gettext macros. This is used to ensure that ++ dnl the gettext macros and po/Makefile.in.in are in sync. ++ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for make dist to work. +@@ -3723,6 +3731,22 @@ + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + ++ dnl Test whether it is GNU msgfmt = 0.15. ++changequote(,)dnl ++ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; ++*) MSGFMT_015=$MSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([MSGFMT_015]) ++changequote(,)dnl ++ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; ++*) GMSGFMT_015=$GMSGFMT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([GMSGFMT_015]) ++ + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. +@@ -3733,6 +3757,15 @@ + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + ++ dnl Test whether it is GNU xgettext = 0.15. ++changequote(,)dnl ++ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in ++'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; ++*) XGETTEXT_015=$XGETTEXT ;; ++ esac ++changequote([,])dnl ++ AC_SUBST([XGETTEXT_015]) ++ + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null /dev/null 21], :) +diff -aurN bash-4.3-org/configure.ac bash-4.3/configure.ac +--- bash-4.3-org/configure.ac 2014-05-23 15:28:54.208565145 +0800 bash-4.3/configure.ac 2014-05-23 15:29:35.640565923 +0800 +@@ -1201,6 +1201,10 @@ + #AC_SUBST(ALLOCA_SOURCE) + #AC_SUBST(ALLOCA_OBJECT) + ++# Define the identity of the package. ++AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl ++AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])dnl ++ + AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \ + lib/intl/Makefile \ + lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \ +diff -aurN bash-4.3-org/po/Makevars bash-4.3/po/Makevars +--- bash-4.3-org/po/Makevars 2014-05-23 15:28:54.204565145 +0800 bash-4.3/po/Makevars 2014-05-23 15:30:04.772566469 +0800 +@@ -5,7 +5,7 @@ + + # These two variables depend on the location of this directory. + subdir = po +-top_builddir = $(BUILD_DIR) ++top_builddir = .. + + # These options get passed to xgettext. + XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ -C diff --git a/meta/recipes-extended/bash/bash_4.3.bb b/meta/recipes-extended/bash/bash_4.3.bb index 25b7410..3ddf145 100644 --- a/meta/recipes-extended/bash/bash_4.3.bb +++ b/meta/recipes-extended/bash/bash_4.3.bb @@ -10,6 +10,7 @@ SRC_URI = ${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ file://build-tests.patch \ file://test-output.patch \ file://run-ptest \ + file://fix-build-error.patch \ SRC_URI[tarball.md5sum] = 81348932d5da294953e15d4814c74dd1 -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] bash: fixed bash build error
On 2014年05月23日 17:29, Burton, Ross wrote: First, bash builds fine for me, so can you elaborate on what the situation that causes the failure is. build bash, then check temp/log.do_install, we can see error , this trigger when builds in bash/po/ The patch is missing upstream-status and signed-off-by. For build fixes I'd hope that there would be communication with upstream. On 23 May 2014 09:31, Wenlin Kang wenlin.k...@windriver.com wrote: +--- bash-4.3-org/aclocal.m42014-05-23 15:28:54.252565146 +0800 bash-4.3/aclocal.m42014-05-23 15:33:19.924570133 +0800 aclocal.m4 is overwritten in do_configure when we run autoreconf so anything changed in that file will be lost. in bash, I have double checking, original a clocal.m4 will be cat to acinclude.m4 at begin of do_configure not changed, and after regenerated acloacl.m4 will include acinclude.m4, so the changing in original aclocal.m4 will be not lost. Ross -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] autotools.bbclass: fixed bash build error
When build bash, a error occurs, the cause is that autotools uses improper Makefile.in.in which is from path/gettext/po/ but not bash itself in bash/po/,so to avoid some error to occur, we should use package itself Makefile.in.in file if it has. Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- meta/classes/autotools.bbclass |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index 0dc1e6b..db46e3b 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass @@ -230,7 +230,9 @@ autotools_do_configure() { # We'd call gettextize here if it wasn't so broken... cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/ if [ -d ${S}/po/ ]; then - cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/ + if [ ! -e ${S}/po/Makefile.in.in ]; then + cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/ + fi if [ ! -e ${S}/po/remove-potcdate.sin ]; then cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/ fi -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] autotools.bbclass: fixed bash build error
On 2014年05月15日 01:45, Christopher Larson wrote: On Wed, May 14, 2014 at 2:30 AM, Wenlin Kang wenlin.k...@windriver.com mailto:wenlin.k...@windriver.com wrote: When build bash, a error occurs, the cause is that autotools uses improper Makefile.in.in http://Makefile.in.in which is from path/gettext/po/ but not bash itself in bash/po/,so to avoid some error to occur, we should use package itself Makefile.in.in http://Makefile.in.in file if it has. Signed-off-by: Wenlin Kang wenlin.k...@windriver.com mailto:wenlin.k...@windriver.com This will cause breakage when the shipped Makefile.in.in http://Makefile.in.in gettext version mismatches with the gettext-native/gettext we built. but if we directly use gettext-native/gettext/Makefile.in.in just as now, for bash, it do occur some problem, can't get correct value of PACKAGE, VERSION due to use incorrect variable name(the right should is PACKAGE_NAME, PACKAGE_VERSION) , can't get BUILD_DIR, and can't get po-directories(it indeed isn't exist) in bash/po/Makefile. these all can trigger a build error in bash/po , so, whether we can have a much well solution for it, can you have some good advices, thanks? -- Christopher Larson clarson at kergoth dot com Founder - BitBake, OpenEmbedded, OpenZaurus Maintainer - Tslib Senior Software Engineer, Mentor Graphics -- Thanks, Wenlin Kang -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] busybox: fix a sh link wrong
When both bash and busybox be installed, without ash support in busybox,if bash is installed before busybox in the final stage, even if ALTERNATIVE_PRIORITY of bash ALTERNATIVE_PRIORITY of busybox, the symlink from /bin/sh to bash can be yet overwritten by busybox. Signed-off-by: Wenlin Kang wenlin.k...@windriver.com --- meta/recipes-core/busybox/busybox.inc |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index 69b9b0c..bf2ddc1 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc @@ -188,7 +188,9 @@ do_install () { install -m 0755 ${B}/busybox.nosuid ${D}${base_bindir} install -m 0644 ${S}/busybox.links.suid ${D}${sysconfdir} install -m 0644 ${S}/busybox.links.nosuid ${D}${sysconfdir} - ln -sf busybox.nosuid ${D}${base_bindir}/sh + if grep -q CONFIG_FEATURE_SH_IS_ASH=y ${B}/.config; then + ln -sf busybox.nosuid ${D}${base_bindir}/sh + fi # Keep a default busybox for people who want to invoke busybox directly. # This is also useful for the on device upgrade. Because we want # to use the busybox command in postinst. @@ -200,7 +202,9 @@ do_install () { install -m 0755 ${B}/busybox ${D}${base_bindir} fi install -m 0644 ${S}/busybox.links ${D}${sysconfdir} - ln -sf busybox ${D}${base_bindir}/sh + if grep -q CONFIG_FEATURE_SH_IS_ASH=y ${B}/.config; then + ln -sf busybox ${D}${base_bindir}/sh + fi # We make this symlink here to eliminate the error when upgrading together # with busybox-syslog. Without this symlink, the opkg may think of the # busybox.nosuid as obsolete and remove it, resulting in dead links like -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core