diff --git a/build.xml b/build.xml index af467498b..f1bc5aea9 100644 --- a/build.xml +++ b/build.xml @@ -37,6 +37,8 @@ + + @@ -212,7 +214,13 @@ + + + + + + @@ -889,6 +897,20 @@ + + + + + + + + + + + + + + @@ -914,6 +936,9 @@ + + + diff --git a/debian/makerepo.sh b/debian/makerepo.sh new file mode 100755 index 000000000..fc3bc7800 --- /dev/null +++ b/debian/makerepo.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# This script creates a Debian repository in ${DIR} using the reprepro tool. +# The packages are signed with the key referenced in the newest changelog entry. + +cd $(dirname $0) +DIR=./repo +CONFDIR=conf +CONFFILE=${CONFDIR}/distributions + +SIGNER=`parsechangelog --file changelog | grep Maintainer | cut -d: -f2` +SIGNER=${SIGNER//^ /} +SIGNER=`echo ${SIGNER} | cut -d\ -f1` +KEYID=`gpg --list-keys "${SIGNER}" | cut -d: -f2 | grep -w pub | cut -d/ -f2 | cut -d\ -f1` +echo Using signing key: ${SIGNER} +echo Key ID: ${KEYID} + +# creating the reprepro config file dynamically allows us to specify the signer +mkdir -p ${CONFDIR} +echo "Origin: I2P" > ${CONFFILE} +echo "Label: I2P Debian Repository" >> ${CONFFILE} +echo "Suite: all" >> ${CONFFILE} +echo "Codename: all" >> ${CONFFILE} +echo "Architectures: i386 amd64 source" >> ${CONFFILE} +echo "Components: main" >> ${CONFFILE} +echo "SignWith: ${SIGNER}" >> ${CONFFILE} + +# create the repository +echo Building the repository... +reprepro --ask-passphrase --outdir ${DIR} includedeb all ../../i2p_*.deb +reprepro --ask-passphrase --outdir ${DIR} include all ../../i2p_*.changes + +# export the public key +gpg --armor --export ${SIGNER} > ${DIR}/0x${KEYID}.asc + +# remove the config file created above +echo Cleaning up... +rm -f ${CONFFILE} +rmdir ${CONFDIR} diff --git a/history.txt b/history.txt index c867ccc16..cb73e854e 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,9 @@ +2010-11-06 HungryHobo + * New Ant target: debianrepo + * Rename debian target to debian-binary + * New debian target generates binary and source packages + * Debian tweaks + 2010-11-03 zzz * Merge and snark fixups