- Don't use debian/rules binary; use debuild. It'll properly clear the environment, use fakeroot by default, etc. It defaults to unsigned source and unsigned changes (-us -uc),
- use --no-lintian arg to debuild to save time
- debuild understands -j 4 (where "4" is num concurrent jobs) like make
- -nc is handy if you want to do repeated rebuilds. It won't clean the source tree before building.
- Otherwise use -tc to save space by cleaning source tree after building
When giving build instructions tell people to use wget -O - | patch.
Pin updated packages in /etc/apt/preferences, eg:
Package: nautilus
Pin: version 2.26.2-0ubuntu1*
Pin-Priority: 1001
The following shell snippet will generate pinning entries for all *.deb files in the current directory and append them to your apt preferences:
for f in *.deb; do
dpkg-deb -e $f
sed -e '/^Package: / p' \
-e '/^Version: / s/Version: \(.*\)$/Pin: version \1 origin=""/ p' \
-e '/^Pin: / aPin-Priority: 1001' \
-e 'D' \
DEBIAN/control
echo
done | sudo tee -a /etc/apt/preferences