Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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