On Thu, Jul 27, 2000 at 12:19:43AM +0200, Andreas Rottmann wrote:
> Ben Collins <[EMAIL PROTECTED]> 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   \
`  [EMAIL PROTECTED]  --  [EMAIL PROTECTED]  --  [EMAIL PROTECTED]  '
 `---=========------=======-------------=-=-----=-===-======-------=--=---'

Attachment: libvforkwrap-0.1.tar.gz
Description: Binary data

Reply via email to