pesign-obs-integration/0001-Forward-_binary_payload-to-the-repackaged-rpm.patch

64 lines
1.7 KiB
Diff

From 8c1a628d671e58a3902bda1389a871a154b27469 Mon Sep 17 00:00:00 2001
From: Gary Lin <glin@suse.com>
Date: Wed, 2 Sep 2020 11:37:24 +0800
Subject: [PATCH] Forward _binary_payload to the repackaged rpm (bsc#1175882)
Signed-off-by: Gary Lin <glin@suse.com>
---
pesign-gen-repackage-spec | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/pesign-gen-repackage-spec b/pesign-gen-repackage-spec
index e1ca24c..037da59 100755
--- a/pesign-gen-repackage-spec
+++ b/pesign-gen-repackage-spec
@@ -142,15 +142,25 @@ my %script2tag = (
# FIXME: triggers
);
+# compressor => specfile payload
+my %com2pl = (
+ gzip => "gzdio",
+ bzip2 => "bzdio",
+ xz => "xzdio",
+ lzma => "lzdio",
+ zstd => "zstdio",
+);
+
# tags which are printed verbatim in the specfile
my @simple_tags = qw(version release license group summary packager vendor
url distribution);
+my @payload_tags = qw(payloadcompressor payloadflags);
sub load_package {
my $rpm = shift;
my %res;
- for my $tag (qw(name arch sourcerpm description), @simple_tags) {
+ for my $tag (qw(name arch sourcerpm description), @simple_tags, @payload_tags) {
$res{$tag} = query_single($rpm, $tag);
}
my @files;
@@ -245,6 +255,18 @@ sub print_script {
sub print_package {
my ($p, $is_main) = @_;
+ my $payloadstr = "w.ufdio";
+
+ if ($p->{payloadcompressor}) {
+ my $payload = $com2pl{$p->{payloadcompressor}};
+ if ($payload) {
+ $payloadstr = "w$p->{payloadflags}.$payload";
+ } else {
+ die "Unknown compressor: $p->{payloadcompressor}";
+ }
+ }
+ print SPEC "\%define _binary_payload $payloadstr\n";
+
if ($is_main) {
print SPEC "Name: $p->{name}\n";
print SPEC "Buildroot: $directory\n";
--
2.28.0