Dépôt debian-fr

Bonjour,

J’ai l’impression que cette communauté est relativement active {forum, wiki} alors je pose la question : avez-vous déjà pensé à vous faire un dépôt de paquets ?

J’ai déjà posé cette question dans un fil mais c’était un peu HS donc je recommence.

La réponse que je vais te faire n’engage que moi bien entendu, mais je pense que ce n’est pas réellement souhaitable.

D’une part, je ne pense pas me tromper en disant que l’avis majoritaire sur le forum est d’éviter au maximum les dépôts tiers qui ne sont pas gérés par le projet Debian, pour des questions de qualité et de confiance. Faire notre propre dépôt debian-fr serait plutôt contradictoire. :wink:

D’autre part, un tel dépôt bénéficierait automatiquement de « l’aura de confiance » du forum sans prendre en compte les contributeurs individuels dont la qualité du travail peut être très variable. Les paquets de fran.b, pas de souci. Les miens c’est loin d’être la même qualité, du coup j’ai droit quand même ou pas ? :confused:
Et il se passe quoi si demain toi tu veux uploader des paquets, alors que personne ici ne te connaît réellement ? Comment avoir confiance en tes paquets sans d’abord les examiner à la loupe (ce que personne n’a ni le temps ni l’envie de faire) ? Note, c’est pas une attaque envers toi hein, je ne fais que dire l’évidence : je ne vais pas installer aveuglément des paquets de quelqu’un (toi ou un autre) dont je ne connais pas la qualité du travail (ce qui nous ramène à la question d’éviter les dépôts tiers au maximum).
En plus tout ça demanderait énormément de travail aussi bien techniquement que pour la gestion alors qu’on manque déjà tous de temps…

Honnêtement, même si un dépôt debian-fr me simplifierait la vie personnellement (ça fait un moment que je bouffe de la doc et que je fais des essais pour me monter un dépôt qui tienne la route), je pense que c’est mieux que chacun fasse ses trucs dans son coin et charge aux utilisateurs de faire confiance ou non dans les dépôts individuels.

D’ailleurs j’en profite au passage, si vous avez des tutos simples pour faire un dépôt signé avec pool, je suis preneur. :mrgreen: Pour le moment je suis complètement paumé, c’est sûrement très bien documenté mais c’est tellement touffu et éparpillé que c’en est incompréhensible. :blush:

Dès que j’arrive à finir des trucs que j’ai sur le feu je te compulse ça :wink:
Sinon faudrait voir avec Fran.B qui à monté le sien, je sais pas si il est signé mais il doit connaître la technique

Mais je plussoie tes explications surtout qu’entre nous les dépôts Debian sont bien suffisant mise à part quelques rares paquets entretenues par quelques personnes je ne vois vraiment pas l’intérêt de proposer un énième dépôts Français :whistle:

Si t’as ça Clochette tu me retirerais une épine du pied, entre les docs incomplètes et les docs obsolètes j’ai du mal à m’en sortir. :wink:

Je rejoins syam.
Et puis, si on devait passer du temps à maintenir un dépot et faire des paquets, autant que cela serve à toute la communauté debian, et donc travailler directement avec les équipes maintenant les paquets. Comme cela, les paquets pourraient un jour apparaître dans les dépots officiels.

avant de vous lire, je pensais qu’il parlait d’un miroir!

L’autre problème de ce genre de dépots, c’est que ça se retrouve rapidement avec des paquets qui n’ont plus de mainteneurs…

Même avis que Syam.

Ceci par exemple… :wink:
isalo.org/wiki.debian-fr/in … e=Reprepro

Je n’y ai pas touché depuis un moment, un testeur ne fera pas de mal! :006

+1 pour ne pas rajouter de dépôt ne permettant pas de conserver la confiance dans les binaires.
Si quelqu’un cherche un paquet non publie je pense qu’il y aura toujours une âme charitable pour lui indiquer ou le chercher ou comment le compiler.

[quote=“lol”]Ceci par exemple… :wink:
isalo.org/wiki.debian-fr/in … e=Reprepro[/quote]
Ah ben merdalors ! Dire que j’ai passé un temps abominable à bouffer des docs plus absconses les unes que les autres, pff ça sert à quoi que lol il se décarcasse ? :mrgreen:
Merci beaucoup, ça a l’air nickel. J’y jetterai un œil plus en détail sûrement ce weekend. :wink:

