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

Re: Simple Debian Package Creation?



On Wed, 03 Nov 2004 10:47:45 -0600
Zach Garner <zach@awarix.com> wrote:

[...]
> 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 understand they all to make packages, but at least
you can see what they are doing.

>   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. 

  Most of the files added by dh_make are there to be deleted. IIRC you
only need the control, rules, compat, changelog and copyright, the rest
is pretty optional.

>   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?

  It is, make the Makefile copy the files at the right location. Anyway
seems you're forgetting Debian packaging is meant for sources to be
built in different architectures, not a replacement for tar+gzip.

> 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
> any debian rules.

  So you want to make a Debian package that is not a Debian package? Use
the right tool: tar czf
 
> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?

  Quality has a price.
 
> 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

  You can, in fact they are designed for using standard tools, but you
have to understand the package structure first. Try "ar x any.deb"

> 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. 
> 
> Right now, using Debian to deploy our software seems more and more
> difficult for us. I'd greatly appreciate any advice or comments. All I
> want to be able to do is create a package on any unix system that can
> be installed via apt-get, that simply installs some files, and can use
> the pre/post install/remove scripts. This seems like a simple thing to
> do, but the process seems very difficult.

  I repeat, you don't want to use apt-get, you want to use wget and a
web server populated with tar.gz files. Imposing apt-get is making your
non-Debian workstation developers change the natural way of installing
sofware, so, if you can do that, don't mess with making debs, make a
script called "tycoon-install" that grabs the tar.gz from your server
and unpacks it to the "right" location and teach your users.
-- 
  Ricardo Mones Lastra - mones@aic.uniovi.es
  Centro de Inteligencia Artificial, Universidad de Oviedo en Gijon
  33271 Asturias, SPAIN. - http://www.aic.uniovi.es/mones



Reply to: