[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: I made a script for auto. creating build-depends

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
 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 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

Reply to: