From f04dd5c3f64894a8bdfd5ebf69be262830837ad2 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Mon, 13 Jul 2015 10:52:23 -0300 Subject: Ikiwiki customizations --- Makefile | 2 +- README.md | 122 +--------------------------------------------------------- ikiwiki.setup | 24 ++++++------ index.md | 1 - index.mdwn | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 134 insertions(+), 137 deletions(-) mode change 100644 => 120000 README.md delete mode 120000 index.md diff --git a/Makefile b/Makefile index 7fb2cc6..3e5d279 100644 --- a/Makefile +++ b/Makefile @@ -18,4 +18,4 @@ web: @ikiwiki --setup ikiwiki.setup web_deploy: - @rsync -avz --delete www/ blog:/var/sites/blog/www/ + @rsync -avz --delete www/ debian:/var/sites/debian/www/ diff --git a/README.md b/README.md deleted file mode 100644 index f6c7e6d..0000000 --- a/README.md +++ /dev/null @@ -1,121 +0,0 @@ -Debian packaging effort! -======================== - -In the past, we used to be [heavy slackware users](https://simplepkg.sarava.org) when we just -had a few boxes to manage. Then we had to change our whole packaging paradigm when we switched -to Debian. - -These notes are mainly references to the detailed Debian/Ubuntu documentations we're using in -the course of learning the intricacies of Debian packaging. - -Grab this repository using - - git clone --recursive git://git.sarava.org/debian.git - -Configuration files -------------------- - -All the commands in this guide assumes that you're using [these configuration -files](https://git.sarava.org/?p=rhatto/dotfiles/debian.git;a=summary). - -Starting a new package ----------------------- - -We use the `packages/` folder from this repo to store sources: - - mkdir package/$package - cd package/$package - -Build environment creation --------------------------- - -The following steps needs to be run just once for each arch and distro version. - -### Setup cowbuilder chroots - -This is the recommended method: - - sudo mkdir -p /var/cache/pbuilder/sid-amd64 - sudo -E cowbuilder --create - - sudo mkdir -p /var/cache/pbuilder/wheezy-amd64 - sudo -E DIST=wheezy cowbuilder --create - -### Setup pbuilder chroots - -If you want to setup directly using `pbuilder`: - - git-pbuilder create - DIST=wheezy git-pbuilder - -### Compatibility with git-buildpackage - -This is a workaround while we don't find a cleaner way to fix -[this issue](http://ramblingfoo.blogspot.com.br/2012/10/howto-sudo-cowbuilder-git-buildpackage.html) -with `git-buildpackage` not getting `~/.pbuilderrc` from the local user: - - ( cd /var/cache/pbuilder/ && sudo ln -s sid-amd64/base.cow ) - -External repo integration -------------------------- - -If your package storage lives elsewhere, make a symlink like this: - - ( - cd /var/cache/pbuilder/wheezy-amd64 && \ - sudo rm -rf result && \ - sudo ln -s /var/data/apps/distros/debian/packages/build-area/wheezy-amd64 result - ) - -Environment maintenance ------------------------ - -These steps should be run once in a while to ensure we have an up to date packaging environment. - -### Pbuilder - - DIST=sid git-pbuilder update - DIST=wheezy git-pbuilder update --override-config - -### Cowbuilder - - DIST=sid sudo -E cowbuilder --update - DIST=wheezy sudo -E cowbuilder --update --override-config - -Building --------- - - DIST=wheezy sudo -E cowbuilder --build $package*.dsc - -Signing -------- - -To sign both the `.dsc` and the `.changes` files: - - debsign $package*.changes - -Uploading ---------- - -Simply run - - dupload *changes - -This assumes a `~/.dupload.conf` like the following: - - package config; - $default_host = "myremote"; - - $cfg{'myremote'} = { - fqdn => "myremote.example.org", - login => "user", - method => "scpb", - incoming => "/var/reprepro/incoming/", - # The dinstall on ftp-master sends emails itself - #dinstall_runs => 1, - }; - -It's also important that: - - 1. The host remote port is correctly defined at your `~/.ssh/config`. - 2. The user is in the `reprepro` group in the server. diff --git a/README.md b/README.md new file mode 120000 index 0000000..9f2fbdb --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +index.mdwn \ No newline at end of file diff --git a/ikiwiki.setup b/ikiwiki.setup index 2740fa0..a478960 100644 --- a/ikiwiki.setup +++ b/ikiwiki.setup @@ -6,30 +6,30 @@ # Remember to re-run ikiwiki --setup any time you edit this file. use IkiWiki::Setup::Standard { - wikiname => "Hello World!", - adminuser => ["user", ], - adminemail => 'user@example.org', + wikiname => "Debian Packages", + admindebian => ["debian", ], + adminemail => 'debian@sarava.org', # Be sure to customise these.. srcdir => ".", destdir => "www", - url => "https://user.example.org", - cgiurl => "https://user.example.org/ikiwiki.cgi", + url => "https://debian.sarava.org", + cgiurl => "https://debian.sarava.org/ikiwiki.cgi", #templatedir => "/usr/share/ikiwiki/templates", #underlaydir => "/usr/share/ikiwiki/basewiki", # Subversion stuff. #rcs => "svn", - #historyurl => "http://svn.example.org/trunk/[[file]]", - #diffurl => "http://svn.example.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]", + #historyurl => "http://svn.sarava.org/trunk/[[file]]", + #diffurl => "http://svn.sarava.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]", #svnrepo => "/svn/wiki", #svnpath => "trunk", # Git stuff. rcs => "git", - historyurl => "https://git.example.org/?p=user.git;a=history;f=[[file]]", - diffurl => "https://git.example.org/?p=user.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]", + historyurl => "https://git.sarava.org/?p=debian.git;a=history;f=[[file]]", + diffurl => "https://git.sarava.org/?p=debian.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]", #gitorigin_branch => "origin", #gitmaster_branch => "master", # See https://ikiwiki.info/tips/laptop_wiki_with_git/ @@ -122,8 +122,8 @@ use IkiWiki::Setup::Standard { # Logging settings: #verbose => 1, syslog => 0, - # To link to user pages in a subdirectory of the wiki. - #userdir => "users", + # To link to debian pages in a subdirectory of the wiki. + #debiandir => "users", # To create output files named page.html rather than page/index.html. #usedirs => 0, # Simple spam prevention: require an account-creation password. @@ -212,5 +212,5 @@ use IkiWiki::Setup::Standard { #po_slave_languages => [ 'pt|Portuguese' ], # See http://ikiwiki.info/plugins/rsync/ - #rsync_command => 'rsync -qa --delete . user@host:/path/to/docroot/', + #rsync_command => 'rsync -qa --delete . debian@host:/path/to/docroot/', } diff --git a/index.md b/index.md deleted file mode 120000 index 42061c0..0000000 --- a/index.md +++ /dev/null @@ -1 +0,0 @@ -README.md \ No newline at end of file diff --git a/index.mdwn b/index.mdwn index 2da2aef..f6c7e6d 100644 --- a/index.mdwn +++ b/index.mdwn @@ -1,3 +1,121 @@ -[[!meta title="Hello World!"]] +Debian packaging effort! +======================== -[[!inline pages="page(*) and !ikiwiki/* and !index and !sandbox and !templates* and !smileys and !shortcuts and !ikiwiki and !RecentChanges and !*/Discussion" archive="yes"]] +In the past, we used to be [heavy slackware users](https://simplepkg.sarava.org) when we just +had a few boxes to manage. Then we had to change our whole packaging paradigm when we switched +to Debian. + +These notes are mainly references to the detailed Debian/Ubuntu documentations we're using in +the course of learning the intricacies of Debian packaging. + +Grab this repository using + + git clone --recursive git://git.sarava.org/debian.git + +Configuration files +------------------- + +All the commands in this guide assumes that you're using [these configuration +files](https://git.sarava.org/?p=rhatto/dotfiles/debian.git;a=summary). + +Starting a new package +---------------------- + +We use the `packages/` folder from this repo to store sources: + + mkdir package/$package + cd package/$package + +Build environment creation +-------------------------- + +The following steps needs to be run just once for each arch and distro version. + +### Setup cowbuilder chroots + +This is the recommended method: + + sudo mkdir -p /var/cache/pbuilder/sid-amd64 + sudo -E cowbuilder --create + + sudo mkdir -p /var/cache/pbuilder/wheezy-amd64 + sudo -E DIST=wheezy cowbuilder --create + +### Setup pbuilder chroots + +If you want to setup directly using `pbuilder`: + + git-pbuilder create + DIST=wheezy git-pbuilder + +### Compatibility with git-buildpackage + +This is a workaround while we don't find a cleaner way to fix +[this issue](http://ramblingfoo.blogspot.com.br/2012/10/howto-sudo-cowbuilder-git-buildpackage.html) +with `git-buildpackage` not getting `~/.pbuilderrc` from the local user: + + ( cd /var/cache/pbuilder/ && sudo ln -s sid-amd64/base.cow ) + +External repo integration +------------------------- + +If your package storage lives elsewhere, make a symlink like this: + + ( + cd /var/cache/pbuilder/wheezy-amd64 && \ + sudo rm -rf result && \ + sudo ln -s /var/data/apps/distros/debian/packages/build-area/wheezy-amd64 result + ) + +Environment maintenance +----------------------- + +These steps should be run once in a while to ensure we have an up to date packaging environment. + +### Pbuilder + + DIST=sid git-pbuilder update + DIST=wheezy git-pbuilder update --override-config + +### Cowbuilder + + DIST=sid sudo -E cowbuilder --update + DIST=wheezy sudo -E cowbuilder --update --override-config + +Building +-------- + + DIST=wheezy sudo -E cowbuilder --build $package*.dsc + +Signing +------- + +To sign both the `.dsc` and the `.changes` files: + + debsign $package*.changes + +Uploading +--------- + +Simply run + + dupload *changes + +This assumes a `~/.dupload.conf` like the following: + + package config; + $default_host = "myremote"; + + $cfg{'myremote'} = { + fqdn => "myremote.example.org", + login => "user", + method => "scpb", + incoming => "/var/reprepro/incoming/", + # The dinstall on ftp-master sends emails itself + #dinstall_runs => 1, + }; + +It's also important that: + + 1. The host remote port is correctly defined at your `~/.ssh/config`. + 2. The user is in the `reprepro` group in the server. -- cgit v1.2.3