Aller au contenu

Featured Replies

Posté(e)

Lors de l'exécution du fichier package_manager une erreur se produit, elle est due à la fonction get_distro_version(), cette fonction recherche le nom de la distribution et la méthode utilisée détecte la valeur Fedora dans le fichier os-release contenu dans le champ ID_LIKE. La fonction considére ma distribution Mageia 3 comme une distribution Fedora, la version 3 de Mageia étant inférieure à la version 17 de Fedora la fonction retourne 255 au lieu de 0. Pour corriger cette anomalie, j'ai réécri la fonction ainsi :

get_distro_version() {
DISTRO_ID=$(awk '/DISTRIB_ID=/' /etc/*-release | sed 's/DISTRIB_ID=//' | sed 's/"//g' )
DISTRO_VERSION=$(awk '/DISTRIB_RELEASE=/' /etc/*-release | sed 's/DISTRIB_RELEASE=//' | sed 's/[.]0/./')
if [ -z "$DISTRO_ID" ]; then
DISTRO_ID=$(awk '{print $1}' /etc/*-release)
fi
if [ -z "$DISTRO_VERSION" ]; then
DISTRO_VERSION=$(awk '{print $3}' /etc/*-release)
fi
if [ "$DISTRO_ID" == "Ubuntu" ]; then
DISTRO_VERSION=$(lsb_release -s -r | sed s/..*//g)
if [ $? -ne 0 ]; then
DISTRO_VERSION=0
return 255
fi
if [ $DISTRO_VERSION -lt 10 ]; then
return 255
fi
return 0
elif [ "$DISTRO_ID" == "Fedora" ]; then
if [ -f /etc/os-release ]; then
source /etc/os-release
DISTRO_VERSION=${VERSION_ID}
elif [ -f /etc/fedora-release ]; then
DISTRO_VERSION=$(cat /etc/fedora-release | awk '{print $3}')
else
DISTRO_VERSION=0
return 255
fi
if [ $DISTRO_VERSION -lt 17 ]; then
return 255
fi
return 0
elif [ "$DISTRO_ID" == "openSUSE" ]; then
if [ $DISTRO_VERSION -eq 0 ]; then
return 255
fi
return 0
elif [ "$DISTRO_ID" == "Mageia" ]; then
if [ $DISTRO_VERSION -lt 3 ]; then
return 255
fi
return 0
else
DISTRO_ID="Unsupport"
DISTRO_VERSION=0
return 255
fi
}

Le code de cette fonction peut être surement encore amélioré et optimisé.

Modifié par dphil

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.