Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package suseconnect-ng for openSUSE:Factory 
checked in at 2026-04-04 19:05:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/suseconnect-ng (Old)
 and      /work/SRC/openSUSE:Factory/.suseconnect-ng.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "suseconnect-ng"

Sat Apr  4 19:05:27 2026 rev:33 rq:1344349 version:1.21.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/suseconnect-ng/suseconnect-ng.changes    
2026-03-28 20:12:29.239283993 +0100
+++ /work/SRC/openSUSE:Factory/.suseconnect-ng.new.21863/suseconnect-ng.changes 
2026-04-04 19:06:53.699839909 +0200
@@ -1,0 +2,8 @@
+Wed Apr  1 16:43:26 UTC 2026 - Fergal Mc Carthy <[email protected]>
+
+- Update version to 1.21.1:
+  - Fix nil token handling (bsc#1261155)
+  - Switch to using go1.24-openssl as the default Go version to
+    install to support building the package (jsc#SCC-585).
+
+-------------------------------------------------------------------

Old:
----
  suseconnect-ng-1.21.0.tar.xz

New:
----
  suseconnect-ng-1.21.1.tar.xz

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

Other differences:
------------------
++++++ suseconnect-ng.spec ++++++
--- /var/tmp/diff_new_pack.Y0k0S5/_old  2026-04-04 19:06:54.507873039 +0200
+++ /var/tmp/diff_new_pack.Y0k0S5/_new  2026-04-04 19:06:54.507873039 +0200
@@ -19,7 +19,7 @@
 %global project github.com/SUSE/connect-ng
 
 Name:           suseconnect-ng
-Version:        1.21.0
+Version:        1.21.1
 Release:        0
 URL:            https://github.com/SUSE/connect-ng
 License:        LGPL-3.0-or-later
@@ -30,11 +30,11 @@
 Source2:        vendor.tar.xz
 
 # Build against latest golang in Tumbleweed and
-# go1.21-openssl on all other distributions
+# go1.24-openssl on all other distributions
 %if 0%{?suse_version} == 1699
 BuildRequires:  golang(API)
 %else
-BuildRequires:  go1.21-openssl
+BuildRequires:  go1.24-openssl
 %endif
 
 BuildRequires:  ruby-devel

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Y0k0S5/_old  2026-04-04 19:06:54.547874679 +0200
+++ /var/tmp/diff_new_pack.Y0k0S5/_new  2026-04-04 19:06:54.563875335 +0200
@@ -2,7 +2,7 @@
   <service name="tar_scm" mode="manual">
     <param name="scm">git</param>
     <param name="url">https://github.com/SUSE/connect-ng.git</param>
-    <param name="revision">v1.21.0</param>
+    <param name="revision">v1.21.1</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ suseconnect-ng-1.21.0.tar.xz -> suseconnect-ng-1.21.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suseconnect-ng-1.21.0/.github/workflows/features.yml 
new/suseconnect-ng-1.21.1/.github/workflows/features.yml
--- old/suseconnect-ng-1.21.0/.github/workflows/features.yml    2026-03-24 
11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/.github/workflows/features.yml    2026-04-01 
20:21:33.000000000 +0200
@@ -28,7 +28,7 @@
   feature-tests:
     runs-on: ubuntu-latest
     container:
-      image: registry.suse.com/bci/golang:1.21-openssl
+      image: registry.suse.com/bci/golang:1.24-openssl
       options: --user root --privileged
 
     steps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/suseconnect-ng-1.21.0/.github/workflows/lint-unit.yml 
new/suseconnect-ng-1.21.1/.github/workflows/lint-unit.yml
--- old/suseconnect-ng-1.21.0/.github/workflows/lint-unit.yml   2026-03-24 
11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/.github/workflows/lint-unit.yml   2026-04-01 
20:21:33.000000000 +0200
@@ -23,7 +23,7 @@
   unit-tests:
     runs-on: ubuntu-latest
     container:
-      image: registry.suse.com/bci/golang:1.21-openssl
+      image: registry.suse.com/bci/golang:1.24-openssl
 
     steps:
       - uses: actions/checkout@v4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suseconnect-ng-1.21.0/Makefile 
new/suseconnect-ng-1.21.1/Makefile
--- old/suseconnect-ng-1.21.0/Makefile  2026-03-24 11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/Makefile  2026-04-01 20:21:33.000000000 +0200
@@ -8,7 +8,7 @@
 BINFLAGS      = -buildmode=pie
 SOFLAGS       = -buildmode=c-shared
 
-CONTAINER     = registry.suse.com/bci/golang:1.21-openssl
+CONTAINER     = registry.suse.com/bci/golang:1.24-openssl
 CRM           = docker run --rm -it --privileged
 ENVFILE       = .env
 WORKDIR       = /usr/src/connect-ng
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suseconnect-ng-1.21.0/README.md 
new/suseconnect-ng-1.21.1/README.md
--- old/suseconnect-ng-1.21.0/README.md 2026-03-24 11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/README.md 2026-04-01 20:21:33.000000000 +0200
@@ -26,7 +26,7 @@
 ### Build in container
 If you don't have a go compiler installed, you can run the build in a 
container: 
 ```
-docker run --rm -v $(pwd):/connect registry.suse.com/bci/golang:1.21-openssl 
sh -c "git config --global --add safe.directory /connect; cd /connect; make 
build"
+docker run --rm -v $(pwd):/connect registry.suse.com/bci/golang:1.24-openssl 
sh -c "git config --global --add safe.directory /connect; cd /connect; make 
build"
 ```
 This will create a `out/suseconnect` binary on the host.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suseconnect-ng-1.21.0/build/ci/README.md 
new/suseconnect-ng-1.21.1/build/ci/README.md
--- old/suseconnect-ng-1.21.0/build/ci/README.md        2026-03-24 
11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/build/ci/README.md        2026-04-01 
20:21:33.000000000 +0200
@@ -40,7 +40,7 @@
 We use the official SUSE Golang container, providing all we need to run the 
tests:
 
 ```
-export IMAGE="registry.suse.com/bci/golang:1.21-openssl"
+export IMAGE="registry.suse.com/bci/golang:1.24-openssl"
 # Run the required container:
 $ docker run --rm -it --env-file .env -v $(pwd):/usr/src/connect-ng $IMAGE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/suseconnect-ng-1.21.0/build/packaging/suseconnect-ng.changes 
new/suseconnect-ng-1.21.1/build/packaging/suseconnect-ng.changes
--- old/suseconnect-ng-1.21.0/build/packaging/suseconnect-ng.changes    
2026-03-24 11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/build/packaging/suseconnect-ng.changes    
2026-04-01 20:21:33.000000000 +0200
@@ -1,4 +1,12 @@
 -------------------------------------------------------------------
+Wed Apr  1 16:43:26 UTC 2026 - Fergal Mc Carthy <[email protected]>
+
+- Update version to 1.21.1:
+  - Fix nil token handling (bsc#1261155)
+  - Switch to using go1.24-openssl as the default Go version to
+    install to support building the package (jsc#SCC-585).
+
+-------------------------------------------------------------------
 Thu Mar 12 18:53:13 UTC 2026 - Felix Schnizlein <[email protected]>
 
 - Update version to 1.21:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/suseconnect-ng-1.21.0/build/packaging/suseconnect-ng.spec 
new/suseconnect-ng-1.21.1/build/packaging/suseconnect-ng.spec
--- old/suseconnect-ng-1.21.0/build/packaging/suseconnect-ng.spec       
2026-03-24 11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/build/packaging/suseconnect-ng.spec       
2026-04-01 20:21:33.000000000 +0200
@@ -19,7 +19,7 @@
 %global project github.com/SUSE/connect-ng
 
 Name:           suseconnect-ng
-Version:        1.21.0
+Version:        1.21.1
 Release:        0
 URL:            https://github.com/SUSE/connect-ng
 License:        LGPL-3.0-or-later
@@ -30,11 +30,11 @@
 Source2:        vendor.tar.xz
 
 # Build against latest golang in Tumbleweed and
-# go1.21-openssl on all other distributions
+# go1.24-openssl on all other distributions
 %if 0%{?suse_version} == 1699
 BuildRequires:  golang(API)
 %else
-BuildRequires:  go1.21-openssl
+BuildRequires:  go1.24-openssl
 %endif
 
 BuildRequires:  ruby-devel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suseconnect-ng-1.21.0/features/README.md 
new/suseconnect-ng-1.21.1/features/README.md
--- old/suseconnect-ng-1.21.0/features/README.md        2026-03-24 
11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/features/README.md        2026-04-01 
20:21:33.000000000 +0200
@@ -18,7 +18,7 @@
 ```
  # Make sure your .env is populated!
  $ cp .env-example .env
- $ docker run --rm --privileged --env-file .env -ti -v $(pwd):/connect 
registry.suse.com/bci/golang:1.21-openssl
+ $ docker run --rm --privileged --env-file .env -ti -v $(pwd):/connect 
registry.suse.com/bci/golang:1.24-openssl
  > git config --global --add safe.directory /connect
  > cd /connect
  > make build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suseconnect-ng-1.21.0/features/helpers/api.go 
new/suseconnect-ng-1.21.1/features/helpers/api.go
--- old/suseconnect-ng-1.21.0/features/helpers/api.go   2026-03-24 
11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/features/helpers/api.go   2026-04-01 
20:21:33.000000000 +0200
@@ -27,14 +27,20 @@
        }
 }
 
-func (api *ValidationAPI) FetchCredentials() {
+func (api *ValidationAPI) GetCredentials() credentials.Credentials {
        creds, readErr := 
credentials.ReadCredentials(credentials.SystemCredentialsPath("/"))
 
        if readErr != nil {
                assert.FailNow(api.t, "Can not read credentials while I should 
be able: %s", readErr)
-               return
+               return creds
        }
+       return creds
+
 
+}
+
+func (api *ValidationAPI) FetchCredentials() {
+       creds := api.GetCredentials()
        conn := 
connection.New(connection.DefaultOptions("connect-integration-tests", "0.0.0", 
"us"), &creds)
        api.conn = conn
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/suseconnect-ng-1.21.0/features/suseconnect/extensions_test.go 
new/suseconnect-ng-1.21.1/features/suseconnect/extensions_test.go
--- old/suseconnect-ng-1.21.0/features/suseconnect/extensions_test.go   
2026-03-24 11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/features/suseconnect/extensions_test.go   
2026-04-01 20:21:33.000000000 +0200
@@ -7,6 +7,7 @@
        "github.com/SUSE/connect-ng/features/helpers"
        "github.com/SUSE/connect-ng/pkg/registration"
        "github.com/stretchr/testify/assert"
+       "github.com/stretchr/testify/require"
 )
 
 func TestExtensions(t *testing.T) {
@@ -122,6 +123,7 @@
 func testActivateExtensionWithoutRegcode(t *testing.T) {
        assert := assert.New(t)
 
+       api := helpers.NewValidationAPI(t)
        zypp := helpers.NewZypper(t)
        _, version, arch := zypp.BaseProduct()
 
@@ -130,8 +132,10 @@
        cli := helpers.NewRunner(t, "suseconnect -p %s", extension)
 
        cli.Run()
+       creds := api.GetCredentials()
        assert.Contains(cli.Stdout(), "Error: Registration server returned 
'Please provide a Registration Code for this product'")
        assert.Equal(67, cli.ExitCode())
+       assert.NotEqual("", creds.SystemToken, "Failed extension activation 
should not clear saved system token")
 }
 
 func testActivateAndDeactivateExtensionWithRegcode(t *testing.T) {
@@ -158,17 +162,49 @@
 
 func testActivateLeafModule(t *testing.T) {
        assert := assert.New(t)
+       require := require.New(t)
 
        zypp := helpers.NewZypper(t)
-       _, version, arch := zypp.BaseProduct()
+       identifier, version, arch := zypp.BaseProduct()
+       api := helpers.NewValidationAPI(t)
+       // Assume we are already registered
+       api.FetchCredentials()
 
        // Pick a module which is depended on another module which is not yet 
activated
-       // HPC requires Web and Scripting module
-       extension := fmt.Sprintf("%s/%s/%s", "sle-module-hpc", version, arch)
+       // HPC requires Web and Scripting module in SLE 15
+       // NOTE: This test may not be viable in a SLE 16 based test environment
+       targetModule := "sle-module-hpc"
+       dependentModule := "sle-module-web-scripting"
+       extension := fmt.Sprintf("%s/%s/%s", targetModule, version, arch)
+
+       // determine friendly names for the target and dependent modules
+       targetFriendlyName := ""
+       dependentFriendlyName := ""
+       tree := api.ProductTree(identifier, version, arch)
+       tree.TraverseExtensions(func(ext registration.Product) (bool, error) {
+               switch ext.Identifier {
+               case targetModule:
+                       targetFriendlyName = ext.FriendlyName
+               case dependentModule:
+                       dependentFriendlyName = ext.FriendlyName
+               }
+               if targetFriendlyName != "" && dependentFriendlyName != "" {
+                       return false, nil
+               }
+               return true, nil
+       })
+
+       // ensure test fails immediately if unable to determine the friendly 
names of
+       // the target and dependent modules
+       require.NotEmpty(targetFriendlyName, "Failed to determine friendly name 
for %q extension", targetModule)
+       require.NotEmpty(dependentFriendlyName, "Failed to determine friendly 
name for %q extension", targetModule)
+
+       // construct expected error message for failure using discovered 
friendly names
+       expectedError := fmt.Sprintf("Error: Registration server returned 'The 
product you are attempting to activate (%s) requires one of these products to 
be activated first: %s'", targetFriendlyName, dependentFriendlyName)
 
        cli := helpers.NewRunner(t, "suseconnect -p %s", extension)
        cli.Run()
 
-       assert.Contains(cli.Stdout(), "Error: Registration server returned 'The 
product you are attempting to activate (HPC Module 15 SP6 x86_64) requires one 
of these products to be activated first: Web and Scripting Module 15 SP6 
x86_64'")
+       assert.Contains(cli.Stdout(), expectedError)
        assert.Equal(67, cli.ExitCode())
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/suseconnect-ng-1.21.0/internal/credentials/credentials.go 
new/suseconnect-ng-1.21.1/internal/credentials/credentials.go
--- old/suseconnect-ng-1.21.0/internal/credentials/credentials.go       
2026-03-24 11:41:17.000000000 +0100
+++ new/suseconnect-ng-1.21.1/internal/credentials/credentials.go       
2026-04-01 20:21:33.000000000 +0200
@@ -8,6 +8,7 @@
        "os"
        "path/filepath"
        "regexp"
+       "strings"
 
        "github.com/SUSE/connect-ng/internal/util"
 )
@@ -47,7 +48,13 @@
 
 // Writes into the configuration the given system token and updates the value 
of
 // this instance. Needed to implement the Credentials interface from `pkg/`.
+// Do not update system token if token is empty.
 func (c *Credentials) UpdateToken(token string) error {
+       token = strings.TrimSpace(token)
+       if token == "" {
+               util.Debug.Printf("Skipping null token\n")
+               return nil
+       }
        c.SystemToken = token
 
        util.Debug.Printf("Token has been updated to `%s`\n", c.Username)

++++++ vendor.tar.xz ++++++
++++ 3806 lines of diff (skipped)

Reply via email to