- rebased to 2.22.0
This commit is contained in:
parent
cc536faf67
commit
ca6b193ac3
@ -1,6 +1,221 @@
|
||||
diff -up s390-tools-2.9.0/zipl/src/Makefile.blscfg-rpm-nvr-sort s390-tools-2.9.0/zipl/src/Makefile
|
||||
--- s390-tools-2.9.0/zipl/src/Makefile.blscfg-rpm-nvr-sort 2019-05-22 08:16:17.317273801 -0400
|
||||
+++ s390-tools-2.9.0/zipl/src/Makefile 2019-05-22 08:18:02.947273801 -0400
|
||||
From 14119148dabb7f4f633623c00eece44c5771db10 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
|
||||
Date: Mon, 20 Jun 2022 17:43:05 +0200
|
||||
Subject: [PATCH 1/2] Revert "zipl/src: Implement sorting bls entries by
|
||||
versions"
|
||||
|
||||
This reverts commit a0dba6bfdb50ff373fa710ffe2a307cc0748f18b.
|
||||
---
|
||||
zipl/src/scan.c | 139 ++----------------------------------------------
|
||||
1 file changed, 3 insertions(+), 136 deletions(-)
|
||||
|
||||
diff --git a/zipl/src/scan.c b/zipl/src/scan.c
|
||||
index 0cea1d4..9352f76 100644
|
||||
--- a/zipl/src/scan.c
|
||||
+++ b/zipl/src/scan.c
|
||||
@@ -10,7 +10,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
-static const char *VERSION_KEYWORD = "version";
|
||||
|
||||
/* Need ISOC99 function isblank() in ctype.h */
|
||||
#ifndef __USE_ISOC99
|
||||
@@ -646,7 +645,7 @@ scan_file(const char* filename, struct scan_token** token)
|
||||
|
||||
|
||||
static int
|
||||
-bls_filter_by_names(const struct dirent *ent)
|
||||
+bls_filter(const struct dirent *ent)
|
||||
{
|
||||
int offset = strlen(ent->d_name) - strlen(".conf");
|
||||
|
||||
@@ -656,111 +655,13 @@ bls_filter_by_names(const struct dirent *ent)
|
||||
return strncmp(ent->d_name + offset, ".conf", strlen(".conf")) == 0;
|
||||
}
|
||||
|
||||
-struct version {
|
||||
- char *line; /* pointer to a line with version keyword */
|
||||
- int offset; /* offset of version value in the line */
|
||||
-};
|
||||
-
|
||||
-/*
|
||||
- * Locate version in bls file represented by ENT
|
||||
- */
|
||||
-static void get_version(const struct dirent *ent, struct version *v)
|
||||
-{
|
||||
- char *line = NULL;
|
||||
- size_t len = 0;
|
||||
- char *d_name;
|
||||
- FILE *stream;
|
||||
- ssize_t read;
|
||||
-
|
||||
- memset(v, 0, sizeof(*v));
|
||||
- d_name = misc_make_path((char *)blsdir, (char *)ent->d_name);
|
||||
- if (!d_name)
|
||||
- return;
|
||||
-
|
||||
- stream = fopen(d_name, "r");
|
||||
- free(d_name);
|
||||
- if (!stream)
|
||||
- return;
|
||||
-
|
||||
- while ((read = getline(&line, &len, stream)) != -1) {
|
||||
- if (line[read - 1] == '\n') {
|
||||
- line[read - 1] = '\0';
|
||||
- read--;
|
||||
- }
|
||||
- if ((size_t)read <= strlen(VERSION_KEYWORD) + 1)
|
||||
- continue;
|
||||
- if (strcmp(VERSION_KEYWORD, line) > 0)
|
||||
- continue;
|
||||
- if (!isblank(line[strlen(VERSION_KEYWORD)]))
|
||||
- continue;
|
||||
- /* skip blanks */
|
||||
- v->offset = strlen(VERSION_KEYWORD) + 1;
|
||||
- while (v->offset < read - 1 && isblank(line[v->offset]))
|
||||
- v->offset++;
|
||||
- if (isblank(line[v->offset]))
|
||||
- /*
|
||||
- * all characters after the keyword
|
||||
- * are blanks. Invalid version
|
||||
- */
|
||||
- continue;
|
||||
- v->line = line;
|
||||
- fclose(stream);
|
||||
- return;
|
||||
- }
|
||||
- free(line);
|
||||
- fclose(stream);
|
||||
-}
|
||||
-
|
||||
-static void put_version(struct version *v)
|
||||
-{
|
||||
- free(v->line);
|
||||
-}
|
||||
-
|
||||
-/**
|
||||
- * Check version in bls file represented by ENT.
|
||||
- * Return 1 if version is valid. Otherwise return 0
|
||||
- */
|
||||
-static int bls_filter_by_versions(const struct dirent *ent)
|
||||
-{
|
||||
- struct version v;
|
||||
-
|
||||
- if (bls_filter_by_names(ent) == 0)
|
||||
- return 0;
|
||||
-
|
||||
- get_version(ent, &v);
|
||||
- if (v.line) {
|
||||
- put_version(&v);
|
||||
- return 1;
|
||||
- }
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
|
||||
static int
|
||||
-bls_sort_by_names(const struct dirent **ent_a, const struct dirent **ent_b)
|
||||
+bls_sort(const struct dirent **ent_a, const struct dirent **ent_b)
|
||||
{
|
||||
return strverscmp((*ent_a)->d_name, (*ent_b)->d_name);
|
||||
}
|
||||
|
||||
-static int
|
||||
-bls_sort_by_versions(const struct dirent **ent_a, const struct dirent **ent_b)
|
||||
-{
|
||||
- struct version v1, v2;
|
||||
- int ret;
|
||||
-
|
||||
- get_version(*ent_a, &v1);
|
||||
- get_version(*ent_b, &v2);
|
||||
- /*
|
||||
- * Both versions are valid.
|
||||
- * It is guaranteed by bls_filter_by_versions()
|
||||
- */
|
||||
- ret = strverscmp(v1.line + v1.offset, v2.line + v2.offset);
|
||||
-
|
||||
- put_version(&v1);
|
||||
- put_version(&v2);
|
||||
-
|
||||
- return ret;
|
||||
-}
|
||||
|
||||
static int
|
||||
scan_append_section_heading(struct scan_token* scan, int* index, char* name);
|
||||
@@ -1110,40 +1011,6 @@ scan_count_target_keywords(char* keyword[])
|
||||
return num;
|
||||
}
|
||||
|
||||
-static int bls_scandir(struct dirent ***bls_entries)
|
||||
-{
|
||||
- struct dirent **entries1;
|
||||
- struct dirent **entries2;
|
||||
- int n1, n2;
|
||||
-
|
||||
- /* arrange by names */
|
||||
- n1 = scandir(blsdir, &entries1,
|
||||
- bls_filter_by_names, bls_sort_by_names);
|
||||
- if (n1 <= 0)
|
||||
- return n1;
|
||||
- /* arrange by versions */
|
||||
- n2 = scandir(blsdir, &entries2,
|
||||
- bls_filter_by_versions, bls_sort_by_versions);
|
||||
-
|
||||
- if (n2 <= 0 || n2 < n1) {
|
||||
- /*
|
||||
- * failed to sort by versions,
|
||||
- * fall back to sorting by filenames
|
||||
- */
|
||||
- *bls_entries = entries1;
|
||||
- while (n2--)
|
||||
- free(entries2[n2]);
|
||||
- free(entries2);
|
||||
- return n1;
|
||||
- }
|
||||
- /* use arrangement by versions */
|
||||
- *bls_entries = entries2;
|
||||
- while (n1--)
|
||||
- free(entries1[n1]);
|
||||
- free(entries1);
|
||||
- return n2;
|
||||
-}
|
||||
-
|
||||
int
|
||||
scan_check_target_data(char* keyword[], int* line)
|
||||
{
|
||||
@@ -1464,7 +1331,7 @@ int scan_bls(struct scan_token **token, int scan_size)
|
||||
if (!(stat(blsdir, &sb) == 0 && S_ISDIR(sb.st_mode)))
|
||||
return 0;
|
||||
|
||||
- n = bls_scandir(&bls_entries);
|
||||
+ n = scandir(blsdir, &bls_entries, bls_filter, bls_sort);
|
||||
if (n <= 0)
|
||||
return n;
|
||||
|
||||
--
|
||||
2.36.1
|
||||
|
||||
|
||||
From 661f143bb0b429c732d0ad9756c745dcb8799bc7 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Jones <pjones@redhat.com>
|
||||
Date: Mon, 20 Jun 2022 17:46:59 +0200
|
||||
Subject: [PATCH 2/2] blscfg: sort like rpm nvr, not like a single version
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||
Signed-off-by: Dan Horák <dan@danny.cz>
|
||||
---
|
||||
zipl/src/Makefile | 2 +-
|
||||
zipl/src/scan.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
2 files changed, 95 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/zipl/src/Makefile b/zipl/src/Makefile
|
||||
index 786bb7f..1adc486 100644
|
||||
--- a/zipl/src/Makefile
|
||||
+++ b/zipl/src/Makefile
|
||||
@@ -7,7 +7,7 @@ ALL_CPPFLAGS += -I../include -I../boot \
|
||||
-D_FILE_OFFSET_BITS=64 $(NO_PIE_CFLAGS)
|
||||
ALL_LDFLAGS += -Wl,-z,noexecstack $(NO_PIE_LDFLAGS)
|
||||
@ -10,10 +225,11 @@ diff -up s390-tools-2.9.0/zipl/src/Makefile.blscfg-rpm-nvr-sort s390-tools-2.9.0
|
||||
|
||||
objects = misc.o error.o scan.o job.o boot.o bootmap.o fs-map.o disk.o \
|
||||
bootmap_header.o envblk.o install.o zipl.o $(rootdir)/zipl/boot/data.o
|
||||
diff -up s390-tools-2.9.0/zipl/src/scan.c.blscfg-rpm-nvr-sort s390-tools-2.9.0/zipl/src/scan.c
|
||||
--- s390-tools-2.9.0/zipl/src/scan.c.blscfg-rpm-nvr-sort 2019-05-21 09:13:36.000000000 -0400
|
||||
+++ s390-tools-2.9.0/zipl/src/scan.c 2019-05-22 08:16:17.317273801 -0400
|
||||
@@ -33,6 +33,8 @@
|
||||
diff --git a/zipl/src/scan.c b/zipl/src/scan.c
|
||||
index 9352f76..3327e2d 100644
|
||||
--- a/zipl/src/scan.c
|
||||
+++ b/zipl/src/scan.c
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
#include "lib/util_base.h"
|
||||
|
||||
@ -22,7 +238,7 @@ diff -up s390-tools-2.9.0/zipl/src/scan.c.blscfg-rpm-nvr-sort s390-tools-2.9.0/z
|
||||
#include "boot.h"
|
||||
#include "error.h"
|
||||
#include "misc.h"
|
||||
@@ -653,13 +655,103 @@ bls_filter(const struct dirent *ent)
|
||||
@@ -655,13 +657,103 @@ bls_filter(const struct dirent *ent)
|
||||
return strncmp(ent->d_name + offset, ".conf", strlen(".conf")) == 0;
|
||||
}
|
||||
|
||||
@ -128,3 +344,6 @@ diff -up s390-tools-2.9.0/zipl/src/scan.c.blscfg-rpm-nvr-sort s390-tools-2.9.0/z
|
||||
|
||||
static int
|
||||
scan_append_section_heading(struct scan_token* scan, int* index, char* name);
|
||||
--
|
||||
2.36.1
|
||||
|
||||
|
@ -61,10 +61,10 @@ index 871935c783f..d8d5eca5867 100755
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
diff --git a/scripts/zipl-switch-to-blscfg.1 b/scripts/zipl-switch-to-blscfg.1
|
||||
diff --git a/scripts/zipl-switch-to-blscfg.8 b/scripts/zipl-switch-to-blscfg.8
|
||||
index 6bd14d00d14..71b904ffd1c 100644
|
||||
--- a/scripts/zipl-switch-to-blscfg.1
|
||||
+++ b/scripts/zipl-switch-to-blscfg.1
|
||||
--- a/scripts/zipl-switch-to-blscfg.8
|
||||
+++ b/scripts/zipl-switch-to-blscfg.8
|
||||
@@ -37,9 +37,9 @@ The DIRECTORY where the BLS fragments will be generated. The directory is create
|
||||
The FILE used for zipl configuration file, defaults to /etc/zipl.conf.
|
||||
|
||||
|
@ -9,8 +9,8 @@
|
||||
|
||||
Name: s390utils
|
||||
Summary: Utilities and daemons for IBM z Systems
|
||||
Version: 2.21.0
|
||||
Release: 2%{?dist}
|
||||
Version: 2.22.0
|
||||
Release: 1%{?dist}
|
||||
Epoch: 2
|
||||
License: MIT
|
||||
ExclusiveArch: s390 s390x
|
||||
@ -207,6 +207,7 @@ This package provides minimal set of tools needed to system to boot.
|
||||
/lib/s390-tools/zdev-root-update
|
||||
/lib/s390-tools/zipl.conf
|
||||
%ghost %config(noreplace) %{_sysconfdir}/zipl.conf
|
||||
%config(noreplace) %{_sysconfdir}/ziplenv
|
||||
%{_unitdir}/cpi.service
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/cpi
|
||||
/usr/lib/dracut/modules.d/95zdev/
|
||||
@ -448,6 +449,7 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
|
||||
%{_sbindir}/lstape
|
||||
%{_sbindir}/lszcrypt
|
||||
%{_sbindir}/lszfcp
|
||||
%{_sbindir}/pai
|
||||
%{_sbindir}/qetharp
|
||||
%{_sbindir}/qethconf
|
||||
%{_sbindir}/qethqoat
|
||||
@ -470,12 +472,16 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
|
||||
%{_bindir}/dump2tar
|
||||
%{_bindir}/genprotimg
|
||||
%{_bindir}/mk-s390image
|
||||
%{_bindir}/pvattest
|
||||
%{_bindir}/pvextract-hdr
|
||||
%{_bindir}/vmconvert
|
||||
%{_bindir}/zkey
|
||||
%{_bindir}/zkey-cryptsetup
|
||||
%{_unitdir}/dumpconf.service
|
||||
%ghost %config(noreplace) %{_sysconfdir}/zipl.conf
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/dumpconf
|
||||
%{_sysconfdir}/mdevctl.d/*
|
||||
/usr/lib/dracut/modules.d/99ngdump/
|
||||
/lib/s390-tools/dumpconf
|
||||
/lib/s390-tools/lsznet.raw
|
||||
%dir /lib/s390-tools/zfcpdump
|
||||
@ -486,13 +492,13 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
|
||||
%dir %{_libdir}/zkey
|
||||
%{_libdir}/zkey/zkey-ekmfweb.so
|
||||
%{_libdir}/zkey/zkey-kmip.so
|
||||
%{_mandir}/man1/dbginfo.sh.1*
|
||||
%{_mandir}/man1/dump2tar.1*
|
||||
%{_mandir}/man1/lscpumf.1*
|
||||
%{_mandir}/man1/lshwc.1*
|
||||
%{_mandir}/man1/genprotimg.1*
|
||||
%{_mandir}/man1/pvattest.1*
|
||||
%{_mandir}/man1/pvattest-create.1*
|
||||
%{_mandir}/man1/pvattest-perform.1*
|
||||
%{_mandir}/man1/pvattest-verify.1*
|
||||
%{_mandir}/man1/vmconvert.1*
|
||||
%{_mandir}/man1/zfcpdbf.1*
|
||||
%{_mandir}/man1/zipl-switch-to-blscfg.1*
|
||||
%{_mandir}/man1/zkey.1*
|
||||
%{_mandir}/man1/zkey-cryptsetup.1*
|
||||
%{_mandir}/man1/zkey-ekmfweb.1*
|
||||
@ -506,14 +512,16 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
|
||||
%{_mandir}/man8/chzcrypt.8*
|
||||
%{_mandir}/man8/dasdstat.8*
|
||||
%{_mandir}/man8/dasdview.8*
|
||||
%{_mandir}/man8/dbginfo.sh.8*
|
||||
%{_mandir}/man8/dumpconf.8*
|
||||
%{_mandir}/man8/genprotimg.8.*
|
||||
%{_mandir}/man8/hsavmcore.8*
|
||||
%{_mandir}/man8/hsci.8*
|
||||
%{_mandir}/man8/hyptop.8*
|
||||
%{_mandir}/man8/lschp.8*
|
||||
%{_mandir}/man8/lscpumf.8*
|
||||
%{_mandir}/man8/lscss.8*
|
||||
%{_mandir}/man8/lsdasd.8*
|
||||
%{_mandir}/man8/lshwc.8*
|
||||
%{_mandir}/man8/lsluns.8*
|
||||
%{_mandir}/man8/lsqeth.8*
|
||||
%{_mandir}/man8/lsreipl.8*
|
||||
@ -523,6 +531,7 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
|
||||
%{_mandir}/man8/lstape.8*
|
||||
%{_mandir}/man8/lszcrypt.8*
|
||||
%{_mandir}/man8/lszfcp.8*
|
||||
%{_mandir}/man8/pai.8*
|
||||
%{_mandir}/man8/qetharp.8*
|
||||
%{_mandir}/man8/qethconf.8*
|
||||
%{_mandir}/man8/qethqoat.8*
|
||||
@ -533,7 +542,9 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
|
||||
%{_mandir}/man8/vmur.8*
|
||||
%{_mandir}/man8/zcryptctl.8*
|
||||
%{_mandir}/man8/zcryptstats.8*
|
||||
%{_mandir}/man8/zfcpdbf.8*
|
||||
%{_mandir}/man8/zgetdump.8*
|
||||
%{_mandir}/man8/zipl-switch-to-blscfg.8*
|
||||
%{_mandir}/man8/znetconf.8*
|
||||
%{_mandir}/man8/zpcictl.8*
|
||||
%dir %{_datadir}/s390-tools
|
||||
@ -886,6 +897,9 @@ User-space development files for the s390/s390x architecture.
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Jun 20 2022 Dan Horák <dan[at]danny.cz> - 2:2.22.0-1
|
||||
- rebased to 2.22.0
|
||||
|
||||
* Tue May 31 2022 Dan Horák <dan[at]danny.cz> - 2:2.21.0-2
|
||||
- do not fail on emtpy /proc/cmdline when installing kernel (#1899759)
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (s390-tools-2.21.0.tar.gz) = 3f37e2c58cc2b7cdb4c7e51b0344e190cd5c6551ee310c6602238e2eeba0a29c6b95a3b20a582e6b4c4654108f9426ebc6b56c8a2f923a2539830b3e5341b5ca
|
||||
SHA512 (s390-tools-2.22.0.tar.gz) = ac613cddd6d85191f874d8d9eb014b9edc00868f7432a7ac057db0f7011d3ab3371b58a3881d78726e17c8e416d486e6fffb64264d5500abcaabcd56d9f181f6
|
||||
|
Loading…
Reference in New Issue
Block a user