Bug#1107779: unblock: patch/2.8-2 (pre-approval)

2025-06-29 Thread GCS
Control: tags -1 -moreinfo

On Sat, Jun 28, 2025 at 5:42 PM Sebastian Ramacher  wrote:
> Please go ahead. The fix for hurd-i386 is small enough. Please remove
> the moreinfo tag once the upload is available in unstable.
 Package uploaded, built thus available in unstable.

Regards,
Laszlo/GCS



Bug#1107779: unblock: patch/2.8-2 (pre-approval)

2025-06-28 Thread Sebastian Ramacher
Control: tags -1 moreinfo confirmed

On 2025-06-14 11:53:49 +0200, László Böszörményi (GCS) wrote:
> Package: release.debian.org
> Severity: normal
> User: [email protected]
> Usertags: unblock
> Control: affects -1 + src:patch
> 
> Hi RMs,
> 
> Please pre-approve unblocking of package patch.
> 
> [ Reason ]
> Main issue is that patch fails to build on Hurd-i386 due to 32 bit
> time_t. Fix this with disabling year 2038 checks on this platform.
> Then an upstream small fix not to check read only state check on files
> when the output file is specified (to be a new one for example).

Please go ahead. The fix for hurd-i386 is small enough. Please remove
the moreinfo tag once the upload is available in unstable.

Cheers

> 
> [ Impact ]
> This would help Hurd-i386 be in line with the Trixie release. The
> other saves disk IO.
> 
> [ Tests ]
> I've checked the build on a porter machine and confirm the fix is
> working. The read only check change has an upstream test case.
> 
> [ Risks ]
> Hurd-i386 fix is effective only for that architecture and confirmed
> working. The read only check is a behaviour change, only when a
> different output file is specified than the default (actual working)
> one. Mainly a new file specified in that case when the now missing
> check just saves disk IO.
> 
> [ Checklist ]
>   [x] all changes are documented in the d/changelog
>   [x] I reviewed all changes and I approve them
>   [x] attach debdiff against the package in testing
> 
> Regards,
> Laszlo/GCS

> diff -Nru patch-2.8/debian/changelog patch-2.8/debian/changelog
> --- patch-2.8/debian/changelog2025-04-06 21:10:31.0 +0200
> +++ patch-2.8/debian/changelog2025-06-13 20:59:38.0 +0200
> @@ -1,3 +1,13 @@
> +patch (2.8-2) unstable; urgency=medium
> +
> +  [ Samuel Thibault  ]
> +  * Pass --disable-year2038 for hurd-i386 case to fix FTBFS (closes: 
> #815457).
> +
> +  [ Laszlo Boszormenyi (GCS) ]
> +  * Backport upstream fix: skip read-only check when output file specified.
> +
> + -- Laszlo Boszormenyi (GCS)   Fri, 13 Jun 2025 20:59:38 
> +0200
> +
>  patch (2.8-1) unstable; urgency=medium
>  
>* New upstream release.
> diff -Nru patch-2.8/debian/patches/series patch-2.8/debian/patches/series
> --- patch-2.8/debian/patches/series   2025-04-06 21:10:31.0 +0200
> +++ patch-2.8/debian/patches/series   2025-06-13 00:38:08.0 +0200
> @@ -1,4 +1,4 @@
>  m-merge
>  add_some_missing_filename_quoting.patch
>  reject_empty_filenames.patch
> -
> +skip_read-only_check_when_output_file_specified.patch
> diff -Nru 
> patch-2.8/debian/patches/skip_read-only_check_when_output_file_specified.patch
>  
> patch-2.8/debian/patches/skip_read-only_check_when_output_file_specified.patch
> --- 
> patch-2.8/debian/patches/skip_read-only_check_when_output_file_specified.patch
> 1970-01-01 01:00:00.0 +0100
> +++ 
> patch-2.8/debian/patches/skip_read-only_check_when_output_file_specified.patch
> 2025-06-13 00:14:05.0 +0200
> @@ -0,0 +1,48 @@
> +From d161c9a9dbd24bb7e0356e4e07983345777d85aa Mon Sep 17 00:00:00 2001
> +From: Daniel Black 
> +Date: Thu, 1 May 2025 14:33:19 +1000
> +Subject: Skip read-only check when output file specified
> +
> +Only check if input files are read-only when overwriting them; skip
> +that check when the output goes to a different file.
> +
> +* src/patch.c (main): Set read_only_behavior to RO_IGNORE when an output
> +file has been specified.
> +* tests/read-only-files: Add test case.
> +---
> + src/patch.c   | 5 -
> + tests/read-only-files | 5 +
> + 2 files changed, 9 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/patch.c b/src/patch.c
> +index 91cb646..42c093c 100644
> +--- a/src/patch.c
>  b/src/patch.c
> +@@ -204,7 +204,10 @@ main (int argc, char **argv)
> + 
> + init_output (&outstate);
> + if (outfile)
> +-  outstate.ofp = open_outfile (outfile);
> ++  {
> ++outstate.ofp = open_outfile (outfile);
> ++read_only_behavior = RO_IGNORE;
> ++  }
> + 
> + /* Make sure we clean up in case of disaster.  */
> + init_signals ();
> +diff --git a/tests/read-only-files b/tests/read-only-files
> +index b66ddb9..9f6bf7c 100644
> +--- a/tests/read-only-files
>  b/tests/read-only-files
> +@@ -67,3 +67,8 @@ check 'patch -f -p0 --read-only=ignore < f.diff || echo 
> "Status: $?"' < + patching file f
> + patching file f
> + EOF
> ++
> ++check 'patch -o - f /dev/null || echo "Status: $?"' < ++patching file - (read from f)
> ++three
> ++EOF
> +-- 
> +cgit v1.2.3
> +
> diff -Nru patch-2.8/debian/rules patch-2.8/debian/rules
> --- patch-2.8/debian/rules2018-08-05 13:10:39.0 +0200
> +++ patch-2.8/debian/rules2025-06-13 00:14:05.0 +0200
> @@ -12,6 +12,10 @@
>  CONFFLAGS = --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
>  endif
>  
> +ifeq ($(DEB_HOST_ARCH),hurd-i386)
> +  CONFFLAGS += --disable-year2038
> +endif
> +
>  export 

Bug#1107779: unblock: patch/2.8-2 (pre-approval)

2025-06-14 Thread GCS
Package: release.debian.org
Severity: normal
User: [email protected]
Usertags: unblock
Control: affects -1 + src:patch

Hi RMs,

Please pre-approve unblocking of package patch.

[ Reason ]
Main issue is that patch fails to build on Hurd-i386 due to 32 bit
time_t. Fix this with disabling year 2038 checks on this platform.
Then an upstream small fix not to check read only state check on files
when the output file is specified (to be a new one for example).

[ Impact ]
This would help Hurd-i386 be in line with the Trixie release. The
other saves disk IO.

[ Tests ]
I've checked the build on a porter machine and confirm the fix is
working. The read only check change has an upstream test case.

[ Risks ]
Hurd-i386 fix is effective only for that architecture and confirmed
working. The read only check is a behaviour change, only when a
different output file is specified than the default (actual working)
one. Mainly a new file specified in that case when the now missing
check just saves disk IO.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

Regards,
Laszlo/GCS
diff -Nru patch-2.8/debian/changelog patch-2.8/debian/changelog
--- patch-2.8/debian/changelog	2025-04-06 21:10:31.0 +0200
+++ patch-2.8/debian/changelog	2025-06-13 20:59:38.0 +0200
@@ -1,3 +1,13 @@
+patch (2.8-2) unstable; urgency=medium
+
+  [ Samuel Thibault  ]
+  * Pass --disable-year2038 for hurd-i386 case to fix FTBFS (closes: #815457).
+
+  [ Laszlo Boszormenyi (GCS) ]
+  * Backport upstream fix: skip read-only check when output file specified.
+
+ -- Laszlo Boszormenyi (GCS)   Fri, 13 Jun 2025 20:59:38 +0200
+
 patch (2.8-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru patch-2.8/debian/patches/series patch-2.8/debian/patches/series
--- patch-2.8/debian/patches/series	2025-04-06 21:10:31.0 +0200
+++ patch-2.8/debian/patches/series	2025-06-13 00:38:08.0 +0200
@@ -1,4 +1,4 @@
 m-merge
 add_some_missing_filename_quoting.patch
 reject_empty_filenames.patch
-
+skip_read-only_check_when_output_file_specified.patch
diff -Nru patch-2.8/debian/patches/skip_read-only_check_when_output_file_specified.patch patch-2.8/debian/patches/skip_read-only_check_when_output_file_specified.patch
--- patch-2.8/debian/patches/skip_read-only_check_when_output_file_specified.patch	1970-01-01 01:00:00.0 +0100
+++ patch-2.8/debian/patches/skip_read-only_check_when_output_file_specified.patch	2025-06-13 00:14:05.0 +0200
@@ -0,0 +1,48 @@
+From d161c9a9dbd24bb7e0356e4e07983345777d85aa Mon Sep 17 00:00:00 2001
+From: Daniel Black 
+Date: Thu, 1 May 2025 14:33:19 +1000
+Subject: Skip read-only check when output file specified
+
+Only check if input files are read-only when overwriting them; skip
+that check when the output goes to a different file.
+
+* src/patch.c (main): Set read_only_behavior to RO_IGNORE when an output
+file has been specified.
+* tests/read-only-files: Add test case.
+---
+ src/patch.c   | 5 -
+ tests/read-only-files | 5 +
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/patch.c b/src/patch.c
+index 91cb646..42c093c 100644
+--- a/src/patch.c
 b/src/patch.c
+@@ -204,7 +204,10 @@ main (int argc, char **argv)
+ 
+ init_output (&outstate);
+ if (outfile)
+-  outstate.ofp = open_outfile (outfile);
++  {
++outstate.ofp = open_outfile (outfile);
++read_only_behavior = RO_IGNORE;
++  }
+ 
+ /* Make sure we clean up in case of disaster.  */
+ init_signals ();
+diff --git a/tests/read-only-files b/tests/read-only-files
+index b66ddb9..9f6bf7c 100644
+--- a/tests/read-only-files
 b/tests/read-only-files
+@@ -67,3 +67,8 @@ check 'patch -f -p0 --read-only=ignore < f.diff || echo "Status: $?"' <