5469 Commits

Author SHA1 Message Date
bentley
6e78e88d53 Update error message: pkg/README is PKGSTEM, not FULLPKGNAME. 2019-11-12 06:01:04 +00:00
espie
0b1efbd66c the warning about changed debug info is no longer relevant
keep the notice_new_file hook though, it might come in handy
2019-11-11 19:00:27 +00:00
espie
5c56964120 permissions 2019-11-11 18:59:36 +00:00
espie
9e82963b04 missing files can now be hard error since update-plist is no longer dependent
on us
2019-11-11 18:54:24 +00:00
espie
d140f7d998 let's run build-debug-info as a separate step after make fake, so that
update-plist doesn't interfere.

zap that cookie after update-plist so that changes get propagated nicely
without needing to rerun make fake
2019-11-11 18:52:59 +00:00
espie
e1c4bb8586 fix thinko. of course the stupid dependencies get changed last, so touch
the target
2019-11-11 18:33:05 +00:00
espie
7cb6e3a71a write the "generate debug info" as a Makefile so it can be run again
and again in the auto-generated case.
2019-11-11 18:22:27 +00:00
espie
d1f1c96c65 tweak the heuristics for DEBUG_PACKAGES: exclude arch-independent packages,
so that you can set DEBUG_PACKAGES=${BUILD_PACKAGES} most of the time
2019-11-11 17:40:06 +00:00
espie
7109855c36 don't register automatically generated debug*plists, allows for quick
change in the infrastructure, and follows what we actually do for non
static plists
2019-11-11 17:30:13 +00:00
espie
01155b231a build-debug-info actually needs to operate under ${WRKINST}${TRUEPREFIX}
so that it can figure out hardlink

create special LINK entries that just make hardlinks on the dbg info
for already generated stuff.

This solves the python problem noticed by aja@
2019-11-10 20:44:51 +00:00
espie
ec94319f61 note to self (noticed by aja@ in python) 2019-11-10 18:27:51 +00:00
espie
8f163ed309 warn when update-plist changed files with debug info, so that ppl know
they need to re-do fake to get proper debug packages
2019-11-10 18:26:39 +00:00
espie
68ffed6fe9 DON'T do PKGPATHS yet... sqlports does not like 2019-11-10 17:41:47 +00:00
espie
6b45c88ee8 if the plist changes, some files may vanish... fake should STILL finish,
so just WARN for non existing files with debug stuff
2019-11-10 17:36:20 +00:00
espie
0948639c33 second iteration of DEBUG_PACKAGES, now with some automation, with feedback
from landry/aja/pirofti/others
2019-11-10 16:48:19 +00:00
espie
b76784517b let update-plist deal with debug stuff
- ignore debug files in the fake directory
- recognize and annotate shared objects and static libraries correctly

*THIS REQUIRES CURRENT PKG_* CODE TO WORK!*
if your package contains static libraries/shared objects, update-plist
WILL error out saying it can't create the new classes
2019-11-10 16:46:44 +00:00
espie
6e3cab099d new helper, creates debug-PLISTs for debug packages.
Exact same pattern as update-plist, in order to read all pkg_create
arguments in one go
2019-11-10 16:44:55 +00:00
sthen
72c8828acb warn if patches contain ${WRKOBJDIR}, includes fixes from espie@ 2019-11-10 15:28:19 +00:00
sthen
16037f53de use DEBUG=-g rather than a special DEBUG_FLAGS, avoids the need to mess with
adding to CFLAGS manually
2019-11-10 11:10:37 +00:00
espie
e83b3f00cb tweaks:
- contrary to merge_depends, build_distinfo can actually work one path
at a time.
- have DISTFILES be an ordered list to give more info to roach (first
distfile)
- so put build1roach in the middle of  build1info so that the ordered
list is still available.

To be leveraged once I finish roach...
2019-11-09 17:06:37 +00:00
espie
c3ea6d1aed add initial glue for debug packages support
this is likely to change some more (become more automated), but it
should allow us to build a few packages and tinker.

Basically it uses DEBUG_PACKAGES, DEBUG_FILES
plus DEBUG_CONFIGURE_ARGS and DEBUG_FLAGS because we don't want to allow
debug packages on small architectures before we assess the performance impact
of building these.

this will get documented properly once the dust settles...

As discussed with other people at p2k19, ok pirofti@
2019-11-09 15:08:09 +00:00
espie
97cbe7d28e so the job itself should also not continue if something broke 2019-11-08 17:53:24 +00:00
espie
dde84cbc35 backout some of the "clean-up", just keep the part that doesn't run
code that can't work
(the rest does something strange with start_pipe for now)
2019-11-08 17:47:01 +00:00
espie
ecaecae8b9 always go thru task->finalize properly. including task->end, so that pipes
get closed automatically

for init core, if tasks did fail, do not continue.
in particular, this avoids calling DPB::Var->get on a failed host.

thx sthen@ for noticing this
2019-11-08 13:42:17 +00:00
espie
17744e9830 less hackish: distfile shouldn't have an undef'd pkgname.
instead, make $v responsible for log_as_built so that packages
get logged and distfiles do not.
2019-11-08 13:06:00 +00:00
espie
8e8a04e74e allows disable recording again. make the file handling more explicit, since
open "just failing" is not THAT great.
noticed by  cwen@
2019-11-08 10:26:09 +00:00
espie
d8f1105bba distfiles are also marked as built, but we don't want to log them. 2019-11-08 10:08:26 +00:00
espie
1383885715 set aside -N for roach (new) instead of -n, because it's confusing
compared to conventional -n "don't do anything" in pkg tools.
2019-11-07 16:36:42 +00:00
espie
c8a64aecd9 have package building heed FTP_ONLY as well, as it makes things simpler 2019-11-07 16:34:57 +00:00
espie
119bda9557 always pass PERMIT_PACKAGE through so we can also select to not build things
in dpb.
2019-11-07 16:15:17 +00:00
espie
d8e3568a01 forgot to adjust for the PERMIT_* changes 2019-11-07 16:12:35 +00:00
espie
faeca73456 add an extra log file that logs packages actually built (instead of found)
to help with possible batching of dpb output to something else (like a
signing engine)
2019-11-07 16:02:54 +00:00
espie
02ab0cf7a0 reorg the code a bit, explain what's going on.
ditch old stuff for ETA that doesn't work at all
rename "measure" to the less vague "full_weight"
2019-11-06 16:36:11 +00:00
espie
d6a962b09b create also takes the full @r list, so take fname into account
sorry for the breakage
2019-11-06 15:12:46 +00:00
espie
b83f76dc0a tweak the fatal error interface slightly
- add the space directly in log_no_ts
- have break create a broken list instead of a single message
- pass an actual list 'unchanged' to add_fatal
make it become a single line and clamp it for log_no_ts, as the full
message (multi-line) ends up in the individual log file
2019-11-06 14:47:25 +00:00
espie
94cb3a0030 pass actual distinfo filename through for even longer error messages 2019-11-06 14:21:54 +00:00
espie
6a1ce7fe67 do more specific messages when the file is completely missing from distinfo
vs when it's missing parts
2019-11-06 14:06:47 +00:00
espie
ef968e829d explain this 2019-11-06 14:01:37 +00:00
espie
6f932cac84 deal with tofetch always being defined, noticed by Nigel Taylor 2019-11-06 09:53:47 +00:00
espie
b4f248bf50 explicit return 2019-11-05 18:29:26 +00:00
espie
3d440d96f4 reorg the build logic slightly, so that fetch cores can be used for
roach purposes as well
2019-11-03 10:18:31 +00:00
espie
8880884866 make subengine creation more regular
stub roach subengine so that it can be hooked in the main loop
2019-11-03 10:17:54 +00:00
espie
0873a1017c tweak the main event loop a bit, should be simpler, but yield the
same semantics (apart from stop, which stops more stuff)
2019-10-30 16:16:06 +00:00
espie
d430354f13 tweak the stats so that the second column is just time from start 2019-10-30 16:11:25 +00:00
espie
75ed458511 make STOPPED! really visible 2019-10-30 16:07:25 +00:00
espie
b436a83da9 pass thru the values we might need for roach
construct the full object, even though we don't do anything smart with
it yet
2019-10-28 15:55:49 +00:00
espie
6545f12edb use the same pattern for -n/ROACH as we did for -e/LISTING_EXTRA 2019-10-28 14:27:15 +00:00
espie
be88273a38 add the glue for roachinfo to exist and migrate to its own subengine data 2019-10-28 14:24:30 +00:00
espie
32840e5cc5 document a bit more what's going on, also add roach variables 2019-10-28 09:47:40 +00:00
espie
d11bf80daf have External show the control socket path.
add first try at the "summary" command.
note that it doesn't simulate the engine completion (yet) so it WILL show
everything that's not built right now
2019-10-27 09:21:11 +00:00