Age | Commit message (Collapse) | Author |
|
|
|
|
|
into some directories.
a few minor style tweaks, such as using a nice join(map()) to build some
strings.
|
|
@exec-always @unexec-always
@exec-add @unexec-delete
@exec-update @unexec-update
with the obvious semantics that *update are only run during updates,
and *add/delete are only run during `pure' additions/removals.
This should solve the problem of those packages that `lose' manual
configuration when you update them (e.g., all the mod_xxx apache stuff
and postfix).
caveat: you will need to go through one finaly broken update before the
new stuff kicks in.
|
|
|
|
do append \n on warn.
Fix the two cases where the temp dir vanished too soon: not copying +DESC
should have been apparent. Not finding a +DISPLAY file is not a reason for
burping all over the place.
|
|
- record what's on the command line.
- adjust option depending on -a / !-a
- report `manual-install' status when replacing stuff.
|
|
|
|
`prepare_for_deletion' -> move that to Vstat, as it is common code.
Do the splitting of libraries through a deep copy and shallow copy, so that
we keep any State information related to libraries (like special group/owners).
|
|
make_deep_copy.
tweak keep_old_files so that we set the pkgname later, when it won't
cause any error to have duplicates in there.
|
|
|
|
- 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.
|
|
(modes and owners without annotation WILL be refused).
Somewhat pedantic: skip archive entry during extraction of links/symlinks.
Doesn't change a thing, except in the very rare case where a package would
end with a link in the packing-list. Now we're able to detect a premature
end of the tarball.
(okay, it's an obscure bug, I haven't even met it for real. So what ?)
|
|
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.
|
|
Deprecate INSTALL and DEINSTALL, write out warnings in pkg_create.
Clean up some more old cruft
|
|
|
|
Remove two passes visitors, we don't use them.
|
|
Just do one single try {} catchall {} per-method, as this is enough.
New methods: extract_and_progress, install_and_progress, that catch
interrupts (die) deal with fake, and handle the progress meter.
One single method: mark_progress, can be used for extraction, installation
and deletion.
|
|
|
|
already installed in a hash, and do a shallow copy of the list when
necessary, using make_copy.
This removes a lot of action-at-a-distance in packing-list elements.
|
|
bigger sets)
|
|
|
|
|
|
get defined.
Simplify and clean-up register_installation: everything is in the packing-list
so don't pass other arguments. Do not copy arbitrary info_names objects, but
use a copy_info visitor which copies exactly what files are around.
Use the stored infodir to locate DISPLAY and INSTALL files.
|
|
and report more issues.
|
|
un-special case SpecialFiles on deletion. Now that CONTENTS is part of the
plist, it's checked as well on addition.
|
|
and `prepare_for_deletion', that's clearer...
|
|
|
|
|
|
|
|
now that it works.
|
|
reword the introduction to the stuff originally from FreeBSD to clarify
slightly.
|
|
about the extra size needed. In validate, mark the overflow and call tally
later.
.e.g.,
Error: /dev/wd0f is not large enough (/usr/local/lib/libkparts.so.4.0.0)
Error: /dev/wd0f is not large enough (/usr/local/lib/libkrosscore.so.4.0.0)
Error: /dev/wd0f is not large enough (/usr/local/lib/libktexteditor.so.4.0.0)
Error: ... more files do not fit on /dev/wd0f
/dev/wd0h: 97 bytes
/dev/wd0f: 337090852 bytes (missing 78473 blocks)
|
|
ok espie@
|
|
|
|
object in the packing-list.
Move some checks earlier, so that update of packages fails before
deleting the old package.
Add more checks, like verifying that install/deinstall scripts are indeed
located on exec'able partitions.
|
|
Problem noticed by sturm@
|
|
Otherwise, we might miss a truncated archive that's missing its last file,
and PKG_CACHE won't work, since it hits a SIGPIPE too soon.
Nice testcase from sturm@
|
|
okay espie@
|
|
into partial plists until they've gone through an actual install.
Prevents partial replacements from destroying genuine links in packages
when they get uninstalled.
|
|
verify that modes/groups/owners are correct (code to come)
|
|
|
|
* 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.
|
|
Do not report more than 3 problems per filesystem unless -v -v.
|
|
|
|
|
|
Allows pkg_add to properly report truncated archives, instead of weird
can't call method check_name() on an unblessed reference
messages.
problem reported by brad@, somewhat difficult to reproduce.
as usual, the most obvious bugs take the longest time...
|
|
The archive will unpack correctly with tar, except that those names won't
be preserved.
The wrapper checks names against the packing-list to restore the correct names
on the fly.
Put into a separate file, as it is an extension of Ustar proper, and we're
going to do more archive checking in the future.
Lots of tests by Bernd Ahlers. Comments by Tom Cosgrove.
|
|
files, so that the progress meter will work.
|
|
not only while adding packages.
Add FatOnly filter, which will be used to get information from packing-lists
to select the correct packing-list from a fat package (e.g., @arch and @name).
|