#1 Le 04/01/2008, à 13:06
- krop
[resolu][pbuilder] Pb d'interdépendance pour la création de paquets
Hola,
J'ai un souci pour créer deux paquets.
J'ai suivi le tuto (http://doc.kubuntu-fr.org/tutoriel/creer_un_paquet) et lu le guide Debian (http://www.debian.org/doc/maint-guide) et je suis face à un mur :
Soient un programme A et un programme B.
- A ne requiert rien d'extraordinaire pour être construit et tout se passe correctement, le paquet se retrouve bien dans /var/cache/pbuilder/result,
- B requiert le paquet A fraà®chement compilé. Souci, donc, puisque pbuilder ne peut trouver A sur les dépà´ts officiels.
Quelqu'un connait-il l'astuce pour débloquer la situation (ou, à défaut, la doc kivabien) ?
Merci.
Edit :
Résolu, Suffit de mettre A sur un dépà´t local.
Dernière modification par krop (Le 05/01/2008, à 01:40)
Hors ligne
#2 Le 10/01/2010, à 22:32
- Sefran
Re : [resolu][pbuilder] Pb d'interdépendance pour la création de paquets
Pour supporter les dépôts Universe et Multiverse et local
sudo nano $HOME/.pbuilderrc
Ajouter le texte suivant :
# Codenames for Debian suites according to their alias. Update these when
# needed.
UNSTABLE_CODENAME="sid"
TESTING_CODENAME="squeeze"
STABLE_CODENAME="lenny"
STABLE_BACKPORTS_SUITE="$STABLE_CODENAME-backports"
# List of Debian suites.
DEBIAN_SUITES=($UNSTABLE_CODENAME $TESTING_CODENAME $STABLE_CODENAME
"unstable" "testing" "stable")
# List of Ubuntu suites. Update these when needed.
UBUNTU_SUITES=("lucid" "karmic" "jaunty" "intrepid" "hardy")
# Mirrors to use. Update these to your preferred mirror.
DEBIAN_MIRROR="ftp.fr.debian.org"
UBUNTU_MIRROR="fr.archive.ubuntu.com"
COMPONENTS="main restricted universe multiverse"
# Optionally use the changelog of a package to determine the suite to use if
# none set.
if [ -z "${DIST}" ] && [ -r "debian/changelog" ]; then
DIST=$(dpkg-parsechangelog | awk '/^Distribution: / {print $2}')
# Use the unstable suite for certain suite values.
if $(echo "experimental UNRELEASED" | grep -q $DIST); then
DIST="$UNSTABLE_CODENAME"
fi
# Use the stable suite for stable-backports.
if $(echo "$STABLE_BACKPORTS_SUITE" | grep -q $DIST); then
DIST="$STABLE"
fi
fi
# Optionally set a default distribution if none is used. Note that you can set
# your own default (i.e. ${DIST:="unstable"}).
: ${DIST:="$(lsb_release --short --codename)"}
# Optionally change Debian release states in $DIST to their names.
case "$DIST" in
unstable)
DIST="$UNSTABLE_CODENAME"
;;
testing)
DIST="$TESTING_CODENAME"
;;
stable)
DIST="$STABLE_CODENAME"
;;
esac
# Optionally set the architecture to the host architecture if none set. Note
# that you can set your own default (i.e. ${ARCH:="i386"}).
: ${ARCH:="$(dpkg --print-architecture)"}
NAME="$DIST"
if [ -n "${ARCH}" ]; then
NAME="$NAME-$ARCH"
DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
fi
BASETGZ="/var/cache/pbuilder/base.tgz"
# Optionally, set BASEPATH (and not BASETGZ) if using cowbuilder
# BASEPATH="/var/cache/pbuilder/$NAME/base.cow/"
DISTRIBUTION="$DIST"
BUILDRESULT="/var/cache/pbuilder/result/"
APTCACHE="/var/cache/pbuilder/aptcache/"
BUILDPLACE="/var/cache/pbuilder/build/"
BINDMOUNTS="/var/cache/pbuilder/result"
if $(echo ${DEBIAN_SUITES[@]} | grep -q $DIST); then
# Debian configuration
MIRRORSITE="http://$DEBIAN_MIRROR/debian/"
COMPONENTS="main contrib non-free"
OTHERMIRROR="deb file:///var/cache/pbuilder/result /"
# This is for enabling backports for the Debian stable suite.
if $(echo "$STABLE_CODENAME stable" | grep -q $DIST); then
EXTRAPACKAGES="$EXTRAPACKAGES debian-backports-keyring"
OTHERMIRROR="$OTHERMIRROR | deb http://www.backports.org/debian $STABLE_BACKPORTS_SUITE $COMPONENTS"
fi
elif $(echo ${UBUNTU_SUITES[@]} | grep -q $DIST); then
# Ubuntu configuration
MIRRORSITE="http://$UBUNTU_MIRROR/ubuntu/"
COMPONENTS="main restricted universe multiverse"
OTHERMIRROR="deb file:///var/cache/pbuilder/result /"
else
echo "Unknown distribution: $DIST"
exit 1
fi
Permet d'activer l'utilisation des dépôts universe et multiverse sous karmic et de récupérer les paquets construits avec pbuilder (désactivés par défaut).
Les options qui permettent l'installation des paquets générés sont :
BINDMOUNTS="/var/cache/pbuilder/result"
et
OTHERMIRROR="deb file:///var/cache/pbuilder/result /"
Installation du paquet manquant
Création du dépot local
sudo su
cd /var/cache/pbuilder/result/
/usr/bin/dpkg-scanpackages . /dev/null > /var/cache/pbuilder/result/Packages
ctrl+d
Installation du paquet dans le chroot pbuilder
sudo pbuilder update --extrapackages nomdupaquetmanquant
Contruction du nouveau paquet
sudo pbuilder --build nouveaupaquet.dsc
Dernière modification par Sefran (Le 10/01/2010, à 22:44)
La coopération et la valeur de l'activité est l'avenir de l'humanité.
Sefran
Hors ligne