summaryrefslogtreecommitdiff
path: root/src/upgrade.c
AgeCommit message (Collapse)AuthorFilesLines
2013-07-02upgrade: prefer not to upgrade dependencies during self-upgradeTimo Teräs1-1/+1
2013-06-19applets: unify help message by removing final dotsTimo Teräs1-1/+1
2013-06-19upgrade: new option: --latest (-l)Timo Teräs1-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.
2013-06-18apk: use string array in applet mains, separate apk_name_foreach_matchingTimo Teräs1-1/+1
2013-06-14audit, index, search, upgrade: use foreach_array_itemTimo Teräs1-3/+3
2013-06-13solver: prune broken world dependencies with --forceTimo Teräs1-4/+1
mostly useful for reboot, when all packages are not available.
2013-06-13solver: corner case fixesTimo Teräs1-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
2013-06-13solver: rewrite as deductive solver -- core featuresTimo Teräs1-5/+3
Implementing basic dependency handling, install_if and awareness of pinning.
2013-04-29upgrade: handle solver failure gracefullyTimo Teräs1-1/+1
It is internal bug, but don't segfault on it. Fixes #1576.
2012-02-29solver, test: make conflicts unconditionalTimo Teräs1-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.
2012-02-16solver: record repository tag, and flags in solutionTimo Teräs1-2/+2
name state could get overwritten later, so we can't use that when generating the changeset.
2012-01-17solver, upgrade: properly detect missing repository tagsTimo Teräs1-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
2012-01-17upgrade: make -a reset versioned dependencies like it used toTimo Teräs1-2/+21
regression from upgrade to the new solver system.
2011-09-16solver: inheritable solver flagsTimo Teräs1-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.
2011-09-14solver: make state pointers completely internalTimo Teräs1-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.
2011-09-14solver, db: run triggers in dependency orderTimo Teräs1-1/+4
fixes #738
2011-09-14upgrade: --no-self-upgrade optionTimo Teräs1-5/+16
Use it to avoid self-upgrade loops in case something fails during the initial upgrade attempt.
2011-09-14upgrade: reimplement self-upgrade (after solver merge)Timo Teräs1-16/+28
2011-09-13all: update copyright year statementTimo Teräs1-1/+1
2011-09-09upgrade: fix context allocationTimo Teräs1-0/+1
2011-09-09applets: start using solver codeTimo Teräs1-48/+22
still todo: - 'fix' is missing - 'del -R' does not work - 'upgrade' does not do self-upgrade first ... and a lot of testing.
2011-04-09upgrade: Improve english messages on apk-tools/baselibs upgrade transaction.William Pitcock1-2/+2
2011-03-30state: use db in own struc when committingNatanael Copa1-2/+2
The db parameter to apk_state_commit is not needed so we remove it.
2011-03-19upgrade: reset world dependencies during traversalTimo Teräs1-18/+2
This allows us to get apk-tools dependencies get reset at proper time in world. As a bonus, it reduces code amount.
2011-01-01various: use APK_DEPMASK_REQUIRE where applicableTimo Teräs1-2/+2
.. instead of the longer flag combo.
2011-01-01upgrade: perform upgrade of apk-tools first if availableTimo Teräs1-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.
2011-01-01various: fix breakage from converting dependency versions to atomsTimo Teräs1-2/+4
The version now needs to be initialized atom always, since it's dereferenced in various places.
2010-06-15upgrade: warn (do not fail) on missing top-level package namesTimo Teräs1-3/+23
We we can upgrade rest of system just fine then.
2010-06-11First steps for libapkNatanael Copa1-0/+1
2010-06-01state: improve error messages from dependency failuresTimo Teräs1-7/+5
Print more information why installation changeset calculation failed. Fixes #187.
2010-05-12upgrade: reset versioned deps in world when doing upgrade -aNatanael Copa1-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
2009-08-06all: implement database open optionsTimo Teras1-14/+10
so user can override trusted keys directory and repositories file.
2009-08-04state: fix world dependencies to be honored alwaysTimo Teras1-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.
2009-06-25help: auto construct helpTimo Teras1-3/+6
And add some more verbosity to the help message.
2009-06-25upgrade: add --available optionTimo Teras1-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.
2009-06-25upgrade: new appletTimo Teras1-0/+55
Currently just goes through all world dependencies and updates them where possible (ref #51).