Patchwork [meta-oe] llvm: include /usr/lib/libLLVM-*.so in lib package

login
register
mail settings
Submitter Jonathan Liu
Date Aug. 21, 2013, 1:36 a.m.
Message ID <1377049001-8170-1-git-send-email-net147@gmail.com>
Download mbox | patch
Permalink /patch/56093/
State Accepted, archived
Commit 9dd25136e8853b5ba547db85f9256b6a284ed9b9
Headers show

Comments

Jonathan Liu - Aug. 21, 2013, 1:36 a.m.
/usr/lib/libLLVM-*.so was being split into the dev package but it should
be in the lib package otherwise software that depends on the LLVM shared
library will be unable to to locate it when the dev package isn't
installed.

Signed-off-by: Jonathan Liu <net147@gmail.com>
---
 meta-oe/recipes-core/llvm/llvm.inc | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

Patch

diff --git a/meta-oe/recipes-core/llvm/llvm.inc b/meta-oe/recipes-core/llvm/llvm.inc
index c0d6b6e..525dd3c 100644
--- a/meta-oe/recipes-core/llvm/llvm.inc
+++ b/meta-oe/recipes-core/llvm/llvm.inc
@@ -42,20 +42,24 @@  DOTDEBUG-dbg = " ${bindir}/${LLVM_DIR}/.debug \
                  /usr/src/debug \
 "
 
-FILES_${PN}-dev += "${bindir}/${LLVM_DIR} \
-                    ${libdir}/${LLVM_DIR}/BugpointPasses.so \
-                    ${libdir}/${LLVM_DIR}/LLVMHello.so \
+FILES_${PN}-dev = "${bindir}/${LLVM_DIR} \
+                   ${includedir}/${LLVM_DIR} \
+                   ${libdir}/${LLVM_DIR}/BugpointPasses.so \
+                   ${libdir}/${LLVM_DIR}/LLVMHello.so \
 "
 
 PACKAGES_DYNAMIC = "^libllvm-.*$"
 
 python llvm_populate_packages() {
+    libdir = bb.data.expand('${libdir}', d)
     libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d)
-    split_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s', 'Split package for %s', allow_dirs=True)
     split_dbg_packages = do_split_packages(d, libllvm_libdir+'/.debug', '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s-dbg', 'Split debug package for %s', allow_dirs=True)
+    split_packages = do_split_packages(d, libdir, '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s', 'Split package for %s', allow_dirs=True, allow_links=True, recursive=True)
     split_staticdev_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True)
     if split_packages:
         pn = d.getVar('PN', True)
+        for package in split_packages:
+            d.appendVar('INSANE_SKIP_' + package, ' dev-so')
         d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages))
         d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages))
         d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages))