Fix unit tests in RHEL CI and rebuild RPM
Also clean up the repo from unused patches and files. Related: rhbz#2174845 Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
parent
f88f8957d8
commit
23883bdc57
169
PR1316.patch
169
PR1316.patch
@ -1,169 +0,0 @@
|
|||||||
From 3e780762cb92f3cbb1c80c78669f1768613f163e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= <thozza@redhat.com>
|
|
||||||
Date: Thu, 25 May 2023 13:12:08 +0200
|
|
||||||
Subject: [PATCH] stages/sgdisk: option to not quote partition names passed to
|
|
||||||
sgdisk
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
The partition name in the sgdisk stage was previously quoted when
|
|
||||||
passed to sgdisk as an argument. I think that this was done because
|
|
||||||
the sgdisk man page states that:
|
|
||||||
|
|
||||||
```
|
|
||||||
If you want to set a name that includes a space, enclose it in
|
|
||||||
quotation marks, as in sgdisk -c 1:"Sample Name" /dev/sdb.
|
|
||||||
```
|
|
||||||
|
|
||||||
However, this should apply only when sgdisk is run in a shell, so that
|
|
||||||
the argument is not split by shell into multiple arguments and passes
|
|
||||||
as a single string.
|
|
||||||
|
|
||||||
The stage is executing sgdisk using Python `subprocess` module, which
|
|
||||||
does not need strings with spaces to be quoted, because they are passed
|
|
||||||
to the command as separate items which are not split in any way.
|
|
||||||
|
|
||||||
The previous behavior of the stage was that these quotes became part of
|
|
||||||
the actual partition name in the partition table.
|
|
||||||
|
|
||||||
After a discussion within the team, we determined that this is a bug.
|
|
||||||
However, fixing it would result in osbuild producing a different
|
|
||||||
artifact for the same manifest, compared to osbuild version without such
|
|
||||||
fix. This is undesired.
|
|
||||||
|
|
||||||
For backward compatibility, a new `quote_partition_name` property is
|
|
||||||
added to the stage options, which can be used to make the stage not
|
|
||||||
quote the partition name when passed to `sgdisk`. As a result, the
|
|
||||||
partition name won't be quoted in the partition table.
|
|
||||||
|
|
||||||
The default stage behavior us kept.
|
|
||||||
|
|
||||||
Modify unit tests to use this option by default.
|
|
||||||
|
|
||||||
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
|
|
||||||
---
|
|
||||||
stages/org.osbuild.sgdisk | 13 ++++++++++---
|
|
||||||
test/data/stages/sgdisk/disk.img.json | 8 ++++----
|
|
||||||
test/data/stages/sgdisk/sgdisk.json | 1 +
|
|
||||||
test/data/stages/sgdisk/sgdisk.mpp.json | 1 +
|
|
||||||
4 files changed, 16 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/stages/org.osbuild.sgdisk b/stages/org.osbuild.sgdisk
|
|
||||||
index c90d4e6..13d9696 100755
|
|
||||||
--- a/stages/org.osbuild.sgdisk
|
|
||||||
+++ b/stages/org.osbuild.sgdisk
|
|
||||||
@@ -30,6 +30,11 @@ SCHEMA_2 = r"""
|
|
||||||
"description": "UUID for the disk image's partition table",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
+ "quote_partition_name": {
|
|
||||||
+ "description": "Quote partition names passed to sgdisk, so that they end up quoted in the partition table. This is old behavior kept for backward compatibility.",
|
|
||||||
+ "type": "boolean",
|
|
||||||
+ "default": true
|
|
||||||
+ },
|
|
||||||
"partitions": {
|
|
||||||
"description": "Partition layout ",
|
|
||||||
"type": "array",
|
|
||||||
@@ -109,7 +114,7 @@ class PartitionTable:
|
|
||||||
def __getitem__(self, key) -> Partition:
|
|
||||||
return self.partitions[key]
|
|
||||||
|
|
||||||
- def write_to(self, target):
|
|
||||||
+ def write_to(self, target, quote_partition_name):
|
|
||||||
"""Write the partition table to disk"""
|
|
||||||
# generate the command for sfdisk to create the table
|
|
||||||
|
|
||||||
@@ -138,8 +143,9 @@ class PartitionTable:
|
|
||||||
]
|
|
||||||
|
|
||||||
if part.name:
|
|
||||||
+ part_name = f'"{part.name}"' if quote_partition_name else part.name
|
|
||||||
cmd += [
|
|
||||||
- "-c", f'{idx}:"{part.name}"'
|
|
||||||
+ "-c", f"{idx}:{part_name}"
|
|
||||||
]
|
|
||||||
|
|
||||||
if part.uuid:
|
|
||||||
@@ -180,12 +186,13 @@ def main(devices, options):
|
|
||||||
device = devices["device"]["path"]
|
|
||||||
|
|
||||||
ptuuid = options["uuid"]
|
|
||||||
+ quote_partition_name = options.get("quote_partition_name", True)
|
|
||||||
partitions = options.get("partitions")
|
|
||||||
|
|
||||||
parts = [partition_from_json(p) for p in partitions]
|
|
||||||
pt = PartitionTable(ptuuid, parts)
|
|
||||||
|
|
||||||
- pt.write_to(device)
|
|
||||||
+ pt.write_to(device, quote_partition_name)
|
|
||||||
|
|
||||||
subprocess.run(["sgdisk", "-p", device],
|
|
||||||
encoding='utf8',
|
|
||||||
diff --git a/test/data/stages/sgdisk/disk.img.json b/test/data/stages/sgdisk/disk.img.json
|
|
||||||
index 18c048d..89a5199 100644
|
|
||||||
--- a/test/data/stages/sgdisk/disk.img.json
|
|
||||||
+++ b/test/data/stages/sgdisk/disk.img.json
|
|
||||||
@@ -13,7 +13,7 @@
|
|
||||||
"size": 1024000,
|
|
||||||
"type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
|
|
||||||
"uuid": "80B68AE7-3531-478C-A5FF-9B80F1CB07E9",
|
|
||||||
- "name": "\"EFI System Partition\"",
|
|
||||||
+ "name": "EFI System Partition",
|
|
||||||
"attrs": "LegacyBIOSBootable"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
@@ -22,7 +22,7 @@
|
|
||||||
"size": 1024000,
|
|
||||||
"type": "BC13C2FF-59E6-4262-A352-B275FD6F7172",
|
|
||||||
"uuid": "CFE2BEB6-0BB8-4FB6-9075-2E79413AB707",
|
|
||||||
- "name": "\"boot\"",
|
|
||||||
+ "name": "boot",
|
|
||||||
"attrs": "LegacyBIOSBootable"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
@@ -31,7 +31,7 @@
|
|
||||||
"size": 4096,
|
|
||||||
"type": "FAC7F1FB-3E8D-4137-A512-961DE09A5549",
|
|
||||||
"uuid": "6E2E131D-14C4-4278-876A-5067C40EAECD",
|
|
||||||
- "name": "\"BIOS boot\""
|
|
||||||
+ "name": "BIOS boot"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node": "disk.img4",
|
|
||||||
@@ -39,7 +39,7 @@
|
|
||||||
"size": 18917343,
|
|
||||||
"type": "E6D6D379-F507-44C2-A23C-238F2A3DF928",
|
|
||||||
"uuid": "646E1B09-9358-4A9C-B630-E3C0C296F7C6",
|
|
||||||
- "name": "\"LVM\""
|
|
||||||
+ "name": "LVM"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
diff --git a/test/data/stages/sgdisk/sgdisk.json b/test/data/stages/sgdisk/sgdisk.json
|
|
||||||
index 05d8dcf..29725ec 100644
|
|
||||||
--- a/test/data/stages/sgdisk/sgdisk.json
|
|
||||||
+++ b/test/data/stages/sgdisk/sgdisk.json
|
|
||||||
@@ -375,6 +375,7 @@
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"uuid": "68ad7ade-3fa7-4844-8b2f-1c4cd30bef70",
|
|
||||||
+ "quote_partition_name": false,
|
|
||||||
"partitions": [
|
|
||||||
{
|
|
||||||
"uuid": "80b68ae7-3531-478c-a5ff-9b80f1cb07e9",
|
|
||||||
diff --git a/test/data/stages/sgdisk/sgdisk.mpp.json b/test/data/stages/sgdisk/sgdisk.mpp.json
|
|
||||||
index f4024e1..11b57c1 100644
|
|
||||||
--- a/test/data/stages/sgdisk/sgdisk.mpp.json
|
|
||||||
+++ b/test/data/stages/sgdisk/sgdisk.mpp.json
|
|
||||||
@@ -31,6 +31,7 @@
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"uuid": "68ad7ade-3fa7-4844-8b2f-1c4cd30bef70",
|
|
||||||
+ "quote_partition_name": false,
|
|
||||||
"partitions": [
|
|
||||||
{
|
|
||||||
"uuid": "80b68ae7-3531-478c-a5ff-9b80f1cb07e9",
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
1263
PR1317.patch
1263
PR1317.patch
File diff suppressed because it is too large
Load Diff
@ -9,7 +9,7 @@ Version: 88
|
|||||||
%global pkgdir %{_prefix}/lib/%{pypi_name}
|
%global pkgdir %{_prefix}/lib/%{pypi_name}
|
||||||
|
|
||||||
Name: %{pypi_name}
|
Name: %{pypi_name}
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
|
|
||||||
URL: %{forgeurl}
|
URL: %{forgeurl}
|
||||||
@ -252,6 +252,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 23 2023 Tomáš Hozza <thozza@redhat.com> - 88-2
|
||||||
|
- Fix unit tests in RHEL CI and rebuild RPM
|
||||||
|
|
||||||
* Wed Jun 21 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 88-1
|
* Wed Jun 21 2023 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 88-1
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
|
@ -52,8 +52,10 @@ if [[ -z "${DIST_GIT_RELEASE}" ]]; then
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# The namespace and name must be passed explicitly to rhpkg, because it can't determine them on its own.
|
||||||
|
# Passing these options to centpkg and fedpkg is harmless, so we can use them for all tools.
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
${PKG_MAINT_TOOL} --release "${DIST_GIT_RELEASE}" prep
|
${PKG_MAINT_TOOL} -v --namespace rpms --name osbuild --release "${DIST_GIT_RELEASE}" prep
|
||||||
|
|
||||||
# Extract the Source0 basename without extension
|
# Extract the Source0 basename without extension
|
||||||
SRC_DIR=$(spectool --source 0 osbuild.spec | sed 's/.\+\(osbuild-[0-9]\+\)\.tar\.gz/\1/')
|
SRC_DIR=$(spectool --source 0 osbuild.spec | sed 's/.\+\(osbuild-[0-9]\+\)\.tar\.gz/\1/')
|
||||||
|
Loading…
Reference in New Issue
Block a user