[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: corel
On Sun, Dec 12, 1999 at 02:59:03PM -0600, Steven Pritchard wrote:
> On the other hand, I have yet to be convinced that the Debian package
> management system as a whole is superior to RPM. From what
> (admittedly little) I've seen of Debian's packages, RPMs are cleaner
> and easier to build. Yes, the dependencies could use a little work
> (why should someone necessarily need to know that a dependency on
> libhistory.so.3 means they need the readline package installed?), but,
> again, that's a tools issue, not an issue with the packaging system.
I will agree with this: Debian packages are much harder to write, and
are generally more complicated.
However, this complexity for the developer grants a lot of power to
the user. For example, some of that complication allows Debian boxes
to be upgraded in-place between versions without requiring either a
boot to a pristine system or complex manual upgrading. It also allows
for some other cool things to be possible that would be difficult for
an all-volunteer project to do, such as architecture change tracking,
multiple pristine source tarballs per source package, a "lint"-like
tool that checks for packaging problems automatically, and so on.
There are automated tools to help the process along, though, such as
debhelper.
> RPM has several features that I *really* like. First, there's the
> distinction between source packages and binary packages (which, oddly
> enough, is really more of a tool issue, since they use the same
> on-disk format), and the whole spec file notion of source and patches,
> which lets you easily build pristine source-based packages. (Now, if
> only rpm was smart enough to take a URL for source and go fetch it for
> you... Then rpm could build a package given only the spec file.)
On Debian, all you need is the package name:
$ apt-get -b source <package>
And yes, Debian supports source and binary packages, and the concept
of pristine sources. Debian can even allow a package to be built with
multiple pristine sources; X, for example, is this way.
> Second, I do like it that RPM packages, whether source or binary, are
> one file, rather than some funky directory structure or something.
> (I'm not pointing fingers at anything in particular here... I've seen
> this on other operating systems.) Now, if only the Red Hat people
> hadn't taken the easy route of using a cpio-based on-disk format (so
> they could just massage the file and exec cpio, rather than having to
> do work themselves), instead of an easier-to-manipulate tar archive...
> (It's a shame that nobody pointed out to the developers of rpm that
> GNU cpio can handle tar archives.)
Debian binary packages are single-file.
Debian source packages consist of several files: the .dsc (a text
file, which summarizes all the files in the package), one or more
pristine source files (in .tar.gz), and zero or more diff files.
> OK, I'll close with this. Here's a (probably not complete) list of
> things I would like to see in the "perfect" package management system:
Let's see how we do:
> 1. Source and binary packages using one on-disk format.
You've got us there. Binary .debs are ar files containing tar files,
and source packages are collections of files. I wonder if it's been
thought about to "ar" all the source files together and create "source
packages"?
> 2. Package tools that know how to build binary packages from
> source packags.
As mentioned above, apt-get -b source <package>.
> 3. Single file package format based on tar.
Got that.
> 4. The ability to create "super-packages" containing several
> independent packages. (In other words, something similar to
> the POSIX (AKA HP-UX) package spec's bundles, products, etc.,
> but without all the cruft. :)
Got that. ("apt-get install task-gnome-desktop" installs all the
stuff needed to do GNOME, for example)
> 5. Package tools that are smart enough to let you implement some
> kind of policy for keeping local copies of files that have been
> upgraded or removed. In other words, some way to make it just
> a little easier to recover when you screw yourself by removing
> a package like, say, mount. (Has everybody here my story about
> that? :-)
Got that (I think - diversions?).
> 6. Preferably a tool that was flexible enough to do something sane
> with foreign packages (and maybe even provide front-ends that
> implement their functionality/command-line arguments for
> transition purposes).
Got that. (alien)
> All of that would be pointless though without a distribution that had
> a hard, fast list of requirements for packages...
Got that, too. Check the Debian policy manual and packaging manual if
you're curious (www.debian.org, look in "Developer's Corner").
--
To unsubscribe, send email to majordomo@luci.org with
"unsubscribe luci-discuss" in the body.
- References:
- Re: corel
- From: Mark Blunier <blunier@ocslink.com>
- Re: corel
- From: Steven Pritchard <steve@silug.org>