Age | Commit message (Collapse) | Author |
|
errors.
|
|
|
|
Instead of just saying we await the release, we say when it's done.
(practically, a lot of package operation take `some time', it's good
for the user to know whether the command is still waiting for an held lock,
or actually doing some work)
|
|
|
|
- do a test to create partial-foo-1.0.1 instead of partial-partial-foo-1.0
when removing partial-foo fails.
- have .libs name generation, e.g., .libs-foo, then .libs1-foo, then .libs2-foo
instead of .libs-.libs-foo.... extend the pkgspec pattern slightly, so
that all these are more or less equivalent for dependencies and conflicts.
With this, we can do practically any scenario of shared libs updates and
downgrades.
|
|
- mark all regexps I can with /o if they can be compiled once.
- turn $o->method() into $o->method
- remove unneeded prototypes
- reduce split /re/ into split "string" where possible.
|
|
Create a common state class for delete and add, put the progressmeter
creation in there.
neat effect: we don't have a progressmeter, we use a stub class instead
and *never* pull the code in at all.
|
|
remove last traces of MODULEs.
|
|
Remove two passes visitors, we don't use them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
reword the introduction to the stuff originally from FreeBSD to clarify
slightly.
|
|
only packages, so it's not really necessary to check for file existence
and rights. Besides, actual use of package stuff will try reading +CONTENTS
in a guarded way, so it will error out sanely...
Trims out hundreds of stat() under /var/db/pkg, which are largely responsible
for the slow start time of pkg_* tools.
|
|
Fix a really fun bug in pkg_delete: solve_installed_names has to
normalize the list of names so that comparing its size vs. its
transitive closure is meaningful. Use the classical hash + list to
preserve the order. While we're there, use the hash to avoid asking
the same questions again and again.
After some back&forth with bernd. okay bernd@
|
|
|
|
* 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.
|
|
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.
|
|
while we're there, clean-up code slightly.
|
|
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.
|
|
|
|
directly. Optimize for !wantarray, by telling whether the list is empty or not.
prepare for a second similar list (REQUIRING) that will replace pkgdep, since
pkg_add -r spends a hell of a lot of its time reading/writing long
packing-lists...
Use the simplified interface.
Remove quite a few tests that the RequiredBy list is non-empty that do
nothing but obfuscate the code: just deal with the damn list already.
|
|
-A shows them.
|
|
use these to simplify all those packing lists manipulations.
demote non-root detection to a warning in -n mode:
fix a couple of minor bugs, of stuff that was run in -n mode and should not.
Namely, manpages were indexed/unindexed (ouch) and tempfiles were creating
during updates.
|
|
removal without having to run a DEINSTALL script...
|
|
kill -C and -P options which are definitely no longer used as well.
Reorder special files so that REQUIRE is at front (and it's executed first
anyways).
|
|
|
|
problem found by John L. Scarfone, who runs a paranoid root.
|
|
|
|
to proceed correctly in case of dependencies.
|
|
|
|
pkg_delete /var/db/pkg/zsh-*/ works.
|
|
Upper Management...
|