HOW TO UPLOAD A FRESH DEBIAN PACKAGE 1) tag the to-be-released version Run: svn cp BASE tags/v0.x.y Replace 'BASE' with the version this release is based on (usually 'trunk'). Replace 'x' and 'y' with the numbers of your choosen release. 2) Apply the selected changes This step is only suitable for releases that are not based on 'trunk', but are just bugfix or language releases. 2a) Bugfix release Apply the appropriate patch. 2b) Language release Copy the choosen language files to the new tag directory. Just an example for an update of the spanish ('es') translation: cd branches/translation-base-x.y find -type f -name \*.po | grep /intl/es/ | while read po_file do svn cp "$po_file" "tags/v0.x.y/$po_file" done Add possible new languages to the "Languages" setting in 'conf-examples/cryptobox.conf'. Add the acknowledgment for the contributor to the README file. All changes must be merged into the 'trunk', too! 3) update the debian changelog Run "debchange -i" to create a new changelog entry. Leave some useful notes. BEWARE: all development releases must have the debian release no. "1" (the last part of the version following the dash) - e.g.: 0.2.50-1. You MUST increase the upstream version (before the dash) by one whenever you want to upload a new debian package to the repository - otherwise you will inevitably mess up the package repository - and you know, who will have to figure out, how to fix this :) 4) create the package Change to the tag directory of the new release and run the following: ../make-deb.sh x.y.z . (do not forget the final dot) The UPSTREAM_VERSION is the one, that you were using for the new debian changelog entry (_before_ the hyphen, e.g. "0.3.4" instead of "0.3.4-1"). Again: _never_ upload two different debian packages with the same upstream version number or you will surely go to hell! The package files will get copied to ../tags/packages/debian/. The version number in src/cryptobox/__init__.py gets updated automatically by the make-deb.sh script. 5) double check the package Run the two testing programs "lintian" and "linda" with the new package. lintian ../tags/packages/debian/cryptobox-server...deb linda ../tags/packages/debian/cryptobox-server...deb Try to install the new package on a system with dpkg and see if it went fine. 6) upload the package You should use dupload - it is the preferred uploading program for debian packages: apt-get install dupload See http://www.debian-administration.org/articles/286 for more details. Create the following configuration file as ~/.dupload.conf: package config; $preupload{'changes'} = ""; $default_host = "sao"; $cfg{"sao"} = { fqdn => "sao", login => "uml-www", method => "scpb", incoming => "/data/deb-repo/incoming/unstable", dinstall_runs => 1, }; 1; Furthermore you need the following entry in your ~/.ssh/config: Host sao Hostname systemausfall.org Port 2200 (otherwise it is impossible to change the ssh port in dupload) To upload the latest debian package you could do the following: dupload $(ls -tr ../tags/packages/debian/*.changes | tail -1) (this will only use the latest changes-file) 7) import the package into the repository It would be nice, if the web interface would work - but it does not. Please wait for etch - then we will update reprepro. For now you have to login to the www-uml: ssh uml-www@sao Switch to the deb-repo user: su - deb-repo Import all incoming packages: scripts/import.sh You did it!