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

Re: Source-depends?

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"

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

| 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  The GNU assembler, linker and binary utiliti
ii  bsdmainutils        More utilities from 4.4BSD-Lite.
ii  cpp         The GNU C preprocessor.
ii  debianutils     1.10           Miscellaneous utilities specific to Debian.
ii  diff            2.7-18         File comparison utilities
ii  dpkg         Package maintenance system for Debian Linux
ii  dpkg-dev       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         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  GNU C Library: shared libraries
ii  libc6-dev 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 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 GNU C Library: Timezone data and utilities

| fab@pukki.ntc.nokia.com     fpolacco@prosa.it    fpolacco@debian.org
| 6F7267F5 fingerprint 57 16 C4 ED C9 86 40 7B 1A 69 A1 66 EC FB D2 5E
| fabrizio.polacco@nokia.com                  gsm: +358 (0)40 707 2468

Reply to: