diff options
| -rw-r--r-- | meta/conf/documentation.conf | 1 | ||||
| -rw-r--r-- | meta/lib/oe/package.py | 25 |
2 files changed, 5 insertions, 21 deletions
diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf index 3f130120c0..d16520a371 100644 --- a/meta/conf/documentation.conf +++ b/meta/conf/documentation.conf | |||
| @@ -317,7 +317,6 @@ PACKAGE_EXCLUDE[doc] = "Packages to exclude from the installation. If a listed p | |||
| 317 | PACKAGE_EXTRA_ARCHS[doc] = "Specifies the list of architectures compatible with the device CPU. This variable is useful when you build for several different devices that use miscellaneous processors." | 317 | PACKAGE_EXTRA_ARCHS[doc] = "Specifies the list of architectures compatible with the device CPU. This variable is useful when you build for several different devices that use miscellaneous processors." |
| 318 | PACKAGE_INSTALL[doc] = "List of the packages to be installed into the image. The variable is generally not user-defined and uses IMAGE_INSTALL as part of the list." | 318 | PACKAGE_INSTALL[doc] = "List of the packages to be installed into the image. The variable is generally not user-defined and uses IMAGE_INSTALL as part of the list." |
| 319 | PACKAGE_INSTALL_ATTEMPTONLY[doc] = "List of packages attempted to be installed. If a listed package fails to install, the build system does not generate an error. This variable is generally not user-defined." | 319 | PACKAGE_INSTALL_ATTEMPTONLY[doc] = "List of packages attempted to be installed. If a listed package fails to install, the build system does not generate an error. This variable is generally not user-defined." |
| 320 | PACKAGE_SNAP_LIB_SYMLINKS[doc] = "Rename library files based on their SONAME to avoid an extra layer of indirection through a symlink. Only suitable for a read-only rootfs where libraries are not upgraded in place." | ||
| 321 | PACKAGECONFIG[doc] = "This variable provides a means of enabling or disabling features of a recipe on a per-recipe basis." | 320 | PACKAGECONFIG[doc] = "This variable provides a means of enabling or disabling features of a recipe on a per-recipe basis." |
| 322 | PACKAGES[doc] = "The list of packages to be created from the recipe." | 321 | PACKAGES[doc] = "The list of packages to be created from the recipe." |
| 323 | PACKAGES_DYNAMIC[doc] = "A promise that your recipe satisfies runtime dependencies for optional modules that are found in other recipes." | 322 | PACKAGES_DYNAMIC[doc] = "A promise that your recipe satisfies runtime dependencies for optional modules that are found in other recipes." |
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 16359232ec..1af10b7eb0 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py | |||
| @@ -1623,7 +1623,6 @@ def process_shlibs(pkgfiles, d): | |||
| 1623 | needs_ldconfig = False | 1623 | needs_ldconfig = False |
| 1624 | needed = set() | 1624 | needed = set() |
| 1625 | sonames = set() | 1625 | sonames = set() |
| 1626 | renames = [] | ||
| 1627 | ldir = os.path.dirname(file).replace(pkgdest + "/" + pkg, '') | 1626 | ldir = os.path.dirname(file).replace(pkgdest + "/" + pkg, '') |
| 1628 | cmd = d.getVar('OBJDUMP') + " -p " + shlex.quote(file) + " 2>/dev/null" | 1627 | cmd = d.getVar('OBJDUMP') + " -p " + shlex.quote(file) + " 2>/dev/null" |
| 1629 | fd = os.popen(cmd) | 1628 | fd = os.popen(cmd) |
| @@ -1651,11 +1650,9 @@ def process_shlibs(pkgfiles, d): | |||
| 1651 | sonames.add(prov) | 1650 | sonames.add(prov) |
| 1652 | if libdir_re.match(os.path.dirname(file)): | 1651 | if libdir_re.match(os.path.dirname(file)): |
| 1653 | needs_ldconfig = True | 1652 | needs_ldconfig = True |
| 1654 | if needs_ldconfig and snap_symlinks and (os.path.basename(file) != this_soname): | 1653 | return (needs_ldconfig, needed, sonames) |
| 1655 | renames.append((file, os.path.join(os.path.dirname(file), this_soname))) | ||
| 1656 | return (needs_ldconfig, needed, sonames, renames) | ||
| 1657 | 1654 | ||
| 1658 | def darwin_so(file, needed, sonames, renames, pkgver): | 1655 | def darwin_so(file, needed, sonames, pkgver): |
| 1659 | if not os.path.exists(file): | 1656 | if not os.path.exists(file): |
| 1660 | return | 1657 | return |
| 1661 | ldir = os.path.dirname(file).replace(pkgdest + "/" + pkg, '') | 1658 | ldir = os.path.dirname(file).replace(pkgdest + "/" + pkg, '') |
| @@ -1707,7 +1704,7 @@ def process_shlibs(pkgfiles, d): | |||
| 1707 | if name and name not in needed[pkg]: | 1704 | if name and name not in needed[pkg]: |
| 1708 | needed[pkg].add((name, file, tuple())) | 1705 | needed[pkg].add((name, file, tuple())) |
| 1709 | 1706 | ||
| 1710 | def mingw_dll(file, needed, sonames, renames, pkgver): | 1707 | def mingw_dll(file, needed, sonames, pkgver): |
| 1711 | if not os.path.exists(file): | 1708 | if not os.path.exists(file): |
| 1712 | return | 1709 | return |
| 1713 | 1710 | ||
| @@ -1726,11 +1723,6 @@ def process_shlibs(pkgfiles, d): | |||
| 1726 | if dllname: | 1723 | if dllname: |
| 1727 | needed[pkg].add((dllname, file, tuple())) | 1724 | needed[pkg].add((dllname, file, tuple())) |
| 1728 | 1725 | ||
| 1729 | if d.getVar('PACKAGE_SNAP_LIB_SYMLINKS') == "1": | ||
| 1730 | snap_symlinks = True | ||
| 1731 | else: | ||
| 1732 | snap_symlinks = False | ||
| 1733 | |||
| 1734 | needed = {} | 1726 | needed = {} |
| 1735 | 1727 | ||
| 1736 | shlib_provider = oe.package.read_shlib_providers(d) | 1728 | shlib_provider = oe.package.read_shlib_providers(d) |
| @@ -1749,16 +1741,15 @@ def process_shlibs(pkgfiles, d): | |||
| 1749 | 1741 | ||
| 1750 | needed[pkg] = set() | 1742 | needed[pkg] = set() |
| 1751 | sonames = set() | 1743 | sonames = set() |
| 1752 | renames = [] | ||
| 1753 | linuxlist = [] | 1744 | linuxlist = [] |
| 1754 | for file in pkgfiles[pkg]: | 1745 | for file in pkgfiles[pkg]: |
| 1755 | soname = None | 1746 | soname = None |
| 1756 | if cpath.islink(file): | 1747 | if cpath.islink(file): |
| 1757 | continue | 1748 | continue |
| 1758 | if hostos.startswith("darwin"): | 1749 | if hostos.startswith("darwin"): |
| 1759 | darwin_so(file, needed, sonames, renames, pkgver) | 1750 | darwin_so(file, needed, sonames, pkgver) |
| 1760 | elif hostos.startswith("mingw"): | 1751 | elif hostos.startswith("mingw"): |
| 1761 | mingw_dll(file, needed, sonames, renames, pkgver) | 1752 | mingw_dll(file, needed, sonames, pkgver) |
| 1762 | elif os.access(file, os.X_OK) or lib_re.match(file): | 1753 | elif os.access(file, os.X_OK) or lib_re.match(file): |
| 1763 | linuxlist.append(file) | 1754 | linuxlist.append(file) |
| 1764 | 1755 | ||
| @@ -1768,14 +1759,8 @@ def process_shlibs(pkgfiles, d): | |||
| 1768 | ldconfig = r[0] | 1759 | ldconfig = r[0] |
| 1769 | needed[pkg] |= r[1] | 1760 | needed[pkg] |= r[1] |
| 1770 | sonames |= r[2] | 1761 | sonames |= r[2] |
| 1771 | renames.extend(r[3]) | ||
| 1772 | needs_ldconfig = needs_ldconfig or ldconfig | 1762 | needs_ldconfig = needs_ldconfig or ldconfig |
| 1773 | 1763 | ||
| 1774 | for (old, new) in renames: | ||
| 1775 | bb.note("Renaming %s to %s" % (old, new)) | ||
| 1776 | bb.utils.rename(old, new) | ||
| 1777 | pkgfiles[pkg].remove(old) | ||
| 1778 | |||
| 1779 | shlibs_file = os.path.join(shlibswork_dir, pkg + ".list") | 1764 | shlibs_file = os.path.join(shlibswork_dir, pkg + ".list") |
| 1780 | if len(sonames): | 1765 | if len(sonames): |
| 1781 | with open(shlibs_file, 'w') as fd: | 1766 | with open(shlibs_file, 'w') as fd: |