OK, merci pour les réponses. Je vous donnerai juste quelques arguments, liste non exhaustive :

  • un dépôt est très simple à mettre en place et à maintenir, une arborescence, une signature et quelques commandes. J’en maintiens depuis plusieurs années et cela n’a rien à voir avec de la modération/administration sur un forum/wiki.
  • la confiance dans les paquets : un paquet debian est construit autour des sources officielles + des patches, il suffit de lire les patches si le changelog ne suffit pas.
    Il faut aussi être un peu raisonnable et avoir une équipe d’intégrateurs qui acceptent ou non les paquets.
  • l’intérêt fondamental : intégrer dans la branche stable des fonctionnalités absentes sans aller faire du pining crade, corriger des bugs de la branche stable qui resteront toute sa durée de vie, diffuser des modifs sans même y penser…
  • compagnon idéal d’un wiki pour diffuser des asctuces/outils d’administration, les sources ne mentent pas, les wiki racontent souvent des bêtises.

Mon dernier argument : l’un n’empêche pas l’autre, essaie et tu verras.
Tu traînes sur les listes de dev, tu t’impliques, on te propose de prendre un compte sur alioth pour livrer, tu livres, tu fais du bon boulot parce que c’est dur d’en faire du mauvais avec le système qualité debian. 2 ans après ton travail arrive en stable et il servira tout le monde…de nombreux utilisateurs en auraient eu besoin 2 ans avant.

Voici pour mes arguments, les vôtres sont tout à fait recevables.

Quand je lis le tuto de lol, effectivement ça a l’air beaucoup plus simple que les docs tordues que j’avais lues ne le laissaient penser. :slightly_smiling:

Et vérifier que les sources “officielles” qui ont été uploadées sur le dépôt n’ont pas été altérées par rapport aux sources officielles, non ?
Oui, je suis parano… :mrgreen:

Cela dit, de ce que j’en comprends tu vois surtout ce dépôt hypothétique comme un moyen de proposer des versions patchées des paquets officiels ou bien des rétroportages, plutôt qu’un dépôt pour héberger les développements originaux des membres du forum, n’est-ce pas ? Ça a déjà plus de sens que ce que j’avais compris initialement, je trouve, même si dans l’absolu je n’aime pas trop l’idée d’avoir des paquets dupliqués entre les dépôts officiels et des dépôts tiers (deb-multimedia est un bon exemple : plusieurs paquets posent ou au moins ont posé des problèmes de compatibilité avec les paquets officiels, je pense notamment aux libav*). :wink:

Mais je maintiens quand même mon avis. En plus il ne faut pas oublier que debian-fr c’est avant tout une communauté d’entraide, et que même si par la force des choses il y a des développeurs dans le lot, on (les développeurs) n’est quand même pas si nombreux que ça. Ça ferait un peu “mélange des genres” je trouve.
Ton idée n’est pas mauvaise en soi, c’est juste que je trouve pas vraiment pertinent de mettre un tel dépôt “sous l’aile” de la communauté debian-fr. Ça serait peut-être plus pertinent d’en faire un projet bien séparé avec BTS etc, bref toute l’infrastructure et l’organisation spécifiques qui vont avec ?

En effet, l’intérêt principal d’un dépôt non officiel réside dans la possibilité de modifier la branche stable par des ajouts/modifications de paquets officiels. Je me souviens d’une époque pas si lointaine où ffmpeg a largement mérité de finir dans un tel dépôt, avec pas mal de ses dépendances. Enfin chez moi c’était le cas.
Concernant les développements des membres…les développeurs regorgent d’idées plus ou moins bonnes pour faire tester leurs programmes, un dépôt n’est pas franchement adapté à ce cas de figure. Par contre quand ils arrivent à un stade où ils veulent fixer une version stable un dépôt demeure une très bonne manière de diffuser du binaire et d’en voir l’impact sur une petite communauté

[quote=“syam”]Et vérifier que les sources “officielles” qui ont été uploadées sur le dépôt n’ont pas été altérées par rapport aux sources officielles, non ?
Oui, je suis parano… :mrgreen:[/quote].
Tes remarques sur la sécurité sont largement fondées et le travail en résultant représente la plus grosse charge de maintien.

