Version 3 (modified by jdreed, 11 years ago) (diff)


hello package - useful for understanding low-layer

  • onyl 3 files needed: changelog, control, rules
  • rules is executable

-- rules we look at: build, binary (binary-arch), clean build process: build stage (create programs), binary stage (make the binary package) The last step is dpkg --build, which creates the .deb -we should cover basic use of Makefiles (make, make install) and configure/autoconf -- sample package -- talk about DESTDIR and why important -example, run "debian/rules build"


  • builds source package, then binary package, etc
  • runs clean target
  • sanitizes your environment (Variables, etc)
  • can sign packages for you

binary target must be run as root (by extension, clean must be run as root) therefore, fakeroot. Ensures files in packages are owned by 0/0. ldpreload, between you and system

debian/tmp directory subtree

  • docdir: debian changelog (->changelog.Debian), regular ChangeLog? (-> changelog) NEWS, etc

debian policy: gzipped manpages, permissions, owners, etc

arch-dependent vs arch-independent binary-indep vs binary-arch:

  • only build the indep part once

that's pure debuild, not CDBS, Debhelper, or Dh

The copyright file

  • Have all licensing info in one place, where everyone can find it.
  • upstream software and license of packaging itself

The control file:

  • format is vaguely RFC822
  • "paragarphs", source, binary

note: single source -> multiple binary packages, namespace is separate, but convention is that 1-to-1 packages have same binary and source names

  • maintainer vs original maintainer

stop at 53:28