diff options
| author | Richard Purdie <richard@openedhand.com> | 2007-09-03 14:16:12 +0000 |
|---|---|---|
| committer | Richard Purdie <richard@openedhand.com> | 2007-09-03 14:16:12 +0000 |
| commit | f403f6ef108e7583608b4ecac067d4e5d60dd25a (patch) | |
| tree | 905ba81383a18072c8b107df0549a746f3515f21 /meta/classes/package.bbclass | |
| parent | 6fa51c276df86e2986601d3cae2434afa35153dc (diff) | |
| download | poky-f403f6ef108e7583608b4ecac067d4e5d60dd25a.tar.gz | |
package.bbclass: Cleanup install references into a configurable variable
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2681 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/classes/package.bbclass')
| -rw-r--r-- | meta/classes/package.bbclass | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 7982c21b08..2168dbea7b 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | # General packaging help functions | 2 | # General packaging help functions |
| 3 | # | 3 | # |
| 4 | 4 | ||
| 5 | PKGDEST = "${WORKDIR}/install" | ||
| 6 | |||
| 5 | def legitimize_package_name(s): | 7 | def legitimize_package_name(s): |
| 6 | """ | 8 | """ |
| 7 | Make sure package names are legitimate strings | 9 | Make sure package names are legitimate strings |
| @@ -374,25 +376,21 @@ python populate_packages () { | |||
| 374 | if not os.path.islink(file) and not os.path.isdir(file) and isexec(file): | 376 | if not os.path.islink(file) and not os.path.isdir(file) and isexec(file): |
| 375 | runstrip(file, d) | 377 | runstrip(file, d) |
| 376 | 378 | ||
| 379 | pkgdest = bb.data.getVar('PKGDEST', d, 1) | ||
| 380 | os.system('rm -rf %s' % pkgdest) | ||
| 381 | |||
| 377 | for pkg in package_list: | 382 | for pkg in package_list: |
| 378 | localdata = bb.data.createCopy(d) | 383 | localdata = bb.data.createCopy(d) |
| 379 | root = os.path.join(workdir, "install", pkg) | 384 | root = os.path.join(pkgdest, pkg) |
| 380 | 385 | bb.mkdirhier(root) | |
| 381 | os.system('rm -rf %s' % root) | ||
| 382 | 386 | ||
| 383 | bb.data.setVar('ROOT', '', localdata) | ||
| 384 | bb.data.setVar('ROOT_%s' % pkg, root, localdata) | ||
| 385 | bb.data.setVar('PKG', pkg, localdata) | 387 | bb.data.setVar('PKG', pkg, localdata) |
| 386 | |||
| 387 | overrides = bb.data.getVar('OVERRIDES', localdata, 1) | 388 | overrides = bb.data.getVar('OVERRIDES', localdata, 1) |
| 388 | if not overrides: | 389 | if not overrides: |
| 389 | raise bb.build.FuncFailed('OVERRIDES not defined') | 390 | raise bb.build.FuncFailed('OVERRIDES not defined') |
| 390 | bb.data.setVar('OVERRIDES', overrides+':'+pkg, localdata) | 391 | bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata) |
| 391 | |||
| 392 | bb.data.update_data(localdata) | 392 | bb.data.update_data(localdata) |
| 393 | 393 | ||
| 394 | root = bb.data.getVar('ROOT', localdata, 1) | ||
| 395 | bb.mkdirhier(root) | ||
| 396 | filesvar = bb.data.getVar('FILES', localdata, 1) or "" | 394 | filesvar = bb.data.getVar('FILES', localdata, 1) or "" |
| 397 | files = filesvar.split() | 395 | files = filesvar.split() |
| 398 | for file in files: | 396 | for file in files: |
| @@ -445,7 +443,7 @@ python populate_packages () { | |||
| 445 | for pkg in package_list: | 443 | for pkg in package_list: |
| 446 | dangling_links[pkg] = [] | 444 | dangling_links[pkg] = [] |
| 447 | pkg_files[pkg] = [] | 445 | pkg_files[pkg] = [] |
| 448 | inst_root = os.path.join(workdir, "install", pkg) | 446 | inst_root = os.path.join(pkgdest, pkg) |
| 449 | for root, dirs, files in os.walk(inst_root): | 447 | for root, dirs, files in os.walk(inst_root): |
| 450 | for f in files: | 448 | for f in files: |
| 451 | path = os.path.join(root, f) | 449 | path = os.path.join(root, f) |
| @@ -566,6 +564,8 @@ python package_do_shlibs() { | |||
| 566 | bb.error("TARGET_SYS not defined") | 564 | bb.error("TARGET_SYS not defined") |
| 567 | return | 565 | return |
| 568 | 566 | ||
| 567 | pkgdest = bb.data.getVar('PKGDEST', d, 1) | ||
| 568 | |||
| 569 | shlibs_dir = os.path.join(staging, target_sys, "shlibs") | 569 | shlibs_dir = os.path.join(staging, target_sys, "shlibs") |
| 570 | old_shlibs_dir = os.path.join(staging, "shlibs") | 570 | old_shlibs_dir = os.path.join(staging, "shlibs") |
| 571 | bb.mkdirhier(shlibs_dir) | 571 | bb.mkdirhier(shlibs_dir) |
| @@ -577,7 +577,7 @@ python package_do_shlibs() { | |||
| 577 | 577 | ||
| 578 | needed[pkg] = [] | 578 | needed[pkg] = [] |
| 579 | sonames = list() | 579 | sonames = list() |
| 580 | top = os.path.join(workdir, "install", pkg) | 580 | top = os.path.join(pkgdest, pkg) |
| 581 | for root, dirs, files in os.walk(top): | 581 | for root, dirs, files in os.walk(top): |
| 582 | for file in files: | 582 | for file in files: |
| 583 | soname = None | 583 | soname = None |
| @@ -660,7 +660,7 @@ python package_do_shlibs() { | |||
| 660 | else: | 660 | else: |
| 661 | bb.note("Couldn't find shared library provider for %s" % n) | 661 | bb.note("Couldn't find shared library provider for %s" % n) |
| 662 | 662 | ||
| 663 | deps_file = os.path.join(workdir, "install", pkg + ".shlibdeps") | 663 | deps_file = os.path.join(pkgdest, pkg + ".shlibdeps") |
| 664 | if os.path.exists(deps_file): | 664 | if os.path.exists(deps_file): |
| 665 | os.remove(deps_file) | 665 | os.remove(deps_file) |
| 666 | if len(deps): | 666 | if len(deps): |
| @@ -693,6 +693,8 @@ python package_do_pkgconfig () { | |||
| 693 | bb.error("TARGET_SYS not defined") | 693 | bb.error("TARGET_SYS not defined") |
| 694 | return | 694 | return |
| 695 | 695 | ||
| 696 | pkgdest = bb.data.getVar('PKGDEST', d, 1) | ||
| 697 | |||
| 696 | shlibs_dir = os.path.join(staging, target_sys, "shlibs") | 698 | shlibs_dir = os.path.join(staging, target_sys, "shlibs") |
| 697 | old_shlibs_dir = os.path.join(staging, "shlibs") | 699 | old_shlibs_dir = os.path.join(staging, "shlibs") |
| 698 | bb.mkdirhier(shlibs_dir) | 700 | bb.mkdirhier(shlibs_dir) |
| @@ -706,7 +708,7 @@ python package_do_pkgconfig () { | |||
| 706 | for pkg in packages.split(): | 708 | for pkg in packages.split(): |
| 707 | pkgconfig_provided[pkg] = [] | 709 | pkgconfig_provided[pkg] = [] |
| 708 | pkgconfig_needed[pkg] = [] | 710 | pkgconfig_needed[pkg] = [] |
| 709 | top = os.path.join(workdir, "install", pkg) | 711 | top = os.path.join(pkgdest, pkg) |
| 710 | for root, dirs, files in os.walk(top): | 712 | for root, dirs, files in os.walk(top): |
| 711 | for file in files: | 713 | for file in files: |
| 712 | m = pc_re.match(file) | 714 | m = pc_re.match(file) |
| @@ -769,7 +771,7 @@ python package_do_pkgconfig () { | |||
| 769 | found = True | 771 | found = True |
| 770 | if found == False: | 772 | if found == False: |
| 771 | bb.note("couldn't find pkgconfig module '%s' in any package" % n) | 773 | bb.note("couldn't find pkgconfig module '%s' in any package" % n) |
| 772 | deps_file = os.path.join(workdir, "install", pkg + ".pcdeps") | 774 | deps_file = os.path.join(pkgdest, pkg + ".pcdeps") |
| 773 | if os.path.exists(deps_file): | 775 | if os.path.exists(deps_file): |
| 774 | os.remove(deps_file) | 776 | os.remove(deps_file) |
| 775 | if len(deps): | 777 | if len(deps): |
| @@ -783,14 +785,14 @@ python read_shlibdeps () { | |||
| 783 | packages = (bb.data.getVar('PACKAGES', d, 1) or "").split() | 785 | packages = (bb.data.getVar('PACKAGES', d, 1) or "").split() |
| 784 | for pkg in packages: | 786 | for pkg in packages: |
| 785 | rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "") | 787 | rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "") |
| 786 | shlibsfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".shlibdeps", d) | 788 | shlibsfile = bb.data.expand("${PKGDEST}/" + pkg + ".shlibdeps", d) |
| 787 | if os.access(shlibsfile, os.R_OK): | 789 | if os.access(shlibsfile, os.R_OK): |
| 788 | fd = file(shlibsfile) | 790 | fd = file(shlibsfile) |
| 789 | lines = fd.readlines() | 791 | lines = fd.readlines() |
| 790 | fd.close() | 792 | fd.close() |
| 791 | for l in lines: | 793 | for l in lines: |
| 792 | rdepends.append(l.rstrip()) | 794 | rdepends.append(l.rstrip()) |
| 793 | pcfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".pcdeps", d) | 795 | pcfile = bb.data.expand("${PKGDEST}/" + pkg + ".pcdeps", d) |
| 794 | if os.access(pcfile, os.R_OK): | 796 | if os.access(pcfile, os.R_OK): |
| 795 | fd = file(pcfile) | 797 | fd = file(pcfile) |
| 796 | lines = fd.readlines() | 798 | lines = fd.readlines() |
