Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qclib for openSUSE:Factory checked in at 2024-04-21 20:24:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qclib (Old) and /work/SRC/openSUSE:Factory/.qclib.new.26366 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qclib" Sun Apr 21 20:24:34 2024 rev:17 rq:1169241 version:2.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qclib/qclib.changes 2023-10-26 17:12:20.615695528 +0200 +++ /work/SRC/openSUSE:Factory/.qclib.new.26366/qclib.changes 2024-04-21 20:25:07.353169248 +0200 @@ -1,0 +2,16 @@ +Fri Apr 19 11:55:09 UTC 2024 - Nikolay Gueorguiev <nikolay.gueorgu...@suse.com> + +- Applied a patch to change the _PATH_MOUNTED (bsc#1222143) + * qclib-change-_PATH_MOUNTED.patch + +------------------------------------------------------------------- +Mon Feb 12 16:48:47 UTC 2024 - Nikolay Gueorguiev <nikolay.gueorgu...@suse.com> + +- Upgrade to version 2.4.1 (jsc#PED-3285) + * Handle systems with `/sys/kernel/security/lockdown` enabled + * Consistency check: Fix accounting of reserved cores and CPUs + * Trace: Fix display of version information + * Doxygen config: Remove unused options +- Removed obsolete patch qclib-sys-kernel-security-lockdown-enabled.patch + +------------------------------------------------------------------- Old: ---- qclib-2.4.0.tar.gz qclib-sys-kernel-security-lockdown-enabled.patch New: ---- qclib-2.4.1.tar.gz qclib-change-_PATH_MOUNTED.patch BETA DEBUG BEGIN: Old: * Doxygen config: Remove unused options - Removed obsolete patch qclib-sys-kernel-security-lockdown-enabled.patch BETA DEBUG END: BETA DEBUG BEGIN: New:- Applied a patch to change the _PATH_MOUNTED (bsc#1222143) * qclib-change-_PATH_MOUNTED.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qclib.spec ++++++ --- /var/tmp/diff_new_pack.8LUJ6f/_old 2024-04-21 20:25:08.025193904 +0200 +++ /var/tmp/diff_new_pack.8LUJ6f/_new 2024-04-21 20:25:08.025193904 +0200 @@ -1,7 +1,7 @@ # # spec file for package qclib # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %global _lto_cflags %{?_lto_cflags} -ffat-lto-objects Name: qclib -Version: 2.4.0 +Version: 2.4.1 Release: 0 Summary: Query Capacity library License: BSD-3-Clause @@ -37,7 +37,8 @@ %endif # -Patch001: qclib-sys-kernel-security-lockdown-enabled.patch +### Patch001: qclib-sys-kernel-security-lockdown-enabled.patch +Patch001: qclib-change-_PATH_MOUNTED.patch %description qclib provides a C API for extraction of system information for Linux on z ++++++ qclib-2.4.0.tar.gz -> qclib-2.4.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qclib-2.4.0/Makefile new/qclib-2.4.1/Makefile --- old/qclib-2.4.0/Makefile 2023-04-08 23:49:23.000000000 +0200 +++ new/qclib-2.4.1/Makefile 2023-12-17 23:06:06.000000000 +0100 @@ -4,7 +4,7 @@ # major : Backwards compatible changes to the API # minor : Additions leaving the API unmodified # bugfix: Bugfixes only -VERSION = 2.4.0 +VERSION = 2.4.1 VERM = $(shell echo $(VERSION) | cut -d '.' -f 1) CFLAGS ?= -g -Wall -O2 LDFLAGS ?= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qclib-2.4.0/README.md new/qclib-2.4.1/README.md --- old/qclib-2.4.0/README.md 2023-04-08 23:49:23.000000000 +0200 +++ new/qclib-2.4.1/README.md 2023-12-17 23:06:06.000000000 +0100 @@ -87,6 +87,14 @@ Release History --------------- +* __v2.4.1 (2023-12-17)__ + + _Bug fixes_: + - Handle systems with `/sys/kernel/security/lockdown` enabled + - Consistency check: Fix accounting of reserved cores and CPUs + - Trace: Fix display of version information + - Doxygen config: Remove unused options + * __v2.4.0 (2023-04-08)__ _Changes_: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qclib-2.4.0/config.doxygen new/qclib-2.4.1/config.doxygen --- old/qclib-2.4.0/config.doxygen 2023-04-08 23:49:23.000000000 +0200 +++ new/qclib-2.4.1/config.doxygen 2023-12-17 23:06:06.000000000 +0100 @@ -1384,17 +1384,6 @@ FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # http://www.mathjax.org) which uses client side Javascript for the rendering # instead of using prerendered bitmaps. Use this if you do not have LaTeX @@ -1657,16 +1646,6 @@ LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See # http://en.wikipedia.org/wiki/BibTeX and \cite for more info. @@ -1996,15 +1975,6 @@ # Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see: # http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the @@ -2046,23 +2016,6 @@ DOT_NUM_THREADS = 0 -# When you want a differently looking font n the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_FONTSIZE = 10 - # By default doxygen will tell dot to use the default font as specified with # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set # the path where dot can find it using this tag. @@ -2251,18 +2204,6 @@ MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qclib-2.4.0/query_capacity.c new/qclib-2.4.1/query_capacity.c --- old/qclib-2.4.0/query_capacity.c 2023-04-08 23:49:23.000000000 +0200 +++ new/qclib-2.4.1/query_capacity.c 2023-12-17 23:06:06.000000000 +0100 @@ -101,7 +101,7 @@ goto out_err; } } - qc_debug(NULL, "This is qclib v2.2.1, level 857cc75f, date 2020-10-14 21:58:25 +0200\n"); + qc_debug(NULL, "This is qclib v%s\n", QC_VERSION); } return 0; @@ -443,33 +443,34 @@ goto out; break; case QC_LAYER_TYPE_LPAR: - if ((rc = qc_verify(hdl, qc_num_core_dedicated, qc_num_core_shared, ATTR_UNDEF, qc_num_core_total, 0)) || - (rc = qc_verify(hdl, qc_num_core_configured, qc_num_core_reserved, qc_num_core_standby, qc_num_core_total, 0)) || - (rc = qc_verify(hdl, qc_num_cp_dedicated, qc_num_cp_shared, ATTR_UNDEF, qc_num_cp_total, 1)) || - (rc = qc_verify(hdl, qc_num_ifl_dedicated, qc_num_ifl_shared, ATTR_UNDEF, qc_num_ifl_total, 1)) || - (rc = qc_verify(hdl, qc_num_ziip_dedicated, qc_num_ziip_shared, ATTR_UNDEF, qc_num_ziip_total, 1))) + if ((rc = qc_verify(hdl, qc_num_core_dedicated, qc_num_core_shared, qc_num_core_reserved, qc_num_core_total, 0)) || + (rc = qc_verify(hdl, qc_num_core_configured, qc_num_core_standby, qc_num_core_reserved, qc_num_core_total, 0)) || + (rc = qc_verify(hdl, qc_num_cp_dedicated, qc_num_cp_shared, ATTR_UNDEF, qc_num_cp_total, 1)) || + (rc = qc_verify(hdl, qc_num_ifl_dedicated, qc_num_ifl_shared, ATTR_UNDEF, qc_num_ifl_total, 1)) || + (rc = qc_verify(hdl, qc_num_ziip_dedicated, qc_num_ziip_shared, ATTR_UNDEF, qc_num_ziip_total, 1))) goto out; break; case QC_LAYER_TYPE_ZVM_HYPERVISOR: - if ((rc = qc_verify(hdl, qc_num_core_dedicated, qc_num_core_shared, ATTR_UNDEF, qc_num_core_total, 1)) || + if ((rc = qc_verify(hdl, qc_num_core_dedicated, qc_num_core_shared, qc_num_core_reserved, qc_num_core_total, 1)) || (rc = qc_verify(hdl, qc_num_cp_total, qc_num_ifl_total, ATTR_UNDEF, qc_num_core_total, 1)) || (rc = qc_verify(hdl, qc_num_cp_dedicated, qc_num_ifl_dedicated, ATTR_UNDEF, qc_num_core_dedicated, 1)) || (rc = qc_verify(hdl, qc_num_cp_shared, qc_num_ifl_shared, ATTR_UNDEF, qc_num_core_shared, 1)) || - (rc = qc_verify(hdl, qc_num_cp_dedicated, qc_num_cp_shared, ATTR_UNDEF, qc_num_cp_total, 1)) || - (rc = qc_verify(hdl, qc_num_ifl_dedicated, qc_num_ifl_shared, ATTR_UNDEF, qc_num_ifl_total, 1)) || - (rc = qc_verify(hdl, qc_num_ziip_dedicated, qc_num_ziip_shared, ATTR_UNDEF, qc_num_ziip_total, 1))) + (rc = qc_verify(hdl, qc_num_cp_dedicated, qc_num_cp_shared, ATTR_UNDEF, qc_num_cp_total, 1)) || + (rc = qc_verify(hdl, qc_num_ifl_dedicated, qc_num_ifl_shared, ATTR_UNDEF, qc_num_ifl_total, 1)) || + (rc = qc_verify(hdl, qc_num_ziip_dedicated, qc_num_ziip_shared, ATTR_UNDEF, qc_num_ziip_total, 1))) goto out; break; case QC_LAYER_TYPE_ZVM_CPU_POOL: case QC_LAYER_TYPE_ZOS_TENANT_RESOURCE_GROUP: - if ((rc = qc_verify_capped_capacity(hdl, qc_cp_capped_capacity, qc_cp_capacity_cap, qc_cp_limithard_cap)) || - (rc = qc_verify_capped_capacity(hdl, qc_ifl_capped_capacity, qc_ifl_capacity_cap, qc_ifl_limithard_cap)) || - (rc = qc_verify_capped_capacity(hdl, qc_ziip_capped_capacity, qc_ziip_capacity_cap, qc_ziip_limithard_cap))) + if ((rc = qc_verify_capped_capacity(hdl, qc_cp_capped_capacity, qc_cp_capacity_cap, qc_cp_limithard_cap)) || + (rc = qc_verify_capped_capacity(hdl, qc_ifl_capped_capacity, qc_ifl_capacity_cap, qc_ifl_limithard_cap)) || + (rc = qc_verify_capped_capacity(hdl, qc_ziip_capped_capacity, qc_ziip_capacity_cap, qc_ziip_limithard_cap))) goto out; break; case QC_LAYER_TYPE_ZVM_GUEST: + // Note: z/VM doesn't add qc_num_cpu_reserved when calculating qc_num_cpu_total if ((rc = qc_verify(hdl, qc_num_cpu_dedicated, qc_num_cpu_shared, ATTR_UNDEF, qc_num_cpu_total, 1)) || - (rc = qc_verify(hdl, qc_num_cpu_configured, qc_num_cpu_reserved, qc_num_cpu_standby, qc_num_cpu_total, 1)) || + (rc = qc_verify(hdl, qc_num_cpu_configured, qc_num_cpu_standby, qc_num_cpu_reserved, qc_num_cpu_total, 1)) || (rc = qc_verify(hdl, qc_num_cp_total, qc_num_ifl_total, ATTR_UNDEF, qc_num_cpu_total, 1)) || (rc = qc_verify(hdl, qc_num_cp_dedicated, qc_num_ifl_dedicated, ATTR_UNDEF, qc_num_cpu_dedicated, 1)) || (rc = qc_verify(hdl, qc_num_cp_shared, qc_num_ifl_shared, ATTR_UNDEF, qc_num_cpu_shared, 1)) || @@ -479,18 +480,18 @@ goto out; break; case QC_LAYER_TYPE_KVM_HYPERVISOR: - if ((rc = qc_verify(hdl, qc_num_core_shared, qc_num_core_dedicated, ATTR_UNDEF, qc_num_core_total, 1)) || - (rc = qc_verify(hdl, qc_num_cp_dedicated, qc_num_cp_shared, ATTR_UNDEF, qc_num_cp_total, 1)) || - (rc = qc_verify(hdl, qc_num_ifl_dedicated, qc_num_ifl_shared, ATTR_UNDEF, qc_num_ifl_total, 1)) || - (rc = qc_verify(hdl, qc_num_ziip_dedicated, qc_num_ziip_shared, ATTR_UNDEF, qc_num_ziip_total, 1))) + if ((rc = qc_verify(hdl, qc_num_core_shared, qc_num_core_dedicated, qc_num_core_reserved, qc_num_core_total, 1)) || + (rc = qc_verify(hdl, qc_num_cp_dedicated, qc_num_cp_shared, ATTR_UNDEF, qc_num_cp_total, 1)) || + (rc = qc_verify(hdl, qc_num_ifl_dedicated, qc_num_ifl_shared, ATTR_UNDEF, qc_num_ifl_total, 1)) || + (rc = qc_verify(hdl, qc_num_ziip_dedicated, qc_num_ziip_shared, ATTR_UNDEF, qc_num_ziip_total, 1))) goto out; break; case QC_LAYER_TYPE_KVM_GUEST: - if ((rc = qc_verify(hdl, qc_num_cpu_configured, qc_num_cpu_reserved, qc_num_cpu_standby, qc_num_cpu_total, 1)) || - (rc = qc_verify(hdl, qc_num_cpu_shared, qc_num_cpu_dedicated, ATTR_UNDEF, qc_num_cpu_total, 1)) || - (rc = qc_verify(hdl, qc_num_ifl_dedicated, qc_num_ifl_shared, ATTR_UNDEF, qc_num_ifl_total, 1)) || - (rc = qc_verify(hdl, qc_num_ifl_dedicated, ATTR_UNDEF, ATTR_UNDEF, 0, 1)) || - (rc = qc_verify(hdl, qc_num_ifl_shared, ATTR_UNDEF, ATTR_UNDEF, qc_num_cpu_configured, 1))) + if ((rc = qc_verify(hdl, qc_num_cpu_configured, qc_num_cpu_standby, qc_num_cpu_reserved, qc_num_cpu_total, 1)) || + (rc = qc_verify(hdl, qc_num_cpu_shared, qc_num_cpu_dedicated, qc_num_cpu_reserved, qc_num_cpu_total, 1)) || + (rc = qc_verify(hdl, qc_num_ifl_dedicated, qc_num_ifl_shared, ATTR_UNDEF, qc_num_ifl_total, 1)) || + (rc = qc_verify(hdl, qc_num_ifl_dedicated, ATTR_UNDEF, ATTR_UNDEF, 0, 1)) || + (rc = qc_verify(hdl, qc_num_ifl_shared, ATTR_UNDEF, ATTR_UNDEF, qc_num_cpu_configured, 1))) goto out; break; default: break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qclib-2.4.0/query_capacity.h new/qclib-2.4.1/query_capacity.h --- old/qclib-2.4.0/query_capacity.h 2023-04-08 23:49:23.000000000 +0200 +++ new/qclib-2.4.1/query_capacity.h 2023-12-17 23:06:06.000000000 +0100 @@ -5,7 +5,7 @@ #ifndef QUERY_CAPACITY #define QUERY_CAPACITY -#define QC_VERSION "2.4.0" +#define QC_VERSION "2.4.1" /* Build Customization */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qclib-2.4.0/query_capacity_hypfs.c new/qclib-2.4.1/query_capacity_hypfs.c --- old/qclib-2.4.0/query_capacity_hypfs.c 2023-04-08 23:49:23.000000000 +0200 +++ new/qclib-2.4.1/query_capacity_hypfs.c 2023-12-17 23:06:06.000000000 +0100 @@ -617,7 +617,7 @@ out_fail: free(priv->data); priv->data = NULL; - rc = -1; + rc = 1; out: free(fpath); @@ -942,14 +942,18 @@ /* if z/VM diag file exists, the LPAR diag file's content isn't valid, so we're done after handling the z/VM file */ priv->diag = QC_HYPFS_ZVM; - if ((rc = qc_read_diag_file(hdl, dbgfs, priv)) != 0) + if ((rc = qc_read_diag_file(hdl, dbgfs, priv)) != 0) { + rc = 0; // not a fatal error - we just skip this source goto out; + } priv->avail = HYPFS_AVAIL_BIN_ZVM; } else { qc_debug(hdl, "No z/VM diag file found, must be an LPAR\n"); priv->diag = QC_HYPFS_LPAR; - if ((rc = qc_read_diag_file(hdl, dbgfs, priv)) != 0) + if ((rc = qc_read_diag_file(hdl, dbgfs, priv)) != 0) { + rc = 0; // not a fatal error - we just skip this source goto out; + } priv->avail = HYPFS_AVAIL_BIN_LPAR; } } else { ++++++ qclib-change-_PATH_MOUNTED.patch ++++++ --- qclib-2.4.1.orig/query_capacity_hypfs.c 2023-12-17 23:06:06.000000000 +0100 +++ qclib-2.4.1.changed/query_capacity_hypfs.c 2024-04-19 17:07:09.007848701 +0200 @@ -11,6 +11,7 @@ #include "query_capacity_data.h" +#define N_PATH_MOUNTED "/proc/self/mounts" #define QC_HYPFS_LPAR "/s390_hypfs/diag_204" #define QC_HYPFS_ZVM "/s390_hypfs/diag_2fc" @@ -830,9 +831,9 @@ } qc_debug(hdl, "Locate mount point of %s\n", fstype); *mp = NULL; - mounts = setmntent(_PATH_MOUNTED, "r"); + mounts = setmntent(N_PATH_MOUNTED, "r"); if (!mounts) { - qc_debug(hdl, "Error: Failed to open %s\n", _PATH_MOUNTED); + qc_debug(hdl, "Error: Failed to open %s\n", N_PATH_MOUNTED); return -1; } while ((mntbuf = getmntent(mounts)) != NULL) { @@ -848,7 +849,7 @@ } endmntent(mounts); if (!*mp) { - qc_debug(hdl, "%s not mounted according to '%s'\n", fstype, _PATH_MOUNTED); + qc_debug(hdl, "%s not mounted according to '%s'\n", fstype, N_PATH_MOUNTED); return 1; } qc_debug(hdl, "%s mounted at '%s'\n", fstype, *mp);