Package: devscripts
Version: 2.10.35
Severity: normal
Tags: patch
User: [EMAIL PROTECTED]
Usertags: origin-ubuntu ubuntu-patch intrepid
strace 4.5.17 dropped the separate -F option for following vforks,
saying (in its NEWS file) "-F is now deprecated, -f has traced vfork too
on Linux for a long time now". This is implemented as follows:
case 'F':
/* Obsoleted, acts as `-f'. */
case 'f':
followfork++;
break;
The effect of this is that -f -F works like -ff, namely it causes
process traces to be written to <filename>.<pid> rather than simply to
<filename>. This completely breaks dpkg-depcheck, which expects the
whole trace to land in one file.
I don't know exactly when 'strace -f' started to follow vfork on Linux,
but I suspect it might be this commit, which would make it version
4.4.93:
2003-01-17 Anton Blanchard <[EMAIL PROTECTED]>
* util.c [LINUX] (setbpt): Handle SYS_vfork like SYS_fork.
* linux/syscall.h (SYS_socket_subcall): 256 also for POWERPC.
At any rate I tried a trivial test program on Debian stable and I've
confirmed that 'strace -f' follows vfork there, so I think the most
reasonable fix is simply to drop -F from dpkg-depcheck's strace
invocation. Patch attached (including a changelog entry but obviously
not this bug number).
Thanks,
--
Colin Watson [EMAIL PROTECTED]
Index: debian/changelog
===================================================================
--- debian/changelog (revision 1614)
+++ debian/changelog (working copy)
@@ -73,6 +73,13 @@
* bts: document that the cache auto-cleaning is overzealous on noatime
partitions. Patch from intrigeri <[EMAIL PROTECTED]>. (Closes: #488486)
+ [ Colin Watson ]
+ * dpkg-depcheck: Remove -F in order to be compatible with current strace.
+ I'm not sure exactly when plain 'strace -f' started being able to follow
+ vfork on Linux, but it's at least as long ago as Debian 4.0, possibly
+ strace 4.4.93 which would place it before Debian 3.1, so a dependency
+ doesn't seem to be necessary.
+
-- Mohammed Adnène Trojette <[EMAIL PROTECTED]> Sat, 30 Aug 2008 19:58:43 +0200
devscripts (2.10.35) unstable; urgency=low
Index: scripts/dpkg-depcheck.pl
===================================================================
--- scripts/dpkg-depcheck.pl (revision 1614)
+++ scripts/dpkg-depcheck.pl (working copy)
@@ -391,7 +391,7 @@
$file = $opts{"strace-output"} || `tempfile -p depcheck`;
chomp $file;
$file =~ s%^(\s)%./$1%;
- my @strace_cmd=('strace', '-e', 'trace=open,execve', '-f', '-F',
+ my @strace_cmd=('strace', '-e', 'trace=open,execve', '-f',
'-q', '-o', $file, @_);
$ENV{'LD_PRELOAD'} = $trace_preload;
$ENV{'LC_ALL'}="C" if $opts{"C"};