Desperate for deb docs

Ben Scott dragonhawk at gmail.com
Tue Oct 16 18:24:29 EDT 2007


On 10/16/07, Tyson Sawyer <tyson at j3.org> wrote:
> Where is the equivalent of srpm packages?

  Last I looked: There isn't anything properly like an SRPM.  Debian
source packages consist of the original, unmodified, upstream.tar.gz
source kit package, along with a single giant patch (diff) file.  The
single giant patch file, applied against the corresponding source
tree, would yield a modified source tree, which included a new(er)
"debian" subdirectory.  That subdirectory contained control files and
scripts to build and install the .deb binary package.

  Last I looked was several years ago, but this is Debian, after all... ;-)

  I suppose Debian-originated packages might lack the diff and just
include the "debian" subdirectory in the original source tarball.
Dunno.

> How does one re-build a .deb package?

  You grab the source package, untar it.  You grab the patch file and
apply it.  You run the build tools.  I seem to recall there being an
over-abundance of build tools (i.e., there was no one true way, unlike
rpmbuild(8) for RPM).  On the other hand, I imagine this did yield
more flexibility in the build process -- with a distribution as large
as Debian's, that's probably needed.

  The state of Debian's package building tools always struck me as
somewhat privative/confused compared to RPM.  Conversely, Debian had
better distro building tools.  Makes sense: Red Hat's stuff was
generally "Internal Use Only" (in nature, if not in fact).  Contrast
this with Debian, which applies "Free" to their whole effort, not just
the end product.

  I expect, with the success of Fedora, RPM-land is improving in the
distro tools area.  And I would expect even dpkg-land has made some
progress by now, too.  ;-)

> What if I want to rebuild a package on a different architecture ...

  There's an architecture that might use .deb packages but the Debian
distribution *doesn't* support?  Come on, Debian is the NetBSD of
Linux distributions.  :-)  Just use apt-get(1) to install the binary
package from the repository.

> ... or with some minor change?

  I assume you modify the modified source tree in place (optionally
modifying the version ID to reflect your local change) and run the
build front-end of your choice.  If you want a "source package" (i.e.,
the single giant patch file), you run "diff -u" against the original
Debian-modified tree and the locally-modified Debian-modified tree.
(I've never actually done this, so I could be way off.)

-- Ben


More information about the gnhlug-discuss mailing list