Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
|
|
|
|
say so.
|
|
|
|
|
|
Be consistent: show added files and deleted files if pretending.
|
|
|
|
|
|
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...
|
|
|
|
- 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.
|
|
if the package is installed, report it's there, don't give any conflict
message.
|
|
the package itself, and all potential instances of libraries.
|
|
|
|
give the right pkg_delete command
|
|
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.
|
|
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).
|
|
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...
|
|
things much simpler...
|
|
so that people can try to figure out why the library wasn't found.
|
|
|
|
|
|
need a full name.
|
|
|
|
|
|
ok espie@
|
|
pkg_delete since it now works for both.
|
|
package that should be registered as borked if something should go
wrong (which can happen if -f update, as I just witnessed with firefox).
|
|
|
|
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.
|
|
should please aaron@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
if those directories are not empty...
|
|
|
|
|
|
make sure lookup_libspec result is defined.
allow for registering pkgpath instead of pkgname.
|