Your message dated Wed, 06 Nov 2024 11:34:14 +0000
with message-id <[email protected]>
and subject line Bug#973884: fixed in make-dfsg 4.4.1-1~exp1
has caused the Debian Bug report #973884,
regarding make-dfsg: fix for extraordinarily-long command lines (#688601) has
gone missing
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
973884: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973884
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: make-dfsg
Severity: normal
Dear Maintainer,
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688601 was fixed back in
2014 by applying a patch (dgit:407e2fb3130d4540482a04987222dead70936122)
and this fix worked well for us for several years.
Unfortunately, this change appears to have been removed as part of:
commit 0e957340243587eeffb525aff3200b5e143ac274
Author: Manoj Srivastava <[email protected]>
Date: Mon Feb 12 16:26:34 2018 -0800
[master]: revert debian specific patches that have been integrated
differently upstream.
Signed-off-by: Manoj Srivastava <[email protected]>
so this fix is no longer present in Buster, and apparently Bullseye. I've
been unable to find any other information about reverting the fix.
The main part of the original patch still applied and the conflicts in the
configure.ac file appeared to be straightforward to resolve. The resulting
patch is attached. Applying it fixed the problem for me.
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (400, 'testing'), (50, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.9.0-1-amd64 (SMP w/8 CPU threads)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8),
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
commit f079489160d620e5eb50dc09e51f09f71a7dcffb
Author: Mike Crowe <[email protected]>
Date: Fri Nov 6 15:22:37 2020 +0000
Resurrect fix for large command line
This patch was originally applied by Manoj Srivastava to fix Debian bug
other changes that had apparently been fixed differently upstream. That
turns out not to have been true for this particular fix.
The original patch description follows.
---8<---
[handle_excessive_command_length]: Patch to fix large cmmand line
When presented with a very very long command line (e.g. WebKit's linking
of libWebCore.la in current git), make fails to execute the command as
it doesn't split the command line to fit within the limits.
This patch provides a POSIX specific fix.
--->8---
diff --git a/configure.ac b/configure.ac
index a1d41640..98dd2309 100644
--- a/configure.ac
+++ b/configure.ac
@@ -75,7 +75,7 @@ AC_HEADER_STAT
AC_HEADER_TIME
AC_CHECK_HEADERS([stdlib.h locale.h unistd.h limits.h fcntl.h string.h \
memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h \
- sys/select.h sys/file.h spawn.h])
+ sys/select.h sys/file.h spawn.h sys/user.h linux/binfmts.h])
AM_PROG_CC_C_O
AC_C_CONST
diff --git a/src/job.c b/src/job.c
index ae1f18b9..3abba81a 100644
--- a/src/job.c
+++ b/src/job.c
@@ -26,6 +26,14 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include "variable.h"
#include "os.h"
+#if defined (HAVE_LINUX_BINFMTS_H) && defined (HAVE_SYS_USER_H)
+#include <sys/user.h>
+#include <linux/binfmts.h>
+#endif
+#ifndef PAGE_SIZE
+# define PAGE_SIZE (sysconf(_SC_PAGESIZE))
+#endif
+
/* Default shell to use. */
#ifdef WINDOWS32
# ifdef HAVE_STRINGS_H
@@ -3217,6 +3225,7 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
#ifdef WINDOWS32
char *command_ptr = NULL; /* used for batch_mode_shell mode */
#endif
+ char *args_ptr;
# ifdef __EMX__ /* is this necessary? */
if (!unixy_shell && shellflags)
@@ -3382,8 +3391,17 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
return new_argv;
}
+#ifdef MAX_ARG_STRLEN
+ static char eval_line[] = "eval\\ \\\"set\\ x\\;\\ shift\\;\\ ";
+#define ARG_NUMBER_DIGITS 5
+#define EVAL_LEN (sizeof(eval_line)-1 + shell_len + 4 \
+ + (7 + ARG_NUMBER_DIGITS) * 2 * line_len / (MAX_ARG_STRLEN - 2))
+#else
+#define EVAL_LEN 0
+#endif
+
new_line = xmalloc ((shell_len*2) + 1 + sflags_len + 1
- + (line_len*2) + 1);
+ + (line_len*2) + 1 + EVAL_LEN);
ap = new_line;
/* Copy SHELL, escaping any characters special to the shell. If
we don't escape them, construct_command_argv_internal will
@@ -3403,6 +3421,30 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
#ifdef WINDOWS32
command_ptr = ap;
#endif
+
+#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
+ if (unixy_shell && line_len > MAX_ARG_STRLEN)
+ {
+ unsigned j;
+ memcpy (ap, eval_line, sizeof (eval_line) - 1);
+ ap += sizeof (eval_line) - 1;
+ for (j = 1; j <= 2 * line_len / (MAX_ARG_STRLEN - 2); j++)
+ ap += sprintf (ap, "\\$\\{%u\\}", j);
+ *ap++ = '\\';
+ *ap++ = '"';
+ *ap++ = ' ';
+ /* Copy only the first word of SHELL to $0. */
+ for (p = shell; *p != '\0'; ++p)
+ {
+ if (isspace ((unsigned char)*p))
+ break;
+ *ap++ = *p;
+ }
+ *ap++ = ' ';
+ }
+#endif
+ args_ptr = ap;
+
for (p = line; *p != '\0'; ++p)
{
if (restp != NULL && *p == '\n')
@@ -3450,6 +3492,13 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
}
#endif
*ap++ = *p;
+#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
+ if (unixy_shell && line_len > MAX_ARG_STRLEN && (ap - args_ptr > MAX_ARG_STRLEN - 2))
+ {
+ *ap++ = ' ';
+ args_ptr = ap;
+ }
+#endif
}
if (ap == new_line + shell_len + sflags_len + 2)
{
--- End Message ---
--- Begin Message ---
Source: make-dfsg
Source-Version: 4.4.1-1~exp1
Done: Stephen Kitt <[email protected]>
We believe that the bug you reported is fixed in the latest version of
make-dfsg, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Stephen Kitt <[email protected]> (supplier of updated make-dfsg package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Wed, 06 Nov 2024 12:14:42 +0100
Source: make-dfsg
Architecture: source
Version: 4.4.1-1~exp1
Distribution: experimental
Urgency: medium
Maintainer: Stephen Kitt <[email protected]>
Changed-By: Stephen Kitt <[email protected]>
Closes: 314306 327154 895835 969813 973884 992444 993944 1010190 1010504
1029106 1083140
Changes:
make-dfsg (4.4.1-1~exp1) experimental; urgency=medium
.
[ Victor Westerhuis ]
* Switch to dpkg-source 3.0 (quilt) format.
* Update and minimize upstream signing key.
* Automate removal of documentation with d/copyright.
* New upstream version 4.4
(Closes: #314306, #327154, #895835, #969813, #992444, #1010504, #1029106).
* Update and split patches.
* Fix Lintian and cme warnings.
* Update copyright years and add myself to d/copyright.
* Simplify Debian build system and drop unnecessary Build-Depends.
* Add autopkgtest.
* Add Build-Profiles <!noguile> to make-guile in d/control (Closes: #993944).
* Fix large command line on POSIX systems (Closes: #973884).
.
[ наб ]
* Fix spacing errors in d/make.1 (Closes: #1010190).
.
[ Stephen Kitt ]
* New upstream release, 4.4.1.
* Adopt the package; thanks Manoj for your maintenance work over the
years! Closes: #1083140.
* Build-depend on pkgconf instead of pkg-config.
* Standards-Version 4.7.0, no further change required.
* Move the repository to the common Debian namespace on Salsa.
Checksums-Sha1:
99e2cbae7d3f207647876eb9e502bd4814ae0aad 1996 make-dfsg_4.4.1-1~exp1.dsc
5168d9098a29e7507551203bbc30894420ec9869 1125180 make-dfsg_4.4.1.orig.tar.xz
0c1f42820b23863f99913bdb433b9d3c078bb420 43652
make-dfsg_4.4.1-1~exp1.debian.tar.xz
35d38892908b12753ba7580a5a9e408447af0f61 6531
make-dfsg_4.4.1-1~exp1_source.buildinfo
Checksums-Sha256:
25033bba739686b3a556a89ac4bb162e45e920c2d073383573e1e67f2437ee75 1996
make-dfsg_4.4.1-1~exp1.dsc
3b16b00ea1079af9f8096bbc71ff7cc00c249fc6a862003da3c42308a0adb0fe 1125180
make-dfsg_4.4.1.orig.tar.xz
5636b1273af08214b194ef2df85fd9215a8721e1d6060b3414b2896d3a90e185 43652
make-dfsg_4.4.1-1~exp1.debian.tar.xz
31b862e4d17bf878f1cb14a7678393a24f35fed625e5f872210a9f006bd895b0 6531
make-dfsg_4.4.1-1~exp1_source.buildinfo
Files:
6d69e48f4b1a8ef3c49f5ea3f1396eb7 1996 devel optional make-dfsg_4.4.1-1~exp1.dsc
bd15c4e6c9deedcba9cffa6ee8cad540 1125180 devel optional
make-dfsg_4.4.1.orig.tar.xz
ace65b994797c43d0457a23206576638 43652 devel optional
make-dfsg_4.4.1-1~exp1.debian.tar.xz
c95e098b35664298bacae0198b7b5d2c 6531 devel optional
make-dfsg_4.4.1-1~exp1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEnPVX/hPLkMoq7x0ggNMC9Yhtg5wFAmcrT7gACgkQgNMC9Yht
g5zhBw/7BhuGs2Q3/dLVC+sEkCapXd9Empp1lSbB93lbo6VTYtozTnrFSvyoY5QJ
p+QKO/3BNSVtHnWBiB+YtQIqsprcZMIjck2uglIFWIfSJ2hCO4xhLjQDba6nAMNo
Bjm91xcNwhqKcIm7Xg6gYs4SqjM9np4SunGTCd7hVDeUJp9QOB8+vfPBC644lXhE
gcFrLxncNcYhz/jJwRzoPunWe7M42G9+4Ez7MR2qVUot+ap0Q0ZVwYdrbPWAs+JV
wE69cHek0oL7UFc+Dexxj7cR0MtiEVLYcSRFIDUqAdSNds5CnSxMxPBPgZ//ncmA
Sf1C7/4JlchspDEb11GXlL2xmME4I5lxvcaj+CHOJrY9fO9LYIHk9mfpLIkZnyO4
dWPRSS/+xSAagIFpr36uD75iKftdB4yxATaP18EsWySVsncLIk/TFCX/FimmshOL
fE/UrKSRWgbkIrTMD/xfzStgg2EBKm9vf35WQteEmD0t299v59bFpTVYzM4v5SxM
Zy+VyIaeMVyYqOeifh7DVFj8xg8XMe3YG2B1jHkzlSxVnywOUgK2YZxTLA0mf5V6
Tm0T4/F3lt2yLFTpZRCQuXTv0/DtYSaXMtJ4a4JaDyYD42mhHT4R2SOnLvAdNbfV
ulsUufJ6pZj8VGCzvUknESGvGjOP7p1evsc8aGfoR54Zvobt7eA=
=Sury
-----END PGP SIGNATURE-----
pgpJOhgp5U7Mf.pgp
Description: PGP signature
--- End Message ---