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 2023-07-19 19:10:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/suseconnect-ng (Old) and /work/SRC/openSUSE:Factory/.suseconnect-ng.new.5570 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "suseconnect-ng" Wed Jul 19 19:10:01 2023 rev:20 rq:1099075 version:1.2.0~git0.abd0fec Changes: -------- --- /work/SRC/openSUSE:Factory/suseconnect-ng/suseconnect-ng.changes 2023-06-17 22:19:44.799333653 +0200 +++ /work/SRC/openSUSE:Factory/.suseconnect-ng.new.5570/suseconnect-ng.changes 2023-07-19 19:10:09.312398110 +0200 @@ -1,0 +2,14 @@ +Mon Jul 10 09:51:29 UTC 2023 - tschm...@suse.com + +- Update to version 1.2.0~git0.abd0fec: + * enhance docs for package testing + * fix provides to be compatible with yast2-registration on SLE15SP3 and lower + +------------------------------------------------------------------- +Fri Jul 07 12:28:43 UTC 2023 - tschm...@suse.com + +- Update to version 1.1.0~git4.9156496: + * Fixed `provides` to work with yast2-registration on SLE15 < SP4 (bsc#1212799) + * Improve error message if product set more than once + +------------------------------------------------------------------- Old: ---- connect-ng-1.1.0~git2.f42b4b2a060e.tar.xz New: ---- connect-ng-1.2.0~git0.abd0fec.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ suseconnect-ng.spec ++++++ --- /var/tmp/diff_new_pack.liC4xU/_old 2023-07-19 19:10:09.844401222 +0200 +++ /var/tmp/diff_new_pack.liC4xU/_new 2023-07-19 19:10:09.848401245 +0200 @@ -23,11 +23,11 @@ %bcond_with hwinfo Name: suseconnect-ng -Version: 1.1.0~git2.f42b4b2a060e +Version: 1.2.0~git0.abd0fec Release: 0 URL: https://github.com/SUSE/connect-ng -Summary: Utility to register a system with the SUSE Customer Center License: LGPL-2.1-or-later +Summary: Utility to register a system with the SUSE Customer Center Group: System/Management Source: connect-ng-%{version}.tar.xz Source1: %name-rpmlintrc @@ -95,8 +95,8 @@ %package -n libsuseconnect Summary: C interface to suseconnect-ng -# the CLI is not used by libsuseconnect but it has the same dependencies and it's easier to keep one list above Group: System/Management +# the CLI is not used by libsuseconnect but it has the same dependencies and it's easier to keep one list above Requires: suseconnect-ng %description -n libsuseconnect @@ -107,6 +107,10 @@ Summary: Ruby bindings for libsuseconnect library Group: System/Management Requires: libsuseconnect +# Adding the rubygem provides, to work as a drop-in replacement for Ruby SUSEConnect on SLE15<SP4 +%if (0%{?sle_version} > 0 && 0%{?sle_version} < 150400) +Provides: rubygem(ruby:2.5.0:suse-connect) +%endif %description -n suseconnect-ruby-bindings This package provides bindings needed to use libsuseconnect from Ruby scripts. ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.liC4xU/_old 2023-07-19 19:10:09.900401550 +0200 +++ /var/tmp/diff_new_pack.liC4xU/_new 2023-07-19 19:10:09.904401573 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/SUSE/connect-ng.git</param> - <param name="changesrevision">f42b4b2a060e4235acf8f6b9e236abd12f088b98</param></service></servicedata> + <param name="changesrevision">abd0fec5d4a4b9ddd5eb25a9f18a1968b4dc8164</param></service></servicedata> (No newline at EOF) ++++++ connect-ng-1.1.0~git2.f42b4b2a060e.tar.xz -> connect-ng-1.2.0~git0.abd0fec.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/connect-ng-1.1.0~git2.f42b4b2a060e/.gitignore new/connect-ng-1.2.0~git0.abd0fec/.gitignore --- old/connect-ng-1.1.0~git2.f42b4b2a060e/.gitignore 2023-06-05 16:34:47.000000000 +0200 +++ new/connect-ng-1.2.0~git0.abd0fec/.gitignore 2023-07-10 11:01:35.000000000 +0200 @@ -1,3 +1,4 @@ out internal/connect/version.txt connect-ruby +obs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/connect-ng-1.1.0~git2.f42b4b2a060e/PACKAGE.md new/connect-ng-1.2.0~git0.abd0fec/PACKAGE.md --- old/connect-ng-1.1.0~git2.f42b4b2a060e/PACKAGE.md 2023-06-05 16:34:47.000000000 +0200 +++ new/connect-ng-1.2.0~git0.abd0fec/PACKAGE.md 2023-07-10 11:01:35.000000000 +0200 @@ -9,7 +9,7 @@ The version of `connect-ng` is a mix of a version specified in the `.spec` file and the git commit sha. The version is thus updated automatically on every git -commit. +commit. On a service run, the latest git tag gets copied as version to the .spec file. ## Step 2. The OBS package @@ -26,10 +26,11 @@ ### Testing the package locally First of all, you need to create an updated tar file. In order to do this, you -need to checkout the package and run the service that fetches the code: +need to checkout the package and run the service that fetches the code (change the +`revision` parameter in `_service` to build the tar from another branch than `main`): ```bash -$ osc co systemsmanagement:SCC suseconnect-ng +$ mkdir obs; cd obs; osc co systemsmanagement:SCC suseconnect-ng -o . $ osc service manualrun ``` @@ -53,7 +54,7 @@ This will give you an RPM you can install locally. -## Step 3. Update package version +## Step 3. Update package in OBS devel project The package is updated manually and it relies on the Git repository from `connect-ng` to contain the latest changes. Whenever you want to update the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/connect-ng-1.1.0~git2.f42b4b2a060e/suseconnect/suseconnect.go new/connect-ng-1.2.0~git0.abd0fec/suseconnect/suseconnect.go --- old/connect-ng-1.1.0~git2.f42b4b2a060e/suseconnect/suseconnect.go 2023-06-05 16:34:47.000000000 +0200 +++ new/connect-ng-1.2.0~git0.abd0fec/suseconnect/suseconnect.go 2023-07-10 11:01:35.000000000 +0200 @@ -32,6 +32,26 @@ } } +// singleStringFlag cannot be set more than once. +// e.g. `cmd -p abc -p def` will give a parse error. +type singleStringFlag struct { + value string + isSet bool +} + +func (p *singleStringFlag) String() string { + return p.value +} + +func (p *singleStringFlag) Set(value string) error { + if p.isSet { + return fmt.Errorf("this flag can only be specified once\n") + } + p.value = value + p.isSet = true + return nil +} + func connectMain() { var ( status bool @@ -46,7 +66,7 @@ fsRoot string namespace string token string - product string + product singleStringFlag instanceDataFile string listExtensions bool email string @@ -78,11 +98,11 @@ flag.StringVar(&namespace, "namespace", "", "") flag.StringVar(&token, "regcode", "", "") flag.StringVar(&token, "r", "", "") - flag.StringVar(&product, "product", "", "") - flag.StringVar(&product, "p", "", "") flag.StringVar(&instanceDataFile, "instance-data", "", "") flag.StringVar(&email, "email", "", "") flag.StringVar(&email, "e", "", "") + flag.Var(&product, "product", "") + flag.Var(&product, "p", "") flag.Parse() if version { @@ -121,8 +141,8 @@ if token != "" { connect.CFG.Token = token } - if product != "" { - if p, err := connect.SplitTriplet(product); err != nil { + if product.isSet { + if p, err := connect.SplitTriplet(product.value); err != nil { fmt.Print("Please provide the product identifier in this format: ") fmt.Print("<internal name>/<version>/<architecture>. You can find ") fmt.Print("these values by calling: 'SUSEConnect --list-extensions'\n") @@ -174,7 +194,7 @@ fmt.Print("Please use --instance-data only in combination ") fmt.Print("with --url pointing to your RMT or SMT server\n") os.Exit(1) - } else if connect.URLDefault() && token == "" && product == "" { + } else if connect.URLDefault() && token == "" && product.value == "" { flag.Usage() os.Exit(1) } else if isSumaManaged() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/connect-ng-1.1.0~git2.f42b4b2a060e/suseconnect-ng.spec new/connect-ng-1.2.0~git0.abd0fec/suseconnect-ng.spec --- old/connect-ng-1.1.0~git2.f42b4b2a060e/suseconnect-ng.spec 2023-06-05 16:34:47.000000000 +0200 +++ new/connect-ng-1.2.0~git0.abd0fec/suseconnect-ng.spec 2023-07-10 11:01:35.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package suseconnect-ng # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,6 +15,7 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # + %global provider_prefix github.com/SUSE/connect-ng %global import_path %{provider_prefix} @@ -22,7 +23,7 @@ %bcond_with hwinfo Name: suseconnect-ng -Version: 0.0.3~git112.d4980ea +Version: 1.1.0~git2.f42b4b2 Release: 0 URL: https://github.com/SUSE/connect-ng License: LGPL-2.1-or-later @@ -38,10 +39,10 @@ %else BuildRequires: go >= 1.16 %endif -BuildRequires: zypper BuildRequires: ruby-devel +BuildRequires: zypper -ExcludeArch: %ix86 s390 ppc64 +ExcludeArch: %ix86 s390 ppc64 %if %{with hwinfo} %global test_hwinfo_args -test-hwinfo @@ -55,7 +56,6 @@ BuildRequires: systemd %endif - Obsoletes: SUSEConnect < 1.1.0 Provides: SUSEConnect = 1.1.0 Obsoletes: zypper-migration-plugin < 0.99 @@ -98,6 +98,7 @@ Group: System/Management # the CLI is not used by libsuseconnect but it has the same dependencies and it's easier to keep one list above Requires: suseconnect-ng + %description -n libsuseconnect This package contains library which provides C interface to selected suseconnect-ng functions. @@ -106,6 +107,11 @@ Summary: Ruby bindings for libsuseconnect library Group: System/Management Requires: libsuseconnect +# Adding the rubygem provides, to work as a drop-in replacement for Ruby SUSEConnect on SLE15<SP4 +%if (0%{?sle_version} > 0 && 0%{?sle_version} < 150400) +Provides: rubygem(ruby:2.5.0:suse-connect) +%endif + %description -n suseconnect-ruby-bindings This package provides bindings needed to use libsuseconnect from Ruby scripts. @@ -236,3 +242,5 @@ %files -n suseconnect-ruby-bindings %doc yast/README.md %_libdir/ruby/vendor_ruby/%rb_ver/suse + +%changelog