Age | Commit message (Collapse) | Author | Files | Lines |
|
most notable in error report from 'del' applet
|
|
to not run any per-package scripts. useful for managing buildroot
when cross-compiling.
|
|
Mistakenly allowed masked out package to be installed if it was
in cache.
|
|
fixes #1482
|
|
|
|
|
|
|
|
Fixes also 'fetch' applet to prefer copying/linking to files from
cache if possible.
|
|
So same package it is possible to not match same package multiple
times. Use generation count, so this is handled cleanly during
recursion, like in the use case of search applet.
|
|
and remove the now unused apk_dep_is_materialized_or_provided
which was superceded by apk_dep_analyze.
|
|
|
|
... in the error printing and the package deletion.
|
|
Instead of the dependency oriented logic, switch to print them
for each package or name needed. Might give a bit more readable
errors now. There's still few corner cases that proper error is
not output, which are cought by the test cases.
|
|
fixes #1476
Instead of:
ERROR: Index generation failed: Success
The following is now printed:
ERROR: Metadata for package timo-1.0-r0 is too long.
ERROR: Index generation failed: No buffer space available
|
|
fixes #1072
|
|
Solver will now never report partial solution where a conflict
constraint is not satisfied. The is because with --force we might
install the partial solution; and if conflicted packages were to
be installed we might have extra trouble.
|
|
in preparation for provides support. implements also some
dependency satisfaction helper routines.
ref #574.
|
|
ref #574
|
|
Will use 'p' for provides.
|
|
|
|
|
|
* solver internally calculates now using tags; not repository masks
* installeddb now contains the tag name where the package came from
-> we can now handle upgrades properly
* the pinning is still a preference, and not strictly enforced;
versioned dependencies may overrule preference
|
|
|
|
|
|
Also clean up handling of signature failures for index files.
|
|
* default writing the world with spaces if a space is found
(for backwards compatibility) for now
|
|
It is really name(@tag)(>=version).
|
|
|
|
Improves /etc/apk/repositories format so you can say:
http://nl.alpinelinux.org/alpine/v2.3/main
@edge http://nl.alpinelinux.org/alpine/edge/main
@testing http://nl.alpinelinux.org/alpine/edge/testing
After which you can pin dependencies to these tags using:
apk add stableapp newapp@edge bleedingapp@testing
Apk will now by default only use the untagged repositories,
but adding a tag to specific dependency:
1. will prefer that tag for the name
2. allowing pulling in dependencies from that tag (though,
it prefers untagged packages to satisfy deps if possible)
fixes #575
|
|
One can now say in dependency "!foo<2" which means, that if foo is
installed, it needs to be >=2, but it's not a required dependency.
|
|
If two packages replace each other, the one with highes priority
will keep the file. Additionally, if we have a package overriding
another's file it's remembered and handled properly. This is
essentially to allow "policy packages" which just overwrite certain
(configuration) files from other package(s).
|
|
"replaces" is now turned to a full dependency type list, so you can
make package overwrite files only certain versions of the package
(though, we should probably take this into account already at solution
calculation phase).
Also make 'info --replaces' print the "replaces" of the package.
This is in preparation for the policy package support, which still
requires "replacement priority" field to decide which packages' files
get the preference.
|
|
the solver requires this.
|
|
|
|
Make a loud warning if the script returns failure, but do not
abort installation sequence because of that.
|
|
still todo:
- 'fix' is missing
- 'del -R' does not work
- 'upgrade' does not do self-upgrade first
... and a lot of testing.
|
|
Make indexer keep noise about errors that prevent index generation.
Detect certain errors in the APKs better. And also have the applet
return error in these scenarios.
|
|
Parse these fields from .PKGINFO, and write them to index.
|
|
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.
|
|
When package is installed from commandline, we should always
install that specific instance of package (never favor repository
version if it has difference identity). Otherwise we might not
always end-up installing the .apk given on command line. The
dependency is now against specific checksum identity (marked
with >< dependency comparison). Fixes #492.
|
|
.. instead of the longer flag combo.
|
|
It's no longer needed or used.
|
|
- 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
|
|
should not be needed anymore.
|
|
Otherwise we end up using wrong uid/gid mappings when doing install
to alternate system root. Fixes #434.
|
|
Seems like recent eglibc requires that you include sys/stat.h
|
|
Take the uid/gid from passwd and group.
|
|
|