Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libpkg: make shlib handling portable
All shared objects NEEDED by an ELF file are added to shlibs_required by pkg-create rather than filtering them based on the host system ELF hints file and installed libraries. The ALLOW_BASE_SHLIBS option is deprecated and ignored. Before running the solver, pkg now scans /lib and /usr/lib (taking --rootdir into account) and builds a list of system-provided shlibs that is used as an input to the solver. If pkg detects that it is targeting a pkgbase system this scan for system shlibs is skipped as the base packages will provide all necessary shlibs. The detection of a pkgbase system is implemented by checking if /usr/bin/uname is tracked in the pkg database. The main user-facing change is that pkg-create now adds *all* shared objects listed as NEEDED by an ELF file to shlibs_required. In general this should not cause issues due to the solver taking the shlibs provided by the base system into account but there may be exceptions. An option to filter these entries will be added in the next commit. References: freebsd#2331 Sponsored by: The FreeBSD Foundation
- Loading branch information