diff --git a/.gitignore b/.gitignore
index 1a9e688..6f72c72 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
-SOURCES/rhc-0.2.2.tar.gz
-SOURCES/yggdrasil-0.2.1.tar.gz
-SOURCES/yggdrasil-worker-package-manager-0.1.0.tar.gz
+SOURCES/rhc-0.2.4.tar.gz
+SOURCES/yggdrasil-0.2.4.tar.gz
+SOURCES/yggdrasil-worker-package-manager-0.1.3.tar.xz
diff --git a/.rhc.metadata b/.rhc.metadata
index 725a0bf..644febf 100644
--- a/.rhc.metadata
+++ b/.rhc.metadata
@@ -1,3 +1,3 @@
-7f90428c84e86660930463c8f31765c023dea8c7 SOURCES/rhc-0.2.2.tar.gz
-55a3abc8515dede8b7ff41905447e08f5e6c01d7 SOURCES/yggdrasil-0.2.1.tar.gz
-0582350e1001af0d608772860045f7f4964aa321 SOURCES/yggdrasil-worker-package-manager-0.1.0.tar.gz
+d86980ee8506b164209dbd991df36199922d8592 SOURCES/rhc-0.2.4.tar.gz
+4fca792b47a5dea8d3f12df8ea7f4ab6763d2be9 SOURCES/yggdrasil-0.2.4.tar.gz
+307a2ca145c93b20c41b7f802f5b6fcf61dff3ae SOURCES/yggdrasil-worker-package-manager-0.1.3.tar.xz
diff --git a/SOURCES/0001-feat-default-config-file-location.patch b/SOURCES/0001-feat-default-config-file-location.patch
deleted file mode 100644
index 7afda51..0000000
--- a/SOURCES/0001-feat-default-config-file-location.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- main.go.orig 2022-02-11 15:41:53.199642591 -0500
-+++ main.go 2022-02-11 15:42:43.738219604 -0500
-@@ -6,6 +6,7 @@
- "fmt"
- "net"
- "os"
-+ "path/filepath"
- "strconv"
- "strings"
- "time"
-@@ -21,7 +22,7 @@
- )
-
- func main() {
-- fs := flag.NewFlagSet("yggd-package-manager-worker", flag.ExitOnError)
-+ fs := flag.NewFlagSet(filepath.Base(os.Args[0]), flag.ExitOnError)
-
- var (
- socketAddr = ""
-@@ -32,7 +33,7 @@
- fs.StringVar(&socketAddr, "socket-addr", "", "dispatcher socket address")
- fs.Var(&logLevel, "log-level", "log verbosity level (error (default), warn, info, debug, trace)")
- fs.Var(&allowPatterns, "allow-pattern", "regular expression pattern to allow package operations\n(can be specified multiple times)")
-- _ = fs.String("config", "", "path to `file` containing configuration values (optional)")
-+ _ = fs.String("config", filepath.Join("/", "etc", "rhc", "workers", "rhc-package-manager.toml"), "path to `file` containing configuration values (optional)")
-
- ff.Parse(fs, os.Args[1:], ff.WithEnvVarPrefix("YGG"), ff.WithConfigFileFlag("config"), ff.WithConfigFileParser(fftoml.Parser))
-
diff --git a/SOURCES/0001-fix-read-worker-output-using-io.Read.patch b/SOURCES/0001-fix-read-worker-output-using-io.Read.patch
deleted file mode 100644
index c33e4f3..0000000
--- a/SOURCES/0001-fix-read-worker-output-using-io.Read.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From d75dc60df73a88b0a14c799f3b6f1e8f66cee3d4 Mon Sep 17 00:00:00 2001
-From: Link Dupont
-Date: Tue, 22 Nov 2022 13:07:41 -0500
-Subject: [PATCH] fix: read worker output using io.Read
-
-Some workers output a lot of text to stderr and stdout. Rather than
-scanning stderr and stdout into a buffer using a bufio.Scanner, read a
-fixed number of bytes at a time. This will break lines of output from
-the worker in the middle of words, making reading stdout in the logs
-more difficult, but avoids the overly verbose workers from hitting the
-bufio.ErrTooLong error.
-
-Signed-off-by: Link Dupont
----
- cmd/yggd/exec.go | 46 +++++++++++++++++++++++++++++++++-------------
- 1 file changed, 33 insertions(+), 13 deletions(-)
-
-diff --git a/cmd/yggd/exec.go b/cmd/yggd/exec.go
-index 4eb1757..a2a3d29 100644
---- a/cmd/yggd/exec.go
-+++ b/cmd/yggd/exec.go
-@@ -1,8 +1,8 @@
- package main
-
- import (
-- "bufio"
- "fmt"
-+ "io"
- "io/ioutil"
- "os"
- "os/exec"
-@@ -54,22 +54,42 @@ func startProcess(file string, env []string, delay time.Duration, died chan int)
- log.Debugf("started process: %v", cmd.Process.Pid)
-
- go func() {
-- scanner := bufio.NewScanner(stdout)
-- for scanner.Scan() {
-- log.Tracef("[%v] %v", file, scanner.Text())
-- }
-- if err := scanner.Err(); err != nil {
-- log.Errorf("cannot read from stdout: %v", err)
-+ for {
-+ buf := make([]byte, 4096)
-+ n, err := stdout.Read(buf)
-+ if n > 0 {
-+ log.Tracef("[%v] %v", file, strings.TrimRight(string(buf), "\n\x00"))
-+ }
-+ if err != nil {
-+ switch err {
-+ case io.EOF:
-+ log.Debugf("%v stdout reached EOF: %v", file, err)
-+ return
-+ default:
-+ log.Errorf("cannot read from stdout: %v", err)
-+ continue
-+ }
-+ }
- }
- }()
-
- go func() {
-- scanner := bufio.NewScanner(stderr)
-- for scanner.Scan() {
-- log.Errorf("[%v] %v", file, scanner.Text())
-- }
-- if err := scanner.Err(); err != nil {
-- log.Errorf("cannot read from stderr: %v", err)
-+ for {
-+ buf := make([]byte, 4096)
-+ n, err := stderr.Read(buf)
-+ if n > 0 {
-+ log.Errorf("[%v] %v", file, strings.TrimRight(string(buf), "\n\x00"))
-+ }
-+ if err != nil {
-+ switch err {
-+ case io.EOF:
-+ log.Debugf("%v stderr reached EOF: %v", file, err)
-+ return
-+ default:
-+ log.Errorf("cannot read from stderr: %v", err)
-+ continue
-+ }
-+ }
- }
- }()
-
---
-2.38.1
-
diff --git a/SPECS/rhc.spec b/SPECS/rhc.spec
index b4234f3..f319d72 100644
--- a/SPECS/rhc.spec
+++ b/SPECS/rhc.spec
@@ -1,12 +1,12 @@
%global buildflags -buildmode pie -compiler gc -a -v -x
%global goldflags %{expand:-linkmode=external -compressdwarf=false -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'}
-%global yggdrasil_ver 0.2.1
-%global ygg_pkg_mgr_ver 0.1.0
+%global yggdrasil_ver 0.2.4
+%global ygg_pkg_mgr_ver 0.1.3
Name: rhc
-Version: 0.2.2
-Release: 1%{?dist}
+Version: 0.2.4
+Release: 5%{?dist}
Epoch: 1
Summary: rhc connects the system to Red Hat hosted services
License: GPLv3
@@ -15,18 +15,14 @@ URL: https://github.com/redhatinsights/rhc
Source0: https://github.com/RedHatInsights/rhc/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1: config.toml
Source2: https://github.com/RedHatInsights/yggdrasil/releases/download/%{yggdrasil_ver}/yggdrasil-%{yggdrasil_ver}.tar.gz
-Source3: https://github.com/RedHatInsights/yggdrasil-worker-package-manager/releases/download/%{ygg_pkg_mgr_ver}/yggdrasil-worker-package-manager-%{ygg_pkg_mgr_ver}.tar.gz
+Source3: https://github.com/RedHatInsights/yggdrasil-worker-package-manager/releases/download/%{ygg_pkg_mgr_ver}/yggdrasil-worker-package-manager-%{ygg_pkg_mgr_ver}.tar.xz
Source4: rhc-package-manager.toml
-# Fixed upstream https://github.com/RedHatInsights/yggdrasil-worker-package-manager/commit/22105b0016abfc7c743c1eadb0372e4ef93cc65e
-Patch0: 0001-feat-default-config-file-location.patch
-# Fixed upstream https://github.com/RedHatInsights/yggdrasil/pull/100/commits/d75dc60df73a88b0a14c799f3b6f1e8f66cee3d4
-Patch2: 0001-fix-read-worker-output-using-io.Read.patch
-
ExclusiveArch: %{go_arches}
Recommends: insights-client
+Requires: subscription-manager
Requires(post): policycoreutils-python-utils
BuildRequires: git
@@ -73,10 +69,6 @@ This package includes files necessary for building rhc workers.
%setup -T -D -c -n %{name} -a 3
sed -i -e "s/LDFLAGS :=/LDFLAGS ?=/" %{_builddir}/%{name}/yggdrasil-%{yggdrasil_ver}/Makefile
sed -i -e "s/LDFLAGS :=/LDFLAGS ?=/" %{_builddir}/%{name}/%{name}-%{version}/Makefile
-cd %{_builddir}/%{name}/yggdrasil-worker-package-manager
-%patch0 -p0
-cd %{_builddir}/%{name}/yggdrasil-%{yggdrasil_ver}
-%patch2 -p1
%build
@@ -86,8 +78,8 @@ export LDFLAGS="%{goldflags}"
cd %{_builddir}/%{name}/yggdrasil-%{yggdrasil_ver}
make %{makeflags}
-cd %{_builddir}/%{name}/yggdrasil-worker-package-manager
-go build %{buildflags} -ldflags="%{goldflags}" -o rhc-package-manager-worker -mod vendor .
+cd %{_builddir}/%{name}/yggdrasil-worker-package-manager-%{ygg_pkg_mgr_ver}
+go build %{buildflags} -ldflags="%{goldflags} -X 'github.com/redhatinsights/yggdrasil.SysconfDir=%{_sysconfdir}' -X 'github.com/redhatinsights/yggdrasil.LongName=%{name}'" -o rhc-package-manager-worker -mod vendor .
cd %{_builddir}/%{name}/%{name}-%{version}
make %{makeflags}
@@ -104,7 +96,7 @@ make %{makeflags} \
%{__install} -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/
-cd %{_builddir}/%{name}/yggdrasil-worker-package-manager
+cd %{_builddir}/%{name}/yggdrasil-worker-package-manager-%{ygg_pkg_mgr_ver}
%{__install} -D -m 755 rhc-package-manager-worker %{buildroot}%{_libexecdir}/%{name}/
%{__install} -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{name}/workers/rhc-package-manager.toml
@@ -115,16 +107,12 @@ make %{makeflags} \
%post
-if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
- /usr/sbin/semanage permissive --add rhcd_t || true
-fi
+/usr/sbin/semanage permissive --add rhcd_t || true
%postun
if [ $1 -eq 0 ]; then
- if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
- /usr/sbin/semanage permissive --delete rhcd_t || true
- fi
+ /usr/sbin/semanage permissive --delete rhcd_t || true
fi
@@ -145,6 +133,31 @@ fi
%changelog
+* Mon Feb 12 2024 Link Dupont - 0.2.4-5
+- Update embedded yggdrasil-worker-package-manager to 0.1.3 (RHEL-17179)
+- Update embedded yggdrasil to 0.2.4 (RHEL-17179)
+
+* Mon Jan 8 2024 Jiri Hnidek - 0.2.4-4
+- Add dependency on subscription-manager (RHEL-18974)
+
+* Mon Oct 23 2023 Link Dupont - 0.2.4-3
+- Update embedded yggdrasil-worker-package-manager (RHEL-14200)
+
+* Wed Oct 18 2023 Link Dupont - 0.2.4-2
+- Update embedded yggdrasil to 0.2.3 (RHEL-14200)
+
+* Tue Aug 01 2023 Alba Hita Catala - 0.2.4-1
+- Configure proxy for http connections (RHBZ#2227018)
+- Failling to get system profile is not an error but a warning (RHBZ#2227012)
+- Prevent message content being logged at any level (RHBZ#2227010)
+- Added bash completion (RHBZ#2145198)
+
+* Tue Jul 25 2023 Vit Mojzis - 0.2.3-2
+- Make rhcd_t permissive even when SELinux is disabled (RHBZ#2226701)
+
+* Tue Jul 04 2023 Alba Hita Catala - 0.2.3-1
+- New upstream version (RHBZ#2219563)
+
* Tue Feb 14 2023 Alba Hita Catala - 0.2.2-1
- New upstream version (RHBZ#2169772)
- RHC renaming (RHBZ#2167427)