Backport OpenJDK

De ClissXXI.

Version du 9 mars 2010 à 11:45 par SylvainBeucler (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

pbuilder initial Lenny setup:

apt-get install pbuilder cdebootstrap
mkdir -p /usr/src/backports/lenny/debs
(cd /usr/src/backports/lenny/debs && apt-ftparchive packages . | gzip > Packages.gz)
pbuilder --create --basetgz /var/cache/pbuilder/base-lenny-bpo.tar.gz --distribution lenny \
  --othermirror "deb file:///usr/src/backports/lenny/debs ./" --bindmounts /usr/src/backports/lenny/debs
# to upgrade: pbuilder --update --basetgz /var/cache/pbuilder/base-lenny-bpo.tar.gz --bindmounts /usr/src/backports/lenny/debs

pbuilder --login --basetgz /var/cache/pbuilder/base-lenny-bpo.tar.gz --bindmounts /usr/src/backports/lenny/debs --save-after-login
echo "deb http://network/mirrors/debian-backports.org lenny-backports main" > /etc/apt/sources.list.d/bpo.list
apt-get update
apt-get --assume-yes --force-yes install debian-backports-keyring
apt-get update
exit

# TODO: --pbuildersatisfydepends doesn't work, why?
#pdebuild --pbuilder cowbuilder --pbuildersatisfydepends /usr/lib/pbuilder/pbuilder-satisfydepends-experimental
# Meanwhile we edit /etc/pbuilderrc manually
PBUILDERSATISFYDEPENDSCMD=/usr/lib/pbuilder/pbuilder-satisfydepends-experimental

source packages location:

cat <<EOF > /etc/apt/sources.list.d/squeeze-src.list
deb-src http://ftp.fr.debian.org/debian/ squeeze main
EOF
apt-get update

shell variables:

export DEBEMAIL="beuc@beuc.net" 
export DEBFULLNAME="Sylvain Beucler"
export EDITOR="emacs"

Build-dependency: cacao-source

# dpkg-buildpackage -sa => include original sources, not just a diff,
# which makes sense because it will be a new repository rather than an Debian-specific update to the Debian repository

apt-get source cacao-source
pushd cacao-*
yes | dch -D lenny-backports \
  --newversion $(dpkg-parsechangelog | sed -ne 's,^Version: ,,p')~bpo50+1 \
  --force-bad-version -- \
  "Rebuild for Debian Backports <http://www.backports.org/>"
sed -i -e "s/Uploaders:\(.*\)/Uploaders:\1, $DEBFULLNAME <$DEBEMAIL>/" debian/control
pdebuild --debbuildopts '-sa' --buildresult /usr/src/backports/lenny/debs \
  -- --basetgz /var/cache/pbuilder/base-lenny-bpo.tar.gz --bindmounts /usr/src/backports/lenny/debs
popd

(cd /usr/src/backports/lenny/debs && apt-ftparchive packages . | gzip > Packages.gz)
# necessary...
pbuilder --update --basetgz /var/cache/pbuilder/base-lenny-bpo.tar.gz --bindmounts /usr/src/backports/lenny/debs

# alternatively (but it's global for all pbuider envs...):
# http://www.netfort.gr.jp/~dancer/software/pbuilder-doc/pbuilder-doc.html#usingspecialaptsources
#echo <<EOF > /var/cache/pbuilder/hooks/D70results
##!/bin/sh
#cd /usr/src/backports/lenny/debs
#dpkg-scanpackages . /dev/null | gzip > /usr/src/backports/lenny/debs/Packages.gz
#apt-get update
#EOF
# I don't like using /var/cache/pbuilder/result/ because we don't want to reuse everything we may have compiled

OpenJDK itself:

apt-get source openjdk-6
pushd openjdk-6-*
# debian/control:
# - cacao-source >= 0.99.4-1  =>  >= 0.99.4-1~
# - libpulse-dev (>= 0.9.12), pulseaudio (>= 0.9.12)  =>  (cd /usr/src/backports/lenny/debs && apt-ftparchive packages . | gzip > Packages.gz)
yes | dch -D etch-backports \
  --newversion $(dpkg-parsechangelog | sed -ne 's,^Version: ,,p')~bpo50+1 \
  --force-bad-version -- \
  "Rebuild for Debian Backports <http://www.backports.org/>"
sed -i -e "s/Uploaders:\(.*\)/Uploaders:\1, $DEBFULLNAME <$DEBEMAIL>/" debian/control
pdebuild --debbuildopts '-sa' --buildresult /usr/src/backports/lenny/debs \
  -- --basetgz /var/cache/pbuilder/base-lenny-bpo.tar.gz --bindmounts /usr/src/backports/lenny/debs
# That takes 8h, a good part of it being running the test suite,
# maybe we can disable it, at least when debugging the build system.
popd

(cd /usr/src/backports/lenny/debs && apt-ftparchive packages . | gzip > Packages.gz)

Run-time dependency: ca-certificates-java

apt-get source ca-certificates-java
pushd /usr/src/backports/ca-certificates-java-20081028
yes | dch -D etch-backports \
  --newversion $(dpkg-parsechangelog | sed -ne 's,^Version: ,,p')~bpo50+1 \
  --force-bad-version -- \
  "Rebuild for Debian Backports <http://www.backports.org/>"
sed -i -e "s/Uploaders:\(.*\)/Uploaders:\1, $DEBFULLNAME <$DEBEMAIL>/" debian/control
pdebuild --debbuildopts '-sa' --buildresult /usr/src/backports/lenny/debs \
  -- --basetgz /var/cache/pbuilder/base-lenny-bpo.tar.gz --bindmounts /usr/src/backports/lenny/debs
popd