add wikipedia link
[KenyonWiki.git] / Debian.mdwn
index 6971da1..304607c 100644 (file)
@@ -28,10 +28,11 @@ This script is based on <http://extern.tribut.de/irssi-notify> (linked from <htt
 #!/bin/bash
 # Run this script in the background from the machine you want
 # notifications to appear on: irssi-notify &
+# Load the script fnotify.pl in irssi.
 
 ssh -f irssi-server "tail --lines=10 $HOME/.irssi/fnotify; > $HOME/.irssi/fnotify; tail --follow $HOME/.irssi/fnotify" |
     sed --regexp-extended --unbuffered "
-        s/&/\&amp;/g; # replace characters with HTML entities
+        s/(.)&/\1\&amp;/g; # replace characters with HTML entities
         s/</\&lt;/g;
         s/>/\&gt;/g;
         s%(#[[:alpha:]]+ )&lt;([^>]{0,10})&gt;%\1<b>\2</b> %g # bold the channel
@@ -45,6 +46,7 @@ ssh -f irssi-server "tail --lines=10 $HOME/.irssi/fnotify; > $HOME/.irssi/fnotif
 
 Dependencies:
 
+* [fnotify.pl](http://kenyonralph.com/fnotify.pl)
 * [[!debpkg libnotify-bin]] for notify-send
 * [[!debpkg openclipart-png]] for the icon
 
@@ -64,9 +66,67 @@ Set 'bell-style' to 'none' in `/etc/inputrc`.
 ### See also
 * [Removing annoying console beeps](http://www.debian-administration.org/articles/110)
 
+## Rebuilding Debian packages
+This is just my local, condensed version of [Raphaël Hertzog's](http://raphaelhertzog.com/) article [Howto to rebuild Debian packages](http://raphaelhertzog.com/2010/12/15/howto-to-rebuild-debian-packages/).
+
+1. `apt-get source ntp`
+1. `sudo apt-get build-dep ntp`
+1. Make changes to package (or not), `dch --local foo` to record a changelog entry and increase the version.
+1. `debuild`
+1. `dput local whatever.changes` or just install the resulting deb with `gdebi`.
+
 ## Local Debian package repository
 Here is how I created a local Debian package repository, also called an archive, using [[!debpkg mini-dinstall]].
 
+### ~/.mini-dinstall.conf
+    [DEFAULT]
+    architectures = all, amd64
+    archivedir = ~/repo
+    archive_style = flat
+    generate_release = 1
+    release_signscript = ~/bin/sign-release.sh
+    [squeeze]
+    alias = stable
+
+Run `mini-dinstall --batch` to initialize the repository.
+
+### ~/bin/sign-release.sh
+[[!format bash """
+#!/bin/bash
+# -*- coding: utf-8 -*-
+# Based on Sample script to GPG sign Release files
+# Copyright © 2002 Colin Walters <walters@debian.org>
+# License: GPLv2
+set -e
+KEYID=0xc9b912d5
+rm -f Release.gpg.tmp
+gpg --default-key "$KEYID" --detach-sign -o Release.gpg.tmp "$1"
+mv Release.gpg.tmp Release.gpg
+"""]]
+
+Now `gpg --armor --export 0xc9b912d5 | sudo apt-key add -` to get APT to trust the local repository.
+
+### ~/.dput.cf
+    [local]
+    method = local
+    run_dinstall = 0
+    post_upload_command = mini-dinstall --batch
+    incoming = ~/repo/mini-dinstall/incoming
+
+Run `dput local pkg.changes` to upload the package to the repository.
+
+### ~/.devscripts
+[[!format bash """
+DEBUILD_DPKG_BUILDPACKAGE_OPTS="-k0xC9B912D5 -sa"
+DSCVERIFY_KEYRINGS="~/.gnupg/pubring.gpg"
+"""]]
+
+### sources.list entries
+    deb file:///home/kenyon/repo squeeze/
+    deb-src file:///home/kenyon/repo squeeze/
+
+Now after a `sudo aptitude update` you should be able to install packages from the local repository.
+
 ### References
 * manual pages and `/usr/share/doc` (read with `debmany` from [[!debpkg debian-goodies]]: sources.list, mini-dinstall, dput
 * <http://wiki.freegeek.org/index.php/Debian_Package_Repositories>