summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add/OpenBSD
AgeCommit message (Collapse)Author
2005-09-24pass actual items to prepare_long and check_name so that we can alsoMarc Espie
verify that modes/groups/owners are correct (code to come)
2005-09-24move uname/gname existence check into ArcCheck: Ustar archives deal withMarc Espie
this differently. Namely, use specific variables that default to the numeric value if the uid/gid don't exist in mkheader. Since the entry fields are not filled, ArcCheck gets all it needs for the package check.
2005-09-24Allows FETCH_CMD to replace ftp.Marc Espie
Note that, for simplicity, FETCH_CMD must be a single command with a full path. Use a script if you must.
2005-09-20refuse building archive if we don't have user names for the uids.Marc Espie
2005-09-19fix PackageRepository::Installed().Marc Espie
let grabPlist finish closing what it opened.
2005-09-19Let ExtraInfoOnly grab pkgpath as well.Marc Espie
2005-09-19make package opening more efficient (and maybe more intuitive) byMarc Espie
delaying reading the full info directory to a temporary directory. When we open a package, we just scan for the CONTENTS. If it's the first file, we stash it into memory and STOP there, delaying grabbing the rest of the special files to the first call to info(). Make sure the next() proxy shows only real file, by grabbing info files if necessary. Introduce handle->plist() method that can retrieve the plist from either the version stored in memory, or in a file in the temp directory.
2005-09-17allows grabbing the packing-list directly from a PackageLocation,Marc Espie
in order to make further code more symetric and efficient.
2005-09-17beginning to a source path repository infrastructure, very likely to changeMarc Espie
a lot yet.
2005-09-17minor nitMarc Espie
2005-09-16more clean-up:Marc Espie
- kill multiple inheritance; - replace pipename() with open_pipe, and use explicit exec. - add intermediate PackageRepository::Distant class. - if PKG_CACHE is set, use an intermediate wedge that stores the retrieved package in that directory. - handle signals correctly in that case.
2005-09-16oopsMarc Espie
2005-09-16move .tgz addition down to PackageRepositoryList.Marc Espie
re-add list, which returns a \@, whereas available returns a @.
2005-09-14filter names out first, as it's slightly fasterMarc Espie
2005-09-13more Package/FatPackage common code: separate the proxy 'next' into twoMarc Espie
parts: the one that gets (and renames) files from the archive (getNext) that depends on Package/FatPackage, and the one that handles opening/ reopening/caching archives (true next);
2005-09-13typo, fix fat packages reading.Marc Espie
2005-09-13grabPlist shall behave like find.Marc Espie
2005-09-13Repository::Installed class, to provide uniform access to installedMarc Espie
packages compared to other `repositories'.
2005-09-13yet more uniform names.Marc Espie
2005-09-13don't actively avoid the Composite Pattern.Marc Espie
PackageRepositoryList can handle very close to PackageRepository
2005-09-13new class: PackageRepositoryList, of which pkgpath is one instance.Marc Espie
new method: wipe(), that removes the info directory, redirected to the PackageRepository object which `knows' how to wipe stuff out. (this allows us to eliminate special cases for installed/not installed packages in the near future).
2005-09-13make grabPlist slightly smarter so that we can still open the packageMarc Espie
afterwards.
2005-09-13allows grabbing a packing-list directly, without needing to go throughMarc Espie
a temporary file, by using perl's new-fangled open my $fh, '<', \$scalar
2005-09-13some long-delayed clean-up of this code.Marc Espie
- rename PackageLocation to PackageRepository. - new class `PackageLocation' which symbolizes an actually opened package. - rename quite a few things and reorg stuff to make lots more sense. - put fat packages into a derived FatPackageLocation class. - fix a bug that made sure fat packages could not be opened on stdin. ways cleaner and easier to extend...
2005-09-09zap dup. From Bernd AhlersMarc Espie
2005-09-07copy new annotations over.Marc Espie
2005-09-04zap duplicate codeMarc Espie
2005-09-04* New -i interactive option, that can ask obnoxious questions.Marc Espie
* move the signature code to a packing-list method, prepend the pkgname. * depend on distant listings, cache these systematically. * cut the PKG_PATH at :/ systematically, much simpler than parsing URLs. People should get used to trailing /s. * let pkg_add -u actually run the update. * check for signature in more places, for instance, let pkg_add installed_stuff be a void operation. * grab enough stuff during updates to check signatures, so that pkg_add -u can report updates that are not needed right away, instead of waiting for the more confusing `trying to update' * beginning of @module support. * @pkgpath support, including updates. * systematically expand stems when applicable. * use visitors systematically in pkg_info. * pkg_info -S reports signature. * remove hardcoding of categories in PackingList, so that future modules will be able to expand them. * add @updateset and @incompatibility keywords.
2005-08-29correctly trim old p* versions of packages.Marc Espie
tests sturm@, aanriot@ okay deraadt@
2005-08-22likewise, report only the first three filesMarc Espie
2005-08-22while scanning a potential package, process issues anyways:Marc Espie
if create() fails, we want to remove any stub file (and report the problem), so that tools won't get confused in believing the packing-list got created correctly.
2005-08-22maintain a counter of problems encountered per-filesystem.Marc Espie
Do not report more than 3 problems per filesystem unless -v -v.
2005-08-22parse mount entry correctly even if space left is negativeMarc Espie
2005-08-21catch QUIT, HUP, KILL, TERM along with INT, remove the temp dirs, then die.Marc Espie
(remember, perl signal handlers are safe, e.g., there's a redirection). Handle critical section where we create the directory so that we die after it's registered.
2005-08-19remove tempdir right away if it turns out we're not dealing with aMarc Espie
package at all.
2005-08-19trap SIGINT so that tempdirs get removed.Marc Espie
2005-08-17clean-up, move the compute_closure code to RequiredBy, since it'sMarc Espie
quite generic.
2005-08-17save architecture as well for ExtraInfo, so that pkg_add -u won't tryMarc Espie
to add packages for the wrong architecture. Noticed by Tim Kornau.
2005-08-17rename erase to more appropriate forgetMarc Espie
2005-08-16unsafe operations -> potentially unsafe operationsMarc Espie
2005-08-16make sure libs get registered if we take a shortcut and don't reinstallMarc Espie
the package, or if we call add_bogus_libs directly.
2005-08-16avoid computing signature twice!Marc Espie
slightly more verbose message.
2005-08-16check special names too.Marc Espie
Fixes a nasty bug: you could have /var/db/pkg mounted read-only, and still delete a package and keep the packing information around. Also makes pkg_add -r estimation of size more accurate, even though it usually doesn't matter, except for packages with huge packing-lists.
2005-08-16in case we're pretending to install, there's no borked package to create.Marc Espie
2005-08-16use a hash for compiled stems, to avoid spurious duplicates.Marc Espie
adjust find_updatenames accordingly.
2005-08-16don't mix nlist with lsMarc Espie
2005-08-16support code for pkg_add -u:Marc Espie
- distant_available(), using the distant listing functions. - stem compiler, to match lots of stems
2005-08-16make the code that enforces the connection limit a separate function, soMarc Espie
that the distant listing code can use it too. Since the distant listing code creates transient connections, it does not actually need to be tracked, just to ensure that it has a slot !
2005-08-16fix a few minor details: _list() needs to be called as a method.Marc Espie
use nlist *.tgz instead of ls to gain speed. http does not need any command, it just retrieves the directory index. (code not used yet, but so blatantly incorrect)
2005-08-14if there's no identifiable version in the spec, and in the package name,Marc Espie
then it matches when it is equal.