Accepting request 935011 from systemsmanagement:SCC

- Update to version 0.0.4~git0.64b80e9, it now includes a library and ruby gem that can be used by yast-registration

OBS-URL: https://build.opensuse.org/request/show/935011
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/suseconnect-ng?expand=0&rev=4
This commit is contained in:
Dominique Leuenberger 2021-12-08 21:08:49 +00:00 committed by Git OBS Bridge
commit 56b563c1ec
5 changed files with 163 additions and 17 deletions

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/SUSE/connect-ng.git</param>
<param name="changesrevision">19e761bb2dee186b48f7f9318bdbaba8a6e6ad4d</param></service></servicedata>
<param name="changesrevision">64b80e975c8dc30cdcfc9d42787e4cae229e0a3c</param></service></servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:188260d43c9eb0c28a792a9bfa178314026718796685deceaeff6ab7acd48592
size 385912

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b70c71eedc3cb4aa3b55f0b8b7683144c0d90fa9891a7e21adf57b8fb70b17f1
size 593064

View File

@ -1,3 +1,115 @@
-------------------------------------------------------------------
Wed Dec 01 14:31:18 UTC 2021 - jan.suse@zerebecki.de
- Update to version 0.0.4~git0.64b80e9:
* Makefile: also run tests under ./suseconnect
* Switch yast-test to upstream
* Removed examples leftover from the POC phase
* Add HA repo to get rubygem(ffi) before it's in the baseproduct
* Add versions and lib deps
* Post-review cleanup
* Package libsuseconnect and shim
* Align with yast-registration tests
* Fix SSLCertificate mixins
* Fix logger crash and restore mixin
* Removed TODO item handled separately
* Enable debug early
* Add package search for YaST's "Online Search"
* Clarify Repo fields
* Export UpdateSystem()
* Export SystemActivations()
* Add migration functions
* Fix handling of IsBase attribute
* Add missing JSONError
* Add list_installer_updates
* Add "update certificates"
* Add more specific errors
* Improved SSL error handling
* Init defaults for get_config()
* Improved debug logging
* Fix error scopes
* Fix ApiError interface
* Added DEFAULT_CREDENTIALS_DIR const
* get proxy credentials from curlrc
* Forward logs from Connect to YaST
* Separate Info logger
* Added more TODO items
* Simplify Config object init
* Map Repo and Config fields to JSON
* Add remaining fields listed in addon.rb
* Add product_type field to product
* First working yast part
* Add relative path support to credentials
* Add steps to test from yast
* Add yast create_credentials_file
* Add CreateCredentials() method
* Add yast credentials()
* Add yast announce_system - WIP
* Add MergeJSON method for Config
* Add readme for YaST integration
* Fix usage text
* Add missing -g argument
* Fix OBS CI, it now requires target
* Add manpage placeholder
* Simplify packageWanted()
* Add sorting and grouping options
* Add local repo search and duplicate removal
* Add basic online package search
* Update rpm spec for zypper-search-packages-plugin
* Add CLI for zypper search-packages plugin
* Optional base product in package search
* Use DefaultTransport defaults + client timeout
* Extract ReleaseType from zypper output
* Print failed command on zypper error like the Ruby
* Add package_search API wrapper
* Allow de-register/de-activate a single product
* Improve docstring for the Status struct
* Always show subscription information if available
* Refactor getStatuses() to ease testing
* Add SUMA/Uyuni check
* Fix status output order to follow zypper product xml
* Change GetExtensionsList() to reduce calls
* Add the subscription name to status output
* allow --instance-data together with --regcode
* Post-review cleanups
* Add selfupdate functionality
* Handle Leap -> SLES migration scenario
* Add offline migrations support
* Change parse error string and add block comment
* Add disabling of obsolete repos
* Add zypper repos listing
* Add interactive migration selection
* Allow loading Config from any path
* Remove dummy flag
* Add snapper support
* Add zypper backup/restore functions
* Use connect.StringSet
* Add --query option
* Add product and break-my-system options
* Add note on conflicting flags
* Check for flag contradictions
* Add echoing output of executed commands to console
* Move product printing out of checkProducts()
* Split --debug and --verbose
* Add zypper dist-upgrade part
* Split migration code
* Extract migration sorting
* Expose migration(Add|Remove)Service() functions
* Trap SIGINT/SIGTERM
* Add zypper.RefreshRepos()
* Expose client.upgradeProduct()
* Add --root parameter
* Add --migration N parameter
* Prepare available migrations
* Add API call to get online migration paths
* Add system products checking
* Add quiet logger for easier --quiet handling
* Add zypper migration plugin implementation.
* Export toTriplet and installReleasePackage
* Add basic string set implementation
* Remove quiet param from execute() and zypperRun()
* Simplify mocking of external commands
-------------------------------------------------------------------
Fri Aug 27 22:46:39 UTC 2021 - jzerebecki@suse.com

