Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • postmarketOS/pmbootstrap
  • fossdd/pmbootstrap
  • Adrian/pmbootstrap
  • JustSoup321/pmbootstrap
  • longnoserob/pmbootstrap
  • sixthkrum/pmbootstrap
  • ollieparanoid/pmbootstrap
  • magdesign/pmbootstrap
  • anjandev/pmbootstrap
  • HenriDellal/pmbootstrap
  • Minecrell/pmbootstrap
  • chipiguay/pmbootstrap
  • ijiki16/pmbootstrap
  • whynothugo/pmbootstrap
  • amessier/pmbootstrap
  • Eisenbahnfan/pmbootstrap
  • user0-07161/pmbootstrap
  • SzczurekYT/pmbootstrap
  • neuschaefer/pmbootstrap
  • knuxify/pmbootstrap
  • Frieder.Hannenheim/pmbootstrap
21 results
Show changes
Commits on Source (2)
......@@ -117,6 +117,11 @@ def init(chroot: Chroot, usr_merge=UsrMerge.AUTO):
# When already initialized: just prepare the chroot
arch = chroot.arch
# We plan to ship systemd with split /usr until the /usr merge is complete
# in Alpine. Let's not drop all our code yet but just forcefully disable
# it.
usr_merge = UsrMerge.OFF
config = get_context().config
# If the channel is wrong and the user has auto_zap_misconfigured_chroots
......
......@@ -16,6 +16,7 @@ from .repo_bootstrap import RepoBootstrap
from .shutdown import Shutdown
from .test import Test
from .pkgrel_bump import PkgrelBump
from .pkgver_bump import PkgverBump
from .pull import Pull
from .kconfig_check import KConfigCheck
from .kconfig_edit import KConfigEdit
......@@ -76,6 +77,8 @@ def run_command(args: PmbArgs):
command = Test(args.action_test)
case "pkgrel_bump":
command = PkgrelBump(args.packages, args.dry, args.auto)
case "pkgver_bump":
command = PkgverBump(args.packages)
case "pull":
command = Pull()
case "kconfig":
......
# Copyright 2024 Stefan Hansson
# SPDX-License-Identifier: GPL-3.0-or-later
from pmb import commands
import pmb.helpers.pkgrel_bump
class PkgverBump(commands.Command):
def __init__(self, packages: list[str]) -> None:
self.packages = packages
def run(self) -> None:
# Each package must exist
for package in self.packages:
pmb.helpers.pmaports.find(package)
for package in self.packages:
pmb.helpers.pkgrel_bump.package(
package, bump_type=pmb.helpers.pkgrel_bump.BumpType.PKGVER
)
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
from enum import Enum
from pmb.core.arch import Arch
from pmb.helpers import logging
......@@ -10,27 +12,35 @@ import pmb.parse
import pmb.parse.apkindex
def package(pkgname: str, reason="", dry: bool = False) -> None:
"""Increase the pkgrel in the APKBUILD of a specific package.
class BumpType(Enum):
PKGREL = "pkgrel"
PKGVER = "pkgver"
def package(
pkgname: str, reason="", dry: bool = False, bump_type: BumpType = BumpType.PKGREL
) -> None:
"""Increase the pkgrel or pkgver in the APKBUILD of a specific package.
:param pkgname: name of the package
:param reason: string to display as reason why it was increased
:param dry: don't modify the APKBUILD, just print the message
:param bump_type: whether to bump pkgrel or pkgver
"""
# Current and new pkgrel
# Current and new pkgrel or pkgver
path = pmb.helpers.pmaports.find(pkgname) / "APKBUILD"
apkbuild = pmb.parse.apkbuild(path)
pkgrel = int(apkbuild["pkgrel"])
pkgrel_new = pkgrel + 1
version = int(apkbuild[bump_type.value])
version_new = version + 1
# Display the message, bail out in dry mode
logging.info(
"Increase '"
+ pkgname
+ "' pkgrel ("
+ str(pkgrel)
+ f"' {bump_type.value} ("
+ str(version)
+ " -> "
+ str(pkgrel_new)
+ str(version_new)
+ ")"
+ reason
)
......@@ -38,16 +48,21 @@ def package(pkgname: str, reason="", dry: bool = False) -> None:
return
# Increase
old = "\npkgrel=" + str(pkgrel) + "\n"
new = "\npkgrel=" + str(pkgrel_new) + "\n"
old = f"\n{bump_type.value}=" + str(version) + "\n"
new = f"\n{bump_type.value}=" + str(version_new) + "\n"
pmb.helpers.file.replace(path, old, new)
if bump_type == BumpType.PKGVER:
pkgrel = int(apkbuild["pkgrel"])
# Set pkgrel to 0 if we bump pkgver
pmb.helpers.file.replace(path, f"pkgrel={pkgrel}", "pkgrel=0")
# Verify
pmb.parse.apkbuild.cache_clear()
apkbuild = pmb.parse.apkbuild(path)
if int(apkbuild["pkgrel"]) != pkgrel_new:
if int(apkbuild[bump_type.value]) != version_new:
raise RuntimeError(
f"Failed to bump pkgrel for package '{pkgname}'."
f"Failed to bump {bump_type.value} for package '{pkgname}'."
" Make sure that there's a line with exactly the"
f" string '{old.strip()}' and nothing else in: {path}"
)
......
......@@ -577,6 +577,16 @@ def arguments_pkgrel_bump(subparser):
return ret
def arguments_pkgver_bump(subparser):
ret = subparser.add_parser(
"pkgver_bump",
help="increase the pkgver and reset pkgrel to 0." " useful when dealing with metapackages.",
)
add_packages_arg(ret, nargs="*", default=[])
return ret
def arguments_aportupgrade(subparser):
ret = subparser.add_parser(
"aportupgrade", help="check for outdated" " packages that need upgrading"
......@@ -958,6 +968,7 @@ def get_parser():
arguments_initfs(sub)
arguments_qemu(sub)
arguments_pkgrel_bump(sub)
arguments_pkgver_bump(sub)
arguments_aportupgrade(sub)
arguments_newapkbuild(sub)
arguments_lint(sub)
......