BUILD_USER (aka _pbuild usually)
as far as I know, only _DEPFILE stuff is left out for now.
Tested on roughly 6000 ports without any ill effects
based on an initial remark by pirofti@
so that building with _pbuild does not make unreadable.
- zap MTREE_FILE, no longer useful
- rectify fake tree permissions under "normal user" fake stage.
okay jca@, naddy@
I still haven't managed to make it fast enough to be worth it,
and I'm unlikely to do so, so bye bye.
already discussed a bit during p2k17, where I said "I'll think about it".
Well...
if PORTS_PRIVSEP=Yes, use FETCH_USER and BUILD_USER (defaults to
_pbuild/_pfetch) for common directories. Includes
- fetching stuff into DISTDIR
- building packages under PACKAGE_REPOSITORY
- also caching packages
- running register-plist
the extra complication is reasonably small, the largest part being the
gap between pkg_create to tmp file as regular user and moving into
_pbuild.
(regular pkg_create has to be the same user as make build, because of
ports like boost where the archive has no read rights for anyone but
the user active during extraction)
The full build is not privsep'd (yet, I have to see how complicated this
gets), but with this, using the same machine for regular ports build and
for dpb usage becomes easier.
(note that dpb proper sets PORTS_PRIVSEP=No since it's doing all the privsep
on its own)
as discussed with pirofti@, sthen@ during p2k17
okay pirofti@
wxallowed filesystem for USE_WXNEEDED ports instead of erroring out
unhelpfully. Prompted by numerous questions about Python builds failing
with "configure: error: cannot run C compiled programs." on ports@
Input, tested in bulks and ok sthen; ok danj; no veto from espie.
repository. keep that model for now, but make FETCH_PACKAGES more consistent
with respect to signature handling (e.g., use TRUSTED_PKG_PATH for the
local repo, and pass TRUSTED_PKG_PATH thru)
should help naddy
'generate-readmes' that's always run, without a cookie.
this allows fine tweaks to that part without needing to rerun
fake every time.
Also places the automatic creation of PKGDIR where it belongs (in
update-plist) and have the new target error out implicitly if
PKGDIR is wrong.
slightly tweaked version compared to published tech@ patch, as it
turns out that scraping old files each time doesn't work,
in practice, as some readmes come from the actual distfile...
search path to ${WRKDIR}/bin. Ensures that the ld wrapper script needed
for USE_WXNEEDED gets used (clang was ignoring it otherwise).
Rework ccache support and gcc4/clang MODULES to use the same wrapper
generator as above, setting up a list of command names (cc, c++, etc) and
destinations (egcc, eg++, etc) as the port is processed, and writing the
wrappers in one place in bsd.port.mk, with an optional wrapper (e.g.
ccache), and with an echo to make it clear on screen/in log which
compiler binaries were chosen (easier than inspecting the wrapper
scripts) and whether ccache is used.
Initial wrapper using -B from espie, ccache bits from me, discussed
with/ok espie. Been through a bulk on i386.
- add clang to the list of keywords (to mean ports' clang)
- take MODGCC4_ARCHS/MODCLANG_ARCHS into account if they're defined,
so we can skip one compiler if it's not appropriate and go to the next
one.
This should take care of 95% of the remaining gcc4/clang users on "some
architectures"