Re: Guppi 0.11.0



On Fri, 9 Jul 1999, Havoc Pennington wrote:

> I've been thinking of learning to make RPMs or debs or both, but
> unfortunately I don't have a clue how to do that. :-( But point taken, I
> will learn someday when I get a chance.

I don't know about RPMs, but we use dpkg here at MindSpring to package all
of our server software.  Here's a short&sweet guide I wrote on how to make
.debs.  It's real easy!

---------- Forwarded message ----------
Date: Thu, 2 Apr 1998 16:25:27 -0500 (EST)
From: Todd Graham Lewis <tlewis@mindspring.net>
To: Web Engineering/Dedicated Services <engineers@mailbot.mspring.net>
Subject: dpkg instructions

To make a dpkg from scratch, you need to do three main things:

1) Make a "fake" root tree.  E.g., say I'm starting with:

	# BASEDIR=/home/tlewis/tmp/ssh-1.2.20

I decide to make my fakeroot underneath there:

	# FAKEROOT=$BASEDIR/debian/tmp/

Then I put everything under there, just as I would in the actual filesystem,
ala:

	# mkdir -p $FAKEROOT/usr/local/sbin/
	# cp sshd $FAKEROOT/usr/local/sbin/

Get all of the files which are part of the package into $FAKEROOT in the
appropriate place, and step one is done.  For packages with GNU autoconf,
you can usually do:

	# make install prefix=$FAKEROOT/

2) Create all of the control files.  All of these go in the directory:

	# mkdir $FAKEROOT/DEBIAN/

The only one which you absolutely have to have is named "control".  Here
is an example:

Package: ssh
Version: 1.2.22
Architecture: alpha-osf-4.0
Installed-Size: 7191
Maintainer: Todd Lewis <tlewis@mindspring.net>
Description: Secure Shell
 RSA, IDEA, the whole 9 yards.  SSH rocks.    Package: ssh

Notice that each subsequent line of "Description" has to start with a
space.  In order to make control files, if I have an example, I usually
just take a look at one of the original Debian control files, which can
be found in the Debian source packages.  (I sent mail a while ago on
the steps necessary to convert a Linux Debian package to a DU Debian
package.)  Here's a more complete example:

Package: debhelper
Version: 0.63
Architecture: alpha-osf-4.0
Depends: perl (>= 5.004), fileutils (>= 3.16-4)
Installed-Size: 158
Maintainer: Joey Hess <joeyh@master.debian.org>
Description: helper programs for debian/rules
 A collection of programs that can be used in a debian/rules file to
 automate common tasks. Programs are included to install various files into
 your package, compress files, fix file permissions, integrate your package
 with the debian menu system, etc.  

Note the Depends: field.

There are other things which you can put into DEBIAN/.  Among them are
preinst, postinst, prerm and postrm, which are run (suprise!) before and
after installation and removal.  These just have to be shell scripts; you
should run them with "#!/bin/sh" and make sure it works against DU's
Bourne shell.

There are other goodies which you can do, but if you want to do them,
then you will have to read the manuals at the Debian site.

3) Build the package.

	# dpkg --build $FAKEROOT .

	# ls *deb
	debhelper_0.63_alpha-osf-4.0.deb

You're done!

--
Todd Graham Lewis        Manager of Web Engineering    (800) 719-4664, x2804
******Linux******          MindSpring Enterprises      tlewis@mindspring.net
---------- End Forwarded message ----------

--
Todd Graham Lewis                        Postmaster, MindSpring Enterprises
tlewis@mindspring.net                                (800) 719-4664, x22804

      "Do not squander time.  That is the stuff that life is made of."



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]