1701 Commits

Author SHA1 Message Date
espie
d68fcbffe2 if FAKESUDO can be something, then we need a SETENV to handle environment
problem noticed by jca@
2017-12-07 20:14:25 +00:00
espie
7d31773d38 next stage of PORTS_PRIVSEP: run most steps of the build under
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@
2017-12-05 17:46:43 +00:00
espie
b17992612c oops 2017-12-03 12:57:35 +00:00
espie
adf97138bc tweak pre-fake and post-install modules, so that they're run in the
exact same way (e.g., with FAKE_SETUP done and with changed
identity already).

Adjust user modules accordingly.
2017-12-03 11:10:10 +00:00
espie
88170a8ca8 be more stupid, always tag _build/runtime_params and .ninja_log
as files that may change.  there's really no need for logic, who else
would use those files ?
2017-11-28 10:26:00 +00:00
espie
0a7eafa733 bleh, wrong test around 2017-11-26 16:28:28 +00:00
espie
7536a9e0ac reduce noise in check-wrkdir output, ninja builds update their log during
fake, and that's okay
2017-11-25 12:19:07 +00:00
espie
fd096fa2e2 glue that invokes check-wrkdir optionally 2017-11-24 14:48:33 +00:00
espie
10c8e68ebc - add FIX_EXTRACT_PERMISSIONS, for ports that have paranoid archives
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@
2017-11-23 18:11:05 +00:00
jca
4593b2842d Remove powerpc from LLVM_ARCHS, it never built there.
This should unlock the ~235 ports that try to use ports-clang before
ports-gcc.

ok bcallah@ landry@
2017-11-23 14:33:21 +00:00
espie
d0be71e5d3 kill the experimental xenocara build
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...
2017-11-23 12:29:15 +00:00
espie
7879b88914 as we do the install-wrapper twice, don't copy it the second time if it's
identical
2017-11-23 12:10:36 +00:00
espie
b0ac698a0b group more stuff after post-patch
okay sthen@, aja@ and a full bulk build
2017-11-19 17:31:04 +00:00
naddy
9ec48599e0 remove the backward-compatible COMPILER values as they are no longer used 2017-11-17 00:24:01 +00:00
espie
03bb654c59 allow better integration of ports tree with dpb.
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@
2017-11-13 14:01:44 +00:00
espie
e721a43980 define COMPILER_LINKS early so that modules can test it easily 2017-11-05 09:10:13 +00:00
naddy
fcc553acf5 Add missing ARCH and MACHINE_ARCH values to ALL_ARCHS.
Only use MACHINE_ARCH values for GCC[34]_ARCHS.  This seems to be consistent
with the other entries.
2017-10-26 19:40:32 +00:00
espie
96de49bdff use pkg_create -S so that port sigs and package sigs are handled
identically.

