This is an automated email from the git hooks/post-receive script.

guillem pushed a commit to branch main
in repository dpkg.

View the commit online:
https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=4429430741d8752ab8254ba87d85c743b488247a

commit 4429430741d8752ab8254ba87d85c743b488247a
Author: Guillem Jover <[email protected]>
AuthorDate: Tue Sep 26 04:31:27 2023 +0200

    test: Generate the .deb from scratch instead of adapting them
    
    The behavior for «ar rc» is not portable, and depending on the system
    implementation, it either replaces the file, or appends it at the end,
    or other variations. Instead always construct the .deb from its
    components, which seems to be more portable.
---
 src/at/deb-format.at | 28 +++++++++++++---------------
 src/at/deb-split.at  | 11 +++++------
 2 files changed, 18 insertions(+), 21 deletions(-)

diff --git a/src/at/deb-format.at b/src/at/deb-format.at
index 4b829bf58..b3a64ffc5 100644
--- a/src/at/deb-format.at
+++ b/src/at/deb-format.at
@@ -223,9 +223,8 @@ DPKG_GEN_PKG_DEB_FORMAT_TEMPL()
 
 AT_CHECK([
 # Test debian-binary with 2.x versions
-cp pkg-templ.deb pkg-version-2x.deb
 echo 2.999 >debian-binary
-ar rc pkg-version-2x.deb debian-binary
+ar qc pkg-version-2x.deb debian-binary control.tar data.tar
 ar t pkg-version-2x.deb
 ar x pkg-templ.deb debian-binary
 dpkg-deb -I pkg-version-2x.deb
@@ -246,9 +245,8 @@ data.tar
 
 AT_CHECK([
 # Test debian-binary with extra lines
-cp pkg-templ.deb pkg-magic-extra.deb
 echo "extra line" >>debian-binary
-ar rc pkg-magic-extra.deb debian-binary
+ar qc pkg-magic-extra.deb debian-binary control.tar data.tar
 ar t pkg-magic-extra.deb
 ar x pkg-templ.deb debian-binary
 dpkg-deb -I pkg-magic-extra.deb
@@ -407,7 +405,7 @@ data.tar
 AT_CHECK([
 # Test data.tar.bad member
 dd if=/dev/zero of=data.tar.bad bs=1K count=4 status=none
-ar rc pkg-data-bad.deb debian-binary control.tar.gz data.tar.bad
+ar qc pkg-data-bad.deb debian-binary control.tar.gz data.tar.bad
 ar t pkg-data-bad.deb
 dpkg-deb -c pkg-data-bad.deb
 ], [2], [debian-binary
@@ -418,7 +416,7 @@ data.tar.bad
 
 AT_CHECK([
 # Test control.tar member
-ar rc pkg-control-none.deb debian-binary control.tar data.tar
+ar qc pkg-control-none.deb debian-binary control.tar data.tar
 ar t pkg-control-none.deb
 dpkg-deb -I pkg-control-none.deb
 ], [], [debian-binary
@@ -438,7 +436,7 @@ data.tar
 
 AT_CHECK([
 # Test data.tar member
-ar rc pkg-data-none.deb debian-binary control.tar.gz data.tar
+ar qc pkg-data-none.deb debian-binary control.tar.gz data.tar
 ar t pkg-data-none.deb
 dpkg-deb -c pkg-data-none.deb
 ], [], [debian-binary
@@ -451,7 +449,7 @@ drwxr-xr-x root/root         0 1970-01-01 00:00 ./
 
 AT_CHECK([
 # Test data.tar.gz member
-ar rc pkg-data-gz.deb debian-binary control.tar.gz data.tar.gz
+ar qc pkg-data-gz.deb debian-binary control.tar.gz data.tar.gz
 ar t pkg-data-gz.deb
 dpkg-deb -c pkg-data-gz.deb
 ], [], [debian-binary
@@ -463,7 +461,7 @@ drwxr-xr-x root/root         0 1970-01-01 00:00 ./
 ])
 
 # Create .deb with non-uniform data.tar/control.tar member compression
-ar rc pkg-mixed-comp.deb debian-binary control.tar data.tar.gz
+ar qc pkg-mixed-comp.deb debian-binary control.tar data.tar.gz
 DEB_MIXED_COMP_SIZE=$(DPKG_FILE_SIZE([pkg-mixed-comp.deb]))
 
 AT_CHECK_UNQUOTED([
@@ -525,7 +523,7 @@ xz -c data.tar >data.tar.xz
 
 AT_CHECK([
 # Test control.tar.xz member
-ar rc pkg-control-xz.deb debian-binary control.tar.xz data.tar.xz
+ar qc pkg-control-xz.deb debian-binary control.tar.xz data.tar.xz
 ar t pkg-control-xz.deb
 dpkg-deb -c pkg-control-xz.deb
 ], [], [debian-binary
@@ -538,7 +536,7 @@ drwxr-xr-x root/root         0 1970-01-01 00:00 ./
 
 AT_CHECK([
 # Test data.tar.xz member
-ar rc pkg-data-xz.deb debian-binary control.tar.gz data.tar.xz
+ar qc pkg-data-xz.deb debian-binary control.tar.gz data.tar.xz
 ar t pkg-data-xz.deb
 dpkg-deb -c pkg-data-xz.deb
 ], [], [debian-binary
@@ -576,7 +574,7 @@ zstd -c data.tar >data.tar.zst
 
 AT_CHECK([
 # Test control.tar.zst member
-ar rc pkg-control-zst.deb debian-binary control.tar.zst data.tar.zst
+ar qc pkg-control-zst.deb debian-binary control.tar.zst data.tar.zst
 ar t pkg-control-zst.deb
 dpkg-deb -c pkg-control-zst.deb
 ], [], [debian-binary
@@ -589,7 +587,7 @@ drwxr-xr-x root/root         0 1970-01-01 00:00 ./
 
 AT_CHECK([
 # Test data.tar.zst member
-ar rc pkg-data-zst.deb debian-binary control.tar.gz data.tar.zst
+ar qc pkg-data-zst.deb debian-binary control.tar.gz data.tar.zst
 ar t pkg-data-zst.deb
 dpkg-deb -c pkg-data-zst.deb
 ], [], [debian-binary
@@ -626,7 +624,7 @@ bzip2 -c data.tar >data.tar.bz2
 
 AT_CHECK([
 # Test data.tar.bz2 member
-ar rc pkg-data-bz2.deb debian-binary control.tar.gz data.tar.bz2
+ar qc pkg-data-bz2.deb debian-binary control.tar.gz data.tar.bz2
 ar t pkg-data-bz2.deb
 dpkg-deb -c pkg-data-bz2.deb
 ], [], [debian-binary
@@ -654,7 +652,7 @@ lzma -c data.tar >data.tar.lzma
 
 AT_CHECK([
 # Test data.tar.lzma member
-ar rc pkg-data-lzma.deb debian-binary control.tar.gz data.tar.lzma
+ar qc pkg-data-lzma.deb debian-binary control.tar.gz data.tar.lzma
 ar t pkg-data-lzma.deb
 dpkg-deb -c pkg-data-lzma.deb
 ], [], [debian-binary
diff --git a/src/at/deb-split.at b/src/at/deb-split.at
index 043b7efdc..539e20e45 100644
--- a/src/at/deb-split.at
+++ b/src/at/deb-split.at
@@ -26,6 +26,7 @@ dpkg-split -S 210 -s pkg-split.deb pkg-split-part
 for p in DPKG_SEQ([10]); do
   test -f pkg-split-part.${p}of10.deb
 done
+ar x pkg-split-part.1of10.deb data.1
 ], [], [Splitting package pkg-split into 10 parts: 1 2 3 4 5 6 7 8 9 10 done
 ])
 
@@ -40,11 +41,10 @@ DEB_SPLIT_PART_SIZE_VERSION=$((DEB_SPLIT_PART_SIZE + 2))
 
 AT_CHECK_UNQUOTED([
 # Test debian-split with 2.x version
-cp pkg-split-part.1of10.deb pkg-split-part-version-2x.deb
-ar x pkg-split-part-version-2x.deb debian-split
+ar x pkg-split-part.1of10.deb debian-split
 $SED -e '1c2.999' debian-split >debian-split.new
 mv debian-split.new debian-split
-ar rc pkg-split-part-version-2x.deb debian-split
+ar qc pkg-split-part-version-2x.deb debian-split data.1
 ar t pkg-split-part-version-2x.deb
 dpkg-split -I pkg-split-part-version-2x.deb
 ], [], [debian-split
@@ -68,10 +68,9 @@ DEB_SPLIT_PART_SIZE_MAGIC_EXTRA=$((DEB_SPLIT_PART_SIZE + 10))
 
 AT_CHECK_UNQUOTED([
 # Test debian-split with extra lines
-cp pkg-split-part.1of10.deb pkg-split-part-magic-extra.deb
-ar x pkg-split-part-magic-extra.deb debian-split
+ar x pkg-split-part.1of10.deb debian-split
 echo "extra line" >>debian-split
-ar rc pkg-split-part-magic-extra.deb debian-split
+ar qc pkg-split-part-magic-extra.deb debian-split data.1
 ar t pkg-split-part-magic-extra.deb
 dpkg-split -I pkg-split-part-magic-extra.deb
 ], [], [debian-split

-- 
Dpkg.Org's dpkg

Reply via email to