aboutsummaryrefslogtreecommitdiffstats
path: root/src/database.c
Commit message (Collapse)AuthorAgeFilesLines
* db: make fdb load package description before calling pkg_installTimo Teras2009-12-221-5/+5
| | | | | this is now mandatory after the overlay fixes. otherwise the package will not get listed as installed.
* db: check the overlay files package name rather than the ovl file itselfNatanael Copa2009-12-211-1/+1
|
* db: honor overlay file even for protected pathsTimo Teras2009-12-211-14/+12
|
* apk: remove the unneeded --never-overwriteTimo Teras2009-12-211-5/+3
| | | | | turns out the logic does not work with overlays as expected due to busybox symlinks being unmanaged. remove the useless option.
* db: accept files in overlay without directoryTimo Teras2009-12-211-5/+2
| | | | appears this is possible, so support it.
* db: use proper instance for overlay file entriesTimo Teras2009-12-211-25/+33
| | | | | lookup proper directory instance as the tar output might not be linear.
* apk: --overlay-from-stdinTimo Teras2009-12-211-3/+49
| | | | get list of overlay files from stdin, so those do not get overwritten.
* db: read time only once when writing scriptsdbTimo Teras2009-12-211-1/+3
| | | | less syscalls.
* db: check if target exist before renaming tempfileNatanael Copa2009-11-241-3/+10
| | | | | | do not overwrite target if we have --never-overwrite and target exists. ref #197
* db: fix migration and pruning of symlinks to dirsTimo Teras2009-10-261-2/+4
| | | | | | | | the old code treated a symlink to directory as file; it tried to calculate regular has of it. fix this by: 1) using no follow on migration and pruning stats, and 2) the helper function to check if it's point to directory and not calculate hash in that case. fixes #188.
* index, version: support for repository descriptions (fixes #141)Timo Teras2009-09-031-6/+10
| | | | | ability embed description information to repository indexes (e.g. repository name and version) and show it via "apk version -I".
* db: cache needs to be on non-tmpfsTimo Teras2009-08-131-1/+1
| | | | | check device major if it's tmpfs and refuse to use cache if we've been fooled.
* db: fix script argumentsTimo Teras2009-08-131-4/+8
| | | | | the first item is place holder for argv[0] = script name. it's overwritten by the apk_pkgi_run_script.
* add, del, db: fix various bugs introduced by earlier commitsTimo Teras2009-08-131-11/+9
| | | | | - make virtual packages work again - make apk del (for non-empty packages) work again
* db: implement triggers (fixes #45)Timo Teras2009-08-131-17/+135
|
* db: fix some (unimportant) memory leaksTimo Teras2009-08-121-1/+9
|
* db, pkg: separate structure for fields of installed packagesTimo Teras2009-08-121-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.
* io: better error handling when writing stuff outTimo Teras2009-08-121-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.
* archive: update for new place of checksum in tar headerTimo Teras2009-08-111-10/+0
| | | | and take checksums for symlinks too.
* db, audit: audit symlinks (by hash of the link target)Timo Teras2009-08-111-1/+11
|
* db: fix checking of non-repository files from cacheTimo Teras2009-08-111-13/+32
| | | | | otherwise, non repository files present in cache are not considered for installation (e.g. when booting from cdrom).
* pkg, db: execute scripts from /var/cache/misc (fixes #129)Timo Teras2009-08-111-0/+2
|
* db: fix previous commitTimo Teras2009-08-111-2/+2
|
* db: ignore empty lines in /etc/apk/repositoriesNatanael Copa2009-08-111-1/+1
| | | | fixes #127
* db, pkg: fix package verification during installationTimo Teras2009-08-101-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.
* state: do not look into world in state_newTimo Teras2009-08-061-3/+0
| | | | | instead enforce world dependencies when the package name is first referenced upon.
* db: prefer local repositories, and implement --no-networkTimo Teras2009-08-061-8/+37
| | | | this helps boots sequence when network is not available.
* 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
|