36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
|
|
From a18a11924a715ace4b2d8e101688d164390cb188 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Florian Festi <ffesti@redhat.com>
|
||
|
|
Date: Fri, 1 Jul 2022 14:44:11 +0200
|
||
|
|
Subject: [PATCH] rpm2cpio.sh: Don't drop newlines from header sizes
|
||
|
|
|
||
|
|
This script converts binary header sizes to decimal numbers. Shell is
|
||
|
|
not that well suited for this task as it drops newlines at the end of
|
||
|
|
command substitutions. Add a . character at the end and strip it right
|
||
|
|
after that to avoid this problem.
|
||
|
|
|
||
|
|
Resolves: rhbz#1983015
|
||
|
|
---
|
||
|
|
scripts/rpm2cpio.sh | 6 +++++-
|
||
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/scripts/rpm2cpio.sh b/scripts/rpm2cpio.sh
|
||
|
|
index c1c505f..f77d5f8 100755
|
||
|
|
--- a/scripts/rpm2cpio.sh
|
||
|
|
+++ b/scripts/rpm2cpio.sh
|
||
|
|
@@ -27,7 +27,11 @@ calcsize() {
|
||
|
|
|
||
|
|
i=0
|
||
|
|
while [ $i -lt 8 ]; do
|
||
|
|
- b="$(_dd $(($offset + $i)) bs=1 count=1)"
|
||
|
|
+ # add . to not loose \n
|
||
|
|
+ # strip \0 as it gets dropped with warning otherwise
|
||
|
|
+ b="$(_dd $(($offset + $i)) bs=1 count=1 | tr -d '\0' ; echo .)"
|
||
|
|
+ b=${b%.} # strip . again
|
||
|
|
+
|
||
|
|
[ -z "$b" ] &&
|
||
|
|
b="0" ||
|
||
|
|
b="$(exec printf '%u\n' "'$b")"
|
||
|
|
--
|
||
|
|
1.8.3.1
|
||
|
|
|