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 :(
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+
On Tue, Jan 24, 2017 at 07:03:23PM +0100, Laurent COOPER wrote:
Re bonjour à tousBonsoir (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.
Si j'ai bien suivi tu donne la sortie de cette commande en dessous.
grep-dctrl --show-field ${checksum_field} --field ${checksum_field} .
$release_file
| 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
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 ?
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 me demande si simple-cdd est la bonne méthode dans mon cas plutot que d'utiliser directement debian-cd ?
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+
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.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 295 |
Nodes: | 16 (2 / 14) |
Uptime: | 08:25:50 |
Calls: | 6,642 |
Calls today: | 2 |
Files: | 12,190 |
Messages: | 5,326,209 |