• Reprepro ? [WAS Personnalisation de l'installateur debian : suite]

    From Raphael Hertzog@21:1/5 to Laurent COOPER on Thu Jan 26 10:40:02 2017
    Salut,

    On Wed, 25 Jan 2017, Laurent COOPER wrote:
    Je vois bien une ligne du type
    9ecaf703beaa8d2a5aff44c581162a9b 72131 main/installer-amd64/20150422+deb8u4+b2/images/SHA256SUMS

    Mais dans mon Release, je n'ai rien d'équivalent.

    Comment puis je parler gentiment à Reprepro pour qu'il prenne cela en
    compte ? Visiblement mon byHandHooks qui fait juste un tar xzf ne suffit
    pas :(

    À mon avis tu peux ouvrir un ticket sur reprepro car je ne crois pas qu'il
    ait cette fonctionnalité. :-|

    A+
    --
    Raphaël Hertzog ◈ Debian Developer

    Support Debian LTS: https://www.freexian.com/services/debian-lts.html
    Learn to master Debian: https://debian-handbook.info/get/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Laurent COOPER@21:1/5 to All on Thu Jan 26 11:20:01 2017
    Bonjour

    cela veut il dire que pour les dépôts officiels debian, les sommes de contrôles dans le fichier Release sont gérées à la main ? Si c'est le
    cas, je dois pouvoir les ajouter. Il faudra cependant que je modifie
    aussi le Release.gpg et la somme de controle de Release. Cela peut se
    gérer automatiquement ou je dois aussi le faire à la main ?

    Merci par avance pour vos réponses

    Cordialement

    Laurent

    Le 26/01/2017 à 10:33, Raphael Hertzog a écrit :
    Salut,

    On Wed, 25 Jan 2017, Laurent COOPER wrote:
    Je vois bien une ligne du type
    9ecaf703beaa8d2a5aff44c581162a9b 72131
    main/installer-amd64/20150422+deb8u4+b2/images/SHA256SUMS

    Mais dans mon Release, je n'ai rien d'équivalent.

    Comment puis je parler gentiment à Reprepro pour qu'il prenne cela en
    compte ? Visiblement mon byHandHooks qui fait juste un tar xzf ne suffit
    pas :(

    À mon avis tu peux ouvrir un ticket sur reprepro car je ne crois pas qu'il ait cette fonctionnalité. :-|

    A+


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Laurent COOPER@21:1/5 to All on Wed Jan 25 16:10:01 2017
    Bonjour à tous

    Merci beaucoup Julien pour la lecture et pour ton coup de main. Je pense maintenant savoir d'où vient le problème.

    En gros, simple-cdd fait la vérification que le fichier des checksums de l'installeur a lui même un bon checksum. Il fait ça à partir du fichier
    release du dépot

    Seul problème : mon fichier release ne contient pas de signature pour
    les fichiers de l'installeur. J'ai du louper un truc au niveau de reprepro

    Pour déployer les fichiers de l'installeur, j'ai créé à la suggestion
    d'un colistier un byHandHooks qui se déplace dans le bon répertoire et
    fait un tar xzf de mon fichier tar.gz des images de l'installeur debian

    Mais mon fichier RELEASE du dépot n'est pas mis à jour.

    Si je regarde par exemple
    http://ftp.debian.org/debian/dists/jessie/Release

    Je vois bien une ligne du type
    9ecaf703beaa8d2a5aff44c581162a9b 72131 main/installer-amd64/20150422+deb8u4+b2/images/SHA256SUMS

    Mais dans mon Release, je n'ai rien d'équivalent.

    Comment puis je parler gentiment à Reprepro pour qu'il prenne cela en
    compte ? Visiblement mon byHandHooks qui fait juste un tar xzf ne suffit
    pas :(

    En vous remerciant par avance

    Laurent


    Le 24/01/2017 à 23:08, Julien Viard de Galbert a écrit :
    On Tue, Jan 24, 2017 at 07:03:23PM +0100, Laurent COOPER wrote:
    Re bonjour à tous
    Bonsoir (il est tard maintenant),


    Je suis un peu cooincé maintenant, et cela fait plusieurs heures que je
    tourne

    Le téléchargement et la vérification des fichiers Release et Release.gpg
    fonctionne bien

    Ensuite, il passe au mirroring de mon dépot et là, ça ne fonctionne
    plus. Il plante sur la vérification des sommes MD5 avec la ligne
    suivante dans wget de simple-cdd qui reste un peu cryptique pour moi :

    Je vais découper le code et tenter de te l'expliquer un pau, mais j'ai
    pas réouver le code complet de simple-cdd qui a bien marché pour moi
    par le passé, mais j'ai jamais modifié d-i j'ai toujours utilisé la
    release.


    grep-dctrl --show-field ${checksum_field} --field ${checksum_field} .
    $release_file
    Si j'ai bien suivi tu donne la sortie de cette commande en dessous.

    | grep $(echo $file | sed -e "s,^dists/${DI_CODENAME}/,,g")
    La "grep" filtre la sortie précédente et cherche $file en remplaceant
    le début dists/${DI_CODENAME}/ par rien (le séparateur est "," ici)

    donc a priori sans dists/8.6-experimental/
    si $file c'est dists/8.6-experimental/main/installer-amd64/current/images/SHA256SUMS
    on cherche main/installer-amd64/current/images/SHA256SUMS

    Bon déjà là ya un problème, soit j'ai pas le bon $file, soit ta sortie
    est déjà vide cat ce nom n'apparait pas dans la liste que tu donne

    | awk '{print $1" "$3}'
    Ici on affiche le 1er champ et le 3ieme séparé par 2 espaces
    en gros
    b4dfa3aae2f4a7b059af7a51be5ac33cd114975082babee78fc95ea5b896d0ca 1672
    main/binary-i386/Packages
    deviens
    b4dfa3aae2f4a7b059af7a51be5ac33cd114975082babee78fc95ea5b896d0ca
    main/binary-i386/Packages
    (sur une seule ligne bien sûr, mais le mail aimera pas)

    | sed -e "s,main/installer,$MIRROR/dists/$DI_CODENAME/main/installer,g"
    là on remplace "main/installer" par
    $MIRROR/dists/$DI_CODENAME/main/installer

    donc une ligne [...sha256...] [size] main/installer-cchose/Truc
    deviens
    [...sha256...] mirror/dist/8.6-experimental/main/installer-cchose/Truc
    Or tu n'a pas non plus de ligne qui ressemble à ça...

    | ${checksum_tool} -c -
    On appel le ${checksum_tool}, sha256sum je présume, et comme on a
    recréer son fichier d'entrée à la main, l'option -c devrait marcher

    || exit 1
    En cas d'erreur on sort avec le code 1

    J'espère que ces quelques explications vont t'aider à trouver le
    problème, comme di plus haut, j'ai pas repris le code de simple-cdd
    je me base juste sur ton mail.
    Je pense que tu as des chemins qui ne sont pas les mêmes que ceux
    attendu par simple-cdd du coup il s'en sort pas, après lesquels,
    ça je peux pas dire comem ça.

    Bon courrage pour le debug !

    Cordialement,

    Julien VdG

    le $checksum_field est SHA256SUM, le fichier $file est mon fichier
    SHA256SUMS, et le début de la commande juste avant le grep me sort le
    résultat suivant
    SHA256:
    b4dfa3aae2f4a7b059af7a51be5ac33cd114975082babee78fc95ea5b896d0ca 1672
    main/binary-i386/Packages
    04bcce94479f1a5b7b8bdb7e13511fb2502fa9b269c1a80af789581eb7e1ac86 909
    main/binary-i386/Packages.gz
    cbaa0537c58ea137f6401846bdf98cff9cec908aa2b141c8f06adb701ac29c4d 110
    main/binary-i386/Release
    7cfa2159c8f926b5aa4cffd8aa3841451569a635baccc5197acf69e9946bb2b2 1685
    main/debian-installer/binary-i386/Packages
    5501f3a019c529b5f1b5a96b317866f3883aeaa6eead5c66c8588eb4a847078d 749
    main/debian-installer/binary-i386/Packages.gz
    b4dfa3aae2f4a7b059af7a51be5ac33cd114975082babee78fc95ea5b896d0ca 1672
    main/binary-amd64/Packages
    04bcce94479f1a5b7b8bdb7e13511fb2502fa9b269c1a80af789581eb7e1ac86 909
    main/binary-amd64/Packages.gz
    be4909d435785f70f001ea15caae9a1e45d72421deb765bd8246034b27feb3db 111
    main/binary-amd64/Release
    7cfa2159c8f926b5aa4cffd8aa3841451569a635baccc5197acf69e9946bb2b2 1685
    main/debian-installer/binary-amd64/Packages
    5501f3a019c529b5f1b5a96b317866f3883aeaa6eead5c66c8588eb4a847078d 749
    main/debian-installer/binary-amd64/Packages.gz
    d1d9f50c5c301fb9a8ebb762adf5738e246463d1c052cc2ff1a1a99d84550a62 2326
    main/source/Sources
    d3ec3eb7c18dde4e362826c30480fc3a66d71f12c00f8748c04d35a7a402093b 983
    main/source/Sources.gz
    edb3c429ddac670b1991d096ec523325a5768cd2b4db3e05a2fefab93a2e25f9 112
    main/source/Release


    J'ai donc bien des sommes sha256

    Mais ... si je poursuis la commande, quand j'arrive au checksum_tool, le
    résultat est vide et je n'ai plus rien à rentrer d'ou une erreur

    Checking checksum file...
    dists/8.6-experimental/main/installer-amd64/current/images/SHA256SUMS
    sha256sum: entrée standard : aucune ligne de somme de contrôle SHA256
    trouvée

    DI_CODENAME vaut bien 8.6-experimental, MIRROR vaut mirror ...

    bref, je ne comprends pas d'ou provient le problème avec la structure de
    mon dépot :(

    Si des spécialistes de d-i avaient une idée, je vous en saurais très
    reconnaissant

    Cordialement

    Laurent Cooper


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Raphael Hertzog@21:1/5 to Laurent COOPER on Thu Jan 26 14:50:02 2017
    On Thu, 26 Jan 2017, Laurent COOPER wrote:
    cela veut il dire que pour les dépôts officiels debian, les sommes de contrôles dans le fichier Release sont gérées à la main ? Si c'est le

    Non, les dépôts officiels sont gérés avec "dak". reprepro n'a pas toutes les fonctionnalités de dak.

    cas, je dois pouvoir les ajouter. Il faudra cependant que je modifie
    aussi le Release.gpg et la somme de controle de Release. Cela peut se
    gérer automatiquement ou je dois aussi le faire à la main ?

    Sachant que les fichiers Release doivent être regénérés régulièrement (du moins si on met les "Valid-Until" qui sont recommandés), ce n'est vraiment
    pas souhaitable de les faire à la main.

    Après il y a des "hooks" qui permettent de scripter certaines
    actions automatiques, notamment celui associé à la signature des fichiers Release. Tu peux essayer de hacker cela à ce niveau.

    A+
    --
    Raphaël Hertzog ◈ Debian Developer

    Support Debian LTS: https://www.freexian.com/services/debian-lts.html
    Learn to master Debian: https://debian-handbook.info/get/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Raphael Hertzog@21:1/5 to Laurent COOPER on Thu Jan 26 21:30:02 2017
    Salut,

    On Thu, 26 Jan 2017, Laurent COOPER wrote:
    Face à la difficulté de gérer le fichier Release pour intégrer le sha256 des images debian, j'ai été brutal mais efficace :

    J'ai supprimé le check du hash dans la méthode wget de simple-cdd et il saute cette étape qui n'était pas capitale au final

    Je suggère d'ouvrir une bogue sur simple-cdd pour qu'il se comporte correctement lorsque les checksums des images d-i sont manquantes... il
    peut afficher un warning mais ne devrait pas échouer lamentablement.

    Je me demande si simple-cdd est la bonne méthode dans mon cas plutot que d'utiliser directement debian-cd ?

    Ca te facilite quand même l'intégration d'udebs spécifiques dans d-i.
    C'est plus compliqué à faire directement avec debian-cd.

    A+
    --
    Raphaël Hertzog ◈ Debian Developer

    Support Debian LTS: https://www.freexian.com/services/debian-lts.html
    Learn to master Debian: https://debian-handbook.info/get/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Laurent COOPER@21:1/5 to All on Thu Jan 26 17:30:03 2017
    Bonjour à tous

    Face à la difficulté de gérer le fichier Release pour intégrer le sha256 des images debian, j'ai été brutal mais efficace :

    J'ai supprimé le check du hash dans la méthode wget de simple-cdd et il
    saute cette étape qui n'était pas capitale au final

    Merci à tous pour vos contributions.

    Je me demande si simple-cdd est la bonne méthode dans mon cas plutot que d'utiliser directement debian-cd ?

    Bonne continuation

    Laurent

    Le 26/01/2017 à 14:46, Raphael Hertzog a écrit :
    On Thu, 26 Jan 2017, Laurent COOPER wrote:
    cela veut il dire que pour les dépôts officiels debian, les sommes de
    contrôles dans le fichier Release sont gérées à la main ? Si c'est le

    Non, les dépôts officiels sont gérés avec "dak". reprepro n'a pas toutes les fonctionnalités de dak.

    cas, je dois pouvoir les ajouter. Il faudra cependant que je modifie
    aussi le Release.gpg et la somme de controle de Release. Cela peut se
    gérer automatiquement ou je dois aussi le faire à la main ?

    Sachant que les fichiers Release doivent être regénérés régulièrement (du
    moins si on met les "Valid-Until" qui sont recommandés), ce n'est vraiment pas souhaitable de les faire à la main.

    Après il y a des "hooks" qui permettent de scripter certaines
    actions automatiques, notamment celui associé à la signature des fichiers Release. Tu peux essayer de hacker cela à ce niveau.

    A+


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Cyril Brulebois@21:1/5 to All on Fri Jan 27 03:30:01 2017
    Hello,

    Raphael Hertzog <hertzog@debian.org> (2017-01-26):
    On Thu, 26 Jan 2017, Laurent COOPER wrote:
    Je me demande si simple-cdd est la bonne méthode dans mon cas plutot
    que d'utiliser directement debian-cd ?

    Ca te facilite quand même l'intégration d'udebs spécifiques dans d-i. C'est plus compliqué à faire directement avec debian-cd.

    Personnellement j'utilise debian-cd quand j'ai besoin de faire des tests spécifiques en avance de phase par rapport à un upload de paquets dans
    sid ou une migration dans testing, histoire de coller au plus proche de
    la « prod » sur pettersson.debian.org ; je ne peux pas comparer avec simple-cdd (jamais utilisé), mais je peux néanmoins confirmer que la
    mise en place des premiers builds debian-cd + paquets personnalisés est effectivement consommatrice en temps…


    KiBi.

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1

    iQIcBAEBAgAGBQJYiq9qAAoJEP+RSvDCs1UgDB4P/3UuNmO2+GuhV5JXeouWtuwz HZ+DBkdGEPx6wsRPjH4FH1tEsXwAzETFEpvIG8XZtHYgNqnn+gEYBiaGVEmfkZ2C 1RdUugHU0shRRpRywxr0HJjk2+EWrYWvemsfTysadbVavebf2h7y8y3klb3rTl4o yPR1THZnxPqZav1D2XLA1d4yKbSjVheR3wh+7XAZgQ2RkeSp/hD061CNuIJ7Qd+U vR/PS9NH3z9o1hz/QQvGCMAbY7ZO2V8lHQidYZ9NXk4TWdBe7LzZIAgA1y6ziB8L dxYpxoggxQWYgl0JXu6rAfV0MAVkU/3ZNGkXIXfOoT0+Z+ufq4f7V4Pi5+nQ2r+9 6j4XIr5YRS8TYb7kg3FwvQIUKBefgZSf5RY+XMfFDHaoRWvw2mk7HMzRk8Q+0Oo+ GN1CJjECLGRHIXOQdyPUxKyX66EQv9vxnlrLz0cdE7gQ5OZTmGY7V98YsU71OuuZ mubL48qfh/MI4I80GoZeSm6skFCQpX00w1naHzko/XTRUrVl30JAaVYLaC0yLrAN JO4ypzzuOiCuybCwc5FYnjqrB0BMXzXIzdkeaaqwB65R60MHVH0nWLLp7wsObgU4 PQwGGeBjkMoQKAoT4e+kLarlW/XhyGszMvVhBxiyesmIfKq6vYz6FffKwmEatD+l xPTlAidFhNK7QTEC5iqG
    =qKaP
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)