[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

créer son propre dépot



salut les gens,

# version courte:

* je pense que https://wiki.debian.org/DebianRepository/SetupWithReprepro
  a besoin d'être raffraichie ou supprimée. je suis prêt a donner un
  coup de main pour ça.
* même en ayant déjoué quelques erreurs, je ne suis pas arrivé à créer
  un dépot: j'aimerais bien arriver au bout de la démarche.

# trois questions:

* je ne ne vois pas proposer une correction sur le wiki alors que je ne
  suis pas foutu d'utiliser moi-même reprepo. qui contacter dans ces
  cas là pour proposer mon aide?
* j'aimerais arriver au bout de ma démarche. idéalement je ne voulais
  que signer
* idéalement, j'aurais aimé continuer à utiliser un simple dépot sans
  arborescence comme avec dpkg-scanpackages. existe-t'il des scripts
  simples pour générer Contents et Translation (ou indiquer
  qu'ils ne sont pas disponibles dans le depot)?

# version longue:

dans mon /etc/apt/sources.list, on trouve depuis de nombreuses années

    deb [trusted=yes] file:///srv/debian/ ./

Outre le fait d'avoir des warnings (Ign) pendant
l'apt update, ca marche très bien.

J'aimerais rendre mes dépots publics et du coup je vais être
obligé de faire les choses proprement. J'aurais aimé continuer
à alimenter un simple script shell qui me permette de comprendre
facilement les différentes étapes mais je n'ai rien trouvé de tel.

aptly semble être overkill pour mon besoin (et nécessite d'avoir
des snapshots donc de copier plusieur fois les .deb) je suis donc
parti sur

    https://wiki.debian.org/DebianRepository/SetupWithReprepro

j'ai donc installé gpg (je vais en profiter pour configurer mutt).
cette doc fait référence à

    http://blog.jonliv.es/blog/2011/04/26/creating-your-own-signed-apt-repository-and-debian-packages/

qui parle de 5eme option dans le menu de la commande

    gpg --gen-key

alors que cette commande ne propose pas de menu. j'ai donc tenté

    gpg --full-gen-key

qui n'a pas de 5eme option et qui me fait hésiter entre la 4 (RSA) et la
1 (RSA *et* RSA) (le message gagnerait à être plus précis)
...

    # ~/.gnupg/gpg.conf:
    # Use a stronger digest than the default SHA1 for certifications.
    cert-digest-algo SHA512
    digest-algo SHA512
    # Prioritize stronger algorithms for new keys.
    default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 \
        AES CAST5 BZIP2 ZLIB ZIP Uncompressed

j'ai fais `gpg --gen-key` et je me retrouve avec

    /home/mc/.gnupg/pubring.kbx
    ---------------------------
    pub   rsa3072 2020-05-06 [SC] [expire : 2022-05-06]
          710CACEB2143FA0A0F7F22FB7AEBB18F05148875
    uid          [  ultime ] Marc Chantreux <xxxxxxxx>
    sub   rsa3072 2020-05-06 [E] [expire : 2022-05-06]

je n'ai pas besoin d'exporter parce que je suis sur la même machine.
ce qui me perturbe parce que dans les docs, il y a un ID au niveau du
sub. la bonne commande est

    gpg --list-keys --with-subkey-fingerprint

pas de config apache: j'utilise file:// et c'est une feature :)

coté /srv/debian/conf/distributions:

        Origin: renater
        Label: renater
        Codename: buster
        Architectures: amd64
        Components: main
        Description: Apt repository for project x
        SignWith: 93EB7976E602DEA2289EA73235228D55C1F58111

ensuite ... ben j'ai fais

    reprepro --ask-passphrase -Vb . -S utils -P optional includedeb buster *.deb

et j'ai ajouté dans mon /etc/apt/sources.list

    deb file:///srv/debian/ buster main

apt me dit que mon depot ne contient pas de fichier Release ce que find
me confirme même après un

    reprepo check

Avant je générais Release avec le script suivant:

        as_release_listing () {
            set -- names sums sizes
            rm -rf $@
            mkfifo $@
            # jobs                 # ouputs
            paste -d' ' sums sizes | sed s'/^/ /'  &
            xargs -a names ls -s   > sizes         &
            tee names              | xargs sha1sum |
            cut -d' ' -f1          > sums
            rm -rf $@
        }
        <<. cat > Release
        architectures: amd64
        description: my own debian packages
        date: $( LANG= date +'%a, %d %b %Y %H:%M:%S UTC' )
        SHA1Sum:
        $( ls *deb Pac* | as_release_listing )
        .

Mais ca c'était avant... maintenant les deb sont ventilés dans des
répertoires et je ne sais pas trop ou mettre mon Release.

cordialement,
marc



Reply to: