Pinning dépôt local

Salut tous,
j’utilise apt-src pour construire certain *.deb et je voudrait privilégier ceux-ci.
Mais rien n’y fait, dans apt-cache policy mon.deb reste à 500
une idée pour mettre les bons argument dans le préférence ?
merci d’avance à plus

montre nous déjà ton preferences histoire d’avoir une base pour travailler ne sachant pas ce que tu as déjà fait il risque d’y avoir des réponses dont tu as déjà testé les effets. Donc aide-nous à t’aider :wink:

lu
voilà [code]Package: *
Pin: release a=testing
Pin-priority: 987

Package: *
Pin: release a=unstable
Pin-priority: 986

Package: *
Pin: release a=experimental
Pin-priority: 985

Package: flashplugin-nonfree
Pin: release a=unstable
Pin-priority: 987

Package: sun-java6-plugin sun-java6-jre sun-java6-bin
Pin: release a=unstable
Pin-priority: 987[/code]

[code]
deb file:/home/pitcat/documents/apt-src/ apt-src main non-free

Testing squeeze

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

Unstable sid

deb http://ftp.fr.debian.org/debian/ unstable main contrib non-free

Experimental

deb http://ftp.fr.debian.org/debian/ experimental main

Virtualbox

deb http://download.virtualbox.org/virtualbox/debian/ lenny non-free

e17

deb-src http://packages.enlightenment.org/debian/ sid main extras
deb http://packages.enlightenment.org/debian/ sid main extras [/code]

Hello,

Je dirai que l’idéal est de créer ton fichier Préférences en fonction des informations que apt-cache policy te renvoie pour ton dépot local.

Chez moi j’ai déclaré mon dépôt local dans le fichier préférence comme suit:

Package: *
Pin: release o=Nouls,l=normal
Pin-Priority: 850

Les info’s o et l sont ceux que apt-cache policy m’avait renvoyées.

Et dans mon répertoire des dépôts locaux, j’ai un fichier Release contenant :

Archive: unstable Component: main Origin: Nouls Label: normal Architecture: i386

lu
apt-cache policy me renvoie par exemple pour conky que j’ai re compiler pour avoir le support de nvidia et imlib2:
j’ai modifie le changelog pour ajouter ma version NMU ^^

[code]apt-cache policy conky
conky:
Installé : 1.7.1.1-1+b3
Candidat : 1.7.1.1-1+b3
Table de version :
*** 1.7.1.1-1+b3 0
500 file: apt-src/main Packages
100 /var/lib/dpkg/status
1.7.1.1-1+b2 0
987 http://ftp.fr.debian.org squeeze/main Packages
986 http://ftp.fr.debian.org unstable/main Packages

[/code]

Si je mets en pinning :

Package: * Pin: release o=apt-src a=apt-src Pin-Priority: 990
cela ne change rien

Peut tu me donner l’arborescence de ton dépôt local et le contenue du fichier releases stp ?
merci à plus

re,

Bon pour le fichier Release, le contenu est dans le poste du dessus :wink:
Pour ce qui est de apt-cache policy, je parlais d’exécuter la commande sans ajouter le nom d’un paquet afin de retrouver les informations de ton fichier release de ton dépôt local.

$apt-cache policy Fichiers du paquet : 100 /var/lib/dpkg/status release a=now 850 file: normal/Bin/ Packages release o=Nouls,l=normal,c=main 9 http://ftp.fr.debian.org experimental/non-free Packages release o=Debian,a=experimental,n=experimental,l=Debian,c=non-free origin ftp.fr.debian.org ...

Mon dépôt local est placé dans

/var/debs/normal/Bin & /var/debs/normal/Sources

et déclarer comme suit dans /etc/apt/sources.list

deb file:/var/debs normal/Bin/

merci nouls
bon soit apt n’aime pas les dépôt hors de /var soit je loupe un truc lol

apt-cache policy Fichiers du paquet : 100 /var/lib/dpkg/status release a=now 500 file: unstable/non-free Packages 500 file: unstable/main Packages 500 http://packages.enlightenment.org sid/extras Packages release o=Debian,a=sid,n=sid,l=Debian,c=extras main origin packages.enlightenment.org 500 http://packages.enlightenment.org sid/main Packages release o=Debian,a=sid,n=sid,l=Debian,c=extras main origin packages.enlightenment.org 500 http://download.virtualbox.org lenny/non-free Packages release o=Sun Microsystems, Inc.,n=lenny,l=Sun Microsystems, Inc.,c=non-free origin download.virtualbox.org 985 http://ftp.fr.debian.org experimental/main Packages release o=Debian,a=experimental,n=experimental,l=Debian,c=main origin ftp.fr.debian.org 986 http://ftp.fr.debian.org unstable/non-free Packages release o=Debian,a=unstable,n=sid,l=Debian,c=non-free origin ftp.fr.debian.org 986 http://ftp.fr.debian.org unstable/contrib Packages release o=Debian,a=unstable,n=sid,l=Debian,c=contrib origin ftp.fr.debian.org 500 http://ftp.fr.debian.org unstable/main Translation-fr 986 http://ftp.fr.debian.org unstable/main Packages release o=Debian,a=unstable,n=sid,l=Debian,c=main origin ftp.fr.debian.org 987 http://security.debian.org squeeze/updates/non-free Packages release v=None,o=Debian,a=testing,n=squeeze,l=Debian-Security,c=non-free origin security.debian.org 987 http://security.debian.org squeeze/updates/contrib Packages release v=None,o=Debian,a=testing,n=squeeze,l=Debian-Security,c=contrib origin security.debian.org 987 http://security.debian.org squeeze/updates/main Packages release v=None,o=Debian,a=testing,n=squeeze,l=Debian-Security,c=main origin security.debian.org 987 http://ftp.fr.debian.org squeeze/non-free Packages release o=Debian,a=testing,n=squeeze,l=Debian,c=non-free origin ftp.fr.debian.org 987 http://ftp.fr.debian.org squeeze/contrib Packages release o=Debian,a=testing,n=squeeze,l=Debian,c=contrib origin ftp.fr.debian.org 500 http://ftp.fr.debian.org squeeze/main Translation-fr 987 http://ftp.fr.debian.org squeeze/main Packages release o=Debian,a=testing,n=squeeze,l=Debian,c=main origin ftp.fr.debian.org Paquets étiquetés : sun-java6-bin -> 6-17-1 sun-java6-jre -> 6-17-1 sun-java6-plugin -> 6-17-1 flashplugin-nonfree -> 1:2.8

Il faut peut être reprendre tout depuis le début …

  1. Tu mets un fichier Release (avec une Origin qui t’es propre) dans tes dépôts.
  2. Tu reconstruis le Package de tes dépôts-> dpkg-scanpackages apt-src /dev/null | gzip > apt-src/packages.gz (Attention, il faut peut être adapter la commande)
  3. Tu fais un #aptitude update
  4. Tu contrôle avec apt-cache policy que ton fichier Release à bien était pris en compte pour tes dépôts.
  5. Tu ajoutes dans préférences ton pin-priority avec comme Pin: release o= le nom que tu as mis comme Origin dans ton fichier release + éventuellement d’autre info comme le label, ou le type d’archive.

Autrement, je ne vois pas ce qui peut clocher.

re
en fait j’ai certainement un pb avec mon fichier release car dans apt-cache policy j’ai aucune info

500 file: unstable/non-free Packages 500 file: unstable/main Packages
je cherche pourquoi

désole pour le flood

je fait mon dépôt local qui est nommer “Un référentiel trivial avec deux sous-répertoires” dans la documentation debian, sous l’arborescence suivante:

Mon Release :

Archive: unstable Component: main Origin: local Label: apt-src Architecture: amd64

Dans mon sources.list j’ai donc :

Je crée le Packages.gz comme çela :

pitcat@debian:~/documents/debian/apt-src$ dpkg-scanpackages binary-amd64 /dev/null | gzip > binary-amd64/Packages.gz
Mon /etc/apt/preferences contenant :

Package: * Pin: release o=local,l=apt-src Pin-Priority: 990

[quote]root@debian:/home/pitcat# apt-get update
Ign file: apt-src/binary-amd64/ Release.gpg
Ign file: apt-src/binary-amd64/ Translation-fr
Réception de : 1 file: apt-src/binary-amd64/ Release [83B]
Ign file: apt-src/binary-amd64/ Packages
Ign file: apt-src/binary-amd64/ Packages

~ [/quote]

on voie bien le Release qui se dl.

Le pinning fonctionne aussi :

[quote]990 file: apt-src/binary-amd64/ Packages
release o=local,l=apt-src,c=main
[/quote]

Maintenant si je fait mon dépôt local, qui est nommer “Un référentiel Debian standard” dans la documentation debian, sous l’arborescence suivante:

Mon Release :

Archive: unstable Component: main Origin: local Label: apt-src Architecture: amd64

Dans mon sources.list j’ai donc :

Mon /etc/apt/preferences contenant :

Package: * Pin: release o=local,l=apt-src Pin-Priority: 990
Je crée le Packages.gz comme çela :

pitcat@debian:~/documents/debian/dists/unstable/main$ dpkg-scanpackages binary-amd64 /dev/null | gzip > binary-amd64/Packages.gz

[quote]root@debian:/home/pitcat# apt-get update
Ign file: unstable Release.gpg
Ign file: unstable/main Translation-fr
Ign file: unstable Release
Ign file: unstable/main Packages
Ign file: unstable/main Packages [/quote]

Là on remarque que le Release n’ai pas dl

Donc forcement le pinning n’ai pas pris en compte

[quote]500 file: unstable/main Packages
[/quote]

Donc d’un coté mon pb de départ est résolu sous la forme d’un Référentiel trivial
Merci nouls
Mais d’un autre côté j’aimerai comprendre pourquoi en utilisant un référentiel Debian standard cela ne fonctionne pas.
merci à plus

Pour info, hier, j’ai essayé en utilisant le “référentiel standard débian” et j’ai le même "soucis"
Les quelques essaies et lecture de documentations ne m’ont rien apporté de concret, donc si tu trouves une piste cela m’intéresse également. :wink:

Dominique.

lu nouls,
je penche pour plusieurs pistes.
soit on utilise qu’une partie et on n’as pas le différentiel complet à savoir les arch, les contrib non-free etc.
soit on n’as pas de différentiel signé.