Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
|
|
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.
|
|
fixes #738
|
|
|
|
still todo:
- 'fix' is missing
- 'del -R' does not work
- 'upgrade' does not do self-upgrade first
... and a lot of testing.
|
|
version().
|
|
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.
|
|
remount to read-write before trying to create the cache directory
subdirs. fix a fd leak that might prevent remounting back to rw.
|
|
The apk cache might be on the readonly media so we need wait with
remounting til after atleast this filehandle is closed.
|
|
|
|
|
|
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.
|
|
|
|
|
|
move all files therein to other places. this allows /var to be
mounted from harddisk, but rest of system be run from ramdisk.
this also removes support for historical version of the scripts
database which was obsoleted in 2.0_pre16 (in July 2009).
|
|
in accordance with FSH. this also to clear /var of apk related things
as we might want to run /var as harddisk, but rest of system from
ramdisk.
|
|
comment out the code that was out for testing. duh.
|
|
.. 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.
|
|
Use statfs() filesystem type, instead of the device IDs.
|
|
|
|
Packages without architecture should get the platforms default
architecture (so we are backwards compatible). Only the virtual
packages should get 'noarch' by default. Also print full path
to the index file which failed.
|
|
The atomization change broke virtual packages because they don't
have license or arch set.
|
|
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.
|
|
.. instead of the pkgname-pkgver string.
|
|
id cache needs to be initialized early. and group database filename
is surprisingly 'group'.
|
|
Otherwise we end up using wrong uid/gid mappings when doing install
to alternate system root. Fixes #434.
|
|
We want remove dirs when they are unreferenced so we remove all dirs on
apk del, but we don't want remove dirs when closing database. So we make
removing dir optional when unreferencing it.
This partially reverts commit c7ffc96a16c6963fe0a07be7ee75e8f1f7426882.
fixes #406
|
|
Seems like recent eglibc requires that you include sys/stat.h
|
|
The trigger list can be reused after it's cleared, make sure
the list node is initialized all the time.
|
|
So open the db in read-only mode instead. This allows --simulate to
be run as non-root user.
|
|
|
|
|
|
|
|
The triggers are read during apk_db_unpack_pkg(). If we delete the
triggers list after then unpack we delete the triggers which is not
what we want.
This fixes bug introduced in ce3cf8bff901e7fcacbca640ffedaeea2b3bdf7f
|
|
got broken to the previous array cleanup and grepping struct
definition only from headers.
|
|
Instead of having a null pointer, use a dummy array which just
says the array is empty. This helps in multiple places of the code
which would otherwise need explicitly need to check first if the
array exists. This has been cause of multiple seg.faults in the
past as the array check is easily omitted.
This also removes (or fixes) all existing checks accordingly.
|
|
clean up the triggers properly, in proper order.
|
|
we do not create mirror repositories from other valid repositories,
not from what was installed locally.
|
|
add the missing variable.
|
|
otherwise regeneration of non-repository index might go wrong or we
might delete too many files from cache when doing 'cache clean'.
|
|
got broke few commits ago when apk_pkg_installed() call was
moved to happen after the package name has been read.
|
|
this is now mandatory after the overlay fixes. otherwise the
package will not get listed as installed.
|
|
|