#!/usr/bin/env bash # Add a sources.list that points to the gitea instance. # https://docs.gitea.com/usage/packages/debian # sudo apt-get install -y tea-cli GITEA_URL="git2.ring-zero.co.uk" OWNER="cyteen" DISTRIBUTION="ceres" COMPONENT="main" KEYRING="/etc/apt/trusted.gpg.d/gitea-${OWNER}.gpg" # system wide keyrings conflict with trusted.gpg if [ -f /etc/apt/keyrings/gitea-cyteen.asc ]; then rm /etc/apt/keyrings/gitea-cyteen.asc fi # the existance of the apt_auth is the only difference. # cat <<-EOF | sudo tee /etc/apt/sources.list.d/gitea.list # deb [signed-by=${KEYRING}] https://${GITEA_URL}/api/packages/${OWNER}/debian ${DISTRIBUTION} ${COMPONENT} # EOF USERNAME="cyteen" PASSWORD="mlpfinsonik" cat <<-EOF | sudo tee /etc/apt/sources.list.d/gitea-private.list deb [signed-by=${KEYRING}] https://${GITEA_URL}/api/packages/${OWNER}/debian ${DISTRIBUTION} ${COMPONENT} EOF # fetch the gitea signed-by key curl -fsSL https://${GITEA_URL}/api/packages/${OWNER}/debian/repository.key | gpg --dearmor -q | sudo tee ${KEYRING} >/dev/null # cat <<-EOF | sudo gpg --dearmor -o ${KEYRING} # -----BEGIN PGP ARMORED FILE----- # Comment: Use "gpg --dearmor" for unpacking # # xsBNBGYk0YoBCACqBlpqZ8oNJFsTgfLEzuIUdKRKDGeK2MD05/KF5PrDBMxeJEJP # wGk5q0V/ol/bQ8PxWJgpn+UitZ5Np33ksOZG0EeEb2Ejiw1idpDEEFR6jzCUj5xV # Mmlg825r4iwnrM4XK80fGv2MdSa0pV7NXyrL7Jk5ReufdjX9LRtFV9nvtYRHm6sP # QPTm0jLsi1+cKGnVlEYCeYHKMYZP6ohlyCYry7E5aiNgLIWJT3GwB+wvsGd0sxuK # 5nBNCYdvDmeBE1GHzyqhytcl1n8DgsMnwBzh3uEHv5Vtx44NDgDJ02dfwJ1WbPqb # W58vcgEyW8f1Y1GaaIQ6ecwLlqkuKwmV5uy/ABEBAAHNEShEZWJpYW4gUmVnaXN0 # cnkpwsBiBBMBCAAWBQJmJNGKCRDVLqQI2UdsaQIbAwIZAQAAmCoIACwGuYnw5bgM # N7/u0PVoKHdI1lskX0UjVWMDup/QAk9NOYGrq2GXNKPnmI8AyeteX+wdpDU+lzvy # iTUMSTt8aSvWuKWYWJOkyrWJumwuXSNE3eMpqLL0yKHs5xif4CA5Qu2I12+JAH8C # caqRALPr1//qjFwzwk7MGXTWyyEh9pC8ZxNapF8fvFZfFwbXUvFtxh9M3V8bJJU2 # l3kpTYCY3wPnEBoJWSFhwciBY3T7/aMLcJXycjcKykblAF6rDC+AQTAgn/MGcqn4 # 1mNJFfV1qYuOVFmjmq6zwVf2zKz0TxHnZplsQyx5OqTJ3fEtfRJEA2sCsZ5eaipC # jku2Hpxp4GLOwE0EZiTRigEIAJcVe4rmeI/kw9hFfYSvCgFAfHuUmuOVG3nFvkNP # w4epKXAuCxtyDhNOQugrV0iyhC5OGpBMvibeVkVB08IIk+DwI4/9+SDXCKbT1d2g # QU+XokdUnjG08uSfH+Y6tRPsXw5uK8ULWcg1Mqaimsy9pc+IzZ3OiKCMU8jnUo0T # oso6NaSIE3KM6g4EbNEfpBK35cZW8rEjsl/tF2PjNNfkAVphrNKCRA64OhqtvI8f # jc43RWz03JlvKNMVMaB3ef4Q3nzfYzTV+9L3ux6SelYLtcJ+//nXB26b7ugcFsVG # 6bJPYdKVrqXmOPb6zh0Qh0UIp2Ga7HaYXoGqCQU0XH6fm1cAEQEAAcLAXwQYAQgA # EwUCZiTRigkQ1S6kCNlHbGkCGwwAAIT2CAA+rH7xC34XjFV3rcfgO8w8M1qau3fc # INdouQ682agGcgJQV56fBoNl1ffLdYqAs43zmr1Bnb8odgTiwgg8tx6luoF+tAMa # 43gPBfG87AuV2OIcubxit0I2tQuhiVRrBtNfhP/qogWZMzWg/0ruRB8KCxzmh6Ru # crYHRRqetSl+hc3npVGPvX7T8mVcC+BNNiTQScM/1hZEnAlvEZ+aVD+IlaGxEmTn # zORnycVVrieEG7dpquBjOTJGUOgtmQi4KrF4wd340CnC1u8Qr0PMwCRaybqI11fV # ZoAVBYYnhJhC/QhCHvs/5REn2DPwePiTTXDvrNIhE/dzmlEu2qnG+6ZP # =65hZ # -----END PGP ARMORED FILE----- # EOF # rather than put username:password@ in the url to gitea we use apt_auth conf_print_apt_auth() { cat <<-EOF machine ${GITEA_URL} login ${USERNAME} password ${PASSWORD} EOF } if [ ! -f /etc/apt/auth.conf.d/${GITEA_URL} ]; then conf_print_apt_auth | sudo tee /etc/apt/auth.conf.d/${GITEA_URL} >/dev/null fi sudo apt-get update # # Publish a package # ARCHIVE="/var/cache/apt/archives/" # PACKAGE="rustc_1.70.0+dfsg1-7_amd64.deb" # curl --user your_username:your_password_or_token \ # --upload-file ${ARCHIVE}/${PACKAGE} \ # https://${GITEA_URL}/api/packages/${OWNER}/debian/pool/${DISTRIBUTION}/${COMPONENT}/upload # # # Delete a package # curl --user ${USERNAME}:${PASSWORD} -X DELETE \ # https://${GITEA_URL}/api/packages/${OWNER}/debian/pools/${DISTRIBUTION}/main/test-package/1.0.0/amd64