summaryrefslogtreecommitdiff
path: root/src/database.c
AgeCommit message (Collapse)AuthorFilesLines
2012-02-08blob: optimize spn and cspnTimo Teräs1-2/+7
2012-02-08db: increase hash sizesTimo Teräs1-4/+4
2012-02-01db: do not abort on bad repositoriesNatanael Copa1-5/+0
Only show a warning if we have a non-existing repository or bad repository signature but don't abort. This is not to break compat with behaviour in previous releases.
2012-02-01db: fix bug with --repositoryNatanael Copa1-9/+9
The 'r' variable is overwritten and no longer holds the repository number.
2012-01-31pkg, db: fix signature checking for files without control partTimo Teräs1-20/+23
Also clean up handling of signature failures for index files.
2012-01-17solver, upgrade: properly detect missing repository tagsTimo Teräs1-15/+24
* upgrade needs explicit check so we don't try self-upgrade (which would print additional messages on screen) * add can fix problems, so check against the new world * merge the code in few places
2012-01-17db: print dependencies referring to missing tags instead of tagsTimo Teräs1-6/+11
2012-01-16db: fix loading of world after previous commitsTimo Teräs1-3/+3
2012-01-12db: support line feed as 'world' dependency separatorTimo Teräs1-4/+8
* default writing the world with spaces if a space is found (for backwards compatibility) for now
2012-01-12solver: print repository tag when committing package changesTimo Teräs1-0/+11
2012-01-12db, solver: refuse committing changes if there is missing tagsTimo Teräs1-1/+9
2012-01-06db: properly detect when pkg install trigger needs executingTimo Teräs1-1/+1
call apk_pkg_install() and hlist_tail_ptr() only once. the latter is O(n) and can get very slow.
2011-12-27solver: report number of (mega)bytes usedTimo Teräs1-12/+14
2011-10-29solver, db: implement repository pinningTimo Teräs1-11/+42
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
2011-10-19pkg: convert struct apk_install_package flags to bitfieldTimo Teräs1-2/+2
2011-10-19pkg: introduce "replaces_priority"Timo Teräs1-10/+30
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).
2011-10-18pkg, info: remember installed packages "replaces"Timo Teräs1-19/+24
"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.
2011-09-14solver, db: run triggers in dependency orderTimo Teräs1-8/+5
fixes #738
2011-09-13all: update copyright year statementTimo Teräs1-1/+1
2011-09-09applets: start using solver codeTimo Teräs1-6/+1
still todo: - 'fix' is missing - 'del -R' does not work - 'upgrade' does not do self-upgrade first ... and a lot of testing.
2011-07-16apk_database: move APK_DEFAULT_ARCH to headers so that we can use it in ↵William Pitcock1-8/+0
version().
2011-06-28index: handle errors instead of silently failingTimo Teräs1-6/+13
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.
2011-05-27db: more fix for read-only cache remountingTimo Teräs1-17/+14
remount to read-write before trying to create the cache directory subdirs. fix a fd leak that might prevent remounting back to rw.
2011-05-27db: remount read-only after the file handles have been closedNatanael Copa1-6/+6
The apk cache might be on the readonly media so we need wait with remounting til after atleast this filehandle is closed.
2011-05-23db: fix post-install script error message formattingTimo Teräs1-2/+2
2011-04-22db: remount ro cache to rw earlier for update to workTimo Teräs1-15/+16
2011-04-14db: Allow override arch when using --rootNatanael Copa1-2/+5
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.
2011-04-07fetch: fix fetching of packages with archTimo Teräs1-16/+20
2011-03-27apk: fix gcc 4.6 warningsTimo Teräs1-2/+1
2011-03-16db: relocate from /var/lib/apkTimo Teräs1-47/+59
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).
2011-03-16db: move lock file to /var/lockTimo Teräs1-2/+4
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.
2011-03-16db: fix cache tmpfs detectionTimo Teräs1-1/+1
comment out the code that was out for testing. duh.
2011-03-16db, cache: automatically remount cache read-write when neededTimo Teräs1-13/+100
.. and back to read-only after finishing with modifications. fixes #512
2011-03-16db: handle arch similarly to stable branchTimo Teräs1-14/+23
if package arch is not set, do not append anything to repository. if arch is set, it is appended to repository.
2011-03-16db: detect tmpfs betterTimo Teräs1-1/+4
Use statfs() filesystem type, instead of the device IDs.
2011-01-21db: fix package cachingTimo Teräs1-2/+2
2011-01-05add: use default arch instead of noarch, improve errorsTimo Teräs1-3/+3
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.
2011-01-04db: check and initiailize required package fields before addition to dbTimo Teräs1-0/+5
The atomization change broke virtual packages because they don't have license or arch set.
2011-01-04pkg: recognize install_ifTimo Teräs1-4/+15
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.
2011-01-03pkg, db: allow index with unsupported features to be loadedTimo Teräs1-19/+32
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.
2010-12-14various: use 'atoms' for certain package field and misc fixesTimo Teräs1-33/+20
- 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
2010-12-14pkg, db: add preliminary support for arch fieldTimo Teräs1-6/+20
Architecture is now: - parsed from .PKGINFO - written to index and installed db - appended to repository URL when fetching files
2010-12-10db: remove support for unsigned repository indexTimo Teräs1-33/+7
Unsigned indexes should not be needed anymore anyway.
2010-12-09db: print full url/filename of the failing packageTimo Teräs1-24/+27
.. instead of the pkgname-pkgver string.
2010-10-08db: fix the previous commitTimo Teräs1-2/+2
id cache needs to be initialized early. and group database filename is surprisingly 'group'.
2010-10-08io, db: id cache should be specific to database root, not system rootTimo Teräs1-9/+13
Otherwise we end up using wrong uid/gid mappings when doing install to alternate system root. Fixes #434.
2010-09-22db: optionally remove dirs when unrefNatanael Copa1-13/+15
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
2010-08-30Fix building on eglibcNatanael Copa1-0/+1
Seems like recent eglibc requires that you include sys/stat.h
2010-06-15db: reinitialize trigger_pkg_list node after deletionTimo Teräs1-0/+1
The trigger list can be reused after it's cleared, make sure the list node is initialized all the time.
2010-06-12db: --simulate never needs write access to dbTimo Teräs1-0/+4
So open the db in read-only mode instead. This allows --simulate to be run as non-root user.