-
Notifications
You must be signed in to change notification settings - Fork 381
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
elfdeps: Add full multiarch deps support
This changes elfdeps to emit dependency strings that contain full architecture names instead of just declaring whether something is "64bit". This means that systems that allow more than two architectures to be installed on the same computer will actually be able to resolve library dependencies correctly. This means that RPM dependencies would be compatible with system library install schemes like Debian's, where libraries are installed into subdirectories under "/usr/lib" that are named after the platform triple. It also allows for multiarch installations where foreign architecture packages are automatically relocated to be installed under a system root target location (e.g. "/usr/<triple>/lib(64)") as is done in distributions like Exherbo. As part of this change, the legacy behavior is now encoded behind the --biarch-deps flag, which is passed in for both Provides and Requires by default. This behavior can be enabled by passing --multiarch-deps or by setting %__multiarch_deps to 1 in the spec or vendor configuration. When setting %__multiarch_deps to 1 in the spec or vendor configuration, biarch Provides are still generated to allow distributions to support packages generated with the legacy ELF dependency generator behavior.
- Loading branch information
1 parent
8896e81
commit f7ce837
Showing
2 changed files
with
133 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
%__elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private} | ||
%__elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private} | ||
%__elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private} --biarch-deps %{?__multiarch_deps:--multiarch-deps} | ||
%__elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private} %{!?__multiarch_deps:--biarch-deps} %{?__multiarch_deps:--multiarch-deps} | ||
%__elf_magic ^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$ | ||
%__elf_flags exeonly |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters