summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add
AgeCommit message (Collapse)Author
2022-11-09document '=' as a pkgspecMarc Espie
2022-11-04allow "=" to be "hey only the default value" for pkgspec in dependenciesMarc Espie
to be used later once it's in snaps.
2022-11-01Have -S actually behave like the other introspection options, namely onlyMarc Espie
eschew building the package is -n is mentionned. Document that -S -n is heavily optimized for speed since it's mostly used by dpb -R to figure out what to rebuild.
2022-11-01fix a logic error from 2018: be silent if any of -S, -n, -q are mentioned.Marc Espie
The actual bug reverted in 1.128 was from "make print-plist-libs" which would invoke pkg_create -n -Q and filter out the libs: but in that case, pkg_create would not be silent, thus yielding reading plist|-/usr/local/lib/libpython3.9.so.0.0 to filter, which obviously wouldn't work. So, turn on silent mode for -Q as well.
2022-11-01I plain forgot to document -S !Marc Espie
2022-08-12pkg_add.1: fix typo in pkg stem with flavor exampleLandry Breuil
from Frederic Nowak, thanks !
2022-07-29don't leave user guessing after latest "no need to update"Marc Espie
show a "processing" message when we're actually grabbing data (often from the net). This should be really quick in most cases, but sometimes, it might take minutes (like for texlive), so that we know what's going on.
2022-06-28if we can't open the user db, don't try to read from a closed fhMarc Espie
2022-06-28some old signing code was still aroundMarc Espie
2022-06-28parse pkgpath further, so that we know the subpackage component, if any,Marc Espie
and flag multiple subpackages as an error
2022-06-09se more specific discrimination to know if extra data is still there afterMarc Espie
an update.
2022-06-08recognize @extraglob for laterMarc Espie
okay sthen@
2022-06-06have compute_checksum return a status, so that we don't report similarMarc Espie
errors several times (for instance, if a file doesn't exist, its checksum is not going to match, obviously)
2022-06-06zap fairly old bug from refactoring: we already validated all the set plists,Marc Espie
don't do it again (would skew the file system usage a bit). Also: we don't need to check for firmware if we're not actively deleting. normal updates won't touch them.
2022-06-06this message is seriously outdated: the packing-lists have been read byMarc Espie
the code that calls delete_handle already
2022-06-06Yet another iteration of the tied algorithm: some packages containMarc Espie
several hundred copies of the same file (even thousands! I'm looking at you sdcc), so matching through a list is O(n^2). So hash the hashes on the actual file name so that we match directly if the same name file didn't change, and use the first entry otherwise, since the name won't match. speeds up updating of texlive somewhat, and makes a huge difference for sdcc.
2022-06-06also zap signer if we zap digital-signatureMarc Espie
2022-06-06expand on the mismatches between the tarball and the packing-listMarc Espie
2022-06-04document internal annotations a bit more, explain about the always-updateMarc Espie
changes, and be more specific about @digital-signature and @signer, since we only use the one scheme now.
2022-05-30tweak the display a bit: have "hashing/tieing" be progress messagesMarc Espie
(they probably won't mean a lot to most users but then they only appear fleetingly apart from stuff like texlive)
2022-05-29More precision regarding a few minor points:Ingo Schwarze
* Say what happens when no pkg-name is given. * Say "show the names and one-line comments" rather than just "information". * Say which options cannot be combined with pkg-name arguments. * Say which options are already the default in some circumstances. OK espie@
2022-05-29document the meaning of the -Q option argument;Ingo Schwarze
OK espie@
2022-05-29final part of caching for always-update: the new annotation doesn't needMarc Espie
any specific handling.
2022-05-28EOF does not result in an error code, as spotted by stsp@Marc Espie
2022-05-28have pkg_create generate the hash for always-updateMarc Espie
2022-05-26I'm a doofus, of course I need to use "write_without_variation" for thatMarc Espie
2022-05-26first step in simplifying the always-update case:Marc Espie
tweak @option always-update to allow parsing @option always-update <hash_value_for_the_whole_plist> once this is safely in snapshots, we can generate it directly within PkgCreate.pm, compare it directly in Signature.pm and get rid of the whole special case of having to keep the whole plist around
2022-05-20as promised, extend the precaching using quirks stems extension.Marc Espie
(as it happens, some py-sip thingy got the treatment so I could test that the code does something) !
2022-05-19document what this file stands forMarc Espie
2022-05-16document failed experimentMarc Espie
2022-05-16GC old stats code, I already removed the collection partMarc Espie
2022-05-15update examples and remove some text that's no longer relevant.Marc Espie
trim content and add more explicit Xr to other documentation
2022-05-15clean up and document the LRU stuff betterMarc Espie
- create a separate path when we don't want history - add a dummy entry to see the threshold between changed and unchanged in verbose mode - document better the various stuff that gets separated - error out in case we want history (by default) and anything goes wrong
2022-05-15remove the gzip chunk after CONTENTS, it was only needed back whenMarc Espie
we signed the packing-list separately. Now that we use signify to create the signature without decompressing anything, it's completely irrelevant.
2022-05-13Catch the termcap exception if there's a problem looking the terminal up.Marc Espie
It's just a progressmeter after all, there's no reason to error out instead of simply devolving to "no progress meter". (as noticed working with one of my students, Matthieu Fourre, whose emulator or setup was somehow passing an "xterm-kitty" string)
2022-05-12yet another stupid shadowed variable, thx sthen@Marc Espie
2022-05-12explicitly write LRU in a comment so that it's easier to find ;)Marc Espie
2022-05-12ditch the ...Marc Espie
2022-05-11fix quirks timestamp display: it's done somewhat early, before we decideMarc Espie
whether we update or not, so we need to decorate the update_info with the signer timestamp. It's the only place where an update_info actually needs that stuff.
2022-05-11tweak headerMarc Espie
2022-05-11locate yields information in sorted order (of course)Marc Espie
so I can show a percentage of cached names already handled.
2022-05-11gc old stats code I no longer useMarc Espie
optimize archive reading slightly: read one less header if we skip things, and we don't need to check wanted for emptiness if it didn't change.
2022-05-11move a bit of code in a separate sub, fix indentation, add some commentsMarc Espie
that explain some of the more complicated stuff going on now
2022-05-09shadowing variables is a bad idea (thanks Anton, this fixes regress)Marc Espie
also fix a logic error (that's very unlikely to happen outside of broken scenarios, but we still want to have things work correctly in that context)
2022-05-08get rid of horribly complex optimization that's no longer relevant.Marc Espie
For update-info, we used to try to stop reading the CONTENTS file from the stream as soon as we had enough, but - most update-info will be cached - the ones that won't are @option always-update, so they need the full plist anyway - most packages are signed, so we need a full 64KB of data to check the hash.
2022-05-08better abstraction: instead of storing a string we're going to parse forMarc Espie
signature dates, just annotate the PackageLocation with the info, and decorate the PackingList itself when we finished reading it from the location
2022-05-08show actual linking operations alongside renames if verbose >= 5Marc Espie
2022-05-08now we no longer go through temporary files when names don't change,Marc Espie
make the matching algorithm between the old and the new package more precise: keep a list of matching checksums, instead of just one candidate. For starters, empty files will always yield the same checksum, but it seems some software (python for instance) loves installing multiple copies of the same file. This does prevent 500 "name mismatches" out of 2500 in python-3.9, for instance.
2022-04-29finally, turn on caching by defaultMarc Espie
change the defines: TEST_CACHING -> !NO_CACHING TEST_CACHING_VERBOSE -> CACHING_VERBOSE TEST_CACHING_RECHECK -> CACHING_RECHECK okay with sthen@
2022-04-28glue for 7.2Marc Espie