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

Re: Getting started - Q about post int procedures etc.



On Fri, Mar 20, 1998 at 03:21:54PM -0800, Sudhakar Chandrasekharan wrote:
> So finally I have located a package (xdir) that nobody is working on.  I
> want to build a test package and see if I am qualified enough to become a
> official Debian developer.  Here is what I do -

Hello!

I am sad to say that there is a little more involved than using debmake.
Debmake is in no way a standard way to build *.deb packages. I only did my
very first steps with debmake, changed very fast to debhelper, and will now
drop both. See, debmake and debhelper are only used in the rules file to
make it easier to build the package according to policy (file permissions,
compression, etc...) but it is quite easy without them (if you know your
friends, "install", "gzip" etc.) You should take a look at the rules files
from Manoj, they are very good to learn from. Manoj and a couple of other
people can sent them to you (including me, although I don't have the latest
verison).
 
> 1. tar zxvf the package.

Yes, but you have to rename the directory after extracting according to the
debian naming convention <name>-<upstream-version>

You don not need to repack. Just rename the tar file to
<package>-<upstream-version>.orig.tar.gz. dpkg can handle that, even if the
dir name inside the tar file is not correct (as long as it extracts in a
single directory).

> 2. cd directory_of_package

> 3. deb-make
> 4. cd debian

I would suggest:
mkdir debian

and then write the files you need. You need a makefile called "rules" that
provide a standard set of targets (build, clean, binary, etc..., look at
Manoj's rules file). "build" target should compile the software, "clean"
should undo all changes made to the archive. "binary" and co should build
the actual content of the deb file under a temporary directory in debian/.

> 5. rm *.ex
> 	This is a x package for which I need to add a menu entry.  Is it enough if
> I just edit the menu.ex file?  Would dpkg automagically know how to add the
> menu entry?

As you don't run debmake ;), you will have to create a changelog file
according to the standard. You also need a copyright file. If you need a
menu entry, write it and install it in debian/<tempdir>/usr/lib/menu, and
add the proper stuff to the postinst and postrm stuff (those files are
control files and have to be installed in debian/<tempdir>/DEBIAN/

> 6. build

This script is somewhat useful. You have to start it in the source directory
(not in the debian directory), and it will call "debian/rules clean"
dpkg-sourcepackage, "debian/rules binary" and then it will pgp sign the
package.

> 7. dpkg --install fooBar.deb

This is probably the last step, after testing and running lintian on the
changes file.
 
> I think the best way for me to learn would probably be by extracting
> everything from a similar .deb package.

Take the rules files from Manoj. then you don't need to extract files from
other packages.

> How do I extract the contents of a
> .deb package?  I am not talking about dpkg --exctract.  Obviously the
> creator of a package has to have some way to inform dpkg to add the menu
> entry.

see above.

> Also, what is a good document to read to get started.  I have already read
> the Debian Developers Reference and the New Package Maintainer's Debian
> Packaging HOWTO.

The policy manual. The packaging manual. Manojs rules files.
Come back to this list for any questions.

Marcus

-- 
"Rhubarb is no Egyptian god."        Debian GNU/Linux        finger brinkmd@ 
Marcus Brinkmann                   http://www.debian.org    master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de                        for public  PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/       PGP Key ID 36E7CD09


--
To UNSUBSCRIBE, email to debian-mentors-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: