230 Commits

Author SHA1 Message Date
thfr 6eb73f0604 Fix constraints on _DistTuple columns. This makes the DistTuple entries
in sqlports complete. (Before only the last set was shown.)

From espie, instigated by a less correct diff from me. Also feedback
from sthen@ ("makes a lot of sense")
2025-12-01 00:30:35 +00:00
sthen a76114ab0d don't rely on the sqlite3 cli accepting double-quoted strings as literals
if they don't match a valid identifier, as of 3.41.0 (2023-02-21) standard
builds of the cli no longer accept this and warn instead. currently builds
from the "autoconf" distribution file do still accept this, but sqlports
should not rely on something that upstream are trying to teach people not
to use.  https://sqlite.org/quirks.html#dblquote

from espie
2025-11-03 14:46:04 +00:00
espie d6b51a6e93 better tracking of paths we should do.
got a bit lost in pkg equivalence, but now it will report
RUN_DEPENDS = devel/llvm
as a problem, as expected
2023-11-26 18:05:09 +00:00
espie d0d5916110 document -C 2023-11-26 09:32:10 +00:00
espie 1733171949 beautify 2023-11-12 12:05:50 +00:00
espie d7fc0908f8 actually reference UNLINKED 2023-11-11 11:53:07 +00:00
espie fffd115210 keep going is fine, but when we notice an error and do ^C, very often
the actual error will be beyond recall
so add proper signal handling to report errors anyway
2023-11-11 11:16:02 +00:00
espie 9405055eec major overhaul of the treewalker and options for mksqlitedb
as a result:
- properly show errors at the end.
- show walker errors like I did for dpb.
- feature a "keepgoing" mode that will do the full walk BEFORE exiting
with an error if necessary (but switch from +++ path to !!! path after
the first error, so that interactive runs can be interrupted early on
if deemed applicable)
- feature a "testmode" for trying out a single path
- remove some old obsolete options
- embed some perldoc in the script proper.
2023-10-25 15:23:59 +00:00
espie 23766a5655 be completely silent about the schema if not -v 2023-10-25 14:05:48 +00:00
espie b09d4bd62b stop special-casing MASTER_SITES0..9 since it no longer exists 2023-09-25 17:10:44 +00:00
espie 16a4e0177b register ROACH_URL and ROACH_SITES 2023-09-06 21:07:16 +00:00
espie d48dda1abf go back to naming it 'MasterSites' for now so that portroach is less
confused.

(todo: emit views to all distfiles and all mastersites to help the poor thing)
2023-09-06 11:56:34 +00:00
espie a22a529118 convert to SITES 2023-09-05 13:51:33 +00:00
espie 438e9c6ae8 bye bye DIST_TUPLE_MV 2023-09-04 15:34:18 +00:00
espie 78c5b8ae8c add support for DIST_TUPLE* 2023-09-03 11:40:30 +00:00
espie ed972d1afc don't use baseline until we need it 2023-09-03 11:16:41 +00:00
espie b422666070 store baseline data for variables somewhere
the idea is to be able to say "this variable doesn't need to be stored
because it's exactly the default"
2023-09-02 10:40:59 +00:00
espie d34adbc614 remove extra fork here as well. Set things up to share a bit more
with the TreeWalker
2023-09-02 10:24:10 +00:00
espie d968e902a0 boilerplate to establish a baseline for variable values so we can
save anything
(unused so far)
2023-09-01 23:00:13 +00:00
espie 3f2e002cf0 register EXTRACT_FILES as well 2023-08-31 13:49:22 +00:00
espie 8775a88e13 document sufx in _distfiles, add n to the view.
add infrastructure to save MOD* values.
2023-08-22 14:59:46 +00:00
espie da9e6ab375 documentation should match reality 2023-08-21 11:35:19 +00:00
espie c581ab1d2c fix thinko 2023-08-21 10:10:01 +00:00
espie b6f7e25201 support for DISTFILES/SUPDISTFILES/PATCHFILES.sufx and MASTER_SITES.sufx
note that only the non suffixed versions end up in the main ports view.
2023-08-14 17:36:43 +00:00
espie e7ca584707 typo 2023-08-14 09:21:36 +00:00
espie 73a357a27d somehow I forgot about patchfiles in the manpage. 2023-08-08 11:12:06 +00:00
espie 3a00fabd0f use v5.36 2023-06-16 06:04:01 +00:00
espie fb35d399c7 use v5.36 2023-06-16 04:54:20 +00:00
espie 711b71c755 use v5.36 2023-06-16 04:17:56 +00:00
espie f7a765cfff use v5.36
tighten restrictions on IS NULL constructor
2023-06-15 14:33:13 +00:00
espie d503056b9e start moving to use v5.36 2023-06-15 12:53:07 +00:00
sthen 2e8b030b2e Support USE_NOBTCFI in ports to add -z nobtcfi to linker command lines and
record this information in the sqlports db.  ok kn@ tb@

OpenBSD is starting to support branch target identification on amd64 and
arm64 (part of the features on Apple m2, and on Intel 11th gen/newer CPUs
with "control-flow enhancement technology").

On amd64 it is currently being enabled/disabled in snapshot kernels at
various times while we gain more information about which software in
ports is working/not.

This works by placing certain opcodes at legitimate targets of branch
instructions (which are ignored on earlier CPUs as they are NOPs there)
and trapping if an indirect call/jump is attempted to a location which
does not contain such an opcode. This makes it harder for an attacker
to jump to a location containing code of their choosing.

For more details on the Intel implementatios See chapter 17 of SDM vol.1
https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Our system compilers on amd64/arm64 add the required opcodes at valid
targets, but some code in ports is built with a compiler which does not
do that, also some ports have asm code which has not had the required
instructions added at those points yet (i.e. endbr64 on amd64).
In those cases, the whole binary can be annotated with a segment type
PT_OPENBSD_NOBTCFI as an indicator to the kernel not to enforce branch
target control flow integrity for the produced binary.

The relevant compiler options to enable (default on OpenBSD)/disable are:

amd64: -fcf-protection=branch, -fcf-protection=none
arm64: -mbranch-protection=bti, -mbranch-protection=none
2023-06-12 10:06:29 +00:00
sthen 8944205b73 record USE_NOEXECONLY in sqlports 2023-01-09 17:09:55 +00:00
espie 96e9672cb6 remove shortcut that was resulting in bizarre warning when trying to
integrate empty files
2022-11-14 12:54:47 +00:00
espie de8d34ed61 add FIX_CRLF_FILES to secondary tables 2021-02-25 23:26:30 +00:00
espie 4d7cd6c96a document DEBUG_* tables and views 2021-02-21 09:14:05 +00:00
espie ec88bfaedb finally add DEBUG_PACKAGES and DEBUG_CONFIGURE_ARGS to sqlports
not sure what I missed the last time as this is fundamentally trivial
2021-02-20 18:05:04 +00:00
espie c10c81e8a7 simplify my debug process by allowing to restart build from a given point 2021-01-29 10:28:30 +00:00
espie c0b8252709 add the date at which the db was generated into sqlports.
document Meta table, which I somehow forgot
2021-01-29 08:30:37 +00:00
espie b95f372d1d flesh out some more stuff in the manpage.
do a REV bump for once, since we don't actually change any real details
2020-07-07 10:53:27 +00:00
espie f652d789b5 move description of the schema to a manpage 2020-07-06 09:06:45 +00:00
espie d994b4272d flesh out a bit more stuff from DESCR 2020-07-05 12:28:13 +00:00
espie 2ae760cc0d seems that people don't expect this information to be in DESC, so start
converting it to mandoc, to be completed.
2020-07-05 12:23:24 +00:00
espie 2159135658 extend request a bit more so that verbose mode also shows type of dependency 2020-06-11 19:55:15 +00:00
espie a0cef780a2 verbose mode, now that I've figured it out again 2020-06-11 16:05:52 +00:00
espie f03a34da8b add a few options and a manpage to show-reverse-deps 2020-06-11 15:40:41 +00:00
espie 00fb740c85 handling of DEBUG_PACKAGES/DEBUG_CONFIGURE_ARGS is bogus
just ignore them for now
2020-05-19 08:50:55 +00:00
espie 2f0dce97ea likewise, don't try to use incomplete hash 2020-05-19 08:44:44 +00:00
espie ca77b7dcb1 parse errors in dump-vars will lead to $h being invalid, push past that
so that it properly errors out without a huge dump
2020-05-19 08:38:03 +00:00
espie 1d9534e98b allow SUBDIRLIST to leak through, in case robert@ wants to build
a partial db.

okay robert@
2019-11-26 11:32:17 +00:00