aboutsummaryrefslogtreecommitdiffstats
path: root/src/database.c
Commit message (Collapse)AuthorAgeFilesLines
...
* all: implement database open optionsTimo Teras2009-08-061-17/+25
| | | | so user can override trusted keys directory and repositories file.
* db: make missing index non-fatalTimo Teras2009-08-061-1/+1
| | | | | | | it's a warning not an error to have non-existant repository. bad signature means tampering; but we might want to just ignore those. this is especially important if we have http repositories and we are bootstrapping (without network).
* db: command line repositories take preferenceTimo Teras2009-08-061-75/+70
| | | | | | over the ones in config file. also remove the apk_root == NULL check as this cannot happen anymore. a valid root is always required.
* db: support "replaces" directive (fixes #113)Timo Teras2009-08-041-4/+52
| | | | | it will allow to overwrite files owned by some other packages to get upgrades right (e.g. when splitting or renaming packages)
* fix: new applet to reinstall and fix packageTimo Teras2009-08-041-17/+24
| | | | | also makes it possibly to upgrade package without adding it to top-level deps. fixes #69.
* db: return hard error if repository opening failsTimo Teras2009-08-041-6/+10
| | | | | otherwise we can accept unsigned repositories, and install bad packages.
* db: jump through hoops to get checksums for hardlinksTimo Teras2009-07-311-18/+60
| | | | should really fix abuild-tar.
* db: load cache's installed index only if cache is activeTimo Teras2009-07-311-4/+6
| | | | | other wise cache_fd points to var/lib/apk and contains the real installed db causing it to be loaded twice.
* apk: use *at instead of chdir+normal file syscallTimo Teras2009-07-311-182/+148
| | | | | | | | 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.
* db: allow update of untrusted indexNatanael Copa2009-07-301-1/+2
|
* db: fix checksum storing to dbTimo Teras2009-07-301-2/+6
| | | | | also take precautions in audit code if the db is missing the checksum.
* audit: protection mask for "symlinks only"Timo Teras2009-07-301-6/+20
| | | | and use it for /etc/init.d by default. fixes #99.
* db: fix protected directory handling (fixes #89)Timo Teras2009-07-291-5/+10
| | | | | | we don't want to do checksumming of existing files unless it's in a protected directory. also, we keep the original file if it's *modified*.
* tar: make checksumming of inner files conditionalTimo Teras2009-07-291-4/+5
| | | | | and force checksumming only when unpacking archive. otherwise it's extra computation for nothing.
* db: fix repository write lockingTimo Teras2009-07-241-4/+4
|
* db: increase required verbosity for filename printsTimo Teras2009-07-241-6/+6
|
* db: remove APK_NAME_VIRTUAL flagTimo Teras2009-07-241-1/+1
| | | | | use the package 'installed_size' == 0 as a test instead for dependency only packages.
* db: create cache index with non-repository packagesTimo Teras2009-07-241-60/+101
| | | | | this enables virtual packages and files specified from command line to work on non-harddisk installs.
* index: fully process archive when reading index for signature checkTimo Teras2009-07-231-5/+5
| | | | can't cancel an index reading or we lose signature checking.
* index: more informative error messageTimo Teras2009-07-231-5/+9
| | | | when failed to load an existing index.
* apk: add --purge option (fixes #61)Timo Teras2009-07-221-1/+6
| | | | | and do not remove modified configuration files unless --purge is specified.
* add: fixes to installing non-repository packageTimo Teras2009-07-221-0/+11
| | | | | make sure cache is enabled on non-permanent rootfs setups. some optimizations and fixes too.
* db: honour clean-protected flag againTimo Teras2009-07-221-1/+2
|
* various: more informative error messagesTimo Teras2009-07-221-2/+3
|
* various: misc fixesTimo Teras2009-07-221-11/+14
| | | | | | | - error codes for verification failure types - fix some fdb corruption on file migration - combine some dependency parsing code - fix versioned dependencies
* db: fix protected directory handlingTimo Teras2009-07-221-32/+13
| | | | do not overwrite untracked files.
* various: installation fixesTimo Teras2009-07-221-74/+146
| | | | | | | | - 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
* various: fix installation of new style apksTimo Teras2009-07-211-2/+1
|
* index: read also new style index filesTimo Teras2009-07-211-21/+38
|
* db: increase hash sizes a bitTimo Teras2009-07-211-5/+5
|
* db: don't run pre-install until control data is verifiedTimo Teras2009-07-211-8/+29
| | | | to make sure the scripts have not been altered.
* db: fixes to package checksumming while installing itTimo Teras2009-07-211-16/+16
|
* db: write errors about repository update (fixes #70)Timo Teras2009-07-201-2/+7
|
* db: signed index loading (ref #46)Timo Teras2009-07-201-15/+101
| | | | prefer index in the new format as signed .tar.gz.
* digest: use oneshot context flag where approriateTimo Teras2009-07-171-18/+4
| | | | speeds up digest calculation on some cases.
* various: new style index generationTimo Teras2009-07-161-25/+5
| | | | | | 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.
* gzip: always autoclose the inner streamTimo Teras2009-07-161-12/+7
|
* pkg: remove support for the deprecated .INSTALL scriptTimo Teras2009-07-161-7/+2
|
* index: reuse existing index (fixes #25)Timo Teras2009-07-151-1/+1
| | | | | | | | | | 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".
* db: live with sha1 and md5Timo Teras2009-07-141-58/+140
| | | | this also convers scripts file to a tar archive.
* db: remove debug printTimo Teras2009-07-141-1/+0
| | | | was left there unintentionally while debugging stuff.
* blob: some helpers to replace snprintfTimo Teras2009-07-141-33/+36
| | | | | snprintf is dog slow. make the blob stuff have some helper functions so we can use them in code paths that are executed often.
* db: speed up fdb creationTimo Teras2009-07-141-39/+42
| | | | | avoid recalculating hashes, and store the lengths of names, so we can optimize some operations.
* hash: allow caching of hash valueTimo Teras2009-07-141-8/+14
|
* bstream: make tokenizable and load index using bstreamTimo Teras2009-07-141-100/+94
| | | | some fixes on index reading code too.
* io: move csumming away from bstream to gunzipTimo Teras2009-07-131-13/+29
| | | | | in future we want to checksum on gzip boundary basis, not the full file.
* db: removed apk_repository_update_all() as its no longer neededNatanael Copa2009-07-091-11/+0
| | | | We use APK_UPDATE_CACHE apk_flag instead.
* implement --update-cache optionNatanael Copa2009-07-091-2/+6
| | | | This will update the repository cache upon db_open.
* db: check cache directory earlyTimo Teras2009-07-081-3/+3
| | | | | we need to know if caching is enabled, before the repositories are added. otherwise the cache is not used properly at db opening time.
* csum: use openssl insteadTimo Teras2009-07-081-1/+1
| | | | | instead of having static md5 implemenation, use the openssl library for digest functions.