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/ `. `' [EMAIL PROTECTED] | GnuPG-Key ID: 248AEB73 `- Fingerprint: 41FA F208 28D4 7CA5 19BB 7AD9 F859 90B0 248A EB73