Age | Commit message (Collapse) | Author | Files | Lines |
|
still todo:
- 'fix' is missing
- 'del -R' does not work
- 'upgrade' does not do self-upgrade first
... and a lot of testing.
|
|
This applet can be used to generate data for graphviz tools.
Useful to visualize package dependencies, and possible errors
in the repository.
Usage examples:
apk dot gnome-desktop | tred | dot -Tpng gnome-desktop.png
-- to generate simplified dependency chart of gnome-desktop
apk dot --errors | dot -Tpng index-errors.png
-- to generate chart visualizing dependency errors in index
|
|
|
|
version().
|
|
remount to read-write before trying to create the cache directory
subdirs. fix a fd leak that might prevent remounting back to rw.
|
|
This is so we can do x86 --root installs on x86_64 hosts.
Using --arch without --root can make great damage so we only enable it
if --root is used.
|
|
|
|
.. and back to read-only after finishing with modifications.
fixes #512
|
|
if package arch is not set, do not append anything to repository.
if arch is set, it is appended to repository.
|
|
Parse install_if from package metadata and include it in the
indexes. Also setup the reverse install_if dependencies when
loading a database. ref #443.
Actual install_if functionality is not yet implemented.
|
|
Just disable installation of packages using the new stuff. Also
flag lower case package info fields as non-critical and allow
installation even if that features is not supported.
|
|
- implement a hash table for commonly shared fields such as
license, version and architecture
- use macroes to print blobs or pkgname-pkgver strings
- fix some old cruft
|
|
Architecture is now:
- parsed from .PKGINFO
- written to index and installed db
- appended to repository URL when fetching files
|
|
Unsigned indexes should not be needed anymore anyway.
|
|
The hash is 'unsigned long' everywhere which is 64-bits (on 64-bit
boxes). Fix the one instance of it being 'unsigned int' since that
would be 32-bit and cause lookup failures on 64-bit boxes.
|
|
Otherwise we end up using wrong uid/gid mappings when doing install
to alternate system root. Fixes #434.
|
|
|
|
|
|
we do not create mirror repositories from other valid repositories,
not from what was installed locally.
|
|
ability embed description information to repository indexes
(e.g. repository name and version) and show it via "apk version -I".
|
|
allow also overriding old (possibly bad) world dependency.
hopefully it's more bullet proof now.
|
|
|
|
this makes the database package entry smaller, and we propbably
get more fields to installed_package later too. this cleans up
the way scripts are stored and is a preparation for supporting
triggers. some parsing for trigger meta-data. ref #45.
|
|
this helps boots sequence when network is not available.
|
|
so user can override trusted keys directory and repositories file.
|
|
also makes it possibly to upgrade package without adding it to
top-level deps. fixes #69.
|
|
this way we never change cwd, and relative filenames are always
parsed consistently. this also helps filename construction in many
places. this patch also changes '--root' to override location of
all configuration to be in the new root. previously it depended
on the file which one was used.
|
|
and use it for /etc/init.d by default. fixes #99.
|
|
use the package 'installed_size' == 0 as a test instead for
dependency only packages.
|
|
this enables virtual packages and files specified from command
line to work on non-harddisk installs.
|
|
make sure cache is enabled on non-permanent rootfs setups.
some optimizations and fixes too.
|
|
|
|
prefer index in the new format as signed .tar.gz.
|
|
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.
|
|
this also convers scripts file to a tar archive.
|
|
avoid recalculating hashes, and store the lengths of names, so
we can optimize some operations.
|
|
|
|
some fixes on index reading code too.
|
|
We use APK_UPDATE_CACHE apk_flag instead.
|
|
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.
|
|
We might want to add an --update-index option to misc applets. For
example:
apk add --update-index -u package
apk version --update-index
|
|
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.
|
|
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.
|