Difference between revisions of "Basic Debian Packaging"

From FreekiWiki
Jump to navigation Jump to search
(added link to another package building howto)
(more package building links, corrected previous link)
Line 63: Line 63:
 
* [[Debian Package Repositories]]
 
* [[Debian Package Repositories]]
 
* gnupg-signed packages
 
* gnupg-signed packages
* [https://wiki.ubuntu.com/HowToBuildDebianPackagesFromScratch]
+
* https://wiki.ubuntu.com/HowToBuildDebianPackagesFromScratch
 +
* http://women.alioth.debian.org/wiki/index.php/English/BuildingWithoutHelper
  
 
[[Category:Classes]]
 
[[Category:Classes]]

Revision as of 15:30, 23 December 2005

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