Difference between revisions of "Basic Debian Packaging"

From FreekiWiki
Jump to navigation Jump to search
(more package building links, corrected previous link)
(added links to debian new maintainer guide, policy and developers reference)
Line 65: Line 65:
 
* https://wiki.ubuntu.com/HowToBuildDebianPackagesFromScratch
 
* https://wiki.ubuntu.com/HowToBuildDebianPackagesFromScratch
 
* http://women.alioth.debian.org/wiki/index.php/English/BuildingWithoutHelper
 
* http://women.alioth.debian.org/wiki/index.php/English/BuildingWithoutHelper
 +
* [http://www.debian.org/doc/maint-guide/index.en.html Debian New Maintainers' Guide]
 +
* [http://www.debian.org/doc/debian-policy/ Debian Policy]
 +
* [http://www.debian.org/doc/developers-reference/ Developer's Reference]
  
 
[[Category:Classes]]
 
[[Category:Classes]]

Revision as of 02:24, 24 February 2006

overview

this class should give a basic understanding of how to build a debian package from some common types of source tarballs or repositories, with the assistance of several helper utilities.

background

prerequisites

suggested background

  • rudimentary understanding of building and compiling software
  • basic understanding of apt and dpkg
  • basic understanding of cvs or subversion

topics covered

finding software

  • is it already packaged:
    • packages.debian.org
  • other sources of software:
    • freshmeat.net
    • sourceforge.net
    • google.com

environment variables

  • DEBEMAIL
  • DEBFULLNAME
  • EDITOR

creating debian directory

  • using dh_make (package dh-make)
  • dh-make-perl

contents of a debian directory

  • copyright
  • changelog
    • dch
    • version
    • release
  • control
  • rules
  • other files
    • *.installi
    • *.manpages
    • *.examples
    • *.init
    • *.postinst
  • other examples: *.ex and *.EX files

cdbs basics:

  • magic snippet for a complete debian/rules file:
#!/usr/bin/make -f
# uncomment the next line if using a makefile-based source
#include /usr/share/cdbs/1/class/makefile.mk
include /usr/share/cdbs/1/rules/debhelper.mk
  • add cdbs to build-depends or build-depends-indep debian/control

debuild

  • commandline arguments: -uc -us

basic troubleshooting

  • build dependencies
  • package dependencies
    • install in a clean debian base-install
    • pbuilder/sbuild

lintian

  • debian policy checker

additional and related topics