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=99ef650f890c8a3977c933aa9612f6ba5cf13378

commit 99ef650f890c8a3977c933aa9612f6ba5cf13378
Author: Guillem Jover <guil...@debian.org>
AuthorDate: Fri Oct 27 03:40:39 2023 +0200

    test: Replace SED usage with PERL
    
    This makes the code more portable, as sed implementations and their
    behavior vary wildly and have been a source of portability issues.
    Instead perl provides consistent behavior across systems.
---
 src/at/atlocal.in    |  1 -
 src/at/deb-fields.at | 22 ++++++++++++----------
 src/at/deb-format.at |  4 ++--
 src/at/deb-split.at  |  6 ++----
 src/at/local.at      |  5 ++---
 5 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/src/at/atlocal.in b/src/at/atlocal.in
index 165c3b19d..8b413ef96 100644
--- a/src/at/atlocal.in
+++ b/src/at/atlocal.in
@@ -3,7 +3,6 @@
 PATH="@abs_top_builddir@/src:$PATH"
 export PATH
 
-SED="@SED@"
 GREP="@GREP@"
 EGREP="@EGREP@"
 TAR="@TAR@"
diff --git a/src/at/deb-fields.at b/src/at/deb-fields.at
index 4dd0c8552..ccc733af9 100644
--- a/src/at/deb-fields.at
+++ b/src/at/deb-fields.at
@@ -9,8 +9,8 @@ test -z "$(dpkg-deb -f pkg-package-type-void.deb Package-Type)"
 ], [0], [ignore])
 
 DPKG_GEN_CONTROL([pkg-package-type-use])
-DPKG_MOD_CONTROL([pkg-package-type-use], [/^Package:/a\
-Package-Type: udeb])
+DPKG_MOD_CONTROL([pkg-package-type-use],
+  [s/^Package: .*$/$&\nPackage-Type: udeb/])
 AT_CHECK([
 dpkg-deb -b pkg-package-type-use
 # Test presence of Package-Type field.
@@ -18,14 +18,16 @@ test -n "$(dpkg-deb -f pkg-package-type-use.deb 
Package-Type)"
 ], [0], [ignore])
 
 DPKG_GEN_CONTROL([pkg-obsolete-fields])
-DPKG_MOD_CONTROL([pkg-obsolete-fields], [s/^Priority:/Class:/])
-DPKG_MOD_CONTROL([pkg-obsolete-fields], [s/^Version: 0.0-1/Version: 0.0/])
-DPKG_MOD_CONTROL([pkg-obsolete-fields], [/^Version:/a\
-Revision: 1])
-DPKG_MOD_CONTROL([pkg-obsolete-fields], [/^Package:/a\
-Optional: suggests])
-DPKG_MOD_CONTROL([pkg-obsolete-fields], [/^Package:/a\
-Recommended: recommends])
+DPKG_MOD_CONTROL([pkg-obsolete-fields],
+  [s/^Priority:/Class:/])
+DPKG_MOD_CONTROL([pkg-obsolete-fields],
+  [s/^Version: 0.0-1$/Version: 0.0/])
+DPKG_MOD_CONTROL([pkg-obsolete-fields],
+  [s/^Version:.*$/$&\nRevision: 1/])
+DPKG_MOD_CONTROL([pkg-obsolete-fields],
+  [s/^Package:.*$/$&\nOptional: suggests/])
+DPKG_MOD_CONTROL([pkg-obsolete-fields],
+  [s/^Package:.*$/$&\nRecommended: recommends/])
 AT_CHECK([
 dpkg-deb -b pkg-obsolete-fields
 ], [0], [ignore],
diff --git a/src/at/deb-format.at b/src/at/deb-format.at
index 781880109..4c0a87ff2 100644
--- a/src/at/deb-format.at
+++ b/src/at/deb-format.at
@@ -22,7 +22,7 @@ dpkg-deb --info pkg-deb-old-bogus-only-version.deb
 
 DPKG_GEN_CONTROL([pkg-deb-old-format])
 DPKG_MOD_CONTROL([pkg-deb-old-format],
-                 [s/^Description:.*$/& - deb old format support/])
+                 [s/^Description:.*$/$& - deb old format support/])
 AT_DATA([pkg-deb-old-format/file-templ], [test
 ])
 AT_CHECK([
@@ -185,7 +185,7 @@ AT_CLEANUP
 m4_define([DPKG_GEN_PKG_DEB_FORMAT_TEMPL], [
   DPKG_GEN_CONTROL([pkg-deb-format])
   DPKG_MOD_CONTROL([pkg-deb-format],
-                   [s/^Description:.*$/& - deb format support/])
+                   [s/^Description:.*$/$& - deb format support/])
   AT_DATA([pkg-deb-format/file-templ], [test
 ])
   AT_CHECK([
diff --git a/src/at/deb-split.at b/src/at/deb-split.at
index 8519bf9c9..b0dcd4ba2 100644
--- a/src/at/deb-split.at
+++ b/src/at/deb-split.at
@@ -11,7 +11,7 @@ AT_KEYWORDS([dpkg-split deb-split])
 
 DPKG_GEN_CONTROL([pkg-split])
 DPKG_MOD_CONTROL([pkg-split],
-                 [s/^Description:.*$/& - normal package to be split/])
+                 [s/^Description:.*$/$& - normal package to be split/])
 AT_CHECK([
 # Initialize the template package
 chmod -R u+w pkg-split
@@ -42,9 +42,7 @@ DEB_SPLIT_PART_SIZE_VERSION=$((DEB_SPLIT_PART_SIZE + 2))
 AT_CHECK_UNQUOTED([
 # Test debian-split with 2.x version
 ar x pkg-split-part.1of10.deb debian-split
-$SED -e '1c\
-2.999' debian-split >debian-split.new
-mv debian-split.new debian-split
+$PERL -p -i -E 's/.*/2.999/ if $. == 1' debian-split
 ar qSc 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
diff --git a/src/at/local.at b/src/at/local.at
index 4db73fb9f..a49311cb5 100644
--- a/src/at/local.at
+++ b/src/at/local.at
@@ -135,8 +135,7 @@ m4_define([DPKG_GEN_CONTROL], [
   DPKG_GEN_CTRL_FILE([$1], [control], [DPKG_TMPL_CONTROL([$1])])
 ])
 
-# DPKG_MOD_CONTROL([$pkgname], [$sedexpr])
+# DPKG_MOD_CONTROL([$pkgname], [$perlexpr])
 m4_define([DPKG_MOD_CONTROL], [
-  $SED -e '$2' <'$1/DEBIAN/control' >'$1/DEBIAN/control.new'
-  mv '$1/DEBIAN/control.new' '$1/DEBIAN/control'
+  $PERL -p -i -E '$2' '$1/DEBIAN/control'
 ])

-- 
Dpkg.Org's dpkg

Reply via email to