Maintenant l’idée est lancée vous (la communauté debian-fr) en ferez bien ce que vous voudrez. Mais loin de moi l’idée de faire héberger mes paquets, j’ai déjà tout ce qu’il me faut.

[quote=“DjKlaus”]…
Mais loin de moi l’idée de faire héberger mes paquets, j’ai déjà tout ce qu’il me faut.[/quote]
Par contre, si tu as des trucs inédits, tu peux toujours en faire profiter debian-fr.org, la section T&A n’attend que ça.
Éventuellement, tu ouvres un fil pour une explication succincte de l’affaire et tu places un lien où trouver le soft, du moment que ce n’est pas commercial et qu’il n’y a pas de pub, ces liens sont toujours les bienvenus.
:006

Pour faire un dépot signé:

Avoir un serveur avec /var/www/depot qui point vers le répertoire <????>/depot
Méttons que ça soit pour wheezy. Il faut gpg et apt-utils
dans ce répertoire

  1. Faire un fichier wheezy.conf contenant

APT::FTPArchive::Release { Origin "Depot F. Boisson"; Label "boisson.homeip.net"; Suite "wheezy"; Architectures "i386 amd64"; Components "divers"; }
Ce fichier donne dans apt-cache policy
500 boisson.homeip.net/depot/ wheezy/divers amd64 Packages
release o=Depot F. Boisson,a=wheezy,l=boisson.homeip.net,c=divers
origin boisson.homeip.net
donc avec les champs o,a,l,c et origin précisé ci dessus.
Suite est important, ici cela signifie que la ligne dans le sources.list sera

deb boisson.homeip.net/depot wheezy divers

Cela permet de faire des sous dépots. Dans le cas où il y a plusieurs composantes, il suffit de les mettre dans la chaine de caractères.

  1. Faire les repertoire pool/wheezy/amd64, pool/wheezy/i386, dists/wheezy/divers/binary-i386, dists/wheezy/divers/binary-amd64

  2. Mettre dans pool/wheezy/amd64 les paquets .deb correspondant à cette architecture et dans pool/wheezy/i386 ceux de l’architecture i386.

  3. Faites

apt-ftparchive packages pool/wheezy/i386/ > dists/wheezy/divers/binary-i386/Packages cat dists/wheezy/divers/binary-i386/Packages | gzip > dists/wheezy/divers/binary-i386/Packages.gz cat dists/wheezy/divers/binary-i386/Packages | bzip2 > dists/wheezy/divers/binary-i386/Packages.bz2
cela crée la liste des paquets avec les md5sum dans le fichier Package.

À ce stade il faut maintenant créer le fichier Release et signer le dépot, pouyr cela toujours dans le même repertoire

  1. Faites
    apt-ftparchive -c wheezy.conf release dists/wheezy/ > /tmp/Release
    mv /tmp/Release dists/wheezy/Release
    cd dists/wheezy
    gpg --sign -ba -o Release.gpg Release

Voilà, c’est fini votre dépot est prêt.

Merci fran.b, si avec tout ça j’y arrive pas j’ai de sérieuses questions à me poser. :slightly_smiling:

Avec ça je ne sais pas si je dois signer mon dépot ou pas, l’idée d’en faire une version signée et une non peut être une bonne idée…

Pour rajouter une branche, par exemple wheezy/nvidia

Rajout des répertoires pool/wheezy/nvidia/i386 et pool/wheezy/nvidia/amd64 ainsi que dists/wheezy/nvidia/binary-i386 et dists/wheezy/nvidia/binary-amd64

Puis faire

apt-ftparchive packages pool/wheezy/nvidia/i386/ | gzip > dists/wheezy/nvidia/binary-i386/Packages.gz zcat dists/wheezy/nvidia/binary-i386/Packages.gz | bzip2 > dists/wheezy/nvidia/binary-i386/Packages.bz2 zcat dists/wheezy/nvidia/binary-i386/Packages.gz >dists/wheezy/nvidia/binary-i386/Packages apt-ftparchive packages pool/wheezy/nvidia/amd64/ | gzip > dists/wheezy/nvidia/binary-amd64/Packages.gz zcat dists/wheezy/nvidia/binary-amd64/Packages.gz | bzip2 >dists/wheezy/nvidia/binary-amd64/Packages.bz2 zcat dists/wheezy/nvidia/binary-amd64/Packages.gz >dists/wheezy/nvidia/binary-amd64/Packages

