summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add
AgeCommit message (Collapse)Author
2004-12-19don't create path if -n.Marc Espie
2004-12-19simplify solve_dependencies: always compute to_install array (it isMarc Espie
reasonably cheap). Remove else conditions, use next: after all, it's a simple pattern, try one solution after the other until one succeeds. Pass state to access replace: in that case, first try the list of packages to install/update so that we force them into proper order. Add a mark to handles for finished packages: with -r, we can no longer rely on installed packages to avoid doing the work twice.
2004-12-19move conflict code to PkgCfl.Marc Espie
2004-12-18reflect reality.Marc Espie
2004-12-18kitchensink mode will proceed if it can't find a dependent package...Marc Espie
2004-12-18if we can't find a package, and it's there to solve a dependency,Marc Espie
say so.
2004-12-18document kitchensink optionMarc Espie
2004-12-18display something when files ought to get moved in -n.Marc Espie
2004-12-18ignore size issues in kitchensink pretend mode.Marc Espie
Be consistent: show added files and deleted files if pretending.
2004-12-18oops, don't compute fullname unless we know we can.Marc Espie
2004-12-18implement special `kitchensink' option for testers.Marc Espie
2004-12-18basic code to handle legacy .libs-* packages: figure out what collisionsMarc Espie
the new package actually has with old libs. If none is found, we can proceed. Prepare pkg_add to deal with it: switch into replacing mode as soon as something fishy is going on. Todo: code to actually delete replaced libraries. Please note: if you don't play games such as going back to old packages using replace, this code is enough. If you update your whole system and remove old .libs-* package without going back, this code isn't even needed...
2004-12-17can postpone grabbing conflict keys.Marc Espie
2004-12-17better collision reports.Marc Espie
- in validate_plist, don't re-add a file that exists. - allows the virtual file system to put marks on existing files - use a \$pkgname the first time a file is added (space constraints: don't duplicate the pkgname). - in CollisionReport, first check the vfs, so that we don't look at installed packages when the collision only concerns newly added pkgs. Makes pkg_add -n report collision reports correctly.
2004-12-16if -f installed, don't treat reinstallation as errors.Marc Espie
if the package is installed, report it's there, don't give any conflict message.
2004-12-16better conflict: conflict with partial installations, always conflict withMarc Espie
the package itself, and all potential instances of libraries.
2004-12-16save depend information into cache when package is installed.Marc Espie
2004-12-16both borked.* and partial-* are recognized.Marc Espie
give the right pkg_delete command
2004-12-16renamed borked_installation from borked.n to partial-<pkgname> ...Marc Espie
partial-<pkgname>.n if needed. Make borked_installation take a message, to show installation/deinstallation issues correctly. Fix handling of ^C: this may lead some system calls to return early, thus registering as errors: so always mark the last file as done, so that borked installation will register it correctly. Kill packing-list cache for anything but depends: we've got a global cache of libraries now (use it in pkg_add). Make almost everyone look at $main::not, so that we can call register_installation to_installation RequirementList->add/delete safely. Simplify $not logic accordingly, do thing much more closely to what would happen without -n. This should allow pkg_add/pkg_delete -n to handle most nasty cases correctly now, since all the relevant information is kept internally in a compact format: - register of shared libraries - global register of conflicts - cache of depends.
2004-12-15move -n down into RequiredBy and PackingList (as $main::not, since weMarc Espie
don't want to load RequiredBy all the time). Remove a few $state->{not} tests that are no longer needed. pkg_add -n / pkg_delete -n should work much better when they need to handle multiple dependencies. (todo: kill plist caches, finish replacing with specialized caches like libraries).
2004-12-14rewrite code to cache files internally, to avoid going to disk all theMarc Espie
time. This will allow us to bypass synch() and use this in -n mode, among other things. We could also postpone writing the cache (synching) until the end of the program...
2004-12-13pull all the conflict checking code into one single function, makesMarc Espie
things much simpler...
2004-12-13since we store dependencies we looked at, show them in the clue() message,Marc Espie
so that people can try to figure out why the library wasn't found.
2004-12-13fix test for syswrite errors: zero returns are legitimate.Marc Espie
2004-12-13avoid brutal exits from loop.Marc Espie
2004-12-12cvs expands $OpenBSD...$, so move the variable defs up so that they don'tMarc Espie
need a full name.
2004-12-12add somewhat more regular error catching code.Marc Espie
2004-12-11implement zeroes blocks detectionMarc Espie
2004-12-10sync usage();Jason McIntyre
ok espie@
2004-12-09make -f scripts work again, and document it properly in both pkg_add andMarc Espie
pkg_delete since it now works for both.
2004-12-09while upgrading, protect deletion in an eval: we've got an extractMarc Espie
package that should be registered as borked if something should go wrong (which can happen if -f update, as I just witnessed with firefox).
2004-12-07wrap pkg_add usage.Marc Espie
2004-12-07postpone check of conflicts until we have a packing-list.Marc Espie
this was an optimisation, but it doesn't make much sense: not checking the packing-list first means we don't see some errors in case of conflicts. And having the packing-list simplifies the check-for-update operation.
2004-12-07do like the manpage says, don't add a @name if we already got one.Marc Espie
should please aaron@
2004-12-06explicit clue() for people running 3.6 packages with current pkg_add.Marc Espie
2004-12-06forgot -h for pkg_info.Marc Espie
2004-12-06UsageMarc Espie
2004-12-02Add quotes to unconfuse pkg_create error message.Marc Espie
2004-12-02Vstat API changed slightly. Found out by fries@Marc Espie
2004-12-02wipe old .Xr's; ok espie@.Xavier Santolaria
2004-12-02don't try to validate_plist if not needed at all.Marc Espie
2004-12-02cosmetic: shows old and new package name, plus signatures.Marc Espie
2004-12-02make sure we don't call Update::is_needed if we're not doing pkg_add -r.Marc Espie
2004-12-01allow stuff to recreate a package from an installed CONTENTS: sinceMarc Espie
we have all the md5 and stuff, we just need to make sure the package is correct (hence verify_checksum). Add a -n option to pkg_create: this is consistent with pkg_add/pkg_delete, and with this new verify_checksum, pkg_create can be used to check that a package still matches its contents.
2004-11-27tweak very verbose output.Marc Espie
2004-11-27if the package is already installed, check whether updating it makes sense:Marc Espie
look at the context in which both packages were built. If dependencies differ, then this is a sensible update. While we're there, try harder to build a conflict list for .libs-* packages.
2004-11-27record sample/extra directories if !extra, so that SharedItems won't warnMarc Espie
if those directories are not empty...
2004-11-27be verbose if !extra, tell user what they should do manually.Marc Espie
2004-11-23fix name of libMarc Espie
2004-11-23allow for registration of libraries from an existing plist.Marc Espie
make sure lookup_libspec result is defined. allow for registering pkgpath instead of pkgname.