Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package conmon for openSUSE:Factory checked in at 2022-11-24 12:22:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/conmon (Old) and /work/SRC/openSUSE:Factory/.conmon.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "conmon" Thu Nov 24 12:22:33 2022 rev:27 rq:1037630 version:2.1.5 Changes: -------- --- /work/SRC/openSUSE:Factory/conmon/conmon.changes 2022-11-07 13:51:22.483694723 +0100 +++ /work/SRC/openSUSE:Factory/.conmon.new.1597/conmon.changes 2022-11-24 12:22:43.569105728 +0100 @@ -1,0 +2,23 @@ +Wed Nov 23 14:43:15 UTC 2022 - Dan Äermák <dcer...@suse.com> + +- New upstream release 2.1.5: + + Bug Fixes + + don't leak syslog_identifier + logging: do not read more that the buf size + logging: fix error handling + + Misc + + Makefile: Fix install for FreeBSD + signal: Track changes to get_signal_descriptor in the FreeBSD version + Packit: initial enablement + +- New upstream release 2.1.4: + + Bug fixes + + Fix a bug where conmon crashed when it got a SIGCHLD + +------------------------------------------------------------------- Old: ---- conmon-2.1.3.tar.xz New: ---- conmon-2.1.5.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ conmon.spec ++++++ --- /var/tmp/diff_new_pack.zjCkgK/_old 2022-11-24 12:22:43.965108245 +0100 +++ /var/tmp/diff_new_pack.zjCkgK/_new 2022-11-24 12:22:43.969108270 +0100 @@ -17,7 +17,7 @@ Name: conmon -Version: 2.1.3 +Version: 2.1.5 Release: 0 Summary: An OCI container runtime monitor License: Apache-2.0 @@ -25,7 +25,7 @@ URL: https://github.com/containers/conmon Source0: %{name}-%{version}.tar.xz # https://github.com/containers/conmon/pull/364 -Patch1: 0001-Fix-tools-Makefile-with-GNU-make-4.4.patch +Patch1: %{URL}/pull/364.patch#./0001-Fix-tools-Makefile-with-GNU-make-4.4.patch BuildRequires: pkgconfig BuildRequires: golang(API) = 1.18 BuildRequires: pkgconfig(glib-2.0) ++++++ 0001-Fix-tools-Makefile-with-GNU-make-4.4.patch ++++++ --- /var/tmp/diff_new_pack.zjCkgK/_old 2022-11-24 12:22:43.997108448 +0100 +++ /var/tmp/diff_new_pack.zjCkgK/_new 2022-11-24 12:22:44.001108473 +0100 @@ -15,7 +15,7 @@ 1 file changed, 2 deletions(-) diff --git a/tools/Makefile b/tools/Makefile -index 25783ae..0211016 100644 +index 25783aef..0211016a 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,5 +1,3 @@ @@ -24,7 +24,4 @@ GO := go BUILDDIR := build --- -2.38.0 - ++++++ _service ++++++ --- /var/tmp/diff_new_pack.zjCkgK/_old 2022-11-24 12:22:44.025108626 +0100 +++ /var/tmp/diff_new_pack.zjCkgK/_new 2022-11-24 12:22:44.025108626 +0100 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">[v]?([^\+]+)(.*)</param> -<param name="revision">v2.1.3</param> +<param name="revision">v2.1.5</param> <param name="changesgenerate">disable</param> </service> <service name="recompress" mode="disabled"> ++++++ conmon-2.1.3.tar.xz -> conmon-2.1.5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/.cirrus.yml new/conmon-2.1.5/.cirrus.yml --- old/conmon-2.1.3/.cirrus.yml 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/.cirrus.yml 2022-11-04 19:06:31.000000000 +0100 @@ -164,3 +164,25 @@ binaries_artifacts: path: "bin/conmon" + +# This task is critical. It updates the "last-used by" timestamp stored +# in metadata for all VM images. This mechanism functions in tandem with +# an out-of-band pruning operation to remove disused VM images. +meta_task: + name: "VM img. keepalive" + alias: meta + container: + cpu: 2 + memory: 2 + image: quay.io/libpod/imgts:latest + env: + # Space-separated list of images used by this repository state + IMGNAMES: >- + ${FEDORA_CACHE_IMAGE_NAME} + BUILDID: "${CIRRUS_BUILD_ID}" + REPOREF: "${CIRRUS_REPO_NAME}" + GCPJSON: ENCRYPTED[08de2c74178470b1bc85a107e9962f06dbd11d33c7adf024d3e48ae4399ca5383f9d3ad0e2fd65c3ce12750dd6ef8803] + GCPNAME: ENCRYPTED[561ce33a9357e5b8e3fb54739c3af31730c0c3b736792f16a67026a8544379d83ff3c27d6fea1c7797a6ae49b6e58115] + GCPPROJECT: libpod-218412 + clone_script: &noop mkdir -p $CIRRUS_WORKING_DIR + script: /usr/local/bin/entrypoint.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/.gitignore new/conmon-2.1.5/.gitignore --- old/conmon-2.1.3/.gitignore 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,58 +0,0 @@ -# Prerequisites -*.d - -# Object files -*.o -*.ko -*.obj -*.elf - -# Linker output -*.ilk -*.map -*.exp - -# Precompiled Headers -*.gch -*.pch - -# Libraries -*.lib -*.a -*.la -*.lo - -# Shared objects (inc. Windows DLLs) -*.dll -*.so -*.so.* -*.dylib - -# Executables -/bin/conmon -*.exe -*.out -*.app -*.i*86 -*.x86_64 -*.hex - -# Debug files -*.dSYM/ -*.su -*.idb -*.pdb - -# Kernel Module Compile Results -*.cmd -.tmp_versions/ -modules.order -Module.symvers -Mkfile.old -dkms.conf - -bin/ - -vendor/ - -result diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/.packit.yaml new/conmon-2.1.5/.packit.yaml --- old/conmon-2.1.3/.packit.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/conmon-2.1.5/.packit.yaml 2022-11-04 19:06:31.000000000 +0100 @@ -0,0 +1,44 @@ +# See the documentation for more information: +# https://packit.dev/docs/configuration/ + +upstream_package_name: conmon +downstream_package_name: conmon + +jobs: + - job: copr_build + # Run on every PR + trigger: pull_request + # Defaults to x86_64 unless architecture is explicitly specified + targets: + - fedora-rawhide-aarch64 + - fedora-rawhide-i386 + - fedora-rawhide-ppc64le + - fedora-rawhide-s390x + - fedora-rawhide-x86_64 + actions: + post-upstream-clone: + - "curl -O https://src.fedoraproject.org/rpms/conmon/raw/rawhide/f/conmon.spec" + + - job: copr_build + trigger: pull_request + targets: + - fedora-37-aarch64 + - fedora-37-i386 + - fedora-37-ppc64le + - fedora-37-s390x + - fedora-37-x86_64 + actions: + post-upstream-clone: + - "curl -O https://src.fedoraproject.org/rpms/conmon/raw/f37/f/conmon.spec" + + - job: copr_build + trigger: pull_request + targets: + - fedora-36-aarch64 + - fedora-36-i386 + - fedora-36-ppc64le + - fedora-36-s390x + - fedora-36-x86_64 + actions: + post-upstream-clone: + - "curl -O https://src.fedoraproject.org/rpms/conmon/raw/f36/f/conmon.spec" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/Makefile new/conmon-2.1.5/Makefile --- old/conmon-2.1.3/Makefile 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/Makefile 2022-11-04 19:06:31.000000000 +0100 @@ -112,16 +112,19 @@ crio: install.crio install.bin: bin/conmon - install ${SELINUXOPT} -D -m 755 bin/conmon $(DESTDIR)$(BINDIR)/conmon + install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(BINDIR) + install ${SELINUXOPT} -m 755 bin/conmon $(DESTDIR)$(BINDIR)/conmon install.crio: bin/conmon - install ${SELINUXOPT} -D -m 755 bin/conmon $(DESTDIR)$(LIBEXECDIR)/crio/conmon + install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(LIBEXECDIR)/crio + install ${SELINUXOPT} -m 755 bin/conmon $(DESTDIR)$(LIBEXECDIR)/crio/conmon install.podman: bin/conmon - install ${SELINUXOPT} -D -m 755 bin/conmon $(DESTDIR)$(LIBEXECDIR)/podman/conmon + install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(LIBEXECDIR)/podman + install ${SELINUXOPT} -m 755 bin/conmon $(DESTDIR)$(LIBEXECDIR)/podman/conmon install.tools: - make -C tools + $(MAKE) -C tools .PHONY: fmt fmt: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/VERSION new/conmon-2.1.5/VERSION --- old/conmon-2.1.3/VERSION 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/VERSION 2022-11-04 19:06:31.000000000 +0100 @@ -1 +1 @@ -2.1.3 +2.1.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/hack/seccomp-notify.sh new/conmon-2.1.5/hack/seccomp-notify.sh --- old/conmon-2.1.3/hack/seccomp-notify.sh 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/hack/seccomp-notify.sh 2022-11-04 19:06:31.000000000 +0100 @@ -1,4 +1,4 @@ -#!/bin/bash +#! /usr/bin/env bash if $(printf '#include <linux/seccomp.h>\nvoid main(){struct seccomp_notif_sizes s;}' | cc -x c - -o /dev/null 2> /dev/null && pkg-config --atleast-version 2.5.0 libseccomp); then echo "0" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/src/cli.c new/conmon-2.1.5/src/cli.c --- old/conmon-2.1.3/src/cli.c 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/src/cli.c 2022-11-04 19:06:31.000000000 +0100 @@ -59,8 +59,9 @@ {"api-version", 0, 0, G_OPTION_ARG_NONE, &opt_api_version, "Conmon API version to use", NULL}, {"bundle", 'b', 0, G_OPTION_ARG_STRING, &opt_bundle_path, "Location of the OCI Bundle path", NULL}, {"cid", 'c', 0, G_OPTION_ARG_STRING, &opt_cid, "Identification of Container", NULL}, - {"conmon-pidfile", 'P', 0, G_OPTION_ARG_STRING, &opt_conmon_pid_file, "PID file for the initial pid inside of container", NULL}, - {"container-pidfile", 'p', 0, G_OPTION_ARG_STRING, &opt_container_pid_file, "PID file for the conmon process", NULL}, + {"conmon-pidfile", 'P', 0, G_OPTION_ARG_STRING, &opt_conmon_pid_file, "PID file for the conmon process", NULL}, + {"container-pidfile", 'p', 0, G_OPTION_ARG_STRING, &opt_container_pid_file, "PID file for the initial pid inside of container", + NULL}, {"cuuid", 'u', 0, G_OPTION_ARG_STRING, &opt_cuuid, "Container UUID", NULL}, {"exec", 'e', 0, G_OPTION_ARG_NONE, &opt_exec, "Exec a command into a running container", NULL}, {"exec-attach", 0, 0, G_OPTION_ARG_NONE, &opt_attach, "Attach to an exec session", NULL}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/src/conmon.c new/conmon-2.1.5/src/conmon.c --- old/conmon-2.1.3/src/conmon.c 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/src/conmon.c 2022-11-04 19:06:31.000000000 +0100 @@ -312,9 +312,9 @@ .pid_to_handler = pid_to_handler, .exit_status_cache = NULL, }; - int signal_fd = get_signal_descriptor(SIGCHLD); + int signal_fd = get_signal_descriptor(); if (signal_fd < 0) - pexit("Failed to create signalfd for SIGCHLD"); + pexit("Failed to create signalfd"); int signal_fd_tag = g_unix_fd_add(signal_fd, G_IO_IN, on_signalfd_cb, &data); if (opt_exit_command) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/src/ctr_exit.c new/conmon-2.1.5/src/ctr_exit.c --- old/conmon-2.1.3/src/ctr_exit.c 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/src/ctr_exit.c 2022-11-04 19:06:31.000000000 +0100 @@ -81,9 +81,8 @@ { struct pid_check_data *data = (struct pid_check_data *)user_data; - /* dequeue the signal from the signalfd */ - int sig = dequeue_signal_event(fd); - g_assert_cmpint(sig, ==, SIGCHLD); + /* drop the signal from the signalfd */ + drop_signal_event(fd); check_child_processes(data->pid_to_handler, data->exit_status_cache); return G_SOURCE_CONTINUE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/src/ctr_logging.c new/conmon-2.1.5/src/ctr_logging.c --- old/conmon-2.1.3/src/ctr_logging.c 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/src/ctr_logging.c 2022-11-04 19:06:31.000000000 +0100 @@ -144,6 +144,7 @@ name_len = strlen(name); container_name = g_strdup_printf("CONTAINER_NAME=%s", name); + g_free(syslog_identifier); syslog_identifier = g_strdup_printf("SYSLOG_IDENTIFIER=%s", name); syslog_identifier_len = name_len + SYSLOG_IDENTIFIER_EQ_LEN; } @@ -151,6 +152,7 @@ container_tag = g_strdup_printf("CONTAINER_TAG=%s", tag); container_tag_len = strlen(container_tag); + g_free(syslog_identifier); syslog_identifier = g_strdup_printf("SYSLOG_IDENTIFIER=%s", tag); syslog_identifier_len = strlen(syslog_identifier); } @@ -286,22 +288,18 @@ return 0; } - /* sd_journal_* doesn't have an option to specify the number of bytes to write in the message, and instead writes the - * entire string. Copying every line doesn't make very much sense, so instead we do this tmp_line_end - * hack to emulate separate strings. - */ - char tmp_line_end = buf[line_len]; - buf[line_len] = '\0'; - ssize_t msg_len = line_len + MESSAGE_EQ_LEN + *partial_buf_len; partial_buf[*partial_buf_len] = '\0'; - _cleanup_free_ char *message = g_strdup_printf("MESSAGE=%s%s", partial_buf, buf); + + _cleanup_free_ char *message = g_malloc(msg_len); + + memcpy(message, "MESSAGE=", MESSAGE_EQ_LEN); + memcpy(message + MESSAGE_EQ_LEN, partial_buf, *partial_buf_len); + memcpy(message + MESSAGE_EQ_LEN + *partial_buf_len, buf, line_len); + if (writev_buffer_append_segment(dev_null, &bufv, message, msg_len) < 0) return -1; - /* Restore state of the buffer */ - buf[line_len] = tmp_line_end; - if (writev_buffer_append_segment(dev_null, &bufv, container_id_full, cuuid_len + CID_FULL_EQ_LEN) < 0) return -1; @@ -327,7 +325,7 @@ int err = sd_journal_sendv(bufv.iov, bufv.iovcnt); if (err < 0) { - pwarn(strerror(err)); + pwarn(strerror(-err)); return err; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/src/utils.c new/conmon-2.1.5/src/utils.c --- old/conmon-2.1.3/src/utils.c 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/src/utils.c 2022-11-04 19:06:31.000000000 +0100 @@ -61,6 +61,14 @@ } #endif +static void get_signal_descriptor_mask(sigset_t *set) +{ + sigemptyset(set); + sigaddset(set, SIGCHLD); + sigaddset(set, SIGUSR1); + sigprocmask(SIG_BLOCK, set, NULL); +} + ssize_t write_all(int fd, const void *buf, size_t count) { size_t remaining = count; @@ -94,21 +102,18 @@ return prctl(PR_SET_PDEATHSIG, sig); } -int get_signal_descriptor(int sig) +int get_signal_descriptor() { sigset_t set; - sigemptyset(&set); - sigaddset(&set, sig); - sigprocmask(SIG_BLOCK, &set, NULL); + get_signal_descriptor_mask(&set); return signalfd(-1, &set, SFD_CLOEXEC); } -int dequeue_signal_event(int fd) +void drop_signal_event(int fd) { struct signalfd_siginfo siginfo; ssize_t s = read(fd, &siginfo, sizeof siginfo); g_assert_cmpint(s, ==, sizeof siginfo); - return siginfo.ssi_signo; } #endif @@ -129,31 +134,32 @@ return procctl(P_PID, getpid(), PROC_PDEATHSIG_CTL, &sig); } -int get_signal_descriptor(int sig) +int get_signal_descriptor() { sigset_t set; - sigemptyset(&set); - sigaddset(&set, sig); - sigprocmask(SIG_BLOCK, &set, NULL); + get_signal_descriptor_mask(&set); int kq = kqueue(); fcntl(kq, F_SETFD, FD_CLOEXEC); - struct kevent kev; - EV_SET(&kev, sig, EVFILT_SIGNAL, EV_ADD, 0, 0, NULL); - if (kevent(kq, &kev, 1, NULL, 0, NULL)) { - pexitf("failed to add kevent signal %d", sig); + for (int sig = 1; sig < SIGRTMIN; sig++) { + if (sigismember(&set, sig)) { + struct kevent kev; + EV_SET(&kev, sig, EVFILT_SIGNAL, EV_ADD, 0, 0, NULL); + if (kevent(kq, &kev, 1, NULL, 0, NULL)) { + pexitf("failed to add kevent signal %d", sig); + } + } } return kq; } -int dequeue_signal_event(int kq) +void drop_signal_event(int kq) { struct kevent kev; int n = kevent(kq, NULL, 0, &kev, 1, NULL); if (n != 1) { pexit("failed to read signal event"); } - return kev.ident; } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/src/utils.h new/conmon-2.1.5/src/utils.h --- old/conmon-2.1.3/src/utils.h 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/src/utils.h 2022-11-04 19:06:31.000000000 +0100 @@ -229,7 +229,7 @@ int set_pdeathsig(int sig); -int get_signal_descriptor(int sig); -int dequeue_signal_event(int fd); +int get_signal_descriptor(); +void drop_signal_event(int fd); #endif /* !defined(UTILS_H) */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/tools/vendor/github.com/cpuguy83/go-md2man/.gitignore new/conmon-2.1.5/tools/vendor/github.com/cpuguy83/go-md2man/.gitignore --- old/conmon-2.1.3/tools/vendor/github.com/cpuguy83/go-md2man/.gitignore 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/tools/vendor/github.com/cpuguy83/go-md2man/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -go-md2man -bin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conmon-2.1.3/tools/vendor/github.com/russross/blackfriday/.gitignore new/conmon-2.1.5/tools/vendor/github.com/russross/blackfriday/.gitignore --- old/conmon-2.1.3/tools/vendor/github.com/russross/blackfriday/.gitignore 2022-07-25 22:08:22.000000000 +0200 +++ new/conmon-2.1.5/tools/vendor/github.com/russross/blackfriday/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -*.out -*.swp -*.8 -*.6 -_obj -_test* -markdown -tags