Hi Manoj,

I am not sure what brought about this comparison.... so will refrain 
from being overly verbose..

Manoj Srivastava wrote:
> Hi,
> 
>         It might be instructive to compare package file formats on a
>  purely technical level: http://kitenet.net/~joey/pkg-comp/
>  This is a fairly authoritative document, and well worth understanding.

good read indeed.

> 
>         Here follows commentary on the major points of difference oj
>  just the rpm and deb format (please read the URL for details
>  regarding other package formats).
> 
>  1) Data unpack-able by standard tools, meta-data accessible by
>     standard tools, and ability to create a .deb with standard (non
>     distribution specific) tools: .debs are just ar archives of
>     tar-balls, and can be unpackaged, inspected, and created using cp,
>     chmod, ar and tar.  rpm's need a special tool.  Now, why is this
>     important at all?  Well, think of a classified environment, where
>     you do not want to rely on the packaged tool to help you with
>     forensics; but you have a trusted solaris box.

rpm's are cpio achieves, its easy to yank the payload out ( but yes, 
much of the metadata and header-non-payload is lost ).

> 
>  2) Package relationships: The .deb format has a more nuanced set of
>     relationships, incorporating recommendations and suggested
>     packages, and orders packages by priority as well as group.

hinting by way of suggests and enhances are available in rpm, just not 
widely used. PLD ( iirc ) were the first guys to start deploying enmass 
such functionality.

>     Personally, I am of the opinion that file dependencies are a mixed
>     bag; they complicate the package dependency graph with edges that
>     are different from a package dependency; added to the less
>     nuanced dependency and priority information, they make the
>     installation ordering of rpm's far less sophisticated.

while not directly related to your statement ... rpm does have the 
ability to ( if the user so wants, I've not seen this deployed in a 
package management system as yet ) include perl / python / ruby deps 
directly as well. So if a rpm package wants a certain perl-module to 
exist, rpm can check for the existence of that perl-module even if its 
not mentioned in the package metadata manifest for the machine.

so given that pretty much every language devloper ( and his dog ) are 
trying to come up with means of sub-language-functionality-delivery ( 
php-pear, perl-cpan, ruby-gem etc etc ), a smart way to handle some part 
of this and overlap this info (?) with the system package metadata 
manifest is going to be important issue to work on, for any packaging 
system.

>     order, and rolling back failed installation. rpm does
>     installations on a best effort basis, and thus failures at
>     critical stages leave the system in an untenable state.

while this is true, its important to note that a proper package 
management / repo management system on top of rpm like yum or smartpm or 
apt-rpm should only hand down package sets in a single transaction. If 
that happens, rpm wont break anything - problems are reported quite loud 
and clear, except for when there is a deploop that needs a break ( when 
the best effort basis kicks in, and package ordering for with the 
deploop becomes hard ).

>  4) Debian packages may run binaries at install and un-install times.
>     I am not sure if this is a major plus.

is this like the %pre , %post, %preun and %postun scripts in a rpm ?


>  6) New sections in the package format: .debs were designed to be
>     extensible, and whole new sections can be added to the package by
>     adding yet another tar-ball or the ar archive.  Some of the future
>     additions being planned are detached signatures by various keys;
>     developers key, build daemon maintainer key, archive maintainers
>     key, release manager key, mirror master key, -- in a new section
>     of the package file.  So, new data sections, compiled binaries
>     for more than one sub-arch, or 32 and 64 bit binaries -- they can
>     be added easily to a new section, and dpkg be told how to deal
>     with the new sections by inspecting the .deb format version.
> 
>     rpm's can't as easily cope with unseen new requirements.

I dont quite understand what this implies ( perhaps a use-case-scenario 
will make it easier to parse ). The ability to add user defined metadata 
into a rpm header-not-payload is under development - I've seen it being 
used, but mostly off -devel trees, not in any released rpm used in a distro.

btw, I also rate the ability of rpms to handle multilib and arch 
specific packages to be a big plus.

-- 
Karanbir Singh : http://www.karan.org/ : [EMAIL PROTECTED]

_______________________________________________
ilugd mailinglist -- ilugd@lists.linux-delhi.org
http://frodo.hserus.net/mailman/listinfo/ilugd
Archives at: http://news.gmane.org/gmane.user-groups.linux.delhi 
http://www.mail-archive.com/ilugd@lists.linux-delhi.org/

Reply via email to