summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add/OpenBSD
AgeCommit message (Collapse)Author
2005-02-07make updatedepends slightly safer: note which packages may have bogusMarc Espie
dependencies, so that if you do one big pkg_add -r *, then you can check which packages may have issues thanks to forced updates.
2005-02-07take size of metainfo into account when checking if the file system isMarc Espie
large enough before installing a package.
2005-01-16allow locking of database in quiet mode, where we don't display anyMarc Espie
message. Display the lock message on stderr anyways, so that we don't disturb normal displays. postpone locking after we know about -q in pkg_info's case. Display command line if pkg_create fails, so that we can see what arguments it found in bsd.port.mk.
2005-01-14`big lock' model: lock the whole db for reading/writing.Marc Espie
design checked with millert@, relying on process termination for unlock at his suggestion. Perf optimization: don't try to reinstall installed packages in kitchensink mode if !-r.
2005-01-13let collision reports give the name of the package they're trying toMarc Espie
install. When you add 2000 packages, this can be *real* confusing otherwise.
2004-12-29show `reading plist' while deleting packages, since we can do this easily,Marc Espie
and this gives a hint about what is going on for big packages (like tetex).
2004-12-29remove vreaddir support, since library lookup no longer needs it.Marc Espie
important memory gain, since virtual and virtual_dir account for the lion's share of pkg_add's memory consumption.
2004-12-29round number of stars immediately, avoids off-by-1 display error.Marc Espie
fixes an elusive problem reported ages ago by sturm@...
2004-12-28add a boguslibs forced option, that rescans packages for librariesMarc Espie
not marked with @lib. This allows pkg_add -current to deal with 3.6 packages fully.
2004-12-28clearer error/warningMarc Espie
2004-12-28improve message quality: don't say we can't update stuff when we are goingMarc Espie
to force it. Group the verification of forward dependencies, so that it is less verbose. Also, register .libs conflict, even if it's not that useful.
2004-12-28synchronize conflict lists when we add/remove anything.Marc Espie
2004-12-27if we can't read this packing-list, this is not really an issue.Marc Espie
2004-12-27use delete, not undef, to update installed_packages correctly...Marc Espie
while we're there, clean-up code slightly.
2004-12-26put the compress 0 codes into a specific object. Handles the case whereMarc Espie
file ends with a block of zero, as sleuthed by sturm@. The object means the code is cleaned up with all the state in one place. Also, better use of constant. And beginnings of an Ustar writer code...
2004-12-21fix nasty cache-out-of-sync bug.Marc Espie
Now, update with the same package name works again.
2004-12-21if we can't get this packing-list, this is not dramaticMarc Espie
2004-12-21oops, really cache stuff.Marc Espie
2004-12-21correct checks to allow for a package to replace several packages.Marc Espie
2004-12-20allow a replacing package to replace several packages, in principle:Marc Espie
this is just a question of iterating over the replaced packages. The fun part (can_install) still isn't done: wholesale replacements like that mean the inter-dependencies between the replaced packages don't count.
2004-12-20don't display some details in -n mode unless very verbose.Marc Espie
2004-12-19sanity check: in -n mode, we end up replacing stuff that doesn't exist ?Marc Espie
2004-12-19don't create path if -n.Marc Espie
2004-12-19move conflict code to PkgCfl.Marc 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-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-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-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-13fix test for syswrite errors: zero returns are legitimate.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-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-06UsageMarc Espie
2004-12-02Vstat API changed slightly. Found out by fries@Marc Espie
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-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-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.
2004-11-22implement global repository for shared libraries.Marc Espie