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

Re: Simple Debian Package Creation?



On Wednesday 03 November 2004 19:32, Rene Engelhard wrote:
--cut--
> >   2. The number of files that I have to create within the /debian
> > directory is difficult to deal with, and having to create the /debian
> > directory within my application directory and being forced to name my
> > application directory according to debian rules is very irritating.
>
> You don't need to do that manally. dh_make gives you a template. You need
> to adjust that a bit, though, for your needs...

I'd add that there are also some debian specific things that no other 
packaging system on this planet knows about or can handle - debconf 
templates, apt watch ... Of cource noone forces you to use them.

It would be very confusing if everything is put in one file (say 
debian/rules) ... that's why the tasks are separated in several files.

--cut--
> > Second, why can't I create packages with standard unix commands? Why
> > can't I say something like:
> >   $ tar cvzf data.tgz myapplication/*
> >   $ tar czvf control.tgz control
> >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
>
> man ar, man tar, man deb
>
> you *could* do that manually, read man deb for the exact structure - as deb
> ist just an ar archive with two tar archives and one file. But it is *far*
> easier to get a package right with the "normal" way...
>
> > My main complaint here, is that we really want to be able to build the
> > debian packages from any developer workstation. Since we don't impose
> > operating system requirements on developers, we can't expect debian to
> > be on all workstations.
>
> You can't do that with rpm either. You need rpm installed anyhow.
> Same with debian.

I would add that if one knows what s/he is doing, then simple/generic things 
like mkdir, cp, echo might be explored... and of cource we need dpkg-deb on 
one host installed to assemble the deb:

# mkdir -p wsver/usr/bin wsver/DEBIAN
# cp wsver wsver/usr/bin
# echo "Package: wsver" > wsver/DEBIAN/control
# echo "Version: 1" >> wsver/DEBIAN/control
# echo "Architecture: i386" >> wsver/DEBIAN/control
# echo "Maintainer: You <you@some.net>" >> wsver/DEBIAN/control
# echo "Description: Check web server version" >> wsver/DEBIAN/control
# dpkg-deb -b wsver
dpkg-deb: building package `wsver' in `wsver.deb'.

The things could be simple or complex, depends of what and who is doing 
them ;-)

-- 
pub 4096R/0E4BD0AB  2003-03-18  <keyserver.bu.edu ; pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 



Reply to: