| #!/bin/sh |
| set -e |
| |
| ############################################################################### |
| # JAMI PACKAGE POSTINST # |
| # # |
| # Install Jami's package repository to the trusted sources and add Jami's # |
| # release key to trusted keyring. # |
| # # |
| # NOTE: We follow https://wiki.debian.org/DebianRepository/UseThirdParty # |
| ############################################################################### |
| |
| |
| ############################################################################### |
| # [1] Configuration # |
| ############################################################################### |
| |
| # All package repo urls are expected to start with this string, regardless |
| # of the distribution or version. The end tag is automatically appended, |
| # depending on the system the postinst script is run on. Examples: |
| # |
| # Ubuntu 18.04: |
| # $JAMI_REPO = $JAMI_REPO_BASE/ubuntu_18.04/ |
| # |
| # Debian 10: |
| # $JAMI_REPO = $JAMI_REPO_BASE/debian_10 |
| # |
| # To update the appended end tags, modify the switch in [2]. |
| JAMI_REPO_BASE="https://dl.jami.net/nightly" |
| |
| # Jami release key. |
| JAMI_KEY_FINGERPRINT="A295D773307D25A33AE72F2F64CD5FA175348F84" |
| JAMI_KEY="\ |
| -----BEGIN PGP PUBLIC KEY BLOCK----- |
| Version: GnuPG v2 |
| |
| mQENBFVSdlcBCAC9zC1rp12O2K08PGozI14Y+t4qC931eHicvkuEMF1B9gAhjdRF |
| aIJS+UXwgQzoamDIHenxz1Q3fXUjKCMXytjGymB/0LUKccSbtH0Rcsl8kZ2z57KN |
| E+GLS7SvlP93ZOxco7eAEBWF/fvMrCsm10sNI6bW7UK0bgql9iIetd6Wrp9xXFVs |
| gmoV8Av714OlswsthSNtN+xQls3ozQ/dVGsOkZEyDbBzi88/rQEtuIDztTSWyD0V |
| x7WaY5+mVRwsJKzyPlgvsXpbP7A41IFykeOzPKh+vYz3k7dcLIRdOwse79oT2RXt |
| 2VYEyTyTZIQlCJjGNTJYsU7GVffU4LnI7p/bABEBAAG0QFJpbmcgLSBTYXZvaXIt |
| RmFpcmUgTGludXgsIEluYyA8cmluZ0BsaXN0cy5zYXZvaXJmYWlyZWxpbnV4Lm5l |
| dD6JATkEEwEIACMFAlVSdlcCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAK |
| CRBkzV+hdTSPhMqSB/9aaKXVByoE7zwPM8DDSntS/jYhhaV1CcZ78WeC1LY2UnHL |
| R/yvABnDMikgqbMHBDu1R9dnjgZNntp7p0blxcT6ScxdZ6FpMZG6ZW5YNZIVctnF |
| jdExStcdpcbbycW8GeCmQdVcKLBl8G55mick02ayVNOH5ETtWahPwBvMWk5hSaH3 |
| E18yvnmdqa9nCEST4UKvBOpmn58mwJDIR2YLdEFcL8z4FkxQUNkx/hiHSn+YLorZ |
| H3iBrf9y9vSYhQ5pxx7seWkoaGAQBgfktRCUKvVY6E1oSZ/WR1WsR1ftDO/RD0E8 |
| APKzibVynUEQrCcQX16uDOa/YgavVkts9HmR7Vf7iQEcBBABCAAGBQJVUoJZAAoJ |
| EFZ3uE+o8K8j0RkH/2sv4L3X0hPIwAzf3CUJZQuHihUOPRAoru5RqW/5nWqsroa1 |
| WChJq79uDEecDAizTA1MvaTFmLxTjCkJso+5UHMSHi6LARvYXSOeBPFizEJT4qZZ |
| CXti5zh9d5z1u6L986mrnArA39IZ2F+9wV2q0VIDnq1Tt6+cJ745zSeZmbM6jip4 |
| oEBsKbCkAhq78sqCc7DIilsGbd2tgrLsh3fitvamEJCTCYKdDMog3TP0+EekQTA2 |
| Qp4jG0Uf7Gg1YvDDcsawXyNDrMBXEFPVhBNnRisX+YQBRWgDE58+fpsQfeTkblL5 |
| UaLWhDGlyfAc1ebL3InzhUWJswjt0BN3GPoP55m5AQ0EVVJ2VwEIAMXhg0w1IM0C |
| rGXMGayaJ3EWd9YXkqq0sAN7b75tD0cOimyPNafnzChG9//3tt82aPRm8fG5Lk5U |
| fwCS2MSt2Ml8UZeujmEBnvU9hsJBWcGgzXhtBQwZqzmV2vQg8436nTFY5L24TFBc |
| QNOUJNzSy/dqps0SxcYleE57o24KHlW6ICBaEhz0JoZHv5+7GtYz6XN2D7pkwTPY |
| UIahyt4dY3geFrkuMzZdTS4qyFb8EE/Ypi/WgewO9ib53kt7FBrxmm0l+d9GR4jH |
| CKGqaYjm8xzTsNa3m2C0Cf/C13bOaQVicgntfQ32IjjZdaDMlRLQluYNQ0ETA1FE |
| 9+EVvrQYZ+kAEQEAAYkBHwQYAQgACQUCVVJ2VwIbDAAKCRBkzV+hdTSPhMIaB/9D |
| CrIZBDy7YOK3gdnNm57jemJRz6Cum7RTUiqCQ8ivSmEgv1KmMIqMpjmnKKP43iHO |
| mR4i7XDml6RBGynPys6cQcAlBWSuhOv9PGpRCaGyjJ4vmQUsYhyD/+tCDZVdBuGg |
| CxteSMbawxtMHESqX7dDlctc+njDjBcbcGj73sj36qoFIjorjymZlT5IdK39oXVM |
| Hi1TssiWPOU0hQgn4BIreYnEZUA6xuFX10C7k2DVRFZrXF7lpNgPQ8eNZTnQBIuw |
| HUFCGSHO3/kzxSlkE1PBUX3IZ8PSFijyopBnWUhlSXuyRjte8OR7Fl/Rlf0IaOD1 |
| 4sRdAfS333T4Uifq4uOu |
| =s2aQ |
| -----END PGP PUBLIC KEY BLOCK-----" |
| |
| # System paths and generated variables |
| APT_FILE="/etc/apt/sources.list.d/jami-main.list" |
| UPDATE_MANAGER_PATH="/etc/update-manager/release-upgrades.d/" |
| JAMI_UPDATE_MANAGER_ID="jami-main" |
| |
| JAMI_UPDATE_MANAGER_CFG="${JAMI_UPDATE_MANAGER_ID}.cfg" |
| UPDATE_MANAGER_CFG_PATH="${UPDATE_MANAGER_PATH}/${JAMI_UPDATE_MANAGER_CFG}" |
| |
| |
| ############################################################################### |
| # [2] Set package repo url depending on distribution and version # |
| ############################################################################### |
| |
| CAN_ADD_DEB_SOURCE=true |
| |
| # Detect currently running system using /etc/os-release |
| # Debian-based systems are supposed to provide /etc/os-release so if it's not |
| # the case then we simply don't want to provide automatic updates |
| if [ -f /etc/os-release ]; then |
| . /etc/os-release |
| |
| # Set-up Jami repository end tag |
| if [ "${VERSION_CODENAME}" = "buster" ] || [ "${ID}_${VERSION_ID}" = "debian_10" ]; then |
| ENDTAG="debian_10" |
| elif [ "${VERSION_CODENAME}" = "bullseye" ] || [ "${ID}_${VERSION_ID}" = "debian_11" ]; then |
| ENDTAG="debian_11" |
| elif [ "${ID}_${VERSION_ID}" = "trisquel_9.0" ]; then |
| ENDTAG="ubuntu_18.04" |
| elif [ "${UBUNTU_CODENAME}" = "bionic" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_18.04" ]; then |
| ENDTAG="ubuntu_18.04" |
| elif [ "${UBUNTU_CODENAME}" = "focal" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_20.04" ]; then |
| ENDTAG="ubuntu_20.04" |
| elif [ "${UBUNTU_CODENAME}" = "hirsute" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_21.04" ]; then |
| ENDTAG="ubuntu_21.04" |
| elif [ "${UBUNTU_CODENAME}" = "impish" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_21.10" ]; then |
| ENDTAG="ubuntu_21.10" |
| elif [ "${ID}" = "debian" ] && \ |
| [ "$(command -v lsb_release)" ] && \ |
| [ "$(lsb_release -rs)" = "testing" ]; then |
| ENDTAG="debian_testing" |
| elif [ "${ID}" = "debian" ] && \ |
| [ "$(command -v apt-cache)" ] && \ |
| [ "$(command -v grep)" ] && \ |
| apt-cache policy | grep -q "a=unstable" -; then |
| ENDTAG="debian_unstable" |
| else |
| # Distribution is not supported. Don't provide automatic updates. |
| CAN_ADD_DEB_SOURCE=false |
| fi |
| else |
| CAN_ADD_DEB_SOURCE=false |
| fi |
| |
| |
| ############################################################################### |
| # [3] Maintainer script main switch # |
| ############################################################################### |
| |
| case "$1" in |
| configure) |
| if [ "`command -v apt-key`" = "" ]; then |
| # we can only add key if apt-key is present |
| CAN_ADD_DEB_SOURCE=false |
| fi |
| |
| if [ "${CAN_ADD_DEB_SOURCE}" = "true" ]; then |
| JAMI_REPO="${JAMI_REPO_BASE}/${ENDTAG}" |
| |
| # We first add the key to the trusted keyring. |
| apt-key add - > /dev/null 2>&1 << EOF |
| $JAMI_KEY |
| EOF |
| |
| # Add an entry for the package repository to the trusted package |
| # sources (DEB822 format) |
| cat > $APT_FILE <<EOF |
| deb ${JAMI_REPO} jami main |
| EOF |
| |
| # Additionally, if update manager is installed we inform it about |
| # the repository so it doesn't get scrapped after system updates |
| if [ -d /etc/update-manager ] |
| then |
| mkdir -p $UPDATE_MANAGER_PATH |
| cat > $UPDATE_MANAGER_CFG_PATH <<EOF |
| # Added by Jami to prevent disabling of Jami repository sources on |
| # distribution release upgrade. |
| [ThirdPartyMirrors] |
| jami/${JAMI_UPDATE_MANAGER_ID}=${JAMI_REPO} |
| EOF |
| fi |
| fi |
| ;; |
| esac |
| |
| # exit with a zero status as everything went well, important for maintscripts |
| exit 0 |