diff options
author | Richard Purdie <richard@openedhand.com> | 2006-02-10 14:33:55 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2006-02-10 14:33:55 +0000 |
commit | 5fb35ca11147ed30c619cf93e19331fd835f3da9 (patch) | |
tree | 45f05442e8a91453bfea03a29fb3cb96f49d80e5 /openembedded/classes | |
parent | 42dfbb2a0223ba5d091f053ad5401ecce6446e41 (diff) | |
download | poky-5fb35ca11147ed30c619cf93e19331fd835f3da9.tar.gz |
Apply more chanegs from OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@272 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/classes')
-rw-r--r-- | openembedded/classes/package.bbclass | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/openembedded/classes/package.bbclass b/openembedded/classes/package.bbclass index db479d5847..fd8d1b7b09 100644 --- a/openembedded/classes/package.bbclass +++ b/openembedded/classes/package.bbclass | |||
@@ -81,6 +81,53 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst | |||
81 | 81 | ||
82 | bb.data.setVar('PACKAGES', ' '.join(packages), d) | 82 | bb.data.setVar('PACKAGES', ' '.join(packages), d) |
83 | 83 | ||
84 | # Function to strip a single file, called from RUNSTRIP below | ||
85 | # A working 'file' (one which works on the target architecture) | ||
86 | # is necessary for this stuff to work. | ||
87 | PACKAGE_DEPENDS ?= "file-native" | ||
88 | DEPENDS_prepend =+ "${PACKAGE_DEPENDS} " | ||
89 | #FIXME: this should be "" when any errors are gone! | ||
90 | IGNORE_STRIP_ERRORS ?= "1" | ||
91 | |||
92 | runstrip() { | ||
93 | local ro st | ||
94 | st=0 | ||
95 | if { file "$1" || { | ||
96 | oewarn "file $1: failed (forced strip)" >&2 | ||
97 | echo 'not stripped' | ||
98 | } | ||
99 | } | grep -q 'not stripped' | ||
100 | then | ||
101 | oenote "${STRIP} $1" | ||
102 | ro= | ||
103 | test -w "$1" || { | ||
104 | ro=1 | ||
105 | chmod +w "$1" | ||
106 | } | ||
107 | '${STRIP}' "$1" | ||
108 | st=$? | ||
109 | test -n "$ro" && chmod -w "$1" | ||
110 | if test $st -ne 0 | ||
111 | then | ||
112 | oewarn "runstrip: ${STRIP} $1: strip failed" >&2 | ||
113 | if [ x${IGNORE_STRIP_ERRORS} == x1 ] | ||
114 | then | ||
115 | #FIXME: remove this, it's for error detection | ||
116 | if file "$1" 2>/dev/null >&2 | ||
117 | then | ||
118 | (oefatal "${STRIP} $1: command failed" >/dev/tty) | ||
119 | else | ||
120 | (oefatal "file $1: command failed" >/dev/tty) | ||
121 | fi | ||
122 | st=0 | ||
123 | fi | ||
124 | fi | ||
125 | else | ||
126 | oenote "runstrip: skip $1" | ||
127 | fi | ||
128 | return $st | ||
129 | } | ||
130 | |||
84 | python populate_packages () { | 131 | python populate_packages () { |
85 | import glob, stat, errno, re | 132 | import glob, stat, errno, re |
86 | 133 | ||
@@ -166,14 +213,14 @@ python populate_packages () { | |||
166 | dpath = os.path.dirname(fpath) | 213 | dpath = os.path.dirname(fpath) |
167 | bb.mkdirhier(dpath) | 214 | bb.mkdirhier(dpath) |
168 | if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1') and not os.path.islink(file) and isexec(file): | 215 | if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1') and not os.path.islink(file) and isexec(file): |
169 | stripfunc += "${STRIP} %s || : ;\n" % fpath | 216 | stripfunc += "\trunstrip %s || st=1\n" % fpath |
170 | ret = bb.movefile(file,fpath) | 217 | ret = bb.movefile(file,fpath) |
171 | if ret is None or ret == 0: | 218 | if ret is None or ret == 0: |
172 | raise bb.build.FuncFailed("File population failed") | 219 | raise bb.build.FuncFailed("File population failed") |
173 | if not stripfunc == "": | 220 | if not stripfunc == "": |
174 | from bb import build | 221 | from bb import build |
175 | # strip | 222 | # strip |
176 | bb.data.setVar('RUNSTRIP', '%s\nreturn 0' % stripfunc, localdata) | 223 | bb.data.setVar('RUNSTRIP', '\tlocal st\n\tst=0\n%s\treturn $st' % stripfunc, localdata) |
177 | bb.data.setVarFlag('RUNSTRIP', 'func', 1, localdata) | 224 | bb.data.setVarFlag('RUNSTRIP', 'func', 1, localdata) |
178 | bb.build.exec_func('RUNSTRIP', localdata) | 225 | bb.build.exec_func('RUNSTRIP', localdata) |
179 | del localdata | 226 | del localdata |