]> code.ossystems Code Review - openembedded-core.git/commitdiff
util-linux: one package per binary (pt 1b: symlinks)
authorAndré Draszik <andre.draszik@jci.com>
Tue, 5 Feb 2019 02:32:34 +0000 (02:32 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 12 Feb 2019 14:04:24 +0000 (14:04 +0000)
Some of the binaries have symlinks. Add them to the
package owning the binary they are pointing to.

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/util-linux/util-linux.inc

index a81045251b8b3767c9ea8f026ffb622bce078073..a250db94aaba6e76972c5d03c9b8c74a0a4e3c0c 100644 (file)
@@ -52,6 +52,28 @@ python util_linux_binpackages () {
                           file_regex=r'(.*)', output_pattern='${PN}-%s',
                           description='${PN} %s',
                           hook=pkg_hook, extra_depends='', prepend=True)
+
+    # There are some symlinks for some binaries which we have ignored
+    # above. Add them to the package owning the binary they are
+    # pointing to
+    extras = {}
+    dvar = d.getVar('PKGD')
+    for root in [ '${base_sbindir}' ]:
+        root = d.expand(root)
+        for walkroot, dirs, files in os.walk(dvar + root):
+            for f in files:
+                file = os.path.join(walkroot, f)
+                if not os.path.islink(file):
+                    continue
+
+                pkg = os.path.basename(os.readlink(file))
+                extras[pkg] = extras.get(pkg, '') + ' ' + file.replace(dvar, '', 1)
+
+    pn = d.getVar('PN')
+    for pkg, links in extras.items():
+        of = d.getVar('FILES_' + pn + '-' + pkg)
+        links = of + links
+        d.setVar('FILES_' + pn + '-' + pkg, links)
 }
 
 # we must execute before update-alternatives PACKAGE_PREPROCESS_FUNCS