Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gitea-cli for openSUSE:Factory 
checked in at 2026-11-06 19:59:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gitea-cli (Old)
 and      /work/SRC/openSUSE:Factory/.gitea-cli.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gitea-cli"

Fri Nov  6 19:59:39 2026 rev:2 rq:1395888 version:1.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/gitea-cli/gitea-cli.changes      2026-11-03 
17:59:08.495297496 +0100
+++ /work/SRC/openSUSE:Factory/.gitea-cli.new.3759290/gitea-cli.changes 
2026-11-06 20:07:55.179244122 +0100
@@ -1,0 +2,36 @@
+Thu Nov  5 19:37:22 UTC 2026 - Matej Cepl <[email protected]>
+
+- Update to 1.1.0:
+  - Features:
+    - --dry-run previews write requests without sending them on
+      commands that only change Gitea.
+    - --template formats JSON output with Go templates and gh
+      functions.
+    - gt schema lists JSON fields of every command.
+    - GITEA_CLI_ERROR_FORMAT=json reports failures as JSON on
+      stderr.
+    - gt gpg-key manages GPG keys with token verification.
+    - gt issue and gt pr lock, unlock, pin, unpin and delete
+      support batch operations.
+    - gt pr edit and gt issue edit support bi-directional
+      dependency changes.
+    - --select interactive selector on issue, pr, release, and
+      repo lists.
+    - gt notification list --all-accounts lists notifications
+      across all logged-in accounts.
+    - gt repo license and gt repo gitignore manage repository
+      templates.
+    - gt project workflow manages project board workflows
+      (needs Gitea 29).
+    - gt admin adds user, org, cron, and email administration
+      commands.
+  - Internal:
+    - Update gitea.dev/sdk to v1.5.1.
+
+-------------------------------------------------------------------
+Tue Nov  3 15:36:39 UTC 2026 - Michal Suchanek <[email protected]>
+
+- Fix crash on ppc64le (gh#golang/go#82324 bsc#1289089 bsc#1287612)
+  + unix-set-R12-before-the-ppc64x-syscall-branch.patch
+
+-------------------------------------------------------------------

Old:
----
  gitea-cli-1.0.0.tar.gz

New:
----
  gitea-cli-1.1.0.tar.gz
  unix-set-R12-before-the-ppc64x-syscall-branch.patch

----------(New B)----------
  New:- Fix crash on ppc64le (gh#golang/go#82324 bsc#1289089 bsc#1287612)
  + unix-set-R12-before-the-ppc64x-syscall-branch.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gitea-cli.spec ++++++
--- /var/tmp/diff_new_pack.J9MqOz/_old  2026-11-06 20:07:57.244330664 +0100
+++ /var/tmp/diff_new_pack.J9MqOz/_new  2026-11-06 20:07:57.246330748 +0100
@@ -16,13 +16,14 @@
 #
 
 Name:           gitea-cli
-Version:        1.0.0
+Version:        1.1.0
 Release:        0
 Summary:        Command-line client for Gitea
 License:        MIT
 URL:            https://gitea.com/gitea/cli
 Source0:        
https://gitea.com/gitea/cli/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Source1:        vendor.tar.zst
+Patch1:         unix-set-R12-before-the-ppc64x-syscall-branch.patch
 BuildRequires:  git-core
 BuildRequires:  golang(API) >= 1.27
 BuildRequires:  golang-packaging
@@ -36,7 +37,7 @@
 It requires a Gitea server running version 28 or newer.
 
 %prep
-%autosetup -n cli -a1
+%autosetup -n cli -a1 -p1
 
 %build
 export GOTOOLCHAIN=local

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.J9MqOz/_old  2026-11-06 20:07:57.330334268 +0100
+++ /var/tmp/diff_new_pack.J9MqOz/_new  2026-11-06 20:07:57.339334645 +0100
@@ -1,5 +1,5 @@
-mtime: 1793653108
-commit: 523a3d194c548f0d5aefc271debfe4f016ff25bb7415f2e80c3679a87e99dc59
+mtime: 1793980662
+commit: f38cfab9821c03543812d153dc2baee1e3081fadfa47541f177ffaf9599a23d2
 url: https://src.opensuse.org/mcepl/gitea-cli.git
 revision: factory
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-11-06 16:57:42.000000000 +0100
@@ -0,0 +1,6 @@
+*.obscpio
+*.osc
+_build.*
+_service:*
+.pbuild
+gitea-cli-*-build/

++++++ gitea-cli-1.0.0.tar.gz -> gitea-cli-1.1.0.tar.gz ++++++
++++ 10167 lines of diff (skipped)

++++++ unix-set-R12-before-the-ppc64x-syscall-branch.patch ++++++
>From f5cb0306ac0e4b93b83ddd53c36d6693af3214e3 Mon Sep 17 00:00:00 2001
From: Juan Manuel Mendez Rey <[email protected]>
Date: Mon, 19 Oct 2026 02:33:30 +0200
Subject: [PATCH] unix: set R12 before the ppc64x syscall branch

The four ppc64x syscall trampolines jump to the global entry point of
the generated ABI0 wrapper without setting R12. In a PIE that entry
point derives its TOC from R12, as ELFv2 requires of a caller entering
there, so the callee computes a wrong TOC and every global access
afterwards reads or writes the wrong memory. Any PIE binary that calls
unix.Syscall dies at startup on ppc64le.

Loading the target address into R12 instead of R31 fixes it and keeps
the indirect jump, so this does not reintroduce the linker range
problem that golang/go#81981 reported. In a non-PIE build the wrapper
has no TOC prologue and never reads R12, so nothing changes there.

Measured on a ten line program that calls unix.Syscall once, cross
compiled for ppc64le and run under qemu-user, three runs each:

    unpatched  -buildmode=pie     SIGSEGV  3/3
    patched    -buildmode=pie     ok       3/3
    unpatched  no -buildmode=pie  ok       3/3

Debian's ppc64el buildd hit this on real hardware while building siso,
which is how it was found.

Fixes golang/go#82324

Change-Id: I5f65469083461519f87597065646bf8b10750f72
Reviewed-on: https://go-review.googlesource.com/c/sys/+/850585
Reviewed-by: David Chase <[email protected]>
Reviewed-by: Carlos Amedee <[email protected]>
LUCI-TryBot-Result: [email protected] 
<[email protected]>
Auto-Submit: Paul Murphy <[email protected]>
Reviewed-by: Paul Murphy <[email protected]>
---
 unix/asm_linux_ppc64x.s | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s 
b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
index 2e1f4c3e..daa85713 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
@@ -14,13 +14,13 @@
 // The runtime may know about them.
 
 TEXT ·Syscall(SB),NOSPLIT,$0-56
-       MOVD    $syscall·Syscall(SB), R31
-       MOVD    R31, CTR
+       MOVD    $syscall·Syscall(SB), R12
+       MOVD    R12, CTR
        JMP     (CTR)
 
 TEXT ·Syscall6(SB),NOSPLIT,$0-80
-       MOVD    $syscall·Syscall6(SB), R31
-       MOVD    R31, CTR
+       MOVD    $syscall·Syscall6(SB), R12
+       MOVD    R12, CTR
        JMP     (CTR)
 
 TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
@@ -39,13 +39,13 @@ TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
        RET
 
 TEXT ·RawSyscall(SB),NOSPLIT,$0-56
-       MOVD    $syscall·RawSyscall(SB), R31
-       MOVD    R31, CTR
+       MOVD    $syscall·RawSyscall(SB), R12
+       MOVD    R12, CTR
        JMP     (CTR)
 
 TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
-       MOVD    $syscall·RawSyscall6(SB), R31
-       MOVD    R31, CTR
+       MOVD    $syscall·RawSyscall6(SB), R12
+       MOVD    R12, CTR
        JMP     (CTR)
 
 TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
-- 
2.51.0


++++++ vendor.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/gitea.dev/sdk/project_workflow.go 
new/vendor/gitea.dev/sdk/project_workflow.go
--- old/vendor/gitea.dev/sdk/project_workflow.go        1970-01-01 
01:00:00.000000000 +0100
+++ new/vendor/gitea.dev/sdk/project_workflow.go        2026-11-05 
18:05:26.000000000 +0100
@@ -0,0 +1,191 @@
+// Copyright 2026 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package gitea
+
+import (
+       "bytes"
+       "context"
+       "encoding/json"
+       "fmt"
+       "net/url"
+       "strings"
+       "time"
+)
+
+// ProjectWorkflowEvent is what triggers a project workflow
+type ProjectWorkflowEvent string
+
+const (
+       // ProjectWorkflowEventItemAddedToProject runs when an issue or pull 
request is added to the project
+       ProjectWorkflowEventItemAddedToProject ProjectWorkflowEvent = 
"item_added_to_project"
+       // ProjectWorkflowEventItemRemovedFromProject runs when an issue or 
pull request is removed from the project
+       ProjectWorkflowEventItemRemovedFromProject ProjectWorkflowEvent = 
"item_removed_from_project"
+       // ProjectWorkflowEventItemReopened runs when an issue or pull request 
of the project is reopened
+       ProjectWorkflowEventItemReopened ProjectWorkflowEvent = "item_reopened"
+       // ProjectWorkflowEventItemClosed runs when an issue or pull request of 
the project is closed
+       ProjectWorkflowEventItemClosed ProjectWorkflowEvent = "item_closed"
+       // ProjectWorkflowEventItemColumnChanged runs when an item moves to 
another column
+       ProjectWorkflowEventItemColumnChanged ProjectWorkflowEvent = 
"item_column_changed"
+       // ProjectWorkflowEventCodeChangesRequested runs when a review requests 
changes on a pull request
+       ProjectWorkflowEventCodeChangesRequested ProjectWorkflowEvent = 
"code_changes_requested"
+       // ProjectWorkflowEventCodeReviewApproved runs when a review approves a 
pull request
+       ProjectWorkflowEventCodeReviewApproved ProjectWorkflowEvent = 
"code_review_approved"
+       // ProjectWorkflowEventPullRequestMerged runs when a pull request of 
the project is merged
+       ProjectWorkflowEventPullRequestMerged ProjectWorkflowEvent = 
"pull_request_merged"
+)
+
+// ProjectWorkflowFilters restricts which items a project workflow runs for
+type ProjectWorkflowFilters struct {
+       // "issue" or "pull_request", empty matches both
+       IssueType string `json:"issue_type,omitempty"`
+       // Only for item_column_changed
+       SourceColumnID int64 `json:"source_column_id,omitempty"`
+       // Only for item_column_changed
+       TargetColumnID int64 `json:"target_column_id,omitempty"`
+       // The item must have all of these labels
+       LabelIDs []int64 `json:"label_ids,omitempty"`
+}
+
+// ProjectWorkflowActions describes what a project workflow does to a matching 
item
+type ProjectWorkflowActions struct {
+       ColumnID       int64   `json:"column_id,omitempty"`
+       AddLabelIDs    []int64 `json:"add_label_ids,omitempty"`
+       RemoveLabelIDs []int64 `json:"remove_label_ids,omitempty"`
+       // "close" or "reopen"
+       IssueState string `json:"issue_state,omitempty"`
+}
+
+// ProjectWorkflow represents an automation of a project
+type ProjectWorkflow struct {
+       ID      int64                  `json:"id"`
+       Event   ProjectWorkflowEvent   `json:"event"`
+       Enabled bool                   `json:"enabled"`
+       Filters ProjectWorkflowFilters `json:"filters"`
+       Actions ProjectWorkflowActions `json:"actions"`
+       Created time.Time              `json:"created_at"`
+       Updated time.Time              `json:"updated_at"`
+}
+
+// CreateProjectWorkflowOption options for creating a project workflow
+type CreateProjectWorkflowOption struct {
+       Event ProjectWorkflowEvent `json:"event"`
+       // Defaults to true
+       Enabled *bool                  `json:"enabled,omitempty"`
+       Filters ProjectWorkflowFilters `json:"filters"`
+       Actions ProjectWorkflowActions `json:"actions"`
+}
+
+// Validate the CreateProjectWorkflowOption struct
+func (opt CreateProjectWorkflowOption) Validate() error {
+       if len(strings.TrimSpace(string(opt.Event))) == 0 {
+               return fmt.Errorf("event is empty")
+       }
+       return nil
+}
+
+// EditProjectWorkflowOption options for editing a project workflow, omitted 
fields are left unchanged
+type EditProjectWorkflowOption struct {
+       Enabled *bool                   `json:"enabled,omitempty"`
+       Filters *ProjectWorkflowFilters `json:"filters,omitempty"`
+       Actions *ProjectWorkflowActions `json:"actions,omitempty"`
+}
+
+// workflowPath returns the path of a single workflow of a project
+func (s ProjectScope) workflowPath(projectID, workflowID int64) (string, 
error) {
+       base, err := s.projectPath(projectID)
+       if err != nil {
+               return "", err
+       }
+       return fmt.Sprintf("%s/workflows/%d", base, workflowID), nil
+}
+
+// ListProjectWorkflows lists the workflows of a project.
+// Requires Gitea 29.0.0 or later.
+func (c *ProjectsService) ListProjectWorkflows(ctx context.Context, scope 
ProjectScope, projectID int64, opt ListOptions) ([]*ProjectWorkflow, *Response, 
error) {
+       if err := c.checkServerVersionGreaterThanOrEqual(ctx, version29_0_0); 
err != nil {
+               return nil, nil, err
+       }
+       base, err := scope.projectPath(projectID)
+       if err != nil {
+               return nil, nil, err
+       }
+       opt.setDefaults()
+       workflows := make([]*ProjectWorkflow, 0, opt.PageSize)
+
+       link, _ := url.Parse(base + "/workflows")
+       link.RawQuery = opt.getURLQuery().Encode()
+       resp, err := c.getParsedResponse(ctx, "GET", link.String(), jsonHeader, 
nil, &workflows)
+       return workflows, resp, err
+}
+
+// GetProjectWorkflow gets one workflow of a project.
+// Requires Gitea 29.0.0 or later.
+func (c *ProjectsService) GetProjectWorkflow(ctx context.Context, scope 
ProjectScope, projectID, workflowID int64) (*ProjectWorkflow, *Response, error) 
{
+       if err := c.checkServerVersionGreaterThanOrEqual(ctx, version29_0_0); 
err != nil {
+               return nil, nil, err
+       }
+       path, err := scope.workflowPath(projectID, workflowID)
+       if err != nil {
+               return nil, nil, err
+       }
+       workflow := new(ProjectWorkflow)
+       resp, err := c.getParsedResponse(ctx, "GET", path, jsonHeader, nil, 
workflow)
+       return workflow, resp, err
+}
+
+// CreateProjectWorkflow adds a workflow to a project.
+// Requires Gitea 29.0.0 or later.
+func (c *ProjectsService) CreateProjectWorkflow(ctx context.Context, scope 
ProjectScope, projectID int64, opt CreateProjectWorkflowOption) 
(*ProjectWorkflow, *Response, error) {
+       if err := c.checkServerVersionGreaterThanOrEqual(ctx, version29_0_0); 
err != nil {
+               return nil, nil, err
+       }
+       if err := opt.Validate(); err != nil {
+               return nil, nil, err
+       }
+       base, err := scope.projectPath(projectID)
+       if err != nil {
+               return nil, nil, err
+       }
+       body, err := json.Marshal(&opt)
+       if err != nil {
+               return nil, nil, err
+       }
+       workflow := new(ProjectWorkflow)
+       resp, err := c.getParsedResponse(ctx, "POST", base+"/workflows", 
jsonHeader, bytes.NewReader(body), workflow)
+       return workflow, resp, err
+}
+
+// EditProjectWorkflow changes a workflow of a project.
+// Requires Gitea 29.0.0 or later.
+func (c *ProjectsService) EditProjectWorkflow(ctx context.Context, scope 
ProjectScope, projectID, workflowID int64, opt EditProjectWorkflowOption) 
(*ProjectWorkflow, *Response, error) {
+       if err := c.checkServerVersionGreaterThanOrEqual(ctx, version29_0_0); 
err != nil {
+               return nil, nil, err
+       }
+       path, err := scope.workflowPath(projectID, workflowID)
+       if err != nil {
+               return nil, nil, err
+       }
+       body, err := json.Marshal(&opt)
+       if err != nil {
+               return nil, nil, err
+       }
+       workflow := new(ProjectWorkflow)
+       resp, err := c.getParsedResponse(ctx, "PATCH", path, jsonHeader, 
bytes.NewReader(body), workflow)
+       return workflow, resp, err
+}
+
+// DeleteProjectWorkflow removes a workflow from a project.
+// Requires Gitea 29.0.0 or later.
+func (c *ProjectsService) DeleteProjectWorkflow(ctx context.Context, scope 
ProjectScope, projectID, workflowID int64) (*Response, error) {
+       if err := c.checkServerVersionGreaterThanOrEqual(ctx, version29_0_0); 
err != nil {
+               return nil, err
+       }
+       path, err := scope.workflowPath(projectID, workflowID)
+       if err != nil {
+               return nil, err
+       }
+       _, resp, err := c.getResponse(ctx, "DELETE", path, jsonHeader, nil)
+       return resp, err
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/gitea.dev/sdk/version.go 
new/vendor/gitea.dev/sdk/version.go
--- old/vendor/gitea.dev/sdk/version.go 2026-11-02 18:35:07.000000000 +0100
+++ new/vendor/gitea.dev/sdk/version.go 2026-11-05 18:05:26.000000000 +0100
@@ -144,6 +144,7 @@
        version1_26_0 = version.Must(version.NewVersion("1.26.0"))
        version1_27_0 = version.Must(version.NewVersion("1.27.0"))
        version28_0_0 = version.Must(version.NewVersion("28.0.0"))
+       version29_0_0 = version.Must(version.NewVersion("29.0.0"))
 )
 
 // ErrUnknownVersion is an unknown version from the API
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt      2026-11-02 18:35:07.000000000 +0100
+++ new/vendor/modules.txt      2026-11-05 18:05:26.000000000 +0100
@@ -33,7 +33,7 @@
 ## explicit; go 1.14
 code.gitea.io/gitea-vet
 code.gitea.io/gitea-vet/checks
-# gitea.dev/sdk v1.5.0
+# gitea.dev/sdk v1.5.1
 ## explicit; go 1.26.0
 gitea.dev/sdk
 # github.com/42wim/httpsig v1.3.0

Reply via email to