Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
- error codes for verification failure types
- fix some fdb corruption on file migration
- combine some dependency parsing code
- fix versioned dependencies
|
|
do not overwrite untracked files.
|
|
- extract everything as .apk-new and overwrite only after data
has been checksummed
- url construction fixes (to work with simple http servers)
- end of gunzip stream fixed
- remove oneshot digesting flag for now as it's usage was broken
|
|
|
|
|
|
|
|
to make sure the scripts have not been altered.
|
|
|
|
|
|
prefer index in the new format as signed .tar.gz.
|
|
speeds up digest calculation on some cases.
|
|
change the index generation to do old index, or the new style index
where package identity is sha1 of control block and it's contained
within an .tar.gz to allow signing in future.
|
|
|
|
|
|
replace the old 'delete' option, with 'index'. the idea is that
one can provide existing index files to take cached meta-data of
the package from (assumes package has not been modified if index is
newer, and package size has not changed).
this way one always gives the list of .apk files to include in
the new index, and the old index is used only as "cache".
|
|
this also convers scripts file to a tar archive.
|
|
was left there unintentionally while debugging stuff.
|
|
snprintf is dog slow. make the blob stuff have some helper functions
so we can use them in code paths that are executed often.
|
|
avoid recalculating hashes, and store the lengths of names, so
we can optimize some operations.
|
|
|
|
some fixes on index reading code too.
|
|
in future we want to checksum on gzip boundary basis, not the
full file.
|
|
We use APK_UPDATE_CACHE apk_flag instead.
|
|
This will update the repository cache upon db_open.
|
|
we need to know if caching is enabled, before the repositories are
added. otherwise the cache is not used properly at db opening time.
|
|
instead of having static md5 implemenation, use the openssl
library for digest functions.
|
|
|
|
more fine grained control what to load, and rename some of the
flags to be shorter.
|
|
Administrative tool to download or delete files to/from the cache.
|
|
If /etc/apk/cache is a symlink to directory, a copy of all installed
packages is stored there, and the index of remote repositories will
be there instead of /var/lib/apk. This enables to reconstruct running
system during boot.
Left as todo: remove cached copy when the package is removed, and
additional apk applet to download missing packages to cache and/or
remove extra items.
|
|
And use it in couple of places. Some whitespace fixes too.
|
|
We might want to add an --update-index option to misc applets. For
example:
apk add --update-index -u package
apk version --update-index
|
|
|
|
We upgrade when we have an oldpkg.
|
|
implements 'apk add --virutal metaname dep1 dep2...' where metaname will
be an empy meta package with dep1 and dep2 as dependencies.
This is useful to prevent abuild to add each makedepend to world which
causes some headache when it comes to unintalling them after sucessful build.
|
|
The syntax is: apk index -d /path/to/APK_INDEX.gz pkg...
It does not seem like its possible to remove packages in the db so we
trick apk_db_index_write() by setting the repo to on-zero.
It's still not perfect since it does not recalculate the dependencies.
|
|
This allows you to query the state db even if you do not have write
permissions in cache dir (which is needed if you have remote repositories)
This should speed up things and save some memory if you have big and slow
remote repositories.
|
|
|
|
apk_db_add_repository does its own error reporting and does not set errno
reliable. This patch also tell which repository it failed to load the index
for rather than just say it failed to open "APK_INDEX.gz" which does not tell
much.
|
|
|
|
Cache non-local index files always locally.
Introduce 'update' applet to force refresh of cached index files.
Fixes #19.
|
|
|
|
|
|
Fixes #24.
|
|
Calculate changesets directly by stabilizating the package graph instead of
recalculating the whole graph and then diffing (similar approach as seen
in 'smart' package manager). The algorithm is not complete: defferred
search space forking is missing. So you don't always get a solution on
complex graphs.
Benefits:
- usually the search state tree is smaller (less memory used)
- speed relational to changeset size, not database size (usually faster)
- touch only packages related to users request (can work on partitially
broken state; upgrades only necessary packages, fixes #7)
Also implemented:
- command prompt to confirm operation if packages are deleted or downgraded
- requesting deletion of package suggests removal of all packages depending
on the package being removed (you'll get list of packages that also get
removed if you want package X removed)
- option --simulate to see what would have been done (mainly for testing)
- an untested implementation of versioned dependencies and conflicts
A lot has changed, so expect new bugs too.
|
|
This will be used later by the commit change calculator (for improved
changeset calculation, ref #7). Will be also used by "apk info" to show
reverse dependencies or "required by" information.
|
|
So we don't get artificial limits on the amount of dependencies
(fixes #8).
|
|
|