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

Re: Simple Debian Package Creation?jk



Zach Garner wrote:

> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things.

dh_make automates a lot of the packaging process for most typical
packages, but it's certainly not required -- especially if it doesn't
suit your package.

You should certainly trim down the files and rules generated by dh_make,
looking up each of them and removing the ones you don't need or want.

> Also, as far as I can tell I need the following:
> README.Debian compat copyright rules control dirs

"README.Debian" and "dirs" are not required.

(The first is completely optional.  The second is used by dh_installdirs
if it is present, or you can also create directories yourself with
"mkdir" or "install -d".  Many packages don't need to do either, since
the upstream build system already creates all of the required
directories.)

"compat" is needed only if your package uses debhelper (which it
probably should in most cases, to save you from reinventing the wheel --
but it's not required).

> > > 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
> >
> > Debian uses standard unix commands.
>
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as
> I can tell.

It's just an ar(1) archive.  See deb(5) for details.

Yes, this documentation is sparse and often hard to find.  On the other
hand, most developers seldom need to look at it because dpkg and
debhelper handle it all automatically.

> In fact, I would be happy enough if I could (a) run dpkg-deb on our
> other systems, this may be possible, though I don't expect it would
> too easy [...]

As far as I known, the dpkg tools will run on any Unix-like system.
They're used on Mac OS X for the "fink" system, for example.



Reply to: