Skip to content

Commit

Permalink
Merge pull request puppetlabs#829 from mhashizume/PA-6376/master/bump…
Browse files Browse the repository at this point in the history
…-components

Update puppet-agent components
  • Loading branch information
joshcooper authored Apr 18, 2024
2 parents 50954b5 + d4fccf9 commit c7b0307
Show file tree
Hide file tree
Showing 12 changed files with 177 additions and 79 deletions.
9 changes: 5 additions & 4 deletions configs/components/dmidecode.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
component 'dmidecode' do |pkg, settings, platform|
pkg.version '3.3'
pkg.md5sum 'afca949fd71a23dd39c4a3c9cd946dc0'
pkg.version '3.5'
pkg.sha256sum '79d76735ee8e25196e2a722964cf9683f5a09581503537884b256b01389cc073'

pkg.apply_patch 'resources/patches/dmidecode/1117390c.patch'
pkg.apply_patch 'resources/patches/dmidecode/11e134e5.patch'
pkg.apply_patch 'resources/patches/dmidecode/80de3762.patch'
pkg.apply_patch 'resources/patches/dmidecode/c76ddda0.patch'
pkg.apply_patch 'resources/patches/dmidecode/de392ff0.patch'

pkg.apply_patch 'resources/patches/dmidecode/dmidecode-install-to-bin.patch'
pkg.url "http://download.savannah.gnu.org/releases/dmidecode/dmidecode-#{pkg.get_version}.tar.xz"
Expand Down
4 changes: 2 additions & 2 deletions configs/components/libffi.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
component 'libffi' do |pkg, settings, platform|
pkg.version '3.4.3'
pkg.md5sum 'b57b0ac1d1072681cee9148a417bd2ec'
pkg.version '3.4.6'
pkg.sha256sum 'b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e'
pkg.url "https://github.com/libffi/libffi/releases/download/v#{pkg.get_version}/#{pkg.get_name}-#{pkg.get_version}.tar.gz"
pkg.mirror "#{settings[:buildsources_url]}/#{pkg.get_name}-#{pkg.get_version}.tar.gz"

Expand Down
4 changes: 2 additions & 2 deletions configs/components/libxml2.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
component "libxml2" do |pkg, settings, platform|
pkg.version '2.10.3'
pkg.sha256sum '5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c'
pkg.version '2.12.6'
pkg.sha256sum '889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb'

libxml2_version_y = pkg.get_version.gsub(/(\d+)\.(\d+)\.(\d+)/, '\1.\2')
pkg.url "https://download.gnome.org/sources/libxml2/#{libxml2_version_y}/libxml2-#{pkg.get_version}.tar.xz"
Expand Down
4 changes: 2 additions & 2 deletions configs/components/libxslt.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
component "libxslt" do |pkg, settings, platform|
pkg.version '1.1.37'
pkg.sha256sum '3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4'
pkg.version '1.1.39'
pkg.sha256sum '2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0'

libxslt_version_y = pkg.get_version.gsub(/(\d+)\.(\d+)\.(\d+)/, '\1.\2')
pkg.url "https://download.gnome.org/sources/libxslt/#{libxslt_version_y}/libxslt-#{pkg.get_version}.tar.xz"
Expand Down
13 changes: 11 additions & 2 deletions configs/components/rubygem-highline.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
component 'rubygem-highline' do |pkg, settings, _platform|
pkg.version '2.1.0'
pkg.md5sum '4209083bda845d47dcc05b7ab23f25fd'
version = settings[:rubygem_highline_version] || '2.1.0'
pkg.version version

case version
when '2.1.0'
pkg.md5sum '4209083bda845d47dcc05b7ab23f25fd'
when '3.0.1'
pkg.sha256sum 'ca18b218fd581b1fae832f89bfeaf2b34d3a93429c44fd4411042ffce286f009'
else
raise "rubygem-highline version #{version} has not been configured; Cannot continue."
end

instance_eval File.read('configs/components/_base-rubygem.rb')

