diff options
Diffstat (limited to 'classes/debian.bbclass')
| -rw-r--r-- | classes/debian.bbclass | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/classes/debian.bbclass b/classes/debian.bbclass index 2480ffd664..8f6e7d88cf 100644 --- a/classes/debian.bbclass +++ b/classes/debian.bbclass @@ -1,7 +1,22 @@ +# Debian package renaming only occurs when a package is built +# We therefore have to make sure we build all runtime packages +# before building the current package to make the packages runtime +# depends are correct +# +# Custom library package names can be defined setting +# DEBIANNAME_ + pkgname to the desired name. +# +# Better expressed as ensure all RDEPENDS package before we package +# This means we can't have circular RDEPENDS/RRECOMMENDS +do_package_write_ipk[rdeptask] = "do_package" +do_package_write_deb[rdeptask] = "do_package" +do_package_write_tar[rdeptask] = "do_package" +do_package_write_rpm[rdeptask] = "do_package" + python debian_package_name_hook () { import glob, copy, stat, errno, re - workdir = bb.data.getVar('WORKDIR', d, 1) + pkgdest = bb.data.getVar('PKGDEST', d, 1) packages = bb.data.getVar('PACKAGES', d, 1) def socrunch(s): @@ -30,7 +45,7 @@ python debian_package_name_hook () { sonames = [] has_bins = 0 has_libs = 0 - pkg_dir = os.path.join(workdir, "install", orig_pkg) + pkg_dir = os.path.join(pkgdest, orig_pkg) for root, dirs, files in os.walk(pkg_dir): if bin_re.match(root) and files: has_bins = 1 @@ -74,12 +89,15 @@ python debian_package_name_hook () { if soname_result: (pkgname, devname) = soname_result for pkg in packages.split(): - if (bb.data.getVar('PKG_' + pkg, d)): + if (bb.data.getVar('PKG_' + pkg, d) or bb.data.getVar('DEBIAN_NOAUTONAME_' + pkg, d)): continue - if pkg == orig_pkg: + debian_pn = bb.data.getVar('DEBIANNAME_' + pkg, d) + if debian_pn: + newpkg = debian_pn + elif pkg == orig_pkg: newpkg = pkgname else: - newpkg = pkg.replace(orig_pkg, devname) + newpkg = pkg.replace(orig_pkg, devname, 1) if newpkg != pkg: bb.data.setVar('PKG_' + pkg, newpkg, d) @@ -89,5 +107,5 @@ python debian_package_name_hook () { EXPORT_FUNCTIONS package_name_hook -DEBIAN_NAMES = 1 +DEBIAN_NAMES = "1" |
