On Thu, Jul 27, 2000 at 12:19:43AM +0200, Andreas Rottmann wrote: > Ben Collins <bcollins@debian.org> writes: > > > > Sorry to say but this script is fairly useless for most people. Strace > > > cannot follow vfork() (yes I know -F says it will, but according to the > > > maintainer, and my own tests, it does not work at all). Once make -C > > > executed, strace stopped showing output. > > > > Ok, I wrote a really simple vfork() wrapper library you can preload (like > > libfakeroot), and was able to get it working perfectly. Note then vfork() > > manpage says fork() can be used to implement vfork(), so this is perfectly > > acceptable behavior. Now I can actually get libfoo-dev package build > > dependencies and such (aswell as sgml and tetex related things). So it > > works pretty well. > > > > Would you like me to send you the source I have? > > > Yes, please. Is it as easy as > > pid_t vfork() { return(fork()); } /* ;-) */ Slightly more complex, but not much :) I took your script and combined it with this wrapper. Unpack the tarball, run "make" then "make install". This will give you a command called `dpkg-genbuilddeps', which you call very similar to dpkg-buildpackage (except that it always passes '-us -uc -nc -b'). So: # cd /usr/src/foo-1.0 # dpkg-genbuilddeps -rfakeroot At the end of the build, it will spew out the build deps. Also, note, I strongly suggest not using fakeroot. However, since you can't pass -rsudo (kernel wont let you ptrace suid/sgid programs), you may have to run as root and just use "dpkg-genbuilddeps". Fairly accurate results so far, but it needs other things like: o Turn PATHS into absolute ones (ones containing .. or that follow symlinks etc.) o Allow some sort of mapping for packages to minumum version (similar to shlibs) o Allow checking of command line executables to see if it requires a specific version (like the recent fileutils upgrade stuff). Not needed right now, but would be nice. Ben -- -----------=======-=-======-=========-----------=====------------=-=------ / Ben Collins -- ...on that fantastic voyage... -- Debian GNU/Linux \ ` bcollins@debian.org -- bcollins@openldap.org -- bcollins@linux.com ' `---=========------=======-------------=-=-----=-===-======-------=--=---'
Attachment:
libvforkwrap-0.1.tar.gz
Description: Binary data