Expand Down
14 changes: 8 additions & 6 deletions configs/components/rubygem-net-ssh.rb
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
component "rubygem-net-ssh" do |pkg, settings, platform|
# Projects may define a :rubygem_net_ssh_version setting, or we use 4.2.0 by default:
version = settings[:rubygem_net_ssh_version] || '4.2.0'
# Projects may define a :rubygem_net_ssh_version setting, or we use 6.1.0 by default:
version = settings[:rubygem_net_ssh_version] || '6.1.0'
if platform.is_cross_compiled? && platform.is_solaris?
# Building agent-runtime-7.x on Solaris 10/11 SPARC fails with newer versions of net-ssh because those platforms
# use older (<= 2.1) versions of Ruby for cross-compiling. Pin to 4.2.0, the last version of net-ssh that supports
# those older Rubies, until we deprecate those platforms.
version = '4.2.0'
end
pkg.version version

case version
when "7.2.3"
pkg.md5sum "be25f70538cb8dcde68d924f001d75df"
when "6.1.0"
pkg.md5sum "383afadb1bd66a458a5d8d2d60736b3d"
when "5.2.0"
pkg.md5sum "341114b3bf34257abd3b11bd16b0c99d"
when "4.2.0"
pkg.md5sum "fec5b151d84110b95ec0056017804491"
when "4.1.0"
pkg.md5sum "6af1ff8c42a07b11203058c9b74cbaef"
else
raise "rubygem-net-ssh version #{version} has not been configured; Cannot continue."
end
Expand Down
2 changes: 2 additions & 0 deletions configs/projects/agent-runtime-main.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
# Set preferred component versions if they differ from defaults:
proj.setting :ruby_version, '3.2.3'
proj.setting :rubygem_deep_merge_version, '1.2.2'
proj.setting :rubygem_highline_version, '3.0.1'
proj.setting :rubygem_hocon_version, '1.4.0'
proj.setting :rubygem_net_ssh_version, '7.2.3'

# Solaris and AIX depend on libedit which breaks augeas compliation starting with 1.13.0
if platform.is_solaris? || platform.name == 'aix-7.1-ppc'
Expand Down
28 changes: 0 additions & 28 deletions resources/patches/dmidecode/1117390c.patch

This file was deleted.

33 changes: 0 additions & 33 deletions resources/patches/dmidecode/11e134e5.patch

This file was deleted.

44 changes: 44 additions & 0 deletions resources/patches/dmidecode/80de3762.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
From 80de376231e903d2cbea95e51ffea31860502159 Mon Sep 17 00:00:00 2001
From: Jerry Hoemann <[email protected]>
Date: Mon, 3 Apr 2023 10:15:12 +0200
Subject: dmioem: HPE OEM Record 237 Firmware change

HPE OEM record type 237 offset 0x09 field was changed from a single
byte STRING to a two byte WORD representing date.

Fixes: cdab638dabb7 ("dmioem: Decode HPE OEM Record 237")
Signed-off-by: Jerry Hoemann <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
---
dmioem.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/dmioem.c b/dmioem.c
index dc4b857..2746e15 100644
--- a/dmioem.c
+++ b/dmioem.c
@@ -1094,7 +1094,8 @@ static int dmi_decode_hp(const struct dmi_header *h)
* 0x06 | Manufacture|STRING | DIMM Manufacturer
* 0x07 | Part Number|STRING | DIMM Manufacturer's Part Number
* 0x08 | Serial Num |STRING | DIMM Vendor Serial Number
- * 0x09 | Spare Part |STRING | DIMM Spare Part Number
+ * 0x09 | Man Date | BYTE | DIMM Manufacture Date (YEAR) in BCD
+ * 0x0A | Man Date | BYTE | DIMM Manufacture Date (WEEK) in BCD
*/
if (gen < G9) return 0;
pr_handle_name("%s DIMM Vendor Information", company);
@@ -1105,8 +1106,9 @@ static int dmi_decode_hp(const struct dmi_header *h)
pr_attr("DIMM Manufacturer Part Number", "%s", dmi_string(h, data[0x07]));
if (h->length < 0x09) break;
pr_attr("DIMM Vendor Serial Number", "%s", dmi_string(h, data[0x08]));
- if (h->length < 0x0A) break;
- pr_attr("DIMM Spare Part Number", "%s", dmi_string(h, data[0x09]));
+ if (h->length < 0x0B) break;
+ if (WORD(data + 0x09))
+ pr_attr("DIMM Manufacture Date", "20%02x-W%02x", data[0x09], data[0x0A]);
break;

case 238:
--
cgit v1.1

64 changes: 64 additions & 0 deletions resources/patches/dmidecode/c76ddda0.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
From c76ddda0ba0aa99a55945e3290095c2ec493c892 Mon Sep 17 00:00:00 2001
From: Jean Delvare <[email protected]>
Date: Wed, 26 Apr 2023 15:44:27 +0200
Subject: Consistently use read_file() when reading from a dump file

Use read_file() instead of mem_chunk() to read the entry point from a
dump file. This is faster, and consistent with how we then read the
actual DMI table from that dump file.

This made no functional difference so far, which is why it went
unnoticed for years. But now that a file type check was added to the
mem_chunk() function, we must stop using it to read from regular
files.

This will again allow root to use the --from-dump option.

Signed-off-by: Jean Delvare <[email protected]>
Tested-by: Jerry Hoemann <[email protected]>
---
dmidecode.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/dmidecode.c b/dmidecode.c
index 54f59c1..52ddbf1 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -6025,17 +6025,25 @@ int main(int argc, char * const argv[])
pr_comment("dmidecode %s", VERSION);

/* Read from dump if so instructed */
+ size = 0x20;
if (opt.flags & FLAG_FROM_DUMP)
{
if (!(opt.flags & FLAG_QUIET))
pr_info("Reading SMBIOS/DMI data from file %s.",
opt.dumpfile);
- if ((buf = mem_chunk(0, 0x20, opt.dumpfile)) == NULL)
+ if ((buf = read_file(0, &size, opt.dumpfile)) == NULL)
{
ret = 1;
goto exit_free;
}

+ /* Truncated entry point can't be processed */
+ if (size < 0x20)
+ {
+ ret = 1;
+ goto done;
+ }
+
if (memcmp(buf, "_SM3_", 5) == 0)
{
if (smbios3_decode(buf, opt.dumpfile, 0))
@@ -6059,7 +6067,6 @@ int main(int argc, char * const argv[])
* contain one of several types of entry points, so read enough for
* the largest one, then determine what type it contains.
*/
- size = 0x20;
if (!(opt.flags & FLAG_NO_SYSFS)
&& (buf = read_file(0, &size, SYS_ENTRY_FILE)) != NULL)
{
--
cgit v1.1

37 changes: 37 additions & 0 deletions resources/patches/dmidecode/de392ff0.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From de392ff0599f9737aad5656f13356cb14005eb22 Mon Sep 17 00:00:00 2001
From: Jean Delvare <[email protected]>
Date: Fri, 29 Mar 2024 09:27:58 +0100
Subject: dmidecode: Fix flag mask in dmi_slot_characteristics

When slot characteristics flags were added, the mask to test if at
least one flag is set wasn't updated. This could result in slot
characteristics being listed as "None" for slots with only new flags
set.

Fix this by dropping the mask for the second slot characteristics
byte completely. It seems safe to assume that all the remaining bits
of this byte will be used to future characteristic flags.

Signed-off-by: Jean Delvare <[email protected]>
Fixes: f7d236dd5c4d ("dmidecode: Remaining support for SMBIOS 3.2.0")
Fixes: 4304d3aca801 ("Add new slot characteristics2 from SMBIOS spec 3.4.0")
---
dmidecode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dmidecode.c b/dmidecode.c
index d79f294..78def4c 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -2255,7 +2255,7 @@ static void dmi_slot_characteristics(const char *attr, u8 code1, u8 code2)

if (code1 & (1 << 0))
pr_attr(attr, "Unknown");
- else if ((code1 & 0xFE) == 0 && (code2 & 0x07) == 0)
+ else if ((code1 & 0xFE) == 0 && code2 == 0)
pr_attr(attr, "None");
else
{
--
cgit v1.1

0 comments on commit c7b0307

Please sign in to comment.