aportupgrade command for upgrading APKBUILDs (!1752)

The gist of this action is upgrading the specified aport to the latest
version. There are implementations for both stable packages (which check
via the release-monitoring.org API for new versions) and git packages
(which check the GitLab/GitHub API for new commits on the main branch).

There's also the possibility to pass --all, --all-stable & --all-git to
the action which either loops through all packages, or just stable or
git packages and upgrades them.

The --dry argument is also respected.

Note, that the implementation does update the variables pkgver, pkgrel
and _commit but it doesn't update the checksums because that would slow
down the process a lot, and is potentially undesirable.
This commit is contained in:
Luca Weiss 2019-02-09 17:58:54 +01:00 committed by Oliver Smith
parent dd72fd44db
commit 33e3553cdd
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
4 changed files with 306 additions and 1 deletions

View file

@ -28,10 +28,10 @@ import sys
import pmb.aportgen
import pmb.build
import pmb.build.autodetect
import pmb.config
import pmb.chroot
import pmb.chroot.initfs
import pmb.chroot.other
import pmb.config
import pmb.export
import pmb.flasher
import pmb.helpers.git
@ -42,6 +42,7 @@ import pmb.helpers.pmaports
import pmb.helpers.repo
import pmb.helpers.repo_missing
import pmb.helpers.run
import pmb.helpers.aportupgrade
import pmb.install
import pmb.parse
import pmb.qemu
@ -340,6 +341,19 @@ def pkgrel_bump(args):
sys.exit(1)
def aportupgrade(args):
if args.all or args.all_stable or args.all_git:
pmb.helpers.aportupgrade.upgrade_all(args)
else:
# Each package must exist
for package in args.packages:
pmb.helpers.pmaports.find(args, package)
# Check each package for a new version
for package in args.packages:
pmb.helpers.aportupgrade.upgrade(args, package)
def qemu(args):
pmb.qemu.run(args)