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

Re: [Q:] Which tool creates the DEBIAN subdirectory



On Mon, Mar 13, 2006 at 05:02:27PM +0100, Rainer Dorsch wrote:
> Am Montag, 13. M?rz 2006 11:04 schrieb Bas Wijnen:
> > On Mon, Mar 13, 2006 at 10:21:35AM +0100, Rainer Dorsch wrote:
> > > Am Montag, 13. M?rz 2006 02:28 schrieb Joe Smith:
> > > > "Rainer Dorsch" <rdorsch@web.de> wrote in message
> > > > 200603122252.13092.rdorsch@web.de">news:200603122252.13092.rdorsch@web.de...
> > > >
> > > > > Hello,
> > > > >
> > > > > I tried to package cpuinfo but it seems that the files in debian/tmp
> > > > > did not make it into the .deb file:
> > > >
> > > > debian/tmp is only used if debian/compat does not exist or contains
> > > > '1'. My guess is that your package has some other value in
> > > > debian/compat. If that is the case, install to to debian/<package>
> > > > (replacing package with the name of the binary package) instead of
> > > > debian/tmp.
> >
> > When using debhelper, dh_install will do that for you sortof automatically.
> > If you have defined a binary package foo in debian/control, and there is a
> > file debian/foo.install, then putting this in dh_install:
> 
> I did not have a debian/foo.install. I am wondering, if I need to all all 
> files manually in debian/foo.install... So I would put the files in 
> debian/tmp (using the DESTDIR variable in the makefile) and the copy it from 
> debian/tmp to debian/foo by listing all files in debian/foo.install and 
> running dh_install? Installing directly into debian/foo looks like a shortcut 
> to me and listing all files in debian/foo.install looks like tedious work to 
> me, but maybe I miss something...
No; if possible, you probably want to $(MAKE)
DESTDIR=$(CURDUR)/debian/package/ install, and then add/remove some
special-case files from there.  But sometimes there are just too many
files to do this well, expecially for splitted packages ("multiple
binary") in which case it can make sense to install to ./debian/tmp/
(or any other arbitrary directory, tmp has no relation to the previous
DH_COMPAT=1 use of tmp), and then use foo.install to the real
locations.

Consider library packages libfoo1 and libfoo1-dev, the former having
only the shared library /usr/lib/libfoo.so.1.2, and the latter having
also a static library, a set of header files, some documentation, etc.

> > debian/tmp/usr/bin/bar
> > will install that file to the same path, minus "debian/tmp/", if it is at
> > the start, in debian/foo.  Of course there's nothing against doing that by
> 
> Hmm... what you do mean with if it is at the start, the start of what?
I guess this is the stuff talked about in dh_install(1).

> > In fact, your build must have warned you about all the files in debian/tmp,
> > because you use the --list-missing option.
This seems like a good idea to use ..

There's also a bug which I can't find right now requesting that ./tmp/
be empty otherwise some command triggers a warning/failure, the idea
being that upstream changes can be more easily detected.

Justin



Reply to: