<div class="container">
    <h1>Recommended update for osc</h1>

    <table class="table table-striped table-bordered">
        <tbody>
        <tr>
            <th>Announcement ID:</th>
            <td>SUSE-RU-2025:02255-1</td>
        </tr>
        <tr>
            <th>Release Date:</th>
            <td>2025-07-09T07:26:50Z</td>
        </tr>
        
        <tr>
            <th>Rating:</th>
            <td>moderate</td>
        </tr>
        <tr>
            <th>References:</th>
            <td>
                <ul>
                    
                        <li style="display: inline;">
                            <a href="https://bugzilla.suse.com/show_bug.cgi?id=1243722">bsc#1243722</a>
                        </li>
                    
                    
                </ul>
            </td>
        </tr>
        
        <tr>
            <th>Affected Products:</th>
            <td>
                <ul class="list-group">
                    
                        <li class="list-group-item">Development Tools Module 15-SP6</li>
                    
                        <li class="list-group-item">Development Tools Module 15-SP7</li>
                    
                        <li class="list-group-item">openSUSE Leap 15.6</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Desktop 15 SP6</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Desktop 15 SP7</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Real Time 15 SP6</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Real Time 15 SP7</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server 15 SP6</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server 15 SP7</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP6</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP7</li>
                    
                </ul>
            </td>
        </tr>
        </tbody>
    </table>

    <p>An update that has one fix can now be installed.</p>

    


    
        <h2>Description:</h2>
    
    <p>This update for osc fixes the following issues:</p>
