Difference between revisions of "Basic Debian Packaging"

From FreekiWiki
Jump to navigation Jump to search
(touch it up a little)
(a few tweaks and additional info)
Line 14: Line 14:
 
* is it already packaged:
 
* is it already packaged:
 
** packages.debian.org
 
** packages.debian.org
* freshmeat.net
+
* other sources of software:
* sourceforge.net
+
** freshmeat.net
* google.com
+
** sourceforge.net
 +
** google.com
 
====environment variables====
 
====environment variables====
 
* DEBEMAIL
 
* DEBEMAIL
 
* DEBFULLNAME
 
* DEBFULLNAME
 
====creating debian directory====
 
====creating debian directory====
* dh_make
+
* using dh_make (package dh-make)
 +
* dh-make-perl
 +
====contents of a debian directory====
 
* copyright
 
* copyright
 
* changelog
 
* changelog
Line 42: Line 45:
 
  #include /usr/share/cdbs/1/class/makefile.mk
 
  #include /usr/share/cdbs/1/class/makefile.mk
 
  include /usr/share/cdbs/1/rules/debhelper.mk
 
  include /usr/share/cdbs/1/rules/debhelper.mk
* debuild
+
* add cdbs to build-depends or build-depends-indep debian/control
 +
====debuild====
 +
* commandline arguments: -us -uc
 
* basic troubleshooting
 
* basic troubleshooting
 
** build dependencies
 
** build dependencies
 +
** package dependencies
 +
*** install in a clean debian base-install
 +
*** pbuilder/sbuild
 
====lintian====
 
====lintian====
* debian policy
+
* debian policy checker
  
 
===additional and related topics:===
 
===additional and related topics:===

Revision as of 00:46, 9 December 2005

this class should give a basic understanding of how to build a debian package from some common types of source tarballs or repositories.

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

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: -us -uc
  • basic troubleshooting
    • build dependencies
    • package dependencies
      • install in a clean debian base-install
      • pbuilder/sbuild

lintian

  • debian policy checker

additional and related topics: