diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2016-07-17 20:32:45 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-26 08:56:28 +0100 |
commit | 9621959a3ad052af33bb8a5ed530f8e84b799f0d (patch) | |
tree | 6a571f530a6abf7b10191773c54655055f983585 /meta/recipes-devtools | |
parent | ad6aae31065b798b6f6f83eb830cebb075a0b62a (diff) | |
download | poky-9621959a3ad052af33bb8a5ed530f8e84b799f0d.tar.gz |
build-compare: improve deb and ipk checking
* The deb and ipk's depends version string is like:
Depends: libc6 (>= 2.24)
Update trim_release_old and trim_release_new to match the bracket in
the end ")".
* The deb's data tarball now is .tar.xz, and ipk's is .tar.gz.
* Update adjust_controlfile() to make ituse trim_release_old and
trim_release_new.
(From OE-Core rev: c92152e521a9f96a741eccd4a4bf5ddfbd59a7ae)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
3 files changed, 120 insertions, 2 deletions
diff --git a/meta/recipes-devtools/build-compare/build-compare_git.bb b/meta/recipes-devtools/build-compare/build-compare_git.bb index 09740d4921..fa9c6b45d3 100644 --- a/meta/recipes-devtools/build-compare/build-compare_git.bb +++ b/meta/recipes-devtools/build-compare/build-compare_git.bb | |||
@@ -14,6 +14,7 @@ SRC_URI = "git://github.com/openSUSE/build-compare.git \ | |||
14 | file://pkg-diff.sh-check-for-fifo-named-pipe.patch \ | 14 | file://pkg-diff.sh-check-for-fifo-named-pipe.patch \ |
15 | file://pkg-diff.sh-check_single_file-return-at-once-when-sa.patch \ | 15 | file://pkg-diff.sh-check_single_file-return-at-once-when-sa.patch \ |
16 | file://pkg-diff.sh-remove-space-in-the-end-for-ftype.patch \ | 16 | file://pkg-diff.sh-remove-space-in-the-end-for-ftype.patch \ |
17 | file://functions.sh-improve-deb-and-ipk-checking.patch \ | ||
17 | " | 18 | " |
18 | 19 | ||
19 | SRCREV = "c5352c054c6ef15735da31b76d6d88620f4aff0a" | 20 | SRCREV = "c5352c054c6ef15735da31b76d6d88620f4aff0a" |
diff --git a/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch b/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch index 5c15218c8a..82fd8169ff 100644 --- a/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch +++ b/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch | |||
@@ -3,7 +3,7 @@ From: Paul Eggleton <paul.eggleton@linux.intel.com> | |||
3 | Date: Tue, 1 Sep 2015 12:04:33 +0100 | 3 | Date: Tue, 1 Sep 2015 12:04:33 +0100 |
4 | Subject: [PATCH] Add support for deb and ipk packaging | 4 | Subject: [PATCH] Add support for deb and ipk packaging |
5 | 5 | ||
6 | Upstream-Status: Pending | 6 | Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] |
7 | 7 | ||
8 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | 8 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> |
9 | --- | 9 | --- |
@@ -34,7 +34,7 @@ index 06079df..85c9003 100644 | |||
34 | return $RES | 34 | return $RES |
35 | } | 35 | } |
36 | + | 36 | + |
37 | +function adjust_controlfile () { | 37 | +function adjust_controlfile() { |
38 | + cat $1/control | sed '/^Version: /d' > $1/control.fixed | 38 | + cat $1/control | sed '/^Version: /d' > $1/control.fixed |
39 | + mv $1/control.fixed $1/control | 39 | + mv $1/control.fixed $1/control |
40 | + cat $2/control | sed '/^Version: /d' > $2/control.fixed | 40 | + cat $2/control | sed '/^Version: /d' > $2/control.fixed |
diff --git a/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch b/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch new file mode 100644 index 0000000000..05420f89f7 --- /dev/null +++ b/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch | |||
@@ -0,0 +1,117 @@ | |||
1 | From b4eb7fde10318162bd2d02b9017ef51746752a91 Mon Sep 17 00:00:00 2001 | ||
2 | From: Robert Yang <liezhi.yang@windriver.com> | ||
3 | Date: Thu, 14 Jul 2016 23:14:21 -0700 | ||
4 | Subject: [PATCH 4/4] functions.sh: improve deb and ipk checking | ||
5 | |||
6 | * The deb and ipk's depends version string is like: | ||
7 | Depends: libc6 (>= 2.24) | ||
8 | Update trim_release_old and trim_release_new to match the bracket in | ||
9 | the end ")". | ||
10 | |||
11 | * The deb's data tarball now is .tar.xz, and ipk's is .tar.gz. | ||
12 | |||
13 | * Update adjust_controlfile() to make ituse trim_release_old and | ||
14 | trim_release_new. | ||
15 | |||
16 | Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] | ||
17 | |||
18 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
19 | --- | ||
20 | functions.sh | 45 ++++++++++++++++++++++++++++----------------- | ||
21 | 1 file changed, 28 insertions(+), 17 deletions(-) | ||
22 | |||
23 | diff --git a/functions.sh b/functions.sh | ||
24 | index aa572f9..fe493ba 100755 | ||
25 | --- a/functions.sh | ||
26 | +++ b/functions.sh | ||
27 | @@ -78,7 +78,7 @@ check_header() | ||
28 | function trim_release_old() | ||
29 | { | ||
30 | sed -e " | ||
31 | - /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g} | ||
32 | + /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\|$version_release_old_regex_l)\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g} | ||
33 | s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g | ||
34 | s/^ *//g | ||
35 | " | ||
36 | @@ -86,7 +86,7 @@ function trim_release_old() | ||
37 | function trim_release_new() | ||
38 | { | ||
39 | sed -e " | ||
40 | - /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g} | ||
41 | + /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\|$version_release_new_regex_l)\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g} | ||
42 | s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g | ||
43 | s/^ *//g | ||
44 | " | ||
45 | @@ -133,8 +133,8 @@ function unpackage() | ||
46 | ar x $file | ||
47 | tar xf control.tar.gz | ||
48 | rm control.tar.gz | ||
49 | - tar xf data.tar.gz | ||
50 | - rm data.tar.gz | ||
51 | + tar xf data.tar.[xg]z | ||
52 | + rm data.tar.[xg]z | ||
53 | ;; | ||
54 | esac | ||
55 | popd 1>/dev/null | ||
56 | @@ -164,6 +164,22 @@ function get_value() | ||
57 | sed -n -e "/^___${1}___/,/^___${1}___/p" $2 | sed -e "/^___${1}___/d" | ||
58 | } | ||
59 | |||
60 | +# Set version_release_old_regex_s, version_release_old_regex_l and | ||
61 | +# name_ver_rel_old_regex_l, also the new ones. | ||
62 | +function set_regex() { | ||
63 | + # Remember to quote the . which is in release | ||
64 | + # Short version without B_CN | ||
65 | + version_release_old_regex_s=${version_release_old%.*} | ||
66 | + version_release_old_regex_s=${version_release_old_regex_s//./\\.} | ||
67 | + version_release_new_regex_s=${version_release_new%.*} | ||
68 | + version_release_new_regex_s=${version_release_new_regex_s//./\\.} | ||
69 | + # Long version with B_CNT | ||
70 | + version_release_old_regex_l=${version_release_old//./\\.} | ||
71 | + version_release_new_regex_l=${version_release_new//./\\.} | ||
72 | + name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.} | ||
73 | + name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.} | ||
74 | +} | ||
75 | + | ||
76 | # Compare just the rpm meta data of two rpms | ||
77 | # Returns: | ||
78 | # 0 in case of same content | ||
79 | @@ -194,17 +210,7 @@ function cmp_spec () | ||
80 | version_release_old="$(get_value QF_VER_REL $spec_old)" | ||
81 | name_ver_rel_old="$(get_value QF_NAME_VER_REL $spec_old)" | ||
82 | |||
83 | - # Remember to quote the . which is in release | ||
84 | - # Short version without B_CN | ||
85 | - version_release_old_regex_s=${version_release_old%.*} | ||
86 | - version_release_old_regex_s=${version_release_old_regex_s//./\\.} | ||
87 | - version_release_new_regex_s=${version_release_new%.*} | ||
88 | - version_release_new_regex_s=${version_release_new_regex_s//./\\.} | ||
89 | - # Long version with B_CNT | ||
90 | - version_release_old_regex_l=${version_release_old//./\\.} | ||
91 | - version_release_new_regex_l=${version_release_new//./\\.} | ||
92 | - name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.} | ||
93 | - name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.} | ||
94 | + set_regex | ||
95 | |||
96 | # Check the whole spec file at first, return 0 immediately if the | ||
97 | # are the same. | ||
98 | @@ -285,9 +291,14 @@ function cmp_spec () | ||
99 | } | ||
100 | |||
101 | function adjust_controlfile() { | ||
102 | - cat $1/control | sed '/^Version: /d' > $1/control.fixed | ||
103 | + version_release_old="`sed -ne 's/^Version: \(.*\)/\1/p' $1/control`" | ||
104 | + name_ver_rel_old="`sed -n -e 's/^Package: \(.*\)/\1/p' $1/control`-`sed -n -e 's/^Version: \(.*\)/\1/p' $1/control`" | ||
105 | + version_release_new="`sed -ne 's/^Version: \(.*\)/\1/p' $2/control`" | ||
106 | + name_ver_rel_new="`sed -n -e 's/^Package: \(.*\)/\1/p' $2/control`-`sed -n -e 's/^Version: \(.*\)/\1/p' $2/control`" | ||
107 | + set_regex | ||
108 | + cat $1/control | trim_release_old > $1/control.fixed | ||
109 | mv $1/control.fixed $1/control | ||
110 | - cat $2/control | sed '/^Version: /d' > $2/control.fixed | ||
111 | + cat $2/control | trim_release_new > $2/control.fixed | ||
112 | mv $2/control.fixed $2/control | ||
113 | } | ||
114 | |||
115 | -- | ||
116 | 2.9.0 | ||
117 | |||