summaryrefslogtreecommitdiff
path: root/src/database.c
AgeCommit message (Collapse)AuthorFilesLines
2010-06-11db: make apk_wait a part of dboptsNatanael Copa1-4/+3
2010-06-11First steps for libapkNatanael Copa1-1/+6
2010-06-10db: do not free trigger list after package is unpackedNatanael Copa1-6/+6
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
2010-06-07db: fix usage of apk_name_array in install_ctxTimo Teräs1-4/+4
got broken to the previous array cleanup and grepping struct definition only from headers.
2010-06-05all: rework how arrays workTimo Teräs1-34/+26
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.
2010-06-01db, pkg: fix triggers related crashTimo Teräs1-8/+10
clean up the triggers properly, in proper order.
2010-03-04fetch: do not include installed non-repository files in searchTimo Teras1-2/+3
we do not create mirror repositories from other valid repositories, not from what was installed locally.
2010-03-01db: fix previous commitTimo Teras1-0/+1
add the missing variable.
2010-03-01db: read also non-repository package index if reading repository indexesTimo Teras1-8/+8
otherwise regeneration of non-repository index might go wrong or we might delete too many files from cache when doing 'cache clean'.
2009-12-25db: keep packages with no files with installed statusTimo Teras1-6/+10
got broke few commits ago when apk_pkg_installed() call was moved to happen after the package name has been read.
2009-12-22db: make fdb load package description before calling pkg_installTimo Teras1-5/+5
this is now mandatory after the overlay fixes. otherwise the package will not get listed as installed.
2009-12-21db: check the overlay files package name rather than the ovl file itselfNatanael Copa1-1/+1
2009-12-21db: honor overlay file even for protected pathsTimo Teras1-14/+12
2009-12-21apk: remove the unneeded --never-overwriteTimo Teras1-5/+3
turns out the logic does not work with overlays as expected due to busybox symlinks being unmanaged. remove the useless option.
2009-12-21db: accept files in overlay without directoryTimo Teras1-5/+2
appears this is possible, so support it.
2009-12-21db: use proper instance for overlay file entriesTimo Teras1-25/+33
lookup proper directory instance as the tar output might not be linear.
2009-12-21apk: --overlay-from-stdinTimo Teras1-3/+49
get list of overlay files from stdin, so those do not get overwritten.
2009-12-21db: read time only once when writing scriptsdbTimo Teras1-1/+3
less syscalls.
2009-11-24db: check if target exist before renaming tempfileNatanael Copa1-3/+10
do not overwrite target if we have --never-overwrite and target exists. ref #197
2009-10-26db: fix migration and pruning of symlinks to dirsTimo Teras1-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.
2009-09-03index, version: support for repository descriptions (fixes #141)Timo Teras1-6/+10
ability embed description information to repository indexes (e.g. repository name and version) and show it via "apk version -I".
2009-08-13db: cache needs to be on non-tmpfsTimo Teras1-1/+1
check device major if it's tmpfs and refuse to use cache if we've been fooled.
2009-08-13db: fix script argumentsTimo Teras1-4/+8
the first item is place holder for argv[0] = script name. it's overwritten by the apk_pkgi_run_script.
2009-08-13add, del, db: fix various bugs introduced by earlier commitsTimo Teras1-11/+9
- make virtual packages work again - make apk del (for non-empty packages) work again
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*.