aboutsummaryrefslogtreecommitdiffstats
path: root/src/upgrade.c
Commit message (Collapse)AuthorAgeFilesLines
* upgrade: improve self upgrade functionality a bitTimo Teräs2016-07-221-8/+38
| | | | trigger it only if apk-tools can be upgrade, add test cases
* rework option parsing to have a group structureTimo Teräs2014-10-081-18/+22
| | | | | Add also a new 'commit' group that is the common options for all applets that can commit package changes.
* upgrade: prefer not to upgrade dependencies during self-upgradeTimo Teräs2013-07-021-1/+1
|
* applets: unify help message by removing final dotsTimo Teräs2013-06-191-1/+1
|
* upgrade: new option: --latest (-l)Timo Teräs2013-06-191-0/+6
| | | | | | | | | | | | | Select latest version of package (if it is not pinned), and print error if it cannot be installed due to other dependencies. Together with --available, it selects the latest package which is present at least in some repository. This also fixes few solver issues with ordering of package selection that got quite apparent with this flag. Namely, we cannot "lock" a package until it's reverse dependencies are locked or not all of the solver flags are propagated properly.
* apk: use string array in applet mains, separate apk_name_foreach_matchingTimo Teräs2013-06-181-1/+1
|
* audit, index, search, upgrade: use foreach_array_itemTimo Teräs2013-06-141-3/+3
|
* solver: prune broken world dependencies with --forceTimo Teräs2013-06-131-4/+1
| | | | mostly useful for reboot, when all packages are not available.
* solver: corner case fixesTimo Teräs2013-06-131-5/+6
| | | | | | | - try harder to not change anything during self-upgrade - also honor locking to packages that where earlier used in merging common dependencies - clarify upgrade applet help messages
* solver: rewrite as deductive solver -- core featuresTimo Teräs2013-06-131-5/+3
| | | | | Implementing basic dependency handling, install_if and awareness of pinning.
* upgrade: handle solver failure gracefullyTimo Teräs2013-04-291-1/+1
| | | | It is internal bug, but don't segfault on it. Fixes #1576.
* solver, test: make conflicts unconditionalTimo Teräs2012-02-291-1/+1
| | | | | | | Solver will now never report partial solution where a conflict constraint is not satisfied. The is because with --force we might install the partial solution; and if conflicted packages were to be installed we might have extra trouble.
* solver: record repository tag, and flags in solutionTimo Teräs2012-02-161-2/+2
| | | | | name state could get overwritten later, so we can't use that when generating the changeset.
* solver, upgrade: properly detect missing repository tagsTimo Teräs2012-01-171-0/+5
| | | | | | | * upgrade needs explicit check so we don't try self-upgrade (which would print additional messages on screen) * add can fix problems, so check against the new world * merge the code in few places
* upgrade: make -a reset versioned dependencies like it used toTimo Teräs2012-01-171-2/+21
| | | | regression from upgrade to the new solver system.
* solver: inheritable solver flagsTimo Teräs2011-09-161-1/+1
| | | | | | allow per-name solver flags to be inheritable, and use them in self-upgrade, add -u and the fix applet. this gives more familiar behaviour for the upgrades.
* solver: make state pointers completely internalTimo Teräs2011-09-141-4/+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.
* solver, db: run triggers in dependency orderTimo Teräs2011-09-141-1/+4
| | | | fixes #738
* upgrade: --no-self-upgrade optionTimo Teräs2011-09-141-5/+16
| | | | | Use it to avoid self-upgrade loops in case something fails during the initial upgrade attempt.
* upgrade: reimplement self-upgrade (after solver merge)Timo Teräs2011-09-141-16/+28
|
* all: update copyright year statementTimo Teräs2011-09-131-1/+1
|
* upgrade: fix context allocationTimo Teräs2011-09-091-0/+1
|
* applets: start using solver codeTimo Teräs2011-09-091-48/+22
| | | | | | | | | still todo: - 'fix' is missing - 'del -R' does not work - 'upgrade' does not do self-upgrade first ... and a lot of testing.
* upgrade: Improve english messages on apk-tools/baselibs upgrade transaction.William Pitcock2011-04-091-2/+2
|
* state: use db in own struc when committingNatanael Copa2011-03-301-2/+2
| | | | The db parameter to apk_state_commit is not needed so we remove it.
* upgrade: reset world dependencies during traversalTimo Teräs2011-03-191-18/+2
| | | | | This allows us to get apk-tools dependencies get reset at proper time in world. As a bonus, it reduces code amount.
* various: use APK_DEPMASK_REQUIRE where applicableTimo Teräs2011-01-011-2/+2
| | | | .. instead of the longer flag combo.
* upgrade: perform upgrade of apk-tools first if availableTimo Teräs2011-01-011-1/+47
| | | | | | Also re-exec's apk-tools to perform rest of the upgrade using the new apk-tools. This allows handling of new apk-tools features properly. Fixes #140.
* various: fix breakage from converting dependency versions to atomsTimo Teräs2011-01-011-2/+4
| | | | | The version now needs to be initialized atom always, since it's dereferenced in various places.
* upgrade: warn (do not fail) on missing top-level package namesTimo Teräs2010-06-151-3/+23
| | | | We we can upgrade rest of system just fine then.
* First steps for libapkNatanael Copa2010-06-111-0/+1
|
* state: improve error messages from dependency failuresTimo Teräs2010-06-011-7/+5
| | | | | Print more information why installation changeset calculation failed. Fixes #187.
* upgrade: reset versioned deps in world when doing upgrade -aNatanael Copa2010-05-121-2/+7
| | | | | | | | | | | Doing "apk add file.apk" adds a versioned dependency to allow downgrading, and sticky version. Most often this is to install single packages from newer repository. So it would make sense to reset them to non-versioned if doing: apk upgrade -a fixes #346
* all: implement database open optionsTimo Teras2009-08-061-14/+10
| | | | so user can override trusted keys directory and repositories file.
* state: fix world dependencies to be honored alwaysTimo Teras2009-08-041-0/+3
| | | | | | 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.
* help: auto construct helpTimo Teras2009-06-251-3/+6
| | | | And add some more verbosity to the help message.
* upgrade: add --available optionTimo Teras2009-06-251-1/+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.
* upgrade: new appletTimo Teras2009-06-251-0/+55
Currently just goes through all world dependencies and updates them where possible (ref #51).