summaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r--meta/classes/package.bbclass24
1 files changed, 11 insertions, 13 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 81cb0c049c..2fab39005c 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -430,6 +430,7 @@ def copydebugsources(debugsrcdir, d):
430 # and copied to the destination here. 430 # and copied to the destination here.
431 431
432 import stat 432 import stat
433 import subprocess
433 434
434 sourcefile = d.expand("${WORKDIR}/debugsources.list") 435 sourcefile = d.expand("${WORKDIR}/debugsources.list")
435 if debugsrcdir and os.path.isfile(sourcefile): 436 if debugsrcdir and os.path.isfile(sourcefile):
@@ -466,23 +467,20 @@ def copydebugsources(debugsrcdir, d):
466 processdebugsrc += "(cd '%s' ; cpio -pd0mlL --no-preserve-owner '%s%s' 2>/dev/null)" 467 processdebugsrc += "(cd '%s' ; cpio -pd0mlL --no-preserve-owner '%s%s' 2>/dev/null)"
467 468
468 cmd = processdebugsrc % (sourcefile, workbasedir, localsrc_prefix, workparentdir, dvar, debugsrcdir) 469 cmd = processdebugsrc % (sourcefile, workbasedir, localsrc_prefix, workparentdir, dvar, debugsrcdir)
469 (retval, output) = oe.utils.getstatusoutput(cmd) 470 try:
470 # Can "fail" if internal headers/transient sources are attempted 471 subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
471 #if retval: 472 except subprocess.CalledProcessError:
472 # bb.fatal("debug source copy failed with exit code %s (cmd was %s)" % (retval, cmd)) 473 # Can "fail" if internal headers/transient sources are attempted
474 pass
473 475
474 # cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced. 476 # cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced.
475 # Work around this by manually finding and copying any symbolic links that made it through. 477 # Work around this by manually finding and copying any symbolic links that made it through.
476 cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s' 2>/dev/null)" % (dvar, debugsrcdir, dvar, debugsrcdir, workparentdir, dvar, debugsrcdir) 478 cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s' 2>/dev/null)" % (dvar, debugsrcdir, dvar, debugsrcdir, workparentdir, dvar, debugsrcdir)
477 (retval, output) = oe.utils.getstatusoutput(cmd) 479 subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
478 if retval:
479 bb.fatal("debugsrc symlink fixup failed with exit code %s (cmd was %s)" % (retval, cmd))
480 480
481 # The copy by cpio may have resulted in some empty directories! Remove these 481 # The copy by cpio may have resulted in some empty directories! Remove these
482 cmd = "find %s%s -empty -type d -delete" % (dvar, debugsrcdir) 482 cmd = "find %s%s -empty -type d -delete" % (dvar, debugsrcdir)
483 (retval, output) = oe.utils.getstatusoutput(cmd) 483 subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
484 if retval:
485 bb.fatal("empty directory removal failed with exit code %s (cmd was %s)%s" % (retval, cmd, ":\n%s" % output if output else ""))
486 484
487 # Also remove debugsrcdir if its empty 485 # Also remove debugsrcdir if its empty
488 for p in nosuchdir[::-1]: 486 for p in nosuchdir[::-1]:
@@ -643,6 +641,8 @@ python package_do_split_locales() {
643} 641}
644 642
645python perform_packagecopy () { 643python perform_packagecopy () {
644 import subprocess
645
646 dest = d.getVar('D') 646 dest = d.getVar('D')
647 dvar = d.getVar('PKGD') 647 dvar = d.getVar('PKGD')
648 648
@@ -650,9 +650,7 @@ python perform_packagecopy () {
650 # files to operate on 650 # files to operate on
651 # Preserve sparse files and hard links 651 # Preserve sparse files and hard links
652 cmd = 'tar -cf - -C %s -p . | tar -xf - -C %s' % (dest, dvar) 652 cmd = 'tar -cf - -C %s -p . | tar -xf - -C %s' % (dest, dvar)
653 (retval, output) = oe.utils.getstatusoutput(cmd) 653 subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
654 if retval:
655 bb.fatal("file copy failed with exit code %s (cmd was %s)%s" % (retval, cmd, ":\n%s" % output if output else ""))
656 654
657 # replace RPATHs for the nativesdk binaries, to make them relocatable 655 # replace RPATHs for the nativesdk binaries, to make them relocatable
658 if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross-canadian', d): 656 if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross-canadian', d):