summaryrefslogtreecommitdiffstats
path: root/src/state.c
Commit message (Collapse)AuthorAgeFilesLines
* state: handle properly packages which are installedTimo Teräs2010-06-151-0/+3
| | | | | | Installed package does not need to be checked for availability. Account for packages missing if they get pruned out due to installability check.
* First steps for libapkNatanael Copa2010-06-111-0/+1
|
* state: fix error printingTimo Teräs2010-06-081-2/+4
|
* all: rework how arrays workTimo Teräs2010-06-051-23/+17
| | | | | | | | | | 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.
* state: fix a crash in error printingTimo Teräs2010-06-031-1/+1
|
* state: print missing package names on errorTimo Teräs2010-06-011-8/+22
| | | | | especially important if the package requested from command line does not exist. otherwise we would not print an error at all.
* state: improve error messages from dependency failuresTimo Teräs2010-06-011-23/+126
| | | | | Print more information why installation changeset calculation failed. Fixes #187.
* state: modify reinstallation printsTimo Teräs2010-05-271-8/+11
| | | | | To print upgrading if package is actually being changed instead of pure reinstall.
* state: show changed packages as upgradesTimo Teräs2010-05-271-2/+10
| | | | | If version is equal, but package contents are different we should show the package being upgraded.
* state: fix deletion of obsoleted dependenciesTimo Teräs2010-05-271-1/+2
| | | | | | | In addition to autocleaning dependencies on deletion, we need to autoclean the old package on upgrade too. This is to make sure that obsoleted dependencies (existed previously, but not in new package) are removed where appropriate.
* state: virtual packages are always installableTimo Teras2010-03-151-0/+2
| | | | | they do not have any package associated. this is indicated by package with zero installed_size.
* state: check package availability alwaysTimo Teras2010-03-101-7/+16
| | | | | | even if we have only one package as candidate, we need to check it's availability. otherwise we can endup with bad changeset referring to unavailable package.
* state: write status for each package changeNatanael Copa2010-02-261-8/+17
| | | | | | | prints like: (1/12) Installing... (2/12) Installing... etc...
* state: show percent in progress barNatanael Copa2010-02-261-10/+13
| | | | | This makes things a little bit nicer when installing from network with slow lines.
* state: Default interactive action is YesNatanael Copa2009-12-251-1/+1
| | | | | When pressing only <enter> on the question "..continue [Y/n]?" then lets take that as a "yes"
* state: require an available package for re-installsTimo Teras2009-08-191-1/+2
| | | | | otherwise we would not be able to pick a package that exists as a candidate for re-installation. fixes #138.
* add, del, db: fix various bugs introduced by earlier commitsTimo Teras2009-08-131-9/+8
| | | | | - make virtual packages work again - make apk del (for non-empty packages) work again
* add: refuse to add bad dependencies to worldTimo Teras2009-08-131-0/+3
| | | | | allow also overriding old (possibly bad) world dependency. hopefully it's more bullet proof now.
* db: implement triggers (fixes #45)Timo Teras2009-08-131-2/+2
|
* db, pkg: separate structure for fields of installed packagesTimo Teras2009-08-121-6/+4
| | | | | | | 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.
* state: installed package does not need downloadingTimo Teras2009-08-061-3/+2
| | | | so do not skip it even if it's no longer available.
* state: bug fixTimo Teras2009-08-061-2/+1
|
* state: do not look into world in state_newTimo Teras2009-08-061-18/+25
| | | | | instead enforce world dependencies when the package name is first referenced upon.
* db: prefer local repositories, and implement --no-networkTimo Teras2009-08-061-0/+5
| | | | this helps boots sequence when network is not available.
* state: indent package listsTimo Teras2009-08-061-7/+10
|
* state, update: fixesTimo Teras2009-08-061-1/+3
|
* state: ignore missing world dependencies with --force and --quietTimo Teras2009-08-061-1/+1
|
* state: world might be emptyTimo Teras2009-08-051-1/+1
| | | | so do not choke on it.
* fix: new applet to reinstall and fix packageTimo Teras2009-08-041-2/+4
| | | | | also makes it possibly to upgrade package without adding it to top-level deps. fixes #69.
* state: fix world dependencies to be honored alwaysTimo Teras2009-08-041-36/+97
| | | | | | previously they might have been skipped on certain situations. this also fixes some other reverse dependency enforcements and implements new "pending" state for locked name.
* del: add '-r' to remove top-level dependencies recursivelyTimo Teras2009-08-041-11/+25
| | | | | and by default just update the world, and dump a lost of packages that are not removed. fixes #47.
* apk: use *at instead of chdir+normal file syscallTimo Teras2009-07-311-1/+1
| | | | | | | | 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.
* apk: add -i/--interactive option (fixes #60)Timo Teras2009-07-241-1/+3
| | | | | and use that to figure if questions are allowed or not instead of the verbosity level.
* state: fix previous commit to show OK when everything is okTimo Teras2009-07-221-1/+1
|
* state: commit fdb changes even on errorTimo Teras2009-07-221-7/+9
| | | | we might have done already something.
* upgrade: add --available optionTimo Teras2009-06-251-3/+20
| | | | | | | That will make the upgrade prefer packages available in repositories. This is good if one want's to downgrade packages by removing an experimental repository. Or to force re-install of locally built vs. repository version when the package version are same, but checksum is different. Fixes #51.
* ver: only compare the given packages, show versionNatanael Copa2009-06-201-14/+7
| | | | | make apk_version_compare() take strings rather than blobs add apk_pkgversion_compare(), a wrapper that takes packages
* state: bugfix in the package version selectorNatanael Copa2009-06-161-2/+5
|
* state: upgrade deps for given packages to add -uNatanael Copa2009-05-241-4/+4
|
* state: print also the changeset affect on installed-sizeTimo Teras2009-04-151-2/+13
|
* state: fix installation of package broken by autoclean patchTimo Teras2009-04-151-2/+3
|
* state: auto clean packagesTimo Teras2009-04-151-45/+164
| | | | | Automatically remove packages that are no longer required by a top level dependency.
* state: make package deletion saferTimo Teras2009-04-151-1/+9
| | | | | Refuse to delete explicitly specified top-level packages unless --force is specified.
* state: do not derefence unallocated memoryTimo Teras2009-04-151-0/+7
| | | | | Enforce name_id to be within apk_state allocated area. New apk_name:s can be created later for e.g. unknown packages requested at command line.
* state: more uninitialized variables initializedTimo Teras2009-04-151-1/+1
|
* state: style fix, init variable at declarationNatanael Copa2009-04-151-2/+2
|
* state: fix bug with uninitialized variable 'latest'Natanael Copa2009-04-151-1/+1
|
* fetch: new applet to download .apk filesTimo Teras2009-04-151-14/+0
| | | | Fixes #24.
* state: rework changeset calculation algorithmTimo Teras2009-04-141-124/+386
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* add: --upgrade|-u to control if upgrading is preferred or notTimo Teras2009-01-161-3/+3
|