et enfin finir par la signature du dépot en ayant soin de rajouter nvidia à Components dans le wheezy.conf.

Un script que j’utilise est le suivant:

[code]#!/bin/sh
VERSION=$1
DISTRIBUTION=depot
if [ ! -z $2 ] ; then
DISTRIBUTION=$2
fi
LISTE=$(grep Component $VERSION.conf | sed ‘s/^."(.)".*$/\1/’ | sed -e ‘s/divers//’)
echo $LISTE
cd /var/www/$DISTRIBUTION

consultation de divers

mkdir -p dists/$VERSION/divers/binary-i386/
mkdir -p dists/$VERSION/divers/binary-amd64/
apt-ftparchive packages pool/$VERSION/i386/ | gzip > dists/$VERSION/divers/binary-i386/Packages.gz
zcat dists/$VERSION/divers/binary-i386/Packages.gz | bzip2 > dists/$VERSION/divers/binary-i386/Packages.bz2
zcat dists/$VERSION/divers/binary-i386/Packages.gz >dists/$VERSION/divers/binary-i386/Packages
apt-ftparchive packages pool/$VERSION/amd64/ | gzip > dists/$VERSION/divers/binary-amd64/Packages.gz
zcat dists/$VERSION/divers/binary-amd64/Packages.gz | bzip2 >dists/$VERSION/divers/binary-amd64/Packages.bz2
zcat dists/$VERSION/divers/binary-amd64/Packages.gz >dists/$VERSION/divers/binary-amd64/Packages
for nom in $LISTE ; do
echo Fabrication de $nom
mkdir -p dists/$VERSION/$nom/binary-i386/
mkdir -p dists/$VERSION/$nom/binary-amd64/
apt-ftparchive packages pool/$VERSION/$nom/i386/ | gzip > dists/$VERSION/$nom/binary-i386/Packages.gz
zcat dists/$VERSION/$nom/binary-i386/Packages.gz | bzip2 > dists/$VERSION/$nom/binary-i386/Packages.bz2
zcat dists/$VERSION/$nom/binary-i386/Packages.gz >dists/$VERSION/$nom/binary-i386/Packages
apt-ftparchive packages pool/$VERSION/$nom/amd64/ | gzip > dists/$VERSION/$nom/binary-amd64/Packages.gz
zcat dists/$VERSION/$nom/binary-amd64/Packages.gz | bzip2 >dists/$VERSION/$nom/binary-amd64/Packages.bz2
zcat dists/$VERSION/$nom/binary-amd64/Packages.gz >dists/$VERSION/$nom/binary-amd64/Packages
done
apt-ftparchive -c $VERSION.conf release dists/$VERSION/ > /tmp/Release.tmp
mv /tmp/Release.tmp dists/$VERSION/Release
cd dists/$VERSION/
rm Release.gpg
gpg --sign -ba -o Release.gpg Release
[/code]
La structure est la suivante

. -> dists -> divers --> binary-amd64 | | |-> binary-i386 | |-> nom1 --> binary-amd64 | | |-> binary-i386 | |-> nom2 (etc) |-> pool --> amd64 (paquets de divers/amd64) |-> i386 (paquets de divers/i386) |-> nom1 --> amd64 (paquets de nom1/amd64) | |-> i386 (paquets de nom1/i386) |-> nom2 --> amd64 (etc)

Il suffit de faire un fichier $VERSION.conf (par exemple wheezy.conf) contenant un champ Components à jour pour que le script fasse tout le reste.

Si vous me demandez pourquoi ne pas utilisez reprepro, je vous répond que je trouve ça compliqué, que c’est comme ça, et surtout que ça n’existait pas avant. Voilà.

(et encore, là j’utilise apt-ftparchive ce qui est récent!)

@françois: ce tuto figurerait bien dans le wiki non? De plus, ce sont les vacances là pour toi :smiley: