summaryrefslogtreecommitdiff
path: root/src/database.c
AgeCommit message (Collapse)AuthorFilesLines
2009-08-13db: implement triggers (fixes #45)Timo Teras1-17/+135
2009-08-12db: fix some (unimportant) memory leaksTimo Teras1-1/+9
2009-08-12db, pkg: separate structure for fields of installed packagesTimo Teras1-69/+138
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.
2009-08-12io: better error handling when writing stuff outTimo Teras1-25/+37
also have the output stream support writing to temporary file and do renameat/unlinkat on close depending on if all writes succeeded or not.
2009-08-11archive: update for new place of checksum in tar headerTimo Teras1-10/+0
and take checksums for symlinks too.
2009-08-11db, audit: audit symlinks (by hash of the link target)Timo Teras1-1/+11
2009-08-11db: fix checking of non-repository files from cacheTimo Teras1-13/+32
otherwise, non repository files present in cache are not considered for installation (e.g. when booting from cdrom).
2009-08-11pkg, db: execute scripts from /var/cache/misc (fixes #129)Timo Teras1-0/+2
2009-08-11db: fix previous commitTimo Teras1-2/+2
2009-08-11db: ignore empty lines in /etc/apk/repositoriesNatanael Copa1-1/+1
fixes #127
2009-08-10db, pkg: fix package verification during installationTimo Teras1-0/+3
some hooks to package verification code were missing causing the verification to not be done (causing pre-script to be not run). fixes #124, #126.
2009-08-06state: do not look into world in state_newTimo Teras1-3/+0
instead enforce world dependencies when the package name is first referenced upon.
2009-08-06db: prefer local repositories, and implement --no-networkTimo Teras1-8/+37
this helps boots sequence when network is not available.
2009-08-06all: implement database open optionsTimo Teras1-17/+25
so user can override trusted keys directory and repositories file.
2009-08-06db: make missing index non-fatalTimo Teras1-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).
2009-08-06db: command line repositories take preferenceTimo Teras1-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.
2009-08-04db: support "replaces" directive (fixes #113)Timo Teras1-4/+52
it will allow to overwrite files owned by some other packages to get upgrades right (e.g. when splitting or renaming packages)
2009-08-04fix: new applet to reinstall and fix packageTimo Teras1-17/+24
also makes it possibly to upgrade package without adding it to top-level deps. fixes #69.
2009-08-04db: return hard error if repository opening failsTimo Teras1-6/+10
otherwise we can accept unsigned repositories, and install bad packages.
2009-07-31db: jump through hoops to get checksums for hardlinksTimo Teras1-18/+60
should really fix abuild-tar.
2009-07-31db: load cache's installed index only if cache is activeTimo Teras1-4/+6
other wise cache_fd points to var/lib/apk and contains the real installed db causing it to be loaded twice.
2009-07-31apk: use *at instead of chdir+normal file syscallTimo Teras1-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.
2009-07-30db: allow update of untrusted indexNatanael Copa1-1/+2
2009-07-30db: fix checksum storing to dbTimo Teras1-2/+6
also take precautions in audit code if the db is missing the checksum.
2009-07-30audit: protection mask for "symlinks only"Timo Teras1-6/+20
and use it for /etc/init.d by default. fixes #99.
2009-07-29db: fix protected directory handling (fixes #89)Timo Teras1-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*.
2009-07-29tar: make checksumming of inner files conditionalTimo Teras1-4/+5
and force checksumming only when unpacking archive. otherwise it's extra computation for nothing.
2009-07-24db: fix repository write lockingTimo Teras1-4/+4
2009-07-24db: increase required verbosity for filename printsTimo Teras1-6/+6
2009-07-24db: remove APK_NAME_VIRTUAL flagTimo Teras1-1/+1
use the package 'installed_size' == 0 as a test instead for dependency only packages.
2009-07-24db: create cache index with non-repository packagesTimo Teras1-60/+101
this enables virtual packages and files specified from command line to work on non-harddisk installs.
2009-07-23index: fully process archive when reading index for signature checkTimo Teras1-5/+5
can't cancel an index reading or we lose signature checking.
2009-07-23index: more informative error messageTimo Teras1-5/+9
when failed to load an existing index.
2009-07-22apk: add --purge option (fixes #61)Timo Teras1-1/+6
and do not remove modified configuration files unless --purge is specified.
2009-07-22add: fixes to installing non-repository packageTimo Teras1-0/+11
make sure cache is enabled on non-permanent rootfs setups. some optimizations and fixes too.
2009-07-22db: honour clean-protected flag againTimo Teras1-1/+2
2009-07-22various: more informative error messagesTimo Teras1-2/+3
2009-07-22various: misc fixesTimo Teras1-11/+14
- error codes for verification failure types - fix some fdb corruption on file migration - combine some dependency parsing code - fix versioned dependencies
2009-07-22db: fix protected directory handlingTimo Teras1-32/+13
do not overwrite untracked files.
2009-07-22various: installation fixesTimo Teras1-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
2009-07-21various: fix installation of new style apksTimo Teras1-2/+1
2009-07-21index: read also new style index filesTimo Teras1-21/+38
2009-07-21db: increase hash sizes a bitTimo Teras1-5/+5
2009-07-21db: don't run pre-install until control data is verifiedTimo Teras1-8/+29
to make sure the scripts have not been altered.
2009-07-21db: fixes to package checksumming while installing itTimo Teras1-16/+16
2009-07-20db: write errors about repository update (fixes #70)Timo Teras1-2/+7
2009-07-20db: signed index loading (ref #46)Timo Teras1-15/+101
prefer index in the new format as signed .tar.gz.
2009-07-17digest: use oneshot context flag where approriateTimo Teras1-18/+4
speeds up digest calculation on some cases.
2009-07-16various: new style index generationTimo Teras1-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.
2009-07-16gzip: always autoclose the inner streamTimo Teras1-12/+7