Difference between revisions of "Basic Debian Packaging"
Jump to navigation
Jump to search
(→cdbs basics:: add autotools example) |
(→basic troubleshooting: add lesspipe) |
||
Line 61: | Line 61: | ||
* commandline arguments: -uc -us | * commandline arguments: -uc -us | ||
====basic troubleshooting==== | ====basic troubleshooting==== | ||
+ | * lesspipe | ||
+ | lesspipe ../hello_2.1.1_i386.deb | less | ||
* build dependencies | * build dependencies | ||
* package dependencies | * package dependencies | ||
** install in a clean debian base-install | ** install in a clean debian base-install | ||
** pbuilder/sbuild | ** pbuilder/sbuild | ||
+ | |||
====lintian==== | ====lintian==== | ||
* debian policy checker | * debian policy checker |
Revision as of 16:19, 24 March 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
- basic familiarity with commandline
- basic familiarity with linux
- Command Line 2
- basic understanding of apt and dpkg
suggested background
- rudimentary understanding of building and compiling software
- 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
export DEBEMAIL=yourname@example.com
- DEBFULLNAME
export DEBFULLNAME="Your Name Here"
- EDITOR
export EDITOR=nano
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
- *.install
- *.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 # uncomment the next line if using a autotools-based source include /usr/share/cdbs/1/class/autotools.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
- lesspipe
lesspipe ../hello_2.1.1_i386.deb | less
- build dependencies
- package dependencies
- install in a clean debian base-install
- pbuilder/sbuild
lintian
- debian policy checker