<p>osc was updated to 1.17.0:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Rename &#x27;git-obs pr review&#x27; to &#x27;git-obs pr review interactive&#x27;</li>
<li>Add &#x27;A)approve and schedule for merging&#x27; action to &#x27;git obs pr review interactive&#x27;</li>
<li>Add &#x27;git-obs pr merge&#x27; command</li>
<li>Add &#x27;git-obs pr review accept&#x27; and &#x27;git-obs pr review decline&#x27; commands</li>
<li>Implement &#x27;git-obs repo list&#x27; command</li>
<li>Add &#x27;--export&#x27; option to &#x27;git-obs pr list&#x27; and &#x27;git-obs pr search&#x27;</li>
<li>Fix crash during token validation in &#x27;git-obs login {add,update}&#x27; when value is not specified</li>
<li>Fix loading shell completions for &#x27;git-obs&#x27;</li>
<li>Fix &#x27;git-obs api&#x27; by preventing of quoting the URL query part</li>
<li>Add a possibility to override git-obs login entries from env</li>
<li>Validate arguments in &#x27;osc fork&#x27; command</li>
<li>Revert "Improve &#x27;updatepacmetafromspec&#x27; command to expand rpm spec macros by calling rpmspec to query the data"</li>
<li>Improve &#x27;updatepacmetafromspec&#x27; command to expand rpm spec macros by calling queryrecipe to query the data (bsc#1243722)</li>
</ul>
</li>
<li>
<p>Connection:</p>
<ul>
<li>Do not use pipe for ssh-keygen input</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Refactor gitea_api to use objects with properties instead of raw JSON data</li>
<li>Add GiteaModel base class and json_dumps() function that can serialize such objects</li>
<li>Rename &#x27;anonymous&#x27; argument in &#x27;gitea_api.Repo.clone()&#x27; to &#x27;use_http&#x27;</li>
<li>Allow git in git-obs to be switched from SSH to http(s)</li>
<li>Move yaml handling code to osc.util.yaml, add fallback to PyYaml</li>
<li>Fix how types are compared in OscOptions.set_value_from_string()</li>
<li>get_package_results: check for waiting states in all multibuild packages</li>
<li>Extend _buildinfo file lookup to the current directory</li>
<li>Fix git store when .git is a file with "gitdir: <path>" link</li>
<li>Migrate store_* functions to use get_store instead of the original code</li>
</ul>
</li>
<li>
<p>Spec:</p>
<ul>
<li>Modify spec to use PyYAML on SLE15</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.16.0:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Add &#x27;osc rmkpac&#x27; subcommand</li>
<li>Add &#x27;osc service precommit&#x27; subcommand, for use with git hook</li>
<li>Add &#x27;--target-branch&#x27; filter option to &#x27;git-obs pr list&#x27;</li>
<li>Add &#x27;--reviewer&#x27; and &#x27;--review-state&#x27; options to &#x27;git-obs pr list&#x27;</li>
<li>Add &#x27;--no-draft&#x27; filter option to &#x27;git-obs pr list&#x27;</li>
<li>Set limit=0 to disable pagination in all relevant git-obs subcommands</li>
<li>Improve help of the &#x27;git-obs login&#x27; subcommands</li>
<li>Update &#x27;git-obs login {add,update}&#x27; to check the gitea token format</li>
<li>Fix &#x27;osc fork&#x27; when <attributes/> in the source project is empty</li>
<li>Fix handling env in tests for &#x27;osc vc&#x27;</li>
<li>Fix how GitStore reads project from the parent directory</li>
<li>Fix &#x27;git-obs pr create&#x27; with multistring EDITOR</li>
<li>Improve handling exceptions in &#x27;git-obs&#x27; command</li>
<li>Improve message in 301: Moved Permanently error in git-obs</li>
<li>Improve git-obs to read credentials from env variables</li>
<li>Remove commas from the list of request IDs in the superseding prompt in &#x27;osc sr&#x27;</li>
</ul>
</li>
<li>
<p>Connection:</p>
<ul>
<li>Fix git-obs connection for urllib3 v1 by overriding the default timeout</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Add troubleshooting info to gitea_api.Login.DoesNotExist message</li>
<li>Add &#x27;min_key_length&#x27; argument to KeyValueTable to enforce the minimal length of the first column</li>
<li>Fix implicit optionals in type hints to make code PEP 484 compliant</li>
<li>Don&#x27;t crash when OBS API returns None as request description</li>
<li>Fix TypeError in response_to_exception() in gitea_api</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.15.1:</p>
<ul>
<li>
<p>Library:</p>
<ul>
<li>Revert "Run decode_it also in the other case"</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.15.0:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Improve &#x27;osc fork&#x27; to follow the devel package specified in the &#x27;OBS:RejectBranch&#x27; attribute</li>
<li>Hotfix &#x27;osc fork&#x27; failures of devel project users</li>
<li>Change &#x27;osc fork&#x27; to print an error rather than raising an exception</li>
<li>Fix setting parent remote in &#x27;git-obs repo clone&#x27;</li>
<li>Extend &#x27;osc build&#x27; to read build project from Gitea: <owner>/_ObsPrj, project.build file</li>
<li>Fix &#x27;osc build&#x27; when working with sources from git, when .osc is not available</li>
<li>Fix crash in &#x27;osc build --host&#x27;</li>
<li>Fix rendering help output by adding the complete docstring of the commands</li>
<li>Add commented git status to the &#x27;git-obs pr create&#x27; message</li>
<li>When doing an mr from a working copy check for unchecked modifications</li>
<li>Consolidate working copy modification check dialog into a function</li>
</ul>
</li>
<li>
<p>Connection:</p>
<ul>
<li>Change a debug message to a warning if ssh-keygen is not available</li>
<li>Add explanatory message to ignore the signature auth warning when not using SSH keys for auth</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Implement handling of updateinfo.xml and _modulemd.yaml files</li>
<li>Fix working with _subdirs when detecting packages that are subdirectories in a git project</li>
<li>Fix canonname handling when querying a downloaded package</li>
<li>Add obs_api.Attributes model</li>
<li>Add &#x27;quiet&#x27; and &#x27;branch&#x27; options to gitea_api.Repo.clone()</li>
<li>Fix GitStore by parsing git urls with obs_api.Git.urlparse()</li>
<li>Add gitea_api.Git.urlparse() for parsing git urls</li>
<li>Change gitea_api.Config.url_to_hostname() to also try matching only a hostname instead of full Gitea URL</li>
<li>Rename get_parser() functions to argparse_manpage_get_parser() to clarify their purpose</li>
<li>Refactor the validity check of cached binaries</li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>Update git-obs-quickstart doc with more detailed info on creating tokens</li>
</ul>
</li>
<li>
<p>Spec:</p>
<ul>
<li>Recommend obs-scm-bridge</li>
<li>Build git-obs man page</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.14.0:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Improve &#x27;osc fork&#x27; command to support also forking projects managed in git</li>
<li>Extend &#x27;osc fork&#x27; command with &#x27;--target-project&#x27; and &#x27;--target-package&#x27; options</li>
<li>Enable shell completion of various &#x27;git-obs&#x27; arguments and options</li>
<li>Fix &#x27;git-obs pr create --target-branch&#x27;</li>
<li>Fix &#x27;osc fork&#x27; crash in print_gitea_settings()</li>
<li>Use -A/--apiurl specified on the command-line even if running from a checkout</li>
<li>Assume openSUSE:Factory if project cannot be determined in &#x27;osc build&#x27; command</li>
<li>Change &#x27;osc whatdependson&#x27; command to take multiple &#x27;-M&#x27; options incl. wildcards</li>
<li>Fix diff highlighting</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Set pacsuffix=&#x27;deb&#x27; if binarytype==&#x27;deb&#x27;</li>
<li>Add scmsync element to meta template</li>
<li>Add missing project_separator substitutions</li>
<li>Fix call os.userexpand() on gitea_api.Config() path argument</li>
<li>Fix adding arguments to the argument parser so they work with argcomplete</li>
<li>Fix MultibuildFlavorResolver to consider an empty flavor during glob match</li>
<li>Fix MultibuildFlavorResolver to work with <package> _multibuild elements</li>
<li>Remove superfluous setting of apiurl from &#x27;osc fork&#x27;</li>
<li>Mute mypy errors on field property assignment</li>
<li>Add type hint to XmlModel.XML_TAG</li>
<li>Support new &#x27;X | None&#x27; union syntax in field types</li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>Fix &#x27;git-obs login add&#x27; command invocation in git-obs-quickstart documentation</li>
</ul>
</li>
<li>
<p>Spec:</p>
<ul>
<li>Recommends: python3-argcomplete for git-obs</li>
</ul>
</li>
<li>
<p>fix the generic provides for %{use_python_pkg}-osc to be
  versioned so that one can actually have versioned requires
  against that symbol</p>
</li>
<li>
<p>restore python3-osc provides if we are building against the
  primary_python version</p>
</li>
<li>
<p>if we have primary_python defined lets use this to get runtime
  requires matching the shebang lines</p>
</li>
</ul>
<p>osc was updated to 1.13.0:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Add &#x27;osc fork&#x27; command for forking a package with sources managed in Gitea</li>
<li>Add &#x27;git-obs pr review&#x27; command</li>
<li>Allow &#x27;git-obs login&#x27; subcommands to prompt for Gitea tokens</li>
<li>Fix &#x27;osc checkout&#x27; command to support deleted packages incl. revisions</li>
<li>Update &#x27;osc rpmlint&#x27; command by adding help message for invoking command in PKG dir</li>
<li>Add &#x27;--multibuild-package&#x27; option to &#x27;osc rpmlint&#x27; command</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Change how git projects and packages are detected</li>
<li>Change show_project_sourceinfo() to split a huge request into many and join the results to workaround GET limitations</li>
<li>Make &#x27;rev&#x27; option in ScmsyncObsinfo.from_api() optional</li>
<li>Make GitObsCommand.gitea_{conf,login,conf} properties writable</li>
<li>Fix local building of deb dockerfile</li>
<li>Fix getting scm_url from scmsync_obsinfo that has subdir set</li>
<li>Fix or silence pylint errors</li>
<li>Support &#x27;enabled&#x27; field in tokens</li>
<li>Highlight trailing whitespaces in diffs</li>
<li>Fix missing spaces in help string</li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>Add git-obs Quickstart documentation and man page</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.12.1:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Improve &#x27;maintenancerequest&#x27; command to inherit description from superseded request</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Tell the build script to disable repos/containers handling for normal builds</li>
<li>Improve detecting git packages, use .osc metadata from project in parent directory</li>
<li>Fix retrieving apiurl from git repositories in get_api_url() in the command-line code</li>
<li>Fix typo in core.binary() that caused text files being detected as binary</li>
<li>Improve core.binary() by always considering data that contains \0 binary</li>
<li>Fix assembling scm_url when scmsync_obsinfo.revision is None</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.12.0:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Add &#x27;git-obs pr&#x27; command</li>
<li>Add &#x27;git-obs api&#x27; command for making arbitrary API calls</li>
<li>Change &#x27;git-obs&#x27; to use owner/repo[#pull] arguments consistently</li>
<li>Change &#x27;git-obs repo clone&#x27; command to store ssh command in core.sshCommand git config option</li>
<li>Fix &#x27;request list --interactive&#x27; command that wasn&#x27;t showing request forward prompt when message was part of the state change</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Avoid fetching _scmsync.obsinfo when scmsync url contains &#x27;noobsinfo&#x27; query parameter</li>
<li>Fix ssh key priority in &#x27;git-obs repo clone&#x27; command</li>
<li>Fix loading config entries with underscores instead of dashes in the keys</li>
<li>Fix detecting binary files</li>
<li>Fix diff highligting</li>
</ul>
</li>
<li>
<p>Connection:</p>
<ul>
<li>Implement retries in &#x27;git-obs&#x27;</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.11.1:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Fix &#x27;linkpac&#x27; command for projects with a project link</li>
<li>Fix &#x27;linkpac&#x27; command by always removing <scmsync> element from target meta</li>
<li>Fix command descriptions in help by moving the import statements under docstring in the do_*() methods</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.11.0:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Add hint how to deal with scmsync-nobranch scenarios</li>
<li>Speed loading commands up</li>
<li>Fix &#x27;log&#x27; command to work correctly with --meta --patch options</li>
<li>Document that &#x27;status&#x27; command prints unmodified files in verbose output</li>
<li>Hide progressbar.Bar widget after ProgressBar has completed</li>
<li>Avoid printing urlquoted file names in &#x27;getbinaries&#x27; command</li>
</ul>
</li>
<li>
<p>Configuration:</p>
<ul>
<li>Mute oscrc permissions warning when there&#x27;s no password set</li>
</ul>
</li>
<li>
<p>Connection:</p>
<ul>
<li>Save session cookie even if a request fails</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Fix local building in git projects</li>
<li>Extend xml.etree.ElementTree.ParseError output with a snippet of broken XML</li>
<li>Sync ScmsyncObsinfo with obs-scm-bridge</li>
<li>Move running obs_scm_bridge into run_obs_scm_bridge() function</li>
<li>Convert remaining makeurl() query parameters from deprecated string to dict</li>
<li>Add more operators to XPathQuery</li>
<li>Make &#x27;title&#x27; and &#x27;description&#x27; fields optional in the Package model</li>
<li>Fix progress bar code to support progressbar2</li>
<li>Support LoongArch64 architecture</li>
<li>Mute pylint errors in show_package_disabled_repos() that are false-positives</li>
<li>Fix another bytes/unicode issues in core.link_pac() by replacing ElementTree code with XML models</li>
<li>Fix handling &#x27;lock&#x27; field in &#x27;Package&#x27; model</li>
<li>Fix handling SimpleFlag model</li>
<li>Extend RequestActionSource with &#x27;repository&#x27; attribute</li>
<li>Load most of the modules in commandline.py on-demand</li>
<li>Fix traceback in &#x27;linkpac --disable-build&#x27;</li>
</ul>
</li>
<li>
<p>Spec:</p>
<ul>
<li>Add conflict with older versions of obs-service-source_validator to ensure that version compatible with .osc store 2.0 is installed</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.10.1:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Fix crash in &#x27;build&#x27; command due to undefined &#x27;build_root&#x27; variable</li>
</ul>
</li>
<li>
<p>Spec:</p>
<ul>
<li>Add missing python3-ruamel.yaml BuildRequires</li>
<li>Fix rpmlint error about creating the /usr/libexec/git/obs symlink</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.10.0:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>New git-obs executable with several subcommands</li>
<li>Support parameters on token triggers</li>
<li>Change &#x27;update&#x27; command to treat empty &#x27;.osc/_in_update/_files&#x27; as missing</li>
<li>Change &#x27;checkout&#x27; command to allow checkout obs imported sources of scmsync sources</li>
<li>Change &#x27;creq&#x27; command to allow specifying source and target repository</li>
<li>Change the help output to determine executable name from the command-line arguments</li>
<li>Add &#x27;--no-timestamps&#x27; parameter to &#x27;build&#x27; command</li>
<li>Fix &#x27;token&#x27; command to avoid crash  when a wipe token exists</li>
<li>Fix crash in &#x27;results&#x27; command by skipping non-status elements in project results</li>
<li>Fix crash in &#x27;build&#x27; command when building with --local-package --alternative-project from a locally initialized .osc package</li>
<li>Print buildroot directory when build or chroot finishes</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Add &#x27;gitea_api&#x27; module</li>
<li>Support the mkosi build type</li>
<li>Support copy of scmsync packages</li>
<li>Support Dockerfile.* in _multibuild packages</li>
<li>Implement obs_api.Status.data property that returns status data as a dictionary</li>
<li>Implement obs_api.Package.cmd_fork()</li>
<li>Fix meter by setting default of use_pb_fallback to False</li>
<li>Fix store migration from 1.0 to 2.0 when there is a &#x27;sources&#x27; file that would conflict with &#x27;sources&#x27; directory</li>
<li>Fix revision&#x27;d checkout of scmsync package</li>
<li>Refactor code handling _scmsync.obsinfo to obs_api.scmsync_obsinfo.ScmsyncObsinfo class</li>
<li>Store the container annotation in the "containers" directory</li>
</ul>
</li>
<li>
<p>Spec:</p>
<ul>
<li>Install symlink /usr/bin/git-obs to /usr/libexec/git/obs to make git-obs available as a git sub-command</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.9.2:</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Fix &#x27;resolved&#x27; command to skip subdirectories in package checkouts</li>
<li>Fix &#x27;comment&#x27; command to resolve project name</li>
<li>Implement meter.SimpleTextMeter that prints what&#x27;s being downloaded</li>
</ul>
</li>
<li>
<p>Connection:</p>
<ul>
<li>Use configured &#x27;http_headers&#x27; in HTTP requests</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Fix storing _buildinfo and _buildconfig files in .osc rather than among the source files</li>
<li>Use findtext() instead of find().text</li>
</ul>
</li>
<li>
<p>Spec:</p>
<ul>
<li>Recommend python3-zstandard to support opening control.tar.zst</li>
</ul>
</li>
</ul>
<p>osc was updated to 1.9.1::</p>
<ul>
<li>
<p>Command-line:</p>
<ul>
<li>Add &#x27;createrequest release&#x27; subcommand</li>
<li>Change &#x27;review list&#x27; command to omit requests with &#x27;declined&#x27; state</li>
<li>Fix <code>osc build --local-package</code></li>
<li>Fix typos</li>
</ul>
</li>
<li>
<p>Library:</p>
<ul>
<li>Fix extraction of the &#x27;ar&#x27; archives when they don&#x27;t contain header with long filenames</li>
<li>Fix iterating through arch_list in core.get_repos_of_project()</li>
<li>Check for None & len() of ET.Element instead of bool() in PackageBase.get_meta_value()</li>
</ul>
</li>
</ul>



    

    <h2>Patch Instructions:</h2>
    <p>
        To install this SUSE  update use the SUSE recommended
        installation methods like YaST online_update or "zypper patch".<br/>

        Alternatively you can run the command listed for your product:
    </p>
    <ul class="list-group">
        
            <li class="list-group-item">
                openSUSE Leap 15.6
                
                    
                        <br/>
                        <code>zypper in -t patch SUSE-2025-2255=1 openSUSE-SLE-15.6-2025-2255=1</code>
                    
                    
                
            </li>
        
            <li class="list-group-item">
                Development Tools Module 15-SP6
                
                    
                        <br/>
                        <code>zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP6-2025-2255=1</code>
                    
                    
                
            </li>
        
            <li class="list-group-item">
                Development Tools Module 15-SP7
                
                    
                        <br/>
                        <code>zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP7-2025-2255=1</code>
                    
                    
                
            </li>
        
    </ul>

    <h2>Package List:</h2>
    <ul>
        
            
                <li>
                    openSUSE Leap 15.6 (noarch)
                    <ul>
                        
                            <li>osc-1.17.0-150600.15.3.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    Development Tools Module 15-SP6 (noarch)
                    <ul>
                        
                            <li>osc-1.17.0-150600.15.3.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    Development Tools Module 15-SP7 (noarch)
                    <ul>
                        
                            <li>osc-1.17.0-150600.15.3.1</li>
                        
                    </ul>
                </li>
            
        
    </ul>

    
        <h2>References:</h2>
        <ul>
            
                
                    <li>
                        <a href="https://bugzilla.suse.com/show_bug.cgi?id=1243722">https://bugzilla.suse.com/show_bug.cgi?id=1243722</a>
                    </li>
                
            
        </ul>
    
</div>