Merge branch 'org.openembedded.dev' of git://git.openembedded.net/openembedded into...
[vuplus_openembedded] / classes / package.bbclass
index f740906..e3be9c4 100644 (file)
@@ -21,7 +21,7 @@ def legitimize_package_name(s):
        # Remaining package name validity fixes
        return s.lower().replace('_', '-').replace('@', '+').replace(',', '+').replace('/', '-')
 
-def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False, aux_files_pattern_verbatim=None):
+def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False, aux_files_pattern_verbatim=None, allow_links=False):
        """
        Used in .bb files to split up dynamically generated subpackages of a 
        given package, usually plugins or modules.
@@ -70,7 +70,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
                        continue
                f = os.path.join(dvar + root, o)
                mode = os.lstat(f).st_mode
-               if not (stat.S_ISREG(mode) or (allow_dirs and stat.S_ISDIR(mode))):
+               if not (stat.S_ISREG(mode) or (allow_links and stat.S_ISLNK(mode)) or (allow_dirs and stat.S_ISDIR(mode))):
                        continue
                on = legitimize_package_name(m.group(1))
                pkg = output_pattern % on
@@ -398,6 +398,8 @@ python populate_packages () {
                                        continue
                        if (not os.path.islink(file)) and (not os.path.exists(file)):
                                continue
+                       if file[-4:] == '.pyo':
+                               continue
                        if file in seen:
                                continue
                        seen.append(file)
@@ -551,7 +553,9 @@ emit_pkgdata[dirs] = "${PKGDATA_DIR}/runtime"
 
 ldconfig_postinst_fragment() {
 if [ x"$D" = "x" ]; then
-       [ -x /sbin/ldconfig ] && /sbin/ldconfig
+       if [ -e /etc/ld.so.conf ] ; then
+               [ -x /sbin/ldconfig ] && /sbin/ldconfig
+       fi
 fi
 }
 
@@ -594,6 +598,11 @@ python package_do_shlibs() {
        else:
                snap_symlinks = False
 
+       if (bb.data.getVar('USE_LDCONFIG', d, True) or "1") == "1":
+               use_ldconfig = True
+       else:
+               use_ldconfig = False
+
        needed = {}
        private_libs = bb.data.getVar('PRIVATE_LIBS', d, 1)
        for pkg in packages.split():
@@ -647,7 +656,7 @@ python package_do_shlibs() {
                        fd.write(ver + '\n')
                        fd.close()
                        package_stagefile(shver_file, d)
-               if needs_ldconfig:
+               if needs_ldconfig and use_ldconfig:
                        bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg)
                        postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1)
                        if not postinst: