[devscripts] 04/06: Stop building and shipping libvfork.so

James McCoy jamessan at debian.org
Sun May 10 04:38:06 UTC 2015


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

jamessan pushed a commit to branch master
in repository devscripts.

commit d1bcf171e0c17ba2b2638268b58226aa65594ae3
Author: James McCoy <jamessan at debian.org>
Date:   Sat May 9 23:39:21 2015 -0400

    Stop building and shipping libvfork.so
    
    This was used by dpkg-depcheck to help strace handle vfork(2) calls, but
    strace has natively handled that for quite some time.
    
    Signed-off-by: James McCoy <jamessan at debian.org>
---
 Makefile.common          |  1 -
 debian/changelog         |  2 ++
 scripts/Makefile         | 12 ++----------
 scripts/dpkg-depcheck.pl | 12 +-----------
 scripts/libvfork.c       |  8 --------
 5 files changed, 5 insertions(+), 30 deletions(-)

diff --git a/Makefile.common b/Makefile.common
index c586e80..60270e9 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -5,7 +5,6 @@ GEN_MAN1S := bts.1 build-rdeps.1 chdist.1 dcontrol.1 debcheckout.1 debcommit.1 \
 
 PREFIX = /usr
 BINDIR = $(PREFIX)/bin
-PKGLIBDIR = $(PREFIX)/lib/devscripts
 DOCDIR = $(PREFIX)/share/doc/devscripts
 MAN1DIR = $(PREFIX)/share/man/man1
 PERLMOD_DIR = $(shell perl -MConfig -e 'print $$Config{vendorlib}')
diff --git a/debian/changelog b/debian/changelog
index cfcdf77..7c223c6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -17,6 +17,8 @@ devscripts (2.15.5) UNRELEASED; urgency=medium
     various scripts to make them see devscript's modules.
   * Add bash completion scripts for uscan (thanks to Ben Finney) and
     mk-origtargz.  (Closes: #784394)
+  * Stop building and shipping libvfork.so since strace has handled vforks for
+    at least a decade.
 
  -- Cyril Brulebois <kibi at debian.org>  Tue, 28 Apr 2015 16:58:36 +0200
 
diff --git a/scripts/Makefile b/scripts/Makefile
index 1fb32ed..3c2f4f5 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -12,7 +12,6 @@ VERSION := $(shell cat $(VERSION_FILE))
 
 PL_FILES := $(wildcard *.pl)
 SH_FILES = $(wildcard *.sh)
-LIBS = libvfork.so.0
 CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
 CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
 CFLAGS += -std=c99
@@ -24,7 +23,7 @@ COMPLETION = $(patsubst %.bash_completion,devscripts.%,$(COMPL_FILES))
 
 GEN_MAN1S += devscripts.1 mk-origtargz.1
 
-all: $(SCRIPTS) $(GEN_MAN1S) $(LIBS) $(CWRAPPERS) $(COMPLETION)
+all: $(SCRIPTS) $(GEN_MAN1S) $(CWRAPPERS) $(COMPLETION)
 
 $(VERSION_FILE):
 	$(MAKE) -C .. version
@@ -73,11 +72,6 @@ devscripts.1: devscripts.1.in
 devscripts.%: %.bash_completion
 	cp $< $@
 
-libvfork.o: libvfork.c
-	$(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -D_REENTRANT -c $<
-libvfork.so.0: libvfork.o
-	$(CC) $(LDFLAGS) -shared $< -lc -Wl,-soname -Wl,libvfork.so.0 -o $@
-
 clean:
 	python3 setup.py clean -a
 	find -name '*.pyc' -delete
@@ -85,17 +79,15 @@ clean:
 	rm -rf devscripts.egg-info
 	rm -f $(SCRIPTS) $(patsubst %,%.tmp,$(SCRIPTS)) \
 		$(GEN_MAN1S) $(SCRIPT_LIBS) $(CWRAPPERS) \
-		libvfork.o libvfork.so.0 $(COMPLETION)
+		$(COMPLETION)
 
 test:
 	$(foreach python,$(shell py3versions -r ../debian/control),$(python) setup.py test$(\n))
 
 install: all
 	python3 setup.py install --root="$(DESTDIR)" --no-compile --install-layout=deb
-	install -dD $(DESTDIR)$(BINDIR) $(DESTDIR)$(PKGLIBDIR)
 	cp $(SCRIPTS) $(DESTDIR)$(BINDIR)
 	ln -sf edit-patch $(DESTDIR)$(BINDIR)/add-patch
-	cp $(LIBS) $(DESTDIR)$(PKGLIBDIR)
 	install -dD $(DESTDIR)$(SYSCONFDIR)/bash_completion.d
 	cp $(COMPLETION) $(DESTDIR)$(SYSCONFDIR)/bash_completion.d
 	# Special treatment for debpkg
diff --git a/scripts/dpkg-depcheck.pl b/scripts/dpkg-depcheck.pl
index 2bea9cf..dec139a 100755
--- a/scripts/dpkg-depcheck.pl
+++ b/scripts/dpkg-depcheck.pl
@@ -34,13 +34,9 @@ sub filterfiles (@);
 # Global options
 our %opts;
 
-# libvfork is taken from dpkg-genbuilddeps, written by
-# Ben Collins <bcollins at debian.org>
-our $vforklib = "/usr/lib/devscripts/libvfork.so.0";
-
 # A list of files that do not belong to a Debian package but are known
 # to never create a dependency
-our @known_files = ($vforklib, "/etc/ld.so.cache", "/etc/dpkg/shlibs.default",
+our @known_files = ("/etc/ld.so.cache", "/etc/dpkg/shlibs.default",
 		    "/etc/dpkg/dpkg.cfg", "/etc/devscripts.conf");
 
 # This will be given information about features later on
@@ -377,22 +373,16 @@ sub getusedfiles (@)
 	$file=$opts{"strace-input"};
     }
     else {
-	my $old_preload = $ENV{'LD_PRELOAD'} || undef;
 	my $old_locale = $ENV{'LC_ALL'} || undef;
-	my $trace_preload = defined $old_preload ?
-	    "$old_preload $vforklib" : $vforklib;
 	$file = $opts{"strace-output"} || `tempfile -p depcheck`;
 	chomp $file;
 	$file =~ s%^(\s)%./$1%;
 	my @strace_cmd=('strace', '-e', 'trace=open,execve',  '-f',
 			'-q', '-o', $file, @_);
-	$ENV{'LD_PRELOAD'} = $trace_preload;
 	$ENV{'LC_ALL'}="C" if $opts{"C"};
 	system(@strace_cmd);
 	$? >> 8 == 0 or
 	    die "Running strace failed (command line:\n at strace_cmd\n";
-	if (defined $old_preload) { $ENV{'LD_PRELOAD'} = $old_preload; }
-	else { delete $ENV{'LD_PRELOAD'}; }
 	if (defined $old_locale) { $ENV{'LC_ALL'} = $old_locale; }
 	else { delete $ENV{'LC_ALL'}; }
     }
diff --git a/scripts/libvfork.c b/scripts/libvfork.c
deleted file mode 100644
index 7333671..0000000
--- a/scripts/libvfork.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-
-#undef vfork
-
-pid_t vfork(void){
-    return fork();
-}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/devscripts.git



More information about the devscripts-devel mailing list