summaryrefslogtreecommitdiff
path: root/src/apk_database.h
AgeCommit message (Collapse)AuthorFilesLines
2010-06-11First steps for libapkNatanael Copa1-1/+1
2010-03-04fetch: do not include installed non-repository files in searchTimo Teras1-8/+11
we do not create mirror repositories from other valid repositories, not from what was installed locally.
2009-09-03index, version: support for repository descriptions (fixes #141)Timo Teras1-0/+2
ability embed description information to repository indexes (e.g. repository name and version) and show it via "apk version -I".
2009-08-13add: refuse to add bad dependencies to worldTimo Teras1-2/+3
allow also overriding old (possibly bad) world dependency. hopefully it's more bullet proof now.
2009-08-13db: implement triggers (fixes #45)Timo Teras1-5/+7
2009-08-12db, pkg: separate structure for fields of installed packagesTimo Teras1-0/+2
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-06db: prefer local repositories, and implement --no-networkTimo Teras1-0/+3
this helps boots sequence when network is not available.
2009-08-06all: implement database open optionsTimo Teras1-4/+17
so user can override trusted keys directory and repositories file.
2009-08-04fix: new applet to reinstall and fix packageTimo Teras1-0/+1
also makes it possibly to upgrade package without adding it to top-level deps. fixes #69.
2009-07-31apk: use *at instead of chdir+normal file syscallTimo Teras1-6/+6
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-30audit: protection mask for "symlinks only"Timo Teras1-0/+1
and use it for /etc/init.d by default. fixes #99.
2009-07-24db: remove APK_NAME_VIRTUAL flagTimo Teras1-1/+0
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-0/+1
this enables virtual packages and files specified from command line to work on non-harddisk installs.
2009-07-22add: fixes to installing non-repository packageTimo Teras1-0/+1
make sure cache is enabled on non-permanent rootfs setups. some optimizations and fixes too.
2009-07-21index: read also new style index filesTimo Teras1-0/+1
2009-07-20db: signed index loading (ref #46)Timo Teras1-1/+2
prefer index in the new format as signed .tar.gz.
2009-07-16various: new style index generationTimo Teras1-1/+0
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-14db: live with sha1 and md5Timo Teras1-6/+8
this also convers scripts file to a tar archive.
2009-07-14db: speed up fdb creationTimo Teras1-2/+4
avoid recalculating hashes, and store the lengths of names, so we can optimize some operations.
2009-07-14hash: allow caching of hash valueTimo Teras1-0/+1
2009-07-14bstream: make tokenizable and load index using bstreamTimo Teras1-1/+1
some fixes on index reading code too.
2009-07-09db: removed apk_repository_update_all() as its no longer neededNatanael Copa1-2/+0
We use APK_UPDATE_CACHE apk_flag instead.
2009-07-07db: open flags revisitedTimo Teras1-2/+8
more fine grained control what to load, and rename some of the flags to be shorter.
2009-06-29cache: new applet (ref #49)Timo Teras1-0/+7
Administrative tool to download or delete files to/from the cache.
2009-06-29db: cache packages (ref #49)Timo Teras1-2/+3
If /etc/apk/cache is a symlink to directory, a copy of all installed packages is stored there, and the index of remote repositories will be there instead of /var/lib/apk. This enables to reconstruct running system during boot. Left as todo: remove cached copy when the package is removed, and additional apk applet to download missing packages to cache and/or remove extra items.
2009-06-19db: add function apk_repository_update_allNatanael Copa1-0/+1
We might want to add an --update-index option to misc applets. For example: apk add --update-index -u package apk version --update-index
2009-05-14add: support for virtual meta packagesNatanael Copa1-0/+2
implements 'apk add --virutal metaname dep1 dep2...' where metaname will be an empy meta package with dep1 and dep2 as dependencies. This is useful to prevent abuild to add each makedepend to world which causes some headache when it comes to unintalling them after sucessful build.
2009-05-12index: support for -d to delete packages from given indexNatanael Copa1-0/+1
The syntax is: apk index -d /path/to/APK_INDEX.gz pkg... It does not seem like its possible to remove packages in the db so we trick apk_db_index_write() by setting the repo to on-zero. It's still not perfect since it does not recalculate the dependencies.
2009-04-21info: do not read the repositories as this tool only query the statedbNatanael Copa1-0/+1
This allows you to query the state db even if you do not have write permissions in cache dir (which is needed if you have remote repositories) This should speed up things and save some memory if you have big and slow remote repositories.
2009-04-16db: cache index files, 'update' appletTimo Teras1-0/+3
Cache non-local index files always locally. Introduce 'update' applet to force refresh of cached index files. Fixes #19.
2009-04-15fetch: new applet to download .apk filesTimo Teras1-0/+1
Fixes #24.
2009-04-14state: rework changeset calculation algorithmTimo Teras1-3/+6
Calculate changesets directly by stabilizating the package graph instead of recalculating the whole graph and then diffing (similar approach as seen in 'smart' package manager). The algorithm is not complete: defferred search space forking is missing. So you don't always get a solution on complex graphs. Benefits: - usually the search state tree is smaller (less memory used) - speed relational to changeset size, not database size (usually faster) - touch only packages related to users request (can work on partitially broken state; upgrades only necessary packages, fixes #7) Also implemented: - command prompt to confirm operation if packages are deleted or downgraded - requesting deletion of package suggests removal of all packages depending on the package being removed (you'll get list of packages that also get removed if you want package X removed) - option --simulate to see what would have been done (mainly for testing) - an untested implementation of versioned dependencies and conflicts A lot has changed, so expect new bugs too.
2009-04-14db: track reverse dependenciesTimo Teras1-0/+4
This will be used later by the commit change calculator (for improved changeset calculation, ref #7). Will be also used by "apk info" to show reverse dependencies or "required by" information.
2009-01-17db: database locking and creation to part of opening itTimo Teras1-3/+6
Add flags field to db open call. Also make error reporting quite a bit more detailed.
2009-01-16index: write out only packages specified in command lineTimo Teras1-1/+1
Ignore /etc/apk/repositories, so additional repositories that depend on other repositories need to have explicit --repository reference on command line when generating the index (to avoid warnings).
2009-01-16add: --upgrade|-u to control if upgrading is preferred or notTimo Teras1-1/+0
2009-01-14audit: new command to check changed filesTimo Teras1-1/+5
Currently only implement --backup to get list of (config) files in protected directories to backup. This also fixes a database corruption bug in database.c.
2009-01-13db: hash files by name, instead of keep two directory listsTimo Teras1-1/+2
2009-01-13info: implement who owns packages query (apk_info -W)Timo Teras1-0/+1
In quiet mode e.g. "apk info -q -W <file list>" a list of dependencies suitable for .PKGINFO is output in one line.
2009-01-13apk: per applet optionsTimo Teras1-0/+1
2009-01-07various: make fancy progress bar and update todoTimo Teras1-1/+2
2009-01-06db: restructure in-memory organizationTimo Teras1-6/+12
2008-11-28io: apk_ostream stuffTimo Teras1-1/+1
2008-11-28add: add support to install packages not in a repositoryTimo Teras1-1/+1
2008-11-28db: rework 'files' to 'installed'Timo Teras1-1/+0
Make the db of installed packages more similar to index file and reuse the code. Also rename the database file.
2008-11-27hash, db: use apk_blob_t and list_*Timo Teras1-4/+9
2008-11-14db: checksum installed files, protect config filesTimo Teras1-0/+5
Checksum of installed is computed on the fly when extracting them and it'll be saved to fdb. When installing config files those are diverted with suffix .apk-new if earlier version of same file with local changes exist.
2008-04-22Preserve uid and gid. Quiet flag to print dots on progress.Timo Teras1-0/+2
2008-04-21Argument parsing. Some other stuff too.Timo Teras1-4/+4
2008-04-17Initial commit of some stuff written so far. Still in state of flux. ExpectTimo Teras1-0/+97
breakage and major changes.