Age | Commit message (Collapse) | Author |
|
dependencies, so that if you do one big pkg_add -r *, then you can check
which packages may have issues thanks to forced updates.
|
|
large enough before installing a package.
|
|
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.
|
|
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.
|
|
install. When you add 2000 packages, this can be *real* confusing
otherwise.
|
|
and this gives a hint about what is going on for big packages (like tetex).
|
|
important memory gain, since virtual and virtual_dir account for the
lion's share of pkg_add's memory consumption.
|
|
fixes an elusive problem reported ages ago by sturm@...
|
|
not marked with @lib.
This allows pkg_add -current to deal with 3.6 packages fully.
|
|
|
|
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.
|
|
|
|
|
|
while we're there, clean-up code slightly.
|
|
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...
|
|
Now, update with the same package name works again.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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...
|
|
|
|
need a full name.
|
|
|
|
|
|
pkg_delete since it now works for both.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|