Install.sh : problème sur Pi Bullseye

Bonjour,

A la recherche d’un problème pour installer les libttspico sur Raspberry pour le plugin PlayTTS

Dans le script d’installation de Jeedom : install.sh (présent en Alpha et stable)
Je remarque que cette commande sur Raspberry Pi OS Bullseye lite ne fonctionne pas :
add-apt-repository -y non-free

pi@rpi3bdev:~ $ sudo add-apt-repository -y non-free
Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 95, in <module>
    sp = SoftwareProperties(options=options)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 109, in __init__
    self.reload_sourceslist()
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 599, in reload_sourceslist
    self.distro.get_sources(self.sourceslist)
  File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 91, in get_sources
    raise NoDistroTemplateException(
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/bullseye

Du coup, cela pose aussi un problème pour la suite de l’installation, comme cette ligne :
apt-get -y install libsox-fmt-mp3 sox libttspico-utils

Package libttspico-utils is not available, but is referred to by another package.


J’arrive à corriger la situation en ajoutant des dépôts suivants :

deb http://deb.debian.org/debian bullseye main contrib non-free

Mais en faisant :
sudo apt update, j’ai cette erreur :

Get:1 http://archive.raspberrypi.org/debian bullseye InRelease [23.6 kB]
Get:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Get:3 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:4 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages [13.2 MB]
Get:5 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [313 kB]
Err:3 http://deb.debian.org/debian bullseye InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 605C66F00D6C9793
Reading package lists... Done
W: GPG error: http://deb.debian.org/debian bullseye InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 605C66F00D6C9793
E: The repository 'http://deb.debian.org/debian bullseye InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Que je corrige avec cette commande :
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9

Après cela, les packages : libttspico sont disponibles

pi@rpi3bdev:~ $ sudo apt install libttspico [TAB]
libttspico0       libttspico-data   libttspico-dev    libttspico-utils

Merci

Bonjour à tous,

Je suis le seul à avoir ce problème ? ( testé sur plusieurs machines Pi)

@anon53349806 : comme tu test beaucoup, as tu constaté cette situation ?

Bonjour,
J’ai pas le soucis quand je lance l’installation en mode docker mais ya peut etre des subtilité dans ce cas la.

Bonjour

Chez moi, sur plusieurs Pi, cette commande ne fonctionne pas :
sudo add-apt-repository -y non-free

En fait, même en copiant les exemples de la commande, cela ne fonctionne pas non plus, avec le même retour.

L’idée, c’est qu’il faut ajouter ce dépôt :
deb http://deb.debian.org/debian bullseye main contrib non-free

Avec lui, les libttspico* sont visibles et s’installent.

Que faire ?

Je vais regarder et si je confirme je vais bien evidement ajouter ta ligne. Laisse moi juste le temps de regarder et surtout d’arriver sur ton cas dans ma todolist mais la avant j’ai tout le support par ticket a m’occuper.

Mais tu as tout le temps que tu veux loic, pas de problème. Ce qui compte, c’est juste que cela soit analysé.

Sinon, il a bien du y avoir un changement (coté OS ou dépôts, j’en sais rien) mais ces déports était bien présent sur mes anciennes installations (novembre et décembre) mais ne sont plus présent sur les nouvelles installation.

J’ai regardé dans le fichier source-list pour m’en assurer.

Oui oui debian a du changé un truc et il faut qu’on s’adapte tout simplement, a voir si on garde le repo non free car il ne sert que pour picotts et la ca va etre penible pour moi de gerer le cas stretch, bulleyes et autres

En faite ca devrait marcher c’est un soucis avec l’os sur PI je pense et non un soucis debian. J’ai rajouté la ligne pour debian 12 (ya les 2 donc ca fera une erreur forcement).

Si vraiment c’est genant je supprimerais la partie non free qui sert que pour picotts.

En fait, je cherchais un problème avec l’installation des dépendances du plugin PlayTTS (que song ne semble pas remplacer).
C’est un plugin qui permet de jouer des MP3 ou faire du TTS avec Pico

Et en analysant, j’ai découvert que le problème provenait des sources. Si j’ajoute les sources dans le plugin PlayTTS (avec un truc du type echo deb http://deb.debian.org/debian bullseye main contrib non-free > /etc/apt/sources.list) cela fonctionne bien
Le problème, c’est que cela va l’ajouter autant de fois que les dépendances sont installées. C’est donc pas proprore.

J’ai trouvé un truc avec SED, pour ajouter la ligne que si elle n’existe pas, cela fonctionne. Mais pareil, la 2eme fois cela la supprime et ainsi de suite.
Je n’arrive pas à trouver de solution

Mais je pense qu’il ne faut pas gérer cela coté installation de Jeedom si cela n’est pas nécessaire. Et surtout pas de modification « que pour moi ». Je préfère que tu supprimes ce qui ne fonctionne pas coté OS Raspberry Pi OS que faire un truc pas propre (je suis puriste).

Tu reproduis le problème aussi sur Pi alors ? j’ai pas trouvé de pistes menant à une solution.

J’ai pas de pi donc je peux pas tester dessus désolé.

Par contre le plugin peut tout a fait faire un grep pour voir si ya deja la ligne qu’il veut et l’ajouter si nécessaire, le core geré ca jusqu’a maintenant mais en vrai il n’a pas besoin de picotts spécifiquement. A voir la deja avec ma modification ce que ca donne.

Sur Pi (Bullseye à jour) ;

Divers test avec la mise à jour que tu a réalisé (directement en console) :

root@rpi4bjeedom:~# apt-add-repository -y contrib non-free-firmware
Error: need a single repository as argument
root@rpi4bjeedom:~# apt-add-repository -y contrib
'contrib' distribution component is already enabled for all sources.
root@rpi4bjeedom:~# apt-add-repository -y non-free-firmware
Error: 'non-free-firmware' invalid
root@rpi4bjeedom:~# apt-add-repository -y 'non-free-firmware'
Error: 'non-free-firmware' invalid
root@rpi4bjeedom:~#

J’ai testé avec des '' ou sans, le seul qui semble passer c’est le contrib, mais tout seul.

Vraiment bizarre pi desfois… Je sais pas trop quoi faire la…

Je ne suis pas certain de comprendre comment tu veux ajouter ce dépôt. Moi je ferais un truc comme ceci :

if ! grep -q "deb http://deb.debian.org/debian bullseye main contrib non-free" /etc/apt/sources.list; then
    echo "deb http://deb.debian.org/debian bullseye main contrib non-free" | tee -a /etc/apt/sources.list
    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
    apt-get update
else
    echo "Le dépôt existe déjà dans sources.list."
fi

Mais je n’ai peut-être pas compris ton besoin.

1 « J'aime »

Bonjour,

C’est exactement cela (c’est ce que propose Loic). Je vais le proposer au développeur de PlayTTS.

De mon coté j’avais trouvé cela :

sed -i '/^deb http:\/\/deb.debian.org\/debian bullseye main contrib non-free$/d; $a\deb http:\/\/deb.debian.org\/debian bullseye main 

Suivit des commandes pour les clés et l’update

Mais cela fonctionne comme un swtich (ca y est : cela le retire, cela n’y est pas, cela l’ajoute)

Je pense avoir la réponse au mystère, il ne faut pas ajouter de dépôts Debian sur Raspberry Pi

Vu ici :
Unable to add repository - Raspberry Pi Forums

Ca me semble coherent c’est un debian a leur sauce en faite. Dans le doute j’ai supprimé l’ajout de repo sur l’installation et libpicotts ca sera plus simple.

Alors, je ne sais pas si le fil de discussion visé est toujours valide, mais attention tout de même à son âge. Ça remonte à 10 ans cette histoire. Depuis, Debian a adapté sa distrib Arm aux raspberry. Bon, de là à dire qu’on peut brancher un dépôt Debian sur Raspberry OS (comme on le ferait d’un dépôt Ubuntu sur une Debian), je ne sais pas. Ça fait trop longtemps que je me suis éloigné de ces sujets…

Sinon, ça, ça ne fonctionne plus ?

HA oui, j’ai vue 2023 et pas 2013 :frowning:

Si, ce que vous décrivez, c’est ce qui était en place dans les dépendances du plugin PlayTTS (pas dans les derniers version des .deb et les fichiers sont déjà présents dans les sources du plugin) mais cela créer systématiquement une erreur ou il faut refaire ensuite un :
sudo apt --fix-broken install
Pour que les autres plugins puissent s’installer.

J’ai voulu contribuer en apportant une solution différente, car sur les 3 pi ou j’ai fait mes tests, les sources.list étaient justement avec :

deb Index of /debian bullseye main contrib non-free

Ce qui permet d’installer PicoTTS (et cela fonctionne). C’est pour cela, que j’ai voulu comprendre pourquoi j’avais ces sources chez moi et plus dans les nouvelles installations de Jeedom.

Au fond de moi, je pense qu’il faut ces sources :
deb http://deb.debian.org/debian bullseye main contrib non-free

Mais je ne veux pas faire porter un risque aux autres à cause de moi.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.