On 02-Jun-1998, Javier Fernandez-Sanguino Pen~a <[EMAIL PROTECTED]> wrote:
> 
>       I'm currently writting an article for "Linux Actual" (an spanish
> magazine on Linux) about the Debian Packaging System (more on the .deb
> format than other policies) and I would like to make the BIG question,
> considering there is a lot of discussion about LSB.
> 
> ---- start big question  ---
> 
>       What are the main differences/advantages/disadvantages of
> Debian's Packaging System vs The Other Guys (tm) ? 
> 
> --- end big question ---
> 

Manoj addressed most of the big differences in his mail.  One that he
missed (or glossed over) is the difference in generation of packages.

dpkg encourages (practically enforces) building a package in a working
directory, installing files to a temporary directory, and packaging
from that directory.
        e.g.    configure --prefix ./debian/tmp
                make
                make install
                package up ./debian/tmp
is what the debian/rules file says.

rpm encourages (practically enforces) building a package, installing
it in /usr, then listing all the files that were just installed.
        e.g.    configure --prefix /usr
                make 
                make install
                package up all listed files

This is very error prone.  Three big problems can occur:

        1. Maintainer lists files that were on their system, but were
        not generated by the source archive.  This means that the source
        RPM cannot generate the binary RPM on anyone elses system
        (except perhaps if they install the binary first, then create
        the package -- but it's a risk, and might eventually lead to
        packages that cannot be effectively maintained). 

        2. Maintainer fails to list files that were installed.  Package
        works fine for them, because they installed the files using
        "make install", so all files are present.  Package doesn't work
        for anyone else.

        3. Package maintainers machines get full of junk files, because
        they are only *producing* packages for people, their own system
        is used to install packages. 

When I discovered this is how rpm works, I was very disappointed.  
dpkg has "gone the extra mile", and done things properly, despite being
a bit more difficult to implement.  dpkg makes packaging quicker,
cleaner, and less error-prone.

Add to this the lovely cvs-buildpackage (automatically builds packages
out of CVS archives), and dpkg is a formidable packaging system.

.deb vs .rpm isn't much competition -- they are both functionally
equivalent at this level (so are .tar.gz or a .zip files really).
But when you look at the tools and process used to create a .deb versus
a .rpm, I think RPM needs some work.  But chances are there are things
I don't know about RPM -- I looked at it a while ago.

Good luck on your article.

-- 
       Tyson Dowd           # So I asked Sarah: what's the serial number on
                            # your computer? She replied:
     [EMAIL PROTECTED]        #          A-C-2-4-0-V-/-5-0-H-Z
http://www.cs.mu.oz.au/~trd #


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to