My company is a software development shop that uses Debian for all of our production systems. We chose Debian based on it's reputation on packaging. Our goal is to be able to type 'ant deploy' have our software built, have debian packages built with our software, and other support software, and then have a debian repository created. Then be able to do 'apt-get update' from our production systems, to upgrade our application on those systems.
Unfortunately, it's not working out so easily. I've been a little frustrated with creating debian packages. As a user, I love Debian, but so far as a package creator, it's given me headaches. I'm hoping someone can enlighten me on a few things. I have a little experience with RedHat's packaging about a year ago, so I will mention it from time to time. Please don't take offense when I say that I like an aspect of RPM creation better than debian creation. And definitely correct my when my memory fails. First: 1. The sheer number of helper scripts, with layers and layers of scripts built on top of each other is really confusing. 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. 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? 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. Why can't debian package building be as simple as 'dpkg-create foo.spec'? 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 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. -- Zach Garner <[EMAIL PROTECTED]>