View File

@ -20,7 +20,7 @@
%global import_path %{provider_prefix}
Name: suseconnect-ng
Version: 0.0.3~git9.19e761b
Version: 0.0.4~git0.64b80e9
Release: 0
URL: https://github.com/SUSE/connect-ng
License: LGPL-2.1-or-later
@ -30,11 +30,14 @@ Source: connect-ng-%{version}.tar.xz
Source1: %name-rpmlintrc
BuildRequires: go >= 1.16
BuildRequires: golang-packaging
BuildRequires: ruby-devel
BuildRequires: zypper
Obsoletes: SUSEConnect
Provides: SUSEConnect
Obsoletes: zypper-migration-plugin
Provides: zypper-migration-plugin
Obsoletes: SUSEConnect < 0.3.99
Provides: SUSEConnect = 0.3.99
Obsoletes: zypper-migration-plugin < 0.99
Provides: zypper-migration-plugin = 0.99
Obsoletes: zypper-search-packages-plugin < 0.99
Provides: zypper-search-packages-plugin = 0.99
%if 0%{?fedora} || 0%{?rhel} || 0%{?centos_version}
Requires: ca-certificates
%else
@ -67,6 +70,25 @@ replaced SUSEConnect.
%{go_nostrip}
%{go_provides}
%package -n libsuseconnect
Summary: C interface to suseconnect-ng.
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.
%package -n suseconnect-ruby-bindings
Summary: Ruby bindings for libsuseconnect library.
Group: System/Management
Requires: libsuseconnect
Requires: rubygem(ffi)
%description -n suseconnect-ruby-bindings
This package provides bindings needed to use libsuseconnect from Ruby scripts.
%prep
%setup -q -n connect-ng-%{version}
@ -77,30 +99,34 @@ echo %{version} > internal/connect/version.txt
find %_builddir/..
go list all
%gobuild suseconnect
# only to test that it compiles, nothing from it is installed for now
make -C %_builddir/go/src/github.com/SUSE/connect-ng build-so-example
mkdir -p %_builddir/go/lib
go build -v -buildmode=c-shared -o %_builddir/go/lib/libsuseconnect.so %import_path/libsuseconnect
find %_builddir/..
%install
%goinstall
ln -s suseconnect %buildroot/%_bindir/SUSEConnect
mkdir -p %buildroot/%_sbindir %buildroot/usr/lib/zypper/commands
ln -s ../bin/suseconnect %buildroot/%_sbindir/SUSEConnect
install -d -m0755 %buildroot/%_sbindir %buildroot/usr/lib/zypper/commands
ln -s %_bindir/suseconnect %buildroot/%_sbindir/SUSEConnect
ln -s %_bindir/suseconnect %buildroot/usr/lib/zypper/commands/zypper-migration
#TODO package ruby module
#cp /home/abuild/rpmbuild/BUILD/go/src/github.com/SUSE/connect-ng/ext/libsuseconnect.so %_libdir/libsuseconnect.so
ln -s %_bindir/suseconnect %buildroot/usr/lib/zypper/commands/zypper-search-packages
install -D -m0755 %_builddir/go/lib/libsuseconnect.so %buildroot/%_libdir/libsuseconnect.so
install -d -m0755 %buildroot/%_libdir/ruby/vendor_ruby/%rb_ver
cp -r %_builddir/go/src/%import_path/yast/lib/* %buildroot/%_libdir/ruby/vendor_ruby/%rb_ver
#TODO man pages not yet available in source, these are the names frome the ruby version
#/usr/share/man/man5/SUSEConnect.5.gz
#/usr/share/man/man8/SUSEConnect.8.gz
#/usr/share/man/man8/zypper-migration.8.gz
#/usr/share/man/man8/zypper-search-packages.8.gz
find %_builddir/..
# we currently do not ship the source for any go module
rm -rf %buildroot/usr/share/go
%check
%gotest github.com/SUSE/connect-ng/internal/connect
make -C %_builddir/go/src/github.com/SUSE/connect-ng gofmt
%gotest -v %import_path/internal/connect
%gotest -v %import_path/suseconnect
make -C %_builddir/go/src/%import_path gofmt
%files
%license LICENSE LICENSE.LGPL
@ -110,4 +136,12 @@ make -C %_builddir/go/src/github.com/SUSE/connect-ng gofmt
%_sbindir/SUSEConnect
/usr/lib/zypper/commands
%files -n libsuseconnect
%license LICENSE LICENSE.LGPL
%_libdir/libsuseconnect.so
%files -n suseconnect-ruby-bindings
%doc yast/README.md
%_libdir/ruby/vendor_ruby/%rb_ver/suse
%changelog