Re: Simple Debian Package Creation?
Hi,
I know both the deb (Debian developer) and the rpm (at work) side..
Am Mittwoch, 3. November 2004 17:47 schrieb Zach Garner:
> First:
> 1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing.
You don't need to use them... mostly what you need is just dh_* from
debhelper. Each one has its own purpose. Many people don't need them all...
> 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...
> 3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?
Because most stuff *is* ./configure; make; make install
If you have a stuff which is not that way and just needs putting files around,
just do it. No one tells you you have to stick exactly with dh_makes
template. you just can use cp, install or whatever to install the files into
the proper debian/foo/usr/... directories...
> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the <package>.spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to
You can have that with debian/* too. Just stick them somewhere and copy it
into your pristine source if needed. No one tells you that debian/ has to be
in your source tarball, it even is discouraged...
> any debian rules.
the foo-0.1 is a convention. if your stuff doesn't follow it it is broken. I
don't see anyhow how it is bad to name a directory foo-version.
And: You *could* use a random directory name later after dh_install
(dh_install needs to get the info it puts into the template from somehwre).
YOu'll get warnings and your poackage probably won't be Debian policy
compliant (.dsc/.diff.gz/.orig.tar.gz) but it would work.
dh_make is a tool for people building debs mainly for the dist. There are some
policies which *are* to follow...
>
> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?
That's what dh_make does. Packaging is more than just using a template...
> 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.
Regards,
Rene
--
.''`. René Engelhard -- Debian GNU/Linux Developer
: :' : http://www.debian.org | http://people.debian.org/~rene/
`. `' rene@debian.org | GnuPG-Key ID: 248AEB73
`- Fingerprint: 41FA F208 28D4 7CA5 19BB 7AD9 F859 90B0 248A EB73
Reply to: