Age | Commit message (Collapse) | Author |
|
- Some indentation fixes while I'm here.
okay espie@
|
|
|
|
I don't like the fix, but it works...
|
|
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@
|
|
Noticed by Jonathan Weiss <jw at innerewut.de>, thanks.
ok espie@
|
|
use cleaner code for reading headers.
|
|
|
|
|
|
computed state information, for storage in partial package.
|
|
so that we can put more checks earlier...
|
|
|
|
idea from deraadt@
|
|
normal).
This will get used by parse_problems() to figure out what to report exactly,
e.g., short writes from prematurely closed fd are not real errors...
stuff that can't connect IPv6 and retries as v4 is not either, unless
there's a genuine `can't connect error'.
|
|
|
|
gets to test it.
|
|
|
|
into partial plists until they've gone through an actual install.
Prevents partial replacements from destroying genuine links in packages
when they get uninstalled.
|
|
|
|
|
|
Quote nlist command, if we invoke it accidentally in a directory with *.tgz
present.
|
|
verify that modes/groups/owners are correct (code to come)
|
|
this differently. Namely, use specific variables that default to the
numeric value if the uid/gid don't exist in mkheader.
Since the entry fields are not filled, ArcCheck gets all it needs for
the package check.
|
|
Note that, for simplicity, FETCH_CMD must be a single command with
a full path. Use a script if you must.
|
|
|
|
let grabPlist finish closing what it opened.
|
|
|
|
delaying reading the full info directory to a temporary directory.
When we open a package, we just scan for the CONTENTS. If it's the
first file, we stash it into memory and STOP there, delaying grabbing
the rest of the special files to the first call to info().
Make sure the next() proxy shows only real file, by grabbing info files
if necessary.
Introduce handle->plist() method that can retrieve the plist from either
the version stored in memory, or in a file in the temp directory.
|
|
in order to make further code more symetric and efficient.
|
|
a lot yet.
|
|
|
|
- kill multiple inheritance;
- replace pipename() with open_pipe, and use explicit exec.
- add intermediate PackageRepository::Distant class.
- if PKG_CACHE is set, use an intermediate wedge that stores the
retrieved package in that directory.
- handle signals correctly in that case.
|
|
|
|
re-add list, which returns a \@, whereas available returns a @.
|
|
|
|
parts: the one that gets (and renames) files from the archive (getNext)
that depends on Package/FatPackage, and the one that handles opening/
reopening/caching archives (true next);
|
|
|
|
|
|
packages compared to other `repositories'.
|
|
|
|
PackageRepositoryList can handle very close to PackageRepository
|
|
new method: wipe(), that removes the info directory, redirected to
the PackageRepository object which `knows' how to wipe stuff out.
(this allows us to eliminate special cases for installed/not installed
packages in the near future).
|
|
afterwards.
|
|
a temporary file, by using perl's new-fangled
open my $fh, '<', \$scalar
|
|
- rename PackageLocation to PackageRepository.
- new class `PackageLocation' which symbolizes an actually opened package.
- rename quite a few things and reorg stuff to make lots more sense.
- put fat packages into a derived FatPackageLocation class.
- fix a bug that made sure fat packages could not be opened on stdin.
ways cleaner and easier to extend...
|
|
|
|
|
|
|
|
* 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.
|
|
tests sturm@, aanriot@
okay deraadt@
|