summaryrefslogtreecommitdiff
path: root/src/state.c
AgeCommit message (Collapse)AuthorFilesLines
2010-06-11First steps for libapkNatanael Copa1-0/+1
2010-06-08state: fix error printingTimo Teräs1-2/+4
2010-06-05all: rework how arrays workTimo Teräs1-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.
2010-06-03state: fix a crash in error printingTimo Teräs1-1/+1
2010-06-01state: print missing package names on errorTimo Teräs1-8/+22
especially important if the package requested from command line does not exist. otherwise we would not print an error at all.
2010-06-01state: improve error messages from dependency failuresTimo Teräs1-23/+126
Print more information why installation changeset calculation failed. Fixes #187.
2010-05-27state: modify reinstallation printsTimo Teräs1-8/+11
To print upgrading if package is actually being changed instead of pure reinstall.
2010-05-27state: show changed packages as upgradesTimo Teräs1-2/+10
If version is equal, but package contents are different we should show the package being upgraded.
2010-05-27state: fix deletion of obsoleted dependenciesTimo Teräs1-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.
2010-03-15state: virtual packages are always installableTimo Teras1-0/+2
they do not have any package associated. this is indicated by package with zero installed_size.
2010-03-10state: check package availability alwaysTimo Teras1-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.
2010-02-26state: write status for each package changeNatanael Copa1-8/+17
prints like: (1/12) Installing... (2/12) Installing... etc...
2010-02-26state: show percent in progress barNatanael Copa1-10/+13
This makes things a little bit nicer when installing from network with slow lines.
2009-12-25state: Default interactive action is YesNatanael Copa1-1/+1
When pressing only <enter> on the question "..continue [Y/n]?" then lets take that as a "yes"
2009-08-19state: require an available package for re-installsTimo Teras1-1/+2
otherwise we would not be able to pick a package that exists as a candidate for re-installation. fixes #138.
2009-08-13add, del, db: fix various bugs introduced by earlier commitsTimo Teras1-9/+8
- make virtual packages work again - make apk del (for non-empty packages) work again
2009-08-13add: refuse to add bad dependencies to worldTimo Teras1-0/+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-2/+2
2009-08-12db, pkg: separate structure for fields of installed packagesTimo Teras1-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.
2009-08-06state: installed package does not need downloadingTimo Teras1-3/+2
so do not skip it even if it's no longer available.
2009-08-06state: bug fixTimo Teras1-2/+1
2009-08-06state: do not look into world in state_newTimo Teras1-18/+25
instead enforce world dependencies when the package name is first referenced upon.
2009-08-06db: prefer local repositories, and implement --no-networkTimo Teras1-0/+5
this helps boots sequence when network is not available.
2009-08-06state: indent package listsTimo Teras1-7/+10
2009-08-06state, update: fixesTimo Teras1-1/+3
2009-08-06state: ignore missing world dependencies with --force and --quietTimo Teras1-1/+1
2009-08-05state: world might be emptyTimo Teras1-1/+1
so do not choke on it.
2009-08-04fix: new applet to reinstall and fix packageTimo Teras1-2/+4
also makes it possibly to upgrade package without adding it to top-level deps. fixes #69.
2009-08-04state: fix world dependencies to be honored alwaysTimo Teras1-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.
2009-08-04del: add '-r' to remove top-level dependencies recursivelyTimo Teras1-11/+25
and by default just update the world, and dump a lost of packages that are not removed. fixes #47.
2009-07-31apk: use *at instead of chdir+normal file syscallTimo Teras1-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.
2009-07-24apk: add -i/--interactive option (fixes #60)Timo Teras1-1/+3
and use that to figure if questions are allowed or not instead of the verbosity level.
2009-07-22state: fix previous commit to show OK when everything is okTimo Teras1-1/+1
2009-07-22state: commit fdb changes even on errorTimo Teras1-7/+9
we might have done already something.
2009-06-25upgrade: add --available optionTimo Teras1-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.
2009-06-20ver: only compare the given packages, show versionNatanael Copa1-14/+7
make apk_version_compare() take strings rather than blobs add apk_pkgversion_compare(), a wrapper that takes packages
2009-06-16state: bugfix in the package version selectorNatanael Copa1-2/+5
2009-05-24state: upgrade deps for given packages to add -uNatanael Copa1-4/+4
2009-04-15state: print also the changeset affect on installed-sizeTimo Teras1-2/+13
2009-04-15state: fix installation of package broken by autoclean patchTimo Teras1-2/+3
2009-04-15state: auto clean packagesTimo Teras1-45/+164
Automatically remove packages that are no longer required by a top level dependency.
2009-04-15state: make package deletion saferTimo Teras1-1/+9
Refuse to delete explicitly specified top-level packages unless --force is specified.
2009-04-15state: do not derefence unallocated memoryTimo Teras1-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.
2009-04-15state: more uninitialized variables initializedTimo Teras1-1/+1
2009-04-15state: style fix, init variable at declarationNatanael Copa1-2/+2
2009-04-15state: fix bug with uninitialized variable 'latest'Natanael Copa1-1/+1
2009-04-15fetch: new applet to download .apk filesTimo Teras1-14/+0
Fixes #24.
2009-04-14state: rework changeset calculation algorithmTimo Teras1-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.
2009-01-16add: --upgrade|-u to control if upgrading is preferred or notTimo Teras1-3/+3
2009-01-13state: fix again changeset orderingTimo Teras1-2/+2