On Wed, May 26, 1999 at 02:04:47PM +0200, EXT Josip Rodin wrote: > On Wed, May 26, 1999 at 01:46:41PM +0200, Sven LUTHER wrote: > > > > So it would be nice to have a some kind of wrapper library that patches the > > open and such function from glibc, and log the accessed files (the one that > > are > > not in the build directory naturally) after that you just have to run some > > kind > > of dpkg -S on these files, and you get all packages needed for building this > > package. > > > > you would need something a bit like what fakeroot does for it, so it is not > > impossible. > > > > The dpkg -S part would be quite slow i think, and produce a very big number > > of > > packages, but you could reduce them by providing a standard debian compiler > > metapackage (or whatever it is named this days) including stuff like make > > and > > gcc. or maybe various of them for lets say perl-devel, gcc-devel, text-only, > > etc, ... > > Of course, these are all very nice ideas... but we currently don't > have any PLACE to put the list (where it'll get used by dpkg* tools), > whether it is manually or automatically generated! > > IIRC Ben Collins had made a functional patch to dpkg package about > this a few months ago, though it wasn't very featurful it did the > job (dpkg-source would check the list, and warn if you don't have > a listed package installed).
Th epatch you're talking about was to "use" the list or to "generate" it? I did some experiments a few days ago and got a good result while building last man-db (whose source include a list of the output of dpkg -l on its source-dependencies: :r!cat /home/work/man-db/man-db-2.3.10/debian/source-depends (yes I use vim to write my email :-) sudo strace -f -etrace=file -o ../trace.69h -q -a80 debian/rules binary 2>&1 | \ tee ../log.69h cat ../trace.69h | grep -v ' = -1 ' | awk -F\" '{ print $2 }' | grep -v '^/tmp/' | \ grep -v '^/dev/' | grep '^/' | grep -v "^$PWD" | grep -v '/var/lib/dpkg' | \ sort -u >../trace.filt.69h for j in `cat ../trace.filt.69h`;do test -f $j && realpath $j;done | \ xargs dpkg -S 2>/dev/null | awk -F: '{ print $1 }' | sort -u | xargs dpkg -l Desired=Unknown/Install/Remove/Purge | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-===============-==============-============================================ ii autoconf 2.12-13 automatic configure script builder. ii base-files 2.1.0 Debian Base System Miscellaneous Files ii bash 2.01.1-4.1 The GNU Bourne Again SHell ii binutils 2.9.1.0.19a-2 The GNU assembler, linker and binary utiliti ii bsdmainutils 4.4.0.1 More utilities from 4.4BSD-Lite. ii cpp 2.7.2.3-7 The GNU C preprocessor. ii debianutils 1.10 Miscellaneous utilities specific to Debian. ii diff 2.7-18 File comparison utilities ii dpkg 1.4.0.34 Package maintenance system for Debian Linux ii dpkg-dev 1.4.0.34 Package building tools for Debian Linux ii fileutils 3.16-5.3 GNU file management utilities. ii findutils 4.1-33 utilities for finding files--find, xargs, an ii flex 2.5.4a-3 A fast lexical analyzer generator. ii gcc 2.7.2.3-7 The GNU C compiler. ii gettext 0.10.35-7 GNU Internationalization utilities ii grep 2.2-1 GNU grep, egrep and fgrep. ii groff 1.11a-7 GNU troff text-formatting system. ii gzip 1.2.4-28 The GNU compression utility. ii hostname 2.04 A utility to set/show the host name or domai ii ldso 1.9.10-1 The Linux dynamic linker, library and utilit ii less 332-4.1 A file pager program, similar to more(1) ii libc6 2.0.7.19981211 GNU C Library: shared libraries ii libc6-dev 2.0.7.19981211 GNU C Library: Development libraries and hea ii libdb2 2.4.14-5 The Berkeley database routines (run-time fil ii libdb2-dev 2.4.14-5 The Berkeley database routines (development ii libgdbmg1 1.7.3-25 GNU dbm database routines (runtime version). ii libncurses4 4.2-3 Shared libraries for terminal handling ii libreadlineg2 2.1-12 GNU readline and history libraries, run-time ii libstdc++2.9 2.91.60-5 The GNU stdc++ library (egcs version) ii locales 2.0.7.19981211 GNU C Library: National Language (locale) da ii m4 1.4-9 a macro processing language ii make 3.77-4 The GNU version of the "make" utility. ii mawk 1.3.3-2 a pattern scanning and text processing langu ii perl 5.004.04-7 Larry Wall's Practical Extracting and Report ii perl-base 5.004.04-7 The Pathologically Eclectic Rubbish Lister ii sed 3.02-1 The GNU sed stream editor. ii shellutils 1.16-6.3 The GNU shell programming utilities. ii tar 1.12-7 GNU tar ii textutils 1.22-2.4 The GNU text file processing utilities. ii timezones 2.0.7.19981211 GNU C Library: Timezone data and utilities -- | [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] | 6F7267F5 fingerprint 57 16 C4 ED C9 86 40 7B 1A 69 A1 66 EC FB D2 5E | [EMAIL PROTECTED] gsm: +358 (0)40 707 2468