[Rpm-maint] [rpm-software-management/rpm] Proof-of-concept native support for vpath-style builds (PR #2886)
Panu Matilainen
notifications at github.com
Mon Feb 5 10:19:15 UTC 2024
Add a new %setup switch -s to indicate building in a directory outside the source directory, known as vpath build in some circles. Add a new %{sourcesubdir} macro which by default equals %{buildsubdir}, but when -s is used, we create and switch to a separate directory after unpacking.
A one gotcha here is that special %doc and %license has traditionally worked for both built and pre-existing content. With build and source trees separated, both cannot work. As special %doc/%license is mostly used for things like README's and COPYING which come as part of the source, we define %doc on vpath builds to mean source directory, and assume built content has its own means of installing (eg make install-doc).
Another potential issue is that we redefine %_configure to an absolute path in the sourcesubdir, this would break some unusual cases where %configure is used to invoke a configure-script outside the project top directory. It's mainly redefined here to make testing -s on an autotools project easy, a final implementation might do something else.
You can view, comment on, or merge this pull request online at:
https://github.com/rpm-software-management/rpm/pull/2886
-- Commit Summary --
* Introduce an rpm-controlled per-build directory
* Make buildroot fully rpm controlled, always inside the per-build directory
* Move SPECPARTS to per-pkg builddir, no longer needing name-version
* PoC: Add native support for vpath-style builds outside the source tree
-- File Changes --
M build/build.c (38)
M build/files.c (2)
M build/parsePreamble.c (30)
M build/parsePrep.c (20)
M build/parseSpec.c (15)
M build/rpmbuild_internal.h (1)
M build/spec.c (4)
M include/rpm/rpmbuild.h (3)
M macros.in (22)
M tests/rpmbuild.at (46)
M tests/rpmspec.at (8)
M tools/rpmbuild.c (18)
-- Patch Links --
https://github.com/rpm-software-management/rpm/pull/2886.patch
https://github.com/rpm-software-management/rpm/pull/2886.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2886
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/pull/2886 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20240205/ff41e5bb/attachment.html>
More information about the Rpm-maint
mailing list