Create Debian packages in debian/packages/ instead of ../

This commit is contained in:
HungryHobo
2010-11-18 20:56:42 +00:00
parent b56563deee
commit f1e36f7fd0
4 changed files with 51 additions and 46 deletions

View File

@ -37,7 +37,8 @@
<echo message=" javadoc: generate javadoc for the entire project into ./build/javadoc" />
<echo message=" slackpkg: generate Slackware packages in ./Slackware/i2p and ./Slackware/i2p-base" />
<echo message=" debianhowto: instructions on building Debian packages" />
<echo message=" debian: generate Debian packages (source + binary)" />
<echo message=" debian: generate Debian packages in ./debian/packages" />
<echo message=" (libc6-i686 and libc6-amd64 required, ant>=1.8 required)" />
<echo message=" debianrepo: build a Debian repository (reprepro required)" />
<echo message=" updaterWithDesktopgui: tar the built files and desktopgui in an i2pupdate.zip" />
<echo message=" pkgWithDesktopgui: distclean then package everything up with the desktopgui" />
@ -236,19 +237,17 @@
<delete file="syndie-standalone.zip" failonerror="false" quiet="true" />
<delete file="i2psnark-standalone.zip" failonerror="false" quiet="true" />
<delete file="BOB-one.jar" failonerror="false" quiet="true" />
</target>
<target name="distclean" depends="clean">
<delete dir="debian/tmp" />
<delete dir="debian/repo" />
<delete dir="debian/db" />
<delete file="debian/files" />
<delete file="debian/build" />
<delete file="debian/substvars"/>
<!-- HH to move
<delete>
<fileset dir=".." includes="i2p_*.tar.gz,i2p_*.deb,i2p_*.dsc,i2p_*.changes" />
</target>
<target name="distclean" depends="clean">
<delete includeemptydirs="true" removeNotFollowedSymlinks="true" failonerror="false" >
<fileset dir="debian/packages" followSymlinks="false" />
</delete>
-->
<delete dir="debian/repo" />
<ant dir="core/java/" target="distclean" />
<ant dir="router/java/" target="distclean" />
<ant dir="apps/ministreaming/java/" target="distclean" />
@ -924,8 +923,9 @@
<echo message="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" />
</target>
<target name="debian">
<!-- same as debian-binary + debian-source, but only one build needed -->
<target name="debian" depends="distclean, debian-source, debian-binary" />
<target name="debian-binary">
<echo message="Did you update the version in these files?" />
<exec executable="ls" failonerror="true">
<arg value="-l" />
@ -934,35 +934,12 @@
<echo message="====================" />
<!-- bundle the 20MB jetty 5 lib since there probably isn't a deb for it -->
<ant dir="apps/jetty" target="ensureJettylib" />
<exec executable="dpkg-buildpackage" failifexecutionfails="true">
<arg value="-I_MTN" />
<arg value="-ai386" />
<exec dir="debian" executable="./buildpackage.sh" failonerror="true">
<arg value="i386" />
</exec>
<!-- rather than doing a complete new build, recreate debian/tmp by calling the "build" target in debian/rules -->
<delete dir="debian/tmp" />
<exec executable="dpkg-buildpackage" failifexecutionfails="true">
<arg value="-I_MTN" />
<arg value="-Tbuild" />
<arg value="-aamd64" />
<env key="MAKEFLAGS" value="-B" />
</exec>
<exec executable="dpkg-buildpackage" failifexecutionfails="true">
<arg value="-I_MTN" />
<!-- don't clean so the previous package isn't deleted -->
<arg value="-nc" />
<arg value="-aamd64" />
</exec>
</target>
<target name="debian-binary">
<!-- binary only -->
<echo message="Did you update the version in these files?" />
<exec executable="ls" failonerror="true">
<arg value="-l" />
<arg value="debian/changelog" />
</exec>
<echo message="====================" />
<exec executable="dpkg-buildpackage" failifexecutionfails="true" >
<arg value="-b" />
<exec dir="debian" executable="./buildpackage.sh" failonerror="true">
<arg value="amd64" />
</exec>
</target>
<target name="debian-source">
@ -974,9 +951,8 @@
<arg value="debian/changelog" />
</exec>
<echo message="====================" />
<exec executable="dpkg-buildpackage" failifexecutionfails="true" >
<arg value="-S" />
<arg value="-I_MTN" />
<exec dir="debian" executable="./buildpackage.sh" failonerror="true">
<arg value="source" />
</exec>
</target>
<target name="debianrepo" depends="debian">

30
debian/buildpackage.sh vendored Executable file
View File

@ -0,0 +1,30 @@
#!/bin/sh
# This script takes one argument, which is the architecture to build for,
# or "source".
echo Target architecture: $1
VERSION=`grep String\ VERSION ../core/java/src/net/i2p/CoreVersion.java | cut -d\" -f2`
echo "I2P Version: ${VERSION}"
builddir="packages/$1/i2p-${VERSION}"
if [ "$1" = "source" ]; then
cd ..
ant clean
tempdir=../_i2p_copy_temp___
cp -a . ${tempdir}
mkdir -p debian/packages/$1
mv ${tempdir} debian/${builddir}
cd debian/${builddir}
dpkg-buildpackage -I_MTN -Idebian/packages -S
else
mkdir -p ${builddir}
cd ${builddir}
find ../../../.. -not -name . -and -not -name .. -maxdepth 1 -exec ln -fs {} \;
dpkg-buildpackage -I_MTN -b -a$1
fi
if [ "$?" -ne 0 ]; then
exit 1
fi
cd ../../..
rm -rf ${builddir}

5
debian/makerepo.sh vendored
View File

@ -28,8 +28,9 @@ echo "SignWith: ${SIGNER}" >> ${CONFFILE}
# create the repository
echo Building the repository...
find ../.. -name i2p_*.deb -maxdepth 1 -exec reprepro --ask-passphrase --outdir ${DIR} includedeb all {} \;
find ../.. -name i2p_*.changes -maxdepth 1 -exec reprepro --ask-passphrase --outdir ${DIR} include all {} \;
find packages/ -name *.deb -exec reprepro --ask-passphrase --outdir ${DIR} includedeb all {} \;
find packages/ -name *.changes -exec reprepro --ask-passphrase --outdir ${DIR} include all {} \;
find packages/ -name *.dsc -exec reprepro --ask-passphrase --outdir ${DIR} includedsc all {} \;
# export the public key
gpg --armor --export ${SIGNER} > ${DIR}/0x${KEYID}.asc

4
debian/rules vendored
View File

@ -120,9 +120,7 @@ binary-arch:
binary-indep:
clean:
rm -f debian/build
rm -rf debian/tmp/
ant distclean
ant clean
@exit 0
get-orig-source: