To build a release: Make sure workspace revision matches what you want to release. # Make the source tarball # only if you didn't already do it for launchpad! # Otherwise make sure the i2p-0.9.xx.orig.tar.bz2 file is # in the dir above the source directory, and skip to next step ant debian-release-tarball # Following instructions (and filenames) are for unstable. # Repeat for each target. # Go to the source directory created by ant debian-release-tarball # Fix up the changelog cd i2p_0.9.xx-x-xxxxxxxx/ ant debchange vi debian/changelog change i2p_0.9.xx-x-xxxxxxxx-1 to i2p_0.9.xx-1 change UNRELEASED to stable change comment to "New upstream version 0.9.xx" fix your name and email # fix up the control and rules files as necessary # fix up the patches/ files as necessary # build the binary packages: ant debian-binary This will make the following files in .: i2p-doc_0.9.xx-1_all.deb i2p-router_0.9.xx-1_all.deb i2p_0.9.xx-1_all.deb libjbigi-jni_0.9.xx-1_amd64.deb Note that you won't have a libjbigi-jni_0.9.xx-1_i386.deb file, or one for any other architecture. Oh well. # copy up so they don't get deleted cp *.deb .. # remove symlink (fixme?) rm apps/susidns/src/lib/standard.jar # build the source package, which will be in .. # do gpg --list-keys to find your subkey id debuild -S -sa -kYOURSUBKEYID (note: no space allowed in -kkeyid) This will make the following files in ..: i2p_0.9.XX-1.dsc (the GPG signature) i2p_0.9.XX-1.debian.tar.xz (basically the debian/ directory tarball) i2p_0.9.XX-1_source.changes (the changelog text file) # now do the same for jessie and wheezy and precise (NO, don't, we will copy below) # scp the following files to the reprepro server: i2p_0.9.XX-1.dsc (the GPG signature) i2p_0.9.XX-1.tar.xz (basically the debian/ directory tarball) i2p_0.9.XX-1_source.changes (the changelog text file) i2p_0.9.XX.orig.tar.bz2 (the source tarball) i2p-doc_0.9.xx-1_all.deb (docs) i2p-router_0.9.xx-1_all.deb (binary) i2p_0.9.xx-1_all.deb (top-level package) libjbigi-jni_0.9.xx-1_amd64.deb (binary) ssh to reprepro server sudo su kytv (he owns the reprepro directories) reprepro includedeb stable i2p-doc_0.9.xx-1_all.deb reprepro includedeb stable i2p-router_0.9.xx-1_all.deb reprepro includedeb stable libjbigi-jni_0.9.xx-1_amd64.deb reprepro includedeb stable i2p_0.9.xx-1_all.deb # if you already got the source from launchpad # with reprepro update, skip this. reprepro includedsc stable i2p_0.9.XX-1.dsc # copy built packages from launchpad reprepro -v update precise reprepro -v update trusty reprepro -v update xenial reprepro -v update bionic reprepro -v update cosmic reprepro -v update disco # todo when set up # To add or remove distributions, edit /var/www/debian/conf/distributions # and /var/www/debian/conf/updates # and then: reprepro -v export foo (for new foo) # and then: reprepro -v update foo # If you remove, you must do: reprepro clearvanished # To copy precise to wheezy: # Note that syntax is reprepro copysrc TO FROM package! reprepro -v copysrc wheezy precise i2p # To copy trusty to jessie: # Note that syntax is reprepro copysrc TO FROM package! reprepro -v copysrc jessie trusty i2p # To copy bionic to stretch: # Note that syntax is reprepro copysrc TO FROM package! reprepro -v copysrc stretch bionic i2p # To copy disco to sid: # Note that syntax is reprepro copysrc TO FROM package! reprepro -v copysrc sid disco i2p # install in the architectures not copied from ubuntu # 'flood' should do this but forgot how, can't make it work any more reprepro -v -A 'armel|armhf|powerpc' includedeb wheezy i2p_0.9.xxp-1~precise+1_all.deb reprepro -v -A 'armel|armhf|powerpc' includedeb wheezy i2p-doc_0.9.xxp-1~precise+1_all.deb reprepro -v -A 'armel|armhf|powerpc' includedeb wheezy i2p-router_0.9.xxp-1~precise+1_all.deb reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p_0.9.xxp-1~trusty+1_all.deb reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p-doc_0.9.xxp-1~trusty+1_all.deb reprepro -v -A 'armel|armhf|powerpc' includedeb jessie i2p-router_0.9.xxp-1~trusty+1_all.deb reprepro -v -A 'armel|armhf' includedeb stretch i2p_0.9.xx-1ubuntu1_all.deb reprepro -v -A 'armel|armhf' includedeb stretch i2p-doc_0.9.xx-1ubuntu1_all.deb reprepro -v -A 'armel|armhf' includedeb stretch i2p-router_0.9.xx-1ubuntu1_all.deb reprepro -v -A 'armel|armhf' includedeb sid i2p_0.9.xx-1~disco+1_all.deb reprepro -v -A 'armel|armhf' includedeb sid i2p-doc_0.9.xx-1~disco+1_all.deb reprepro -v -A 'armel|armhf' includedeb sid i2p-router_0.9.xx-1~disco+1_all.deb # check status reprepro ls i2p reprepro ls i2p-doc reprepro ls i2p-router reprepro ls libjbigi-jni