Install development packages
$ sudo aptitude install dh-make devscripts fakeroot dput
Make sure you're using the right user credentials
$ export DEBFULLNAME="John Doe" $ export DEBEMAIL="user@example.com"
Create your source tarball
$ mkdir foobar-0.1 $ tar czf foobar_0.1.tar.gz foobar-0.1
Create the debian scripts
$ cd foobar-0.1 $ dh_make -s -n -f ../foobar-0.1.tar.gz Maintainer name : John Doe Email-Address : user@example.com Date : Tue, 21 Oct 2008 18:05:54 -0400 Package Name : foobar Version : 0.1 License : gpl Type of Package : Single Hit <enter> to confirm: Currently there is no top level Makefile. This may require additional tuning. Done. Please edit the files in the debian/ subdirectory now. You should also check that the foobar Makefiles install into $DESTDIR and not in / .
Remove extraneous debian scripts
$ rm debian/*.ex debian/*.EX debian/README.Debian
Modify build rules to remove extra commands
$ sed -i 's/\(\S*$(MAKE)\)/#\1/' debian/rules
Modify control file to our needs
$ $EDITOR control
Source: foobar
Section: misc
Priority: extra
Maintainer: John Doe <user@example.com>
Build-Depends: debhelper (>= 5)
Standards-Version: 3.7.2
Package: foobar
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, other-package, the-package
Description: FooBar metapackage
This metapackage includes many things.
Write the changelog entry
$ dch
Build and sign the source package. (Leave out the -S for a binary package.)
$ debuild -S -sa
Upload the package to PPA
$ cd .. $ dput ppaname foobar_0.1_source.changes
Get the sources together (foobar.dsc, foobar_0.1.tar.gz).
Extract the source
$ dpkg-source -x foobar_0.1.dsc $ cd foobar-0.1
Modify the control file
$ $EDITOR debian/control
Update the changelog
$ dch -v 0.2
Build and sign the source package
$ debuild -S -sa
Upload the package to PPA
$ cd .. $ dput ppaname foobar_0.2_source.changes