Along with removing the XXX in out-of-date, this also fixes dpb update
modes.
2017-10-11 14:27:20 +00:00
tb
08a014ca9c Display a clear error message indicating that WRKOBJDIR must be on a
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.
2017-09-18 16:32:06 +00:00
espie
f0a5685b2c activate @version 2017-09-18 15:20:54 +00:00
espie
fbc2afa76d scaffolding for -V option, the only missing part is activating it in
bsd.port.mk
2017-09-18 13:02:34 +00:00
sthen
b0bb52643e Add LLD_ARCHS, listing arches using LLVM's ld.lld (rather than binutils'
ld.bfd) and a PROPERTIES matcher. Suggested by phessler@, "go for it" espie@
2017-09-09 10:22:45 +00:00
espie
f92d7101b9 turns out we already copy checked packages from cache into the normal
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
2017-09-05 14:50:28 +00:00
espie
f96c91f68c a few more bits 2017-08-24 13:25:38 +00:00
espie
7737872aef rework COMPILER yet again. new version should be easier to grasp 2017-08-22 10:27:33 +00:00
espie
5690c3546f centralize arch compiler support so we cant teach COMPILER to
set ONLY_FOR_ARCHS
2017-08-21 09:12:47 +00:00
espie
1f0907b562 even though those names shouldn't be strange, doesn't hurt to protect against
-something names.
2017-08-21 09:10:52 +00:00
espie
6ee8bff8bd switch ports as well 2017-07-26 21:25:32 +00:00
sthen
0c3a4d7394 Poison autopoint if gettext-tools is not a listed dependency, similar to
existing poison for msgfmt/msgcat/msginit. Makes sense to naddy@
2017-07-26 14:21:22 +00:00
espie
9952cda353 use -F pthread, so that COMPILER_LIBCXX doesn't trigger "extra" warnings 2017-07-23 09:27:15 +00:00
espie
c114d7057b add pthread to COMPILER_LIBCXX.
white lie, but it allows clang and gcc to be more similar
bump accordingly.
2017-07-23 09:26:25 +00:00
espie
9b2efb46ff direct inclusion of MODULES=clang on a clang arch triggers double links
so protect against these as well
2017-07-20 07:31:48 +00:00
espie
9113bc87c7 add sugar to have WANTLIB contain the right mix of
COMPILER_LIBCXX/LIBCXX/LIBECXX in most cases.

... and  future support for pthread variations.

okay sthen@
2017-07-19 14:16:13 +00:00
espie
a0d2425bd2 now that COMPILER works, we can have a simpler mechanism to figure out
the C++ library getting used in most cases.
2017-07-13 11:43:55 +00:00
espie
c231a975e1 turn generate-readmes into a "full" target with locking and everything
(but still no cookie)
2017-06-28 10:20:28 +00:00
espie
ce68e425d2 move readmes/rcscripts generation into a separate target
'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...
2017-06-27 15:47:10 +00:00
visa
785a6b25f1 ASPICFLAG is no longer set by bsd.own.mk. Remove it from bsd.port.mk.
OK mpi@, jca@
2017-06-19 13:27:00 +00:00
sthen
1071cecb59 support for overriding CC/CXX was accidentally lost with the COMPILER_LINKS
changes, reinstate it. feedback/ok espie@
2017-06-05 21:53:12 +00:00
espie
2a7559a492 thinko. breaks devel/llvm on a clang arch 2017-06-05 07:10:06 +00:00
sthen
868a63b397 Write out wrapper scripts for compilers using -B to set the toolchain
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.
2017-06-04 23:22:57 +00:00
espie
2c4bade992 sooner or later, we'll run into ports that really require a gcc... 2017-06-03 15:02:26 +00:00
espie
326a14a21d put a guard to prevent the nasty issue I ran into with cantor 2017-05-31 08:53:39 +00:00
espie
cc5bc426ed switch everything to new COMPILER idiom, even stuff that won't build with clang
yet, but at least that part is done.
2017-05-31 08:08:15 +00:00
espie
bb2c867f6d forgot about that one, fixes zstd 2017-05-23 15:12:28 +00:00
espie
ec8f1d50db improvements to WANT_CXX
- 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"
2017-05-22 08:06:25 +00:00
espie
9ea01bb815 get FETCH_PACKAGES to find things by default by using installpath.
no incidence for people who haven't updated pkg_add yet, this used to
not work, so this will still not work for them :)
2017-05-18 12:38:46 +00:00
espie
d5c35df595 various things should refer to BUILD_PACKAGES instead of MULTI_PACKAGES 2017-05-18 12:31:20 +00:00
espie
391f2f7916 expose all the package-args targets, as suitable ports introspection
targets (useful to check if some wide-sweeping change will affect
built packages)
2017-05-17 11:16:38 +00:00
espie
23a76e674f put the >=17 there, doesn't change anything in the generated packages 2017-05-16 13:38:36 +00:00
espie
c4a397b638 ouch, WANT_CXX should trigger modules.port.mk
didn't run into that because my test cases had other modules
2017-05-13 12:34:01 +00:00