diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..423e55d6f618e461d165a9cf92b52925c0b645db --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +private-keys-v1.d +openpgp-revocs.d +pubring.kbx +pubring.kbx~ +trustdb.gpg +pass diff --git a/create_gpg.sh b/create_gpg.sh new file mode 100755 index 0000000000000000000000000000000000000000..e8001ea80a27569db1506647c211c814211e7d6f --- /dev/null +++ b/create_gpg.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +[ ! -f "pass" ] && exit 0 +PASS=$(cat pass) +NAME=gitlab + +export GNUPGHOME=$PWD +mkdir -p private-keys-v1.d +gpg --list-key + +gpg --yes --pinentry-mode=loopback --passphrase "$PASS" --quick-gen-key "$NAME" + +gpg --pinentry-mode=loopback --passphrase "$PASS" --armor --export-secret-keys "$NAME" > pgp-key.private +gpg --armor --export "$NAME" > pgp-key.public + +echo "private-keys-v1.d +openpgp-revocs.d +pubring.kbx +pubring.kbx~ +trustdb.gpg +pass" > .gitignore diff --git a/generate-release.sh b/generate-release.sh new file mode 100755 index 0000000000000000000000000000000000000000..6e6f7c6d52793ab3c9e9ccd29afde627b19d71f1 --- /dev/null +++ b/generate-release.sh @@ -0,0 +1,30 @@ +#!/bin/sh +set -e + +do_hash() { + HASH_NAME=$1 + HASH_CMD=$2 + echo "${HASH_NAME}:" + for f in $(find -type f -name "*.deb" -o -name "Packages*"); do + f=$(echo $f | cut -c3-) # remove ./ prefix + if [ "$f" = "Release" ]; then + continue + fi + echo " $(${HASH_CMD} ${f} | cut -d" " -f1) $(wc -c $f)" + done +} + +cat << EOF +Origin: gitlab.cesnet.cz +Label: gitlab +Suite: metatesting +Codename: bullseye +Architectures: amd64 +Components: main +Description: Gitlab fasttrack repo +Date: $(date -Ru) +EOF +do_hash "MD5Sum" "md5sum" +do_hash "SHA1" "sha1sum" +do_hash "SHA256" "sha256sum" + diff --git a/make.sh b/make.sh index f18a8cff07c7979f750ad52713a2a173f31ca062..8c87785ac2f0725422e251a9a72882630510ac54 100755 --- a/make.sh +++ b/make.sh @@ -2,7 +2,16 @@ set -x -# Nastaveni promennych, pokud je SINVERSION zakomentovana, pokusime se odhadnout nejnovejsi +# Otestujeme, ze je dostatek mista na extremni build (potrebuje cca. 60G tak tu mame 80, at je rezerva i pro ostatni) +df -m +while read _ _ _ SPACE _; do + if [ "$SPACE" -lt "80000" ]; then + echo "Malo mista, je potreba alespon 80GB, tady koncim!" + exit 1 + fi +done <<<$(df -m . | tail -n+2) + +# Nastaveni promennych export DEBIAN_FRONTEND=noninteractive export DEBEMAIL="Pavel Vondruska <vondruska@cesnet.cz>" @@ -27,7 +36,7 @@ EOSOURCES # Instalace buildovacich veci a zavislosti apt update -qqq -apt install -yqqq git devscripts build-essential +apt install -yqqq git devscripts build-essential gpg apt source linux @@ -58,6 +67,22 @@ mkdir build mv build.log build/ mv *.deb build/ +cp -v pgp-key* build/ +cp -v generate-release.sh build/ + cd build -dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz -dpkg-scanpackages . /dev/null > Release +dpkg-scanpackages . /dev/null > Packages +gzip -9k Packages +./generate-release.sh > Release + +export GNUPGHOME=$PWD +export GPG_TTY=$(tty) +mkdir -p private-keys-v1.d +gpg --list-keys +cat pgp-key.private | gpg --import --pinentry-mode=loopback --passphrase "$PASS" +gpg --list-keys + +cat Release | gpg --default-key gitlab --digest-algo SHA256 --cert-digest-algo SHA256 --pinentry-mode=loopback --passphrase "$PASS" -abs > Release.gpg +cat Release | gpg --default-key gitlab --digest-algo SHA256 --cert-digest-algo SHA256 --pinentry-mode=loopback --passphrase "$PASS" -abs --clearsign > InRelease + +rm -vrf private-keys-v1.d pubring.kbx trustdb.gpg pgp-key.private pgp-key.public pubring.kbx~ generate-release.sh diff --git a/pgp-key.private b/pgp-key.private new file mode 100644 index 0000000000000000000000000000000000000000..6d7c6ef206e75acb9a18b4f52608f6bb2b4b389b --- /dev/null +++ b/pgp-key.private @@ -0,0 +1,83 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +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 +5+XDAVfBDdmQbw== +=ILG2 +-----END PGP PRIVATE KEY BLOCK----- diff --git a/pgp-key.public b/pgp-key.public new file mode 100644 index 0000000000000000000000000000000000000000..0142773ca181ba7d5fde97cba3aabe4920306c91 --- /dev/null +++ b/pgp-key.public @@ -0,0 +1,40 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=KCDk +-----END PGP PUBLIC KEY BLOCK-----