Recommended update for osc

Announcement ID: SUSE-RU-2025:02255-1
Release Date: 2025-07-09T07:26:50Z
Rating: moderate
References:
Affected Products:
  • Development Tools Module 15-SP6
  • Development Tools Module 15-SP7
  • openSUSE Leap 15.6
  • SUSE Linux Enterprise Desktop 15 SP6
  • SUSE Linux Enterprise Desktop 15 SP7
  • SUSE Linux Enterprise Real Time 15 SP6
  • SUSE Linux Enterprise Real Time 15 SP7
  • SUSE Linux Enterprise Server 15 SP6
  • SUSE Linux Enterprise Server 15 SP7
  • SUSE Linux Enterprise Server for SAP Applications 15 SP6
  • SUSE Linux Enterprise Server for SAP Applications 15 SP7

An update that has one fix can now be installed.

Description:

This update for osc fixes the following issues:

osc was updated to 1.17.0:

  • Command-line:

    • Rename 'git-obs pr review' to 'git-obs pr review interactive'
    • Add 'A)approve and schedule for merging' action to 'git obs pr review interactive'
    • Add 'git-obs pr merge' command
    • Add 'git-obs pr review accept' and 'git-obs pr review decline' commands
    • Implement 'git-obs repo list' command
    • Add '--export' option to 'git-obs pr list' and 'git-obs pr search'
    • Fix crash during token validation in 'git-obs login {add,update}' when value is not specified
    • Fix loading shell completions for 'git-obs'
    • Fix 'git-obs api' by preventing of quoting the URL query part
    • Add a possibility to override git-obs login entries from env
    • Validate arguments in 'osc fork' command
    • Revert "Improve 'updatepacmetafromspec' command to expand rpm spec macros by calling rpmspec to query the data"
    • Improve 'updatepacmetafromspec' command to expand rpm spec macros by calling queryrecipe to query the data (bsc#1243722)
  • Connection:

    • Do not use pipe for ssh-keygen input
  • Library:

    • Refactor gitea_api to use objects with properties instead of raw JSON data
    • Add GiteaModel base class and json_dumps() function that can serialize such objects
    • Rename 'anonymous' argument in 'gitea_api.Repo.clone()' to 'use_http'
    • Allow git in git-obs to be switched from SSH to http(s)
    • Move yaml handling code to osc.util.yaml, add fallback to PyYaml
    • Fix how types are compared in OscOptions.set_value_from_string()
    • get_package_results: check for waiting states in all multibuild packages
    • Extend _buildinfo file lookup to the current directory
    • Fix git store when .git is a file with "gitdir: <path>" link
    • Migrate store_* functions to use get_store instead of the original code
  • Spec:

    • Modify spec to use PyYAML on SLE15

osc was updated to 1.16.0:

  • Command-line:

    • Add 'osc rmkpac' subcommand
    • Add 'osc service precommit' subcommand, for use with git hook
    • Add '--target-branch' filter option to 'git-obs pr list'
    • Add '--reviewer' and '--review-state' options to 'git-obs pr list'
    • Add '--no-draft' filter option to 'git-obs pr list'
    • Set limit=0 to disable pagination in all relevant git-obs subcommands
    • Improve help of the 'git-obs login' subcommands
    • Update 'git-obs login {add,update}' to check the gitea token format
    • Fix 'osc fork' when <attributes/> in the source project is empty
    • Fix handling env in tests for 'osc vc'
    • Fix how GitStore reads project from the parent directory
    • Fix 'git-obs pr create' with multistring EDITOR
    • Improve handling exceptions in 'git-obs' command
    • Improve message in 301: Moved Permanently error in git-obs
    • Improve git-obs to read credentials from env variables
    • Remove commas from the list of request IDs in the superseding prompt in 'osc sr'
  • Connection:

    • Fix git-obs connection for urllib3 v1 by overriding the default timeout
  • Library:

    • Add troubleshooting info to gitea_api.Login.DoesNotExist message
    • Add 'min_key_length' argument to KeyValueTable to enforce the minimal length of the first column
    • Fix implicit optionals in type hints to make code PEP 484 compliant
    • Don't crash when OBS API returns None as request description
    • Fix TypeError in response_to_exception() in gitea_api

osc was updated to 1.15.1:

  • Library:

    • Revert "Run decode_it also in the other case"

osc was updated to 1.15.0:

  • Command-line:

    • Improve 'osc fork' to follow the devel package specified in the 'OBS:RejectBranch' attribute
    • Hotfix 'osc fork' failures of devel project users
    • Change 'osc fork' to print an error rather than raising an exception
    • Fix setting parent remote in 'git-obs repo clone'
    • Extend 'osc build' to read build project from Gitea: <owner>/_ObsPrj, project.build file
    • Fix 'osc build' when working with sources from git, when .osc is not available
    • Fix crash in 'osc build --host'
    • Fix rendering help output by adding the complete docstring of the commands
    • Add commented git status to the 'git-obs pr create' message
    • When doing an mr from a working copy check for unchecked modifications
    • Consolidate working copy modification check dialog into a function
  • Connection:

    • Change a debug message to a warning if ssh-keygen is not available
    • Add explanatory message to ignore the signature auth warning when not using SSH keys for auth
  • Library:

    • Implement handling of updateinfo.xml and _modulemd.yaml files
    • Fix working with _subdirs when detecting packages that are subdirectories in a git project
    • Fix canonname handling when querying a downloaded package
    • Add obs_api.Attributes model
    • Add 'quiet' and 'branch' options to gitea_api.Repo.clone()
    • Fix GitStore by parsing git urls with obs_api.Git.urlparse()
    • Add gitea_api.Git.urlparse() for parsing git urls
    • Change gitea_api.Config.url_to_hostname() to also try matching only a hostname instead of full Gitea URL
    • Rename get_parser() functions to argparse_manpage_get_parser() to clarify their purpose
    • Refactor the validity check of cached binaries
  • Other:

    • Update git-obs-quickstart doc with more detailed info on creating tokens
  • Spec:

    • Recommend obs-scm-bridge
    • Build git-obs man page

osc was updated to 1.14.0:

  • Command-line:

    • Improve 'osc fork' command to support also forking projects managed in git
    • Extend 'osc fork' command with '--target-project' and '--target-package' options
    • Enable shell completion of various 'git-obs' arguments and options
    • Fix 'git-obs pr create --target-branch'
    • Fix 'osc fork' crash in print_gitea_settings()
    • Use -A/--apiurl specified on the command-line even if running from a checkout
    • Assume openSUSE:Factory if project cannot be determined in 'osc build' command
    • Change 'osc whatdependson' command to take multiple '-M' options incl. wildcards
    • Fix diff highlighting
  • Library:

    • Set pacsuffix='deb' if binarytype=='deb'
    • Add scmsync element to meta template
    • Add missing project_separator substitutions
    • Fix call os.userexpand() on gitea_api.Config() path argument
    • Fix adding arguments to the argument parser so they work with argcomplete
    • Fix MultibuildFlavorResolver to consider an empty flavor during glob match
    • Fix MultibuildFlavorResolver to work with <package> _multibuild elements
    • Remove superfluous setting of apiurl from 'osc fork'
    • Mute mypy errors on field property assignment
    • Add type hint to XmlModel.XML_TAG
    • Support new 'X | None' union syntax in field types
  • Other:

    • Fix 'git-obs login add' command invocation in git-obs-quickstart documentation
  • Spec:

    • Recommends: python3-argcomplete for git-obs
  • fix the generic provides for %{use_python_pkg}-osc to be versioned so that one can actually have versioned requires against that symbol

  • restore python3-osc provides if we are building against the primary_python version

  • if we have primary_python defined lets use this to get runtime requires matching the shebang lines

osc was updated to 1.13.0:

  • Command-line:

    • Add 'osc fork' command for forking a package with sources managed in Gitea
    • Add 'git-obs pr review' command
    • Allow 'git-obs login' subcommands to prompt for Gitea tokens
    • Fix 'osc checkout' command to support deleted packages incl. revisions
    • Update 'osc rpmlint' command by adding help message for invoking command in PKG dir
    • Add '--multibuild-package' option to 'osc rpmlint' command
  • Library:

    • Change how git projects and packages are detected
    • Change show_project_sourceinfo() to split a huge request into many and join the results to workaround GET limitations
    • Make 'rev' option in ScmsyncObsinfo.from_api() optional
    • Make GitObsCommand.gitea_{conf,login,conf} properties writable
    • Fix local building of deb dockerfile
    • Fix getting scm_url from scmsync_obsinfo that has subdir set
    • Fix or silence pylint errors
    • Support 'enabled' field in tokens
    • Highlight trailing whitespaces in diffs
    • Fix missing spaces in help string
  • Other:

    • Add git-obs Quickstart documentation and man page

osc was updated to 1.12.1:

  • Command-line:

    • Improve 'maintenancerequest' command to inherit description from superseded request
  • Library:

    • Tell the build script to disable repos/containers handling for normal builds
    • Improve detecting git packages, use .osc metadata from project in parent directory
    • Fix retrieving apiurl from git repositories in get_api_url() in the command-line code
    • Fix typo in core.binary() that caused text files being detected as binary
    • Improve core.binary() by always considering data that contains \0 binary
    • Fix assembling scm_url when scmsync_obsinfo.revision is None

osc was updated to 1.12.0:

  • Command-line:

    • Add 'git-obs pr' command
    • Add 'git-obs api' command for making arbitrary API calls
    • Change 'git-obs' to use owner/repo[#pull] arguments consistently
    • Change 'git-obs repo clone' command to store ssh command in core.sshCommand git config option
    • Fix 'request list --interactive' command that wasn't showing request forward prompt when message was part of the state change
  • Library:

    • Avoid fetching _scmsync.obsinfo when scmsync url contains 'noobsinfo' query parameter
    • Fix ssh key priority in 'git-obs repo clone' command
    • Fix loading config entries with underscores instead of dashes in the keys
    • Fix detecting binary files
    • Fix diff highligting
  • Connection:

    • Implement retries in 'git-obs'

osc was updated to 1.11.1:

  • Command-line:

    • Fix 'linkpac' command for projects with a project link
    • Fix 'linkpac' command by always removing <scmsync> element from target meta
    • Fix command descriptions in help by moving the import statements under docstring in the do_*() methods

osc was updated to 1.11.0:

  • Command-line:

    • Add hint how to deal with scmsync-nobranch scenarios
    • Speed loading commands up
    • Fix 'log' command to work correctly with --meta --patch options
    • Document that 'status' command prints unmodified files in verbose output
    • Hide progressbar.Bar widget after ProgressBar has completed
    • Avoid printing urlquoted file names in 'getbinaries' command
  • Configuration:

    • Mute oscrc permissions warning when there's no password set
  • Connection:

    • Save session cookie even if a request fails
  • Library:

    • Fix local building in git projects
    • Extend xml.etree.ElementTree.ParseError output with a snippet of broken XML
    • Sync ScmsyncObsinfo with obs-scm-bridge
    • Move running obs_scm_bridge into run_obs_scm_bridge() function
    • Convert remaining makeurl() query parameters from deprecated string to dict
    • Add more operators to XPathQuery
    • Make 'title' and 'description' fields optional in the Package model
    • Fix progress bar code to support progressbar2
    • Support LoongArch64 architecture
    • Mute pylint errors in show_package_disabled_repos() that are false-positives
    • Fix another bytes/unicode issues in core.link_pac() by replacing ElementTree code with XML models
    • Fix handling 'lock' field in 'Package' model
    • Fix handling SimpleFlag model
    • Extend RequestActionSource with 'repository' attribute
    • Load most of the modules in commandline.py on-demand
    • Fix traceback in 'linkpac --disable-build'
  • Spec:

    • Add conflict with older versions of obs-service-source_validator to ensure that version compatible with .osc store 2.0 is installed

osc was updated to 1.10.1:

  • Command-line:

    • Fix crash in 'build' command due to undefined 'build_root' variable
  • Spec:

    • Add missing python3-ruamel.yaml BuildRequires
    • Fix rpmlint error about creating the /usr/libexec/git/obs symlink

osc was updated to 1.10.0:

  • Command-line:

    • New git-obs executable with several subcommands
    • Support parameters on token triggers
    • Change 'update' command to treat empty '.osc/_in_update/_files' as missing
    • Change 'checkout' command to allow checkout obs imported sources of scmsync sources
    • Change 'creq' command to allow specifying source and target repository
    • Change the help output to determine executable name from the command-line arguments
    • Add '--no-timestamps' parameter to 'build' command
    • Fix 'token' command to avoid crash when a wipe token exists
    • Fix crash in 'results' command by skipping non-status elements in project results
    • Fix crash in 'build' command when building with --local-package --alternative-project from a locally initialized .osc package
    • Print buildroot directory when build or chroot finishes
  • Library:

    • Add 'gitea_api' module
    • Support the mkosi build type
    • Support copy of scmsync packages
    • Support Dockerfile.* in _multibuild packages
    • Implement obs_api.Status.data property that returns status data as a dictionary
    • Implement obs_api.Package.cmd_fork()
    • Fix meter by setting default of use_pb_fallback to False
    • Fix store migration from 1.0 to 2.0 when there is a 'sources' file that would conflict with 'sources' directory
    • Fix revision'd checkout of scmsync package
    • Refactor code handling _scmsync.obsinfo to obs_api.scmsync_obsinfo.ScmsyncObsinfo class
    • Store the container annotation in the "containers" directory
  • Spec:

    • Install symlink /usr/bin/git-obs to /usr/libexec/git/obs to make git-obs available as a git sub-command

osc was updated to 1.9.2:

  • Command-line:

    • Fix 'resolved' command to skip subdirectories in package checkouts
    • Fix 'comment' command to resolve project name
    • Implement meter.SimpleTextMeter that prints what's being downloaded
  • Connection:

    • Use configured 'http_headers' in HTTP requests
  • Library:

    • Fix storing _buildinfo and _buildconfig files in .osc rather than among the source files
    • Use findtext() instead of find().text
  • Spec:

    • Recommend python3-zstandard to support opening control.tar.zst

osc was updated to 1.9.1::

  • Command-line:

    • Add 'createrequest release' subcommand
    • Change 'review list' command to omit requests with 'declined' state
    • Fix osc build --local-package
    • Fix typos
  • Library:

    • Fix extraction of the 'ar' archives when they don't contain header with long filenames
    • Fix iterating through arch_list in core.get_repos_of_project()
    • Check for None & len() of ET.Element instead of bool() in PackageBase.get_meta_value()

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • openSUSE Leap 15.6
    zypper in -t patch SUSE-2025-2255=1 openSUSE-SLE-15.6-2025-2255=1
  • Development Tools Module 15-SP6
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP6-2025-2255=1
  • Development Tools Module 15-SP7
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP7-2025-2255=1

Package List:

  • openSUSE Leap 15.6 (noarch)
    • osc-1.17.0-150600.15.3.1
  • Development Tools Module 15-SP6 (noarch)
    • osc-1.17.0-150600.15.3.1
  • Development Tools Module 15-SP7 (noarch)
    • osc-1.17.0-150600.15.3.1

References: