aboutsummaryrefslogtreecommitdiffstats
path: root/src/database.c
Commit message (Collapse)AuthorAgeFilesLines
...
* db: fix bug in apk_repository_update()Natanael Copa2009-04-211-1/+1
|
* db: cache index files, 'update' appletTimo Teras2009-04-161-9/+99
| | | | | | Cache non-local index files always locally. Introduce 'update' applet to force refresh of cached index files. Fixes #19.
* pkg: clean up writing of dependenciesTimo Teras2009-04-161-11/+9
|
* db: fix addition of .apks not in any repositoryTimo Teras2009-04-161-1/+5
|
* fetch: new applet to download .apk filesTimo Teras2009-04-151-9/+11
| | | | Fixes #24.
* state: rework changeset calculation algorithmTimo Teras2009-04-141-40/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* db: track reverse dependenciesTimo Teras2009-04-141-0/+20
| | | | | | 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.
* pkg: write dependencies directly file instead of bufferTimo Teras2009-03-171-6/+2
| | | | | So we don't get artificial limits on the amount of dependencies (fixes #8).
* db: unlink apk-new if it is identical to existing configNatanael Copa2009-03-041-0/+3
|
* db: apk-new should be created if the existing file is modifiedTimo Teras2009-03-041-1/+1
|
* db: fix overwrite warningTimo Teras2009-03-041-2/+1
|
* apk: --force to overwrite filesTimo Teras2009-03-041-3/+11
|
* apk: --clean-protected optionTimo Teras2009-03-041-12/+10
| | | | So you will not get .apk-new files of the new configuration files.
* db: new apk to have separate install scripts for each actionTimo Teras2009-02-271-2/+6
|
* db: allow more than one --repository argNatanael Copa2009-02-171-3/+4
|
* db: do not allow overwrite busybox linksNatanael Copa2009-02-081-2/+1
| | | | | we let bb use /bin and /sbin, all packages overriding busybox must install the bins in /usr/bin and /usr/sbin
* db: fix purging of packages from databaseTimo Teras2009-01-221-4/+3
| | | | | | apk_hash_delete() actually deletes the file entry, so unlinking from other lists need to happen before that. Also free the diri instead of leaking it.
* db: print files when (un)installing if --verboseNatanael Copa2009-01-221-0/+8
|
* db: always create directories during installNatanael Copa2009-01-221-3/+1
| | | | | | | | | | | | | | | | | We dont care if a directory have references or not, we care if directory is relly there. Only the creator of the direcotry will set the permissions. This fixes the situation where you install a package owning a dir then you remove this dir manually and try install a second package also owning the dir. For example: apk add e2fsprogs-dev rm -rf /usr/lib/pkgconfig apk add zlib-dev
* db: let apk_db_open() leave working dir as it wasNatanael Copa2009-01-211-0/+2
|
* db: try creating db if locking failsTimo Teras2009-01-191-0/+10
| | | | | Otherwise creating rootfs from scratch with --initdb cannot be locked due to the lock file path missing.
* db: create .apk-new even if file not in dbNatanael Copa2009-01-181-5/+8
| | | | | | | Protect files in protected dirs even if the file is not previously registered in the database. We do so by always extracting to a .apk-new file name, compare the checksums afterwards and rename if file was identical.
* db: database locking and creation to part of opening itTimo Teras2009-01-171-49/+95
| | | | | Add flags field to db open call. Also make error reporting quite a bit more detailed.
* del: proper ordering of file db entry deletionTimo Teras2009-01-171-3/+1
|
* db: apk_db_read_state() needs to be before apk_db_add_repository()Timo Teras2009-01-161-9/+13
| | | | | Otherwise installed db load fails due to internal reasons. This would cause a lot of other funny stuff happen.
* db: make fetching from other than first repository workTimo Teras2009-01-161-2/+13
|
* index: write out only packages specified in command lineTimo Teras2009-01-161-13/+28
| | | | | | 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).
* db: fix relative --root to work after apk_db_create callTimo Teras2009-01-161-0/+1
| | | | | This was broke on --initdb addition to add applet since apk_db_create changes the working directory.
* db: set the perms to /var/lib/apk/* to 644Natanael Copa2009-01-161-4/+4
| | | | this allows non-root users to query the database.
* db, hash: fix package purging/upgrading to update filedb properlyTimo Teras2009-01-161-45/+53
|
* db: try create root in case it does not existNatanael Copa2009-01-161-0/+1
| | | | But we dont bother try create all subdirs (i.e mkdir -p ...)
* db: index file location is a URLTimo Teras2009-01-151-1/+1
|
* audit: new command to check changed filesTimo Teras2009-01-141-14/+26
| | | | | | | 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.
* db: keep only filename in file entries, hash by both directory and fileTimo Teras2009-01-141-19/+54
|
* add: --initdb to replace create appletTimo Teras2009-01-131-13/+10
|
* db: hash files by name, instead of keep two directory listsTimo Teras2009-01-131-80/+60
|
* info: implement who owns packages query (apk_info -W)Timo Teras2009-01-131-3/+37
| | | | | In quiet mode e.g. "apk info -q -W <file list>" a list of dependencies suitable for .PKGINFO is output in one line.
* apk: per applet optionsTimo Teras2009-01-131-1/+6
|
* db, package: new dependency format, second tryNatanael Copa2009-01-111-2/+2
| | | | | | dependencies are separated with single space rather than ', '. makes db file slightly easier to parse from a shell script which might be handy.
* db: report error when create db in non-existing dirNatanael Copa2009-01-091-1/+4
|
* db: allow comments and empty lines in repositories fileNatanael Copa2009-01-081-0/+4
|
* src/database.c: get repository file from environment variable APK_REPOSNatanael Copa2009-01-081-2/+5
| | | | | Defaults to /etc/apk/repositories, absolute path and not relative the install root.
* various: make fancy progress bar and update todoTimo Teras2009-01-071-8/+52
|
* db: rmdir() directories only on package purgeTimo Teras2009-01-061-3/+10
|
* db: remove forgotten debug printTimo Teras2009-01-061-2/+0
|
* db, pkg: fix rest of memory leaksTimo Teras2009-01-061-0/+35
|
* db: restructure in-memory organizationTimo Teras2009-01-061-133/+182
|
* io: apk_ostream stuffTimo Teras2008-11-281-29/+35
|
* io: prepartions for url handlingTimo Teras2008-11-281-13/+5
|
* add: add support to install packages not in a repositoryTimo Teras2008-11-281-10/+12
|