diff options
Diffstat (limited to 'meta/classes/sstate.bbclass')
-rw-r--r-- | meta/classes/sstate.bbclass | 104 |
1 files changed, 52 insertions, 52 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index c2c5bd5c25..d572f0edcf 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
@@ -185,18 +185,18 @@ def sstate_installpkg(ss, d): | |||
185 | staging_target = d.getVar('STAGING_DIR_TARGET', True) | 185 | staging_target = d.getVar('STAGING_DIR_TARGET', True) |
186 | staging_host = d.getVar('STAGING_DIR_HOST', True) | 186 | staging_host = d.getVar('STAGING_DIR_HOST', True) |
187 | 187 | ||
188 | if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross-canadian', d): | 188 | if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross-canadian', d): |
189 | sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIR:%s:g'" % (staging) | 189 | sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIR:%s:g'" % (staging) |
190 | elif bb.data.inherits_class('cross', d): | 190 | elif bb.data.inherits_class('cross', d): |
191 | sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIR:%s:g'" % (staging_target, staging) | 191 | sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIR:%s:g'" % (staging_target, staging) |
192 | else: | 192 | else: |
193 | sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRHOST:%s:g'" % (staging_host) | 193 | sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRHOST:%s:g'" % (staging_host) |
194 | 194 | ||
195 | # Add sstateinst to each filename in fixmepath, use xargs to efficiently call sed | 195 | # Add sstateinst to each filename in fixmepath, use xargs to efficiently call sed |
196 | sstate_hardcode_cmd = "sed -e 's:^:%s:g' %s | xargs %s" % (sstateinst, fixmefn, sstate_sed_cmd) | 196 | sstate_hardcode_cmd = "sed -e 's:^:%s:g' %s | xargs %s" % (sstateinst, fixmefn, sstate_sed_cmd) |
197 | 197 | ||
198 | print "Replacing fixme paths in sstate package: %s" % (sstate_hardcode_cmd) | 198 | print "Replacing fixme paths in sstate package: %s" % (sstate_hardcode_cmd) |
199 | subprocess.call(sstate_hardcode_cmd, shell=True) | 199 | subprocess.call(sstate_hardcode_cmd, shell=True) |
200 | 200 | ||
201 | # Need to remove this or we'd copy it into the target directory and may | 201 | # Need to remove this or we'd copy it into the target directory and may |
202 | # conflict with another writer | 202 | # conflict with another writer |
@@ -310,50 +310,50 @@ python sstate_cleanall() { | |||
310 | } | 310 | } |
311 | 311 | ||
312 | def sstate_hardcode_path(d): | 312 | def sstate_hardcode_path(d): |
313 | import subprocess | 313 | import subprocess |
314 | 314 | ||
315 | # Need to remove hardcoded paths and fix these when we install the | 315 | # Need to remove hardcoded paths and fix these when we install the |
316 | # staging packages. | 316 | # staging packages. |
317 | # | 317 | # |
318 | # Note: the logic in this function needs to match the reverse logic | 318 | # Note: the logic in this function needs to match the reverse logic |
319 | # in sstate_installpkg(ss, d) | 319 | # in sstate_installpkg(ss, d) |
320 | 320 | ||
321 | staging = d.getVar('STAGING_DIR', True) | 321 | staging = d.getVar('STAGING_DIR', True) |
322 | staging_target = d.getVar('STAGING_DIR_TARGET', True) | 322 | staging_target = d.getVar('STAGING_DIR_TARGET', True) |
323 | staging_host = d.getVar('STAGING_DIR_HOST', True) | 323 | staging_host = d.getVar('STAGING_DIR_HOST', True) |
324 | sstate_builddir = d.getVar('SSTATE_BUILDDIR', True) | 324 | sstate_builddir = d.getVar('SSTATE_BUILDDIR', True) |
325 | 325 | ||
326 | if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross-canadian', d): | 326 | if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross-canadian', d): |
327 | sstate_grep_cmd = "grep -l -e '%s'" % (staging) | 327 | sstate_grep_cmd = "grep -l -e '%s'" % (staging) |
328 | sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIR:g'" % (staging) | 328 | sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIR:g'" % (staging) |
329 | elif bb.data.inherits_class('cross', d): | 329 | elif bb.data.inherits_class('cross', d): |
330 | sstate_grep_cmd = "grep -l -e '(%s|%s)'" % (staging_target, staging) | 330 | sstate_grep_cmd = "grep -l -e '(%s|%s)'" % (staging_target, staging) |
331 | sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRTARGET:g; s:%s:FIXMESTAGINGDIR:g'" % (staging_target, staging) | 331 | sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRTARGET:g; s:%s:FIXMESTAGINGDIR:g'" % (staging_target, staging) |
332 | else: | 332 | else: |
333 | sstate_grep_cmd = "grep -l -e '%s'" % (staging_host) | 333 | sstate_grep_cmd = "grep -l -e '%s'" % (staging_host) |
334 | sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % (staging_host) | 334 | sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % (staging_host) |
335 | 335 | ||
336 | fixmefn = sstate_builddir + "fixmepath" | 336 | fixmefn = sstate_builddir + "fixmepath" |
337 | 337 | ||
338 | sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True) | 338 | sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True) |
339 | sstate_filelist_cmd = "tee %s" % (fixmefn) | 339 | sstate_filelist_cmd = "tee %s" % (fixmefn) |
340 | 340 | ||
341 | # fixmepath file needs relative paths, drop sstate_builddir prefix | 341 | # fixmepath file needs relative paths, drop sstate_builddir prefix |
342 | sstate_filelist_relative_cmd = "sed -i -e 's:^%s::g' %s" % (sstate_builddir, fixmefn) | 342 | sstate_filelist_relative_cmd = "sed -i -e 's:^%s::g' %s" % (sstate_builddir, fixmefn) |
343 | 343 | ||
344 | # Limit the fixpaths and sed operations based on the initial grep search | 344 | # Limit the fixpaths and sed operations based on the initial grep search |
345 | # This has the side effect of making sure the vfs cache is hot | 345 | # This has the side effect of making sure the vfs cache is hot |
346 | sstate_hardcode_cmd = "%s | xargs %s | %s | xargs --no-run-if-empty %s" % (sstate_scan_cmd, sstate_grep_cmd, sstate_filelist_cmd, sstate_sed_cmd) | 346 | sstate_hardcode_cmd = "%s | xargs %s | %s | xargs --no-run-if-empty %s" % (sstate_scan_cmd, sstate_grep_cmd, sstate_filelist_cmd, sstate_sed_cmd) |
347 | 347 | ||
348 | print "Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd) | 348 | print "Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd) |
349 | subprocess.call(sstate_hardcode_cmd, shell=True) | 349 | subprocess.call(sstate_hardcode_cmd, shell=True) |
350 | 350 | ||
351 | # If the fixmefn is empty, remove it.. | 351 | # If the fixmefn is empty, remove it.. |
352 | if os.stat(fixmefn).st_size == 0: | 352 | if os.stat(fixmefn).st_size == 0: |
353 | os.remove(fixmefn) | 353 | os.remove(fixmefn) |
354 | else: | 354 | else: |
355 | print "Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd) | 355 | print "Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd) |
356 | subprocess.call(sstate_filelist_relative_cmd, shell=True) | 356 | subprocess.call(sstate_filelist_relative_cmd, shell=True) |
357 | 357 | ||
358 | def sstate_package(ss, d): | 358 | def sstate_package(ss, d): |
359 | import oe.path | 359 | import oe.path |