summaryrefslogtreecommitdiff
path: root/src/del.c
AgeCommit message (Collapse)AuthorFilesLines
2014-12-08make del, fetch, fix and info return errorsTimo Teräs1-0/+8
In case all applet arguments are packages names (that is are not including wildcards), return error if they do not match to some package.
2014-10-08rework option parsing to have a group structureTimo Teräs1-11/+15
Add also a new 'commit' group that is the common options for all applets that can commit package changes.
2014-05-19del: allow deletion of world dependency when it is not installedTimo Teräs1-0/+3
this happens e.g. after tmpfs boot when not all packages where available: the dependency is in world, but not installed.
2013-07-08del: don't print own name as reverse dependencyTimo Teräs1-2/+8
2013-06-28add, del: main dependencies -> 'world'Dubiousjim1-1/+1
Acked-by: Natanael Copa <ncopa@alpinelinux.org>
2013-06-19applets: unify help message by removing final dotsTimo Teräs1-2/+2
2013-06-19fetch, del: perform wildcard matchingTimo Teräs1-45/+41
ref #511
2013-06-19del: fix a segfault when trying to delete uninstalled packagesTimo Teräs1-1/+4
2013-06-18apk: use string array in applet mains, separate apk_name_foreach_matchingTimo Teräs1-11/+13
2013-06-15pkg: apk_pkg_foreach_* add matching generationTimo Teräs1-50/+21
So same package it is possible to not match same package multiple times. Use generation count, so this is handled cleanly during recursion, like in the use case of search applet.
2013-06-13pkg: add global reverse dependency iterator helpers and use themTimo Teräs1-72/+36
... in the error printing and the package deletion.
2013-06-13solver: prune broken world dependencies with --forceTimo Teräs1-1/+1
mostly useful for reboot, when all packages are not available.
2013-06-13solver: rewrite as deductive solver -- core featuresTimo Teräs1-6/+6
Implementing basic dependency handling, install_if and awareness of pinning.
2012-10-09del: consider also reverse dependencies for provided namesTimo Teräs1-8/+19
So we get better error report if package is not deleted due to reverse dependency.
2012-02-24all: introduce apk_provides and use it in apk_nameTimo Teräs1-29/+38
in preparation for provides support. implements also some dependency satisfaction helper routines. ref #574.
2012-02-16solver: record repository tag, and flags in solutionTimo Teräs1-3/+3
name state could get overwritten later, so we can't use that when generating the changeset.
2011-10-24solver, pkg: implement versioned conflictsTimo Teräs1-2/+1
One can now say in dependency "!foo<2" which means, that if foo is installed, it needs to be >=2, but it's not a required dependency.
2011-09-14solver: make state pointers completely internalTimo Teräs1-3/+1
the only bit of information needed in solver commit is the "hard" topology sorting information for trigger ordering. fixes a bug in "apk del" which uses the state pointers to do intermediate calculations between solution solving and commit.
2011-09-14solver, db: run triggers in dependency orderTimo Teräs1-1/+3
fixes #738
2011-09-13all: update copyright year statementTimo Teräs1-1/+1
2011-09-09del: fix recursive deletion and messages (after solver merge)Timo Teräs1-9/+138
Deduce the world dependencies to remove locally, and same for the additional messages about packages not deleted.
2011-09-09applets: start using solver codeTimo Teräs1-31/+7
still todo: - 'fix' is missing - 'del -R' does not work - 'upgrade' does not do self-upgrade first ... and a lot of testing.
2011-03-30state: use db in own struc when committingNatanael Copa1-1/+1
The db parameter to apk_state_commit is not needed so we remove it.
2011-01-01various: fix breakage from converting dependency versions to atomsTimo Teräs1-0/+1
The version now needs to be initialized atom always, since it's dereferenced in various places.
2010-06-11First steps for libapkNatanael Copa1-0/+1
2010-06-05all: rework how arrays workTimo Teräs1-3/+0
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-01state: improve error messages from dependency failuresTimo Teräs1-6/+5
Print more information why installation changeset calculation failed. Fixes #187.
2009-08-13add, del, db: fix various bugs introduced by earlier commitsTimo Teras1-0/+1
- make virtual packages work again - make apk del (for non-empty packages) work again
2009-08-06all: implement database open optionsTimo Teras1-15/+11
so user can override trusted keys directory and repositories file.
2009-08-04state: fix world dependencies to be honored alwaysTimo Teras1-1/+5
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-0/+20
and by default just update the world, and dump a lost of packages that are not removed. fixes #47.
2009-06-25help: auto construct helpTimo Teras1-2/+3
And add some more verbosity to the help message.
2009-06-19improve --help outputNatanael Copa1-1/+1
apk --help will list the generic options only and give a list of commands To get the details for a spefic command, 'apk command --help' should be used.
2009-05-11fix misc compiler warnings about unintialized variables.Natanael Copa1-1/+1
The compiler is actually right about those.
2009-04-16pkg: apk_deps_del helper introducedTimo Teras1-12/+2
2009-04-16del: first remove all targets from world, and then calculate changesTimo Teras1-4/+7
2009-04-14state: rework changeset calculation algorithmTimo Teras1-4/+26
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-17db: database locking and creation to part of opening itTimo Teras1-1/+1
Add flags field to db open call. Also make error reporting quite a bit more detailed.
2009-01-13apk: per applet optionsTimo Teras1-1/+1
2008-04-21Argument parsing. Some other stuff too.Timo Teras1-3/+3
2008-04-17Initial commit of some stuff written so far. Still in state of flux. ExpectTimo Teras1-0/+53
breakage and major changes.