Includere un pacchetto di backport in pbuilder: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
m Created page with "==Abilitazione backports== * Per utilizzare un pachetto di backport durante un build. * Questa parte è saltabile se si usa lo script ufficiale debian di [http://wiki.debian.or…"
 
mNo edit summary
 
Line 46: Line 46:


* Creare ora un file nella hookdir con questo nome, contenente i pin da applicare:
* Creare ora un file nella hookdir con questo nome, contenente i pin da applicare:
  sudoedit /root/.pbuilder/hooks/E01apt-preferences
  sudoedit /root/.pbuilder/hooks/D01apt-preferences


* Abilitare ad esempio, dpkg-dev
* Gli hookscripts che iniziano per D vengono eseguiti prima di installare le build-dep
 
* Abilitare ad esempio, dpkg-dev. Se il pacchetto non avesse dipendenze, basterebbe un dist-upgrade. In questo caso ha una dipendenza, e quindi bisogna forzarne l'installazione.


<pre>
<pre>
#!/bin/sh
#!/bin/bash
echo Starting D01apt-preferences
 
echo "ADDING Backports"
set -e
set -e
 
set -x
STABLE_VERSION_REGEX='^6\.0\.[0-9]\+$'
STABLE_VERSION_REGEX='^6\.0\.[0-9]\+$'


if $(egrep -q "$STABLE_VERSION_REGEX" "/etc/debian_version"); then
if $(grep -q "$STABLE_VERSION_REGEX" "/etc/debian_version"); then
cat > "/etc/apt/preferences" << EOF
echo "Pinning"
cat > "/etc/apt/preferences" << EOF
Package: dpkg-dev
Package: dpkg-dev
Pin: release a=squeeze-backports
Pin: release a=squeeze-backports
Pin-Priority: 999
Pin-Priority: 999
EOF
EOF
echo This is apt/preferences
cat /etc/apt/preferences
echo "Updating"
apt-get update
echo "Upgrading"
apt-get dist-upgrade
echo force install
apt-get install --yes -t squeeze-backports dpkg-dev
fi
fi
echo Finished D01apt-preferences
</pre>
</pre>


Line 68: Line 85:
  sudo chmod +x /root/.pbuilder/hooks/E01apt-preferences
  sudo chmod +x /root/.pbuilder/hooks/E01apt-preferences


* Procedere col build
* Procedere col build, verificando che l'hookscript venga eseguito.


* Rimuovere l'hookfile al termine
* Rimuovere l'hookfile al termine

Latest revision as of 16:44, 28 November 2012

Abilitazione backports

  • Per utilizzare un pachetto di backport durante un build.
  • Fare login nell'immagine, dicendo di salvare i cambiamenti:
sudo pbuilder login --save-after-login
  • Inserire le source apt volute (se si vuole usare un editor, è necessario installarlo:
vi /etc/apt/sources.list
# Local builded packages
deb file:///var/cache/pbuilder/squeeze-amd64/result/ ./

# Stock packages
deb http://ftp.it.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.it.debian.org/debian/ squeeze main contrib non-free

# Security updates
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

# squeeze-updates, previously known as 'volatile'
deb http://ftp.it.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.it.debian.org/debian/ squeeze-updates main contrib non-free

# Backports
deb http://backports.debian.org/debian-backports squeeze-backports main
  • Uscire dall'immagine
exit
  • Updatare:
sudo pbuilder --update

Scelta backports da abilitare

  • Identificare la HOOKDIR:
sudo grep HOOKDIR /root/.pbuilderrc
       HOOKDIR="/root/.pbuilder/hooks"
  • Creare ora un file nella hookdir con questo nome, contenente i pin da applicare:
sudoedit /root/.pbuilder/hooks/D01apt-preferences
  • Gli hookscripts che iniziano per D vengono eseguiti prima di installare le build-dep
  • Abilitare ad esempio, dpkg-dev. Se il pacchetto non avesse dipendenze, basterebbe un dist-upgrade. In questo caso ha una dipendenza, e quindi bisogna forzarne l'installazione.
#!/bin/bash
echo Starting D01apt-preferences

echo "ADDING Backports"
set -e
set -x 
STABLE_VERSION_REGEX='^6\.0\.[0-9]\+$'

if $(grep -q "$STABLE_VERSION_REGEX" "/etc/debian_version"); then
	echo "Pinning"
	cat > "/etc/apt/preferences" << EOF
Package: dpkg-dev
Pin: release a=squeeze-backports
Pin-Priority: 999
EOF
	echo This is apt/preferences
	cat /etc/apt/preferences

	echo "Updating"
	apt-get update

	echo "Upgrading"
	apt-get dist-upgrade
	echo force install
	apt-get install --yes -t squeeze-backports dpkg-dev
fi
echo Finished D01apt-preferences
  • Renderlo eseguibile
sudo chmod +x /root/.pbuilder/hooks/E01apt-preferences
  • Procedere col build, verificando che l'hookscript venga eseguito.
  • Rimuovere l'hookfile al termine
 sudo rm /root/.pbuilder/hooks/E01apt-preferences

Riferimenti