mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-07-23 00:45:29 +02:00

This patch moves already existing packaging scripts from jami-project into client-qt. Introduced changes are: + WITH_SUBMODULE must search in system lib too because for packaging client-qt (for rpm) will be built separately, and will depend on jami-daemon. + Fix appdata.xml (replace old wiki with docs.jami.net) + path changes (because we build in client-qt not jami-project). GitLab: #853 Change-Id: I1313830d85c8094fcbcc52e22033a2add7b1e89f
168 lines
7.1 KiB
Bash
Executable file
168 lines
7.1 KiB
Bash
Executable file
#!/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
|
|
|
|
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
|
|
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}" = "jammy" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_22.04" ]; then
|
|
ENDTAG="ubuntu_22.04"
|
|
elif [ "${UBUNTU_CODENAME}" = "kinetic" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_22.10" ]; then
|
|
ENDTAG="ubuntu_22.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
|