View previous topic :: View next topic |
Author |
Message |
jaypeche Apprentice
Joined: 13 Jun 2007 Posts: 174 Location: France
|
Posted: Sat Apr 22, 2023 7:43 pm Post subject: [Ebuild] Maintenance ebuild daemon argononed |
|
|
Bonjour à tous,
Je possède un boitier Argon One M2 dont je suis très satisfait. Pour "monitorer" le système de ventilation, il existe le projet GitLab argononed qui permet de faire tourner un démon surveillant la température CPU et déclencher au besoin le système de refroidissement. Un hystéresis 50-55-60° permet de maintenir le Pi4 à une température raisonnable.
Le projet est disponible içi : https://gitlab.com/DarkElvenAngel/argononed
Par souçi d'automatisation et de portabilité, je souhaite mettre au point un ebuild pour faciliter la configuration et l'installation du démon argononed.
Je mettrai ensuite en ligne l'ebuild pour le rendre publique via mon serveur web gentoo (hébergé lui même sur la Pi4)
J'ai réussi une installation from scratch, en patchant les sources pour Gentoo, et le démon argononed rempli très bien son rôle, il est par ailleurs très stable.
Je suis confronté à un problème de permissions, au moment du src_install(). Cf logs : https://gist.github.com/jaypeche/9f47971cdabc0f4ac6b466abaaaf8f82
L'ébauche de mon script ebuild ressemble à ceçi pour le moment : https://gist.github.com/jaypeche/c63827b2d45e9f8ea75efdd2961a9201
emerge --info : https://gist.github.com/jaypeche/b58dbd4e84aacc1cd8a2ad047ab90101
Auriez-vous une idée pour le problème SANDBOX ACCESS VIOLATION SUMMARY ?
En vous remerciant. _________________ Gentoo Linux Rullez ! |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1957 Location: 127.0.0.1
|
Posted: Sat Apr 22, 2023 8:55 pm Post subject: |
|
|
Salut,
Les scripts de configuration/installation de ce logiciel semblent être des scripts écrits à la main. Tous les paths d'installation sont harcodés :
Quote: |
ifndef OVERRIDE_INSTALL_DAEMON
.PHONY: install-daemon
install-daemon:
@echo -n "Installing daemon "
@$(INSTALL) build/$(BIN_DAEMON) /usr/sbin/$(BIN_DAEMON) 2>/dev/null && echo "Successful" || { echo "Failed"; true; }
ifeq ($(LOGROTATE),1)
@$(INSTALL) -m 600 OS/_common/argononed.logrotate /etc/logrotate.d/argononed
endif
endif
|
emerge ne t'autorisera pas à modifier ton système directement de cette façon, d'où le SANDBOX ACCESS VIOLATION SUMMARY.
Normalement au moment de la configuration du paquet tu dois appeler la fonction econf qui fixe pour toi les répertoires par défaut pour une installation propre sur ton système, en passant de façon transparente par un répertoire miroir d'installation (EPREFIX).
Mais ici çà ne fonctionnera pas, puisque tout est hardcodé dans le makefile : les scripts fournis ne sont pas prévus pour être exécutés par un package manager.
Tu as donc deux options :
1 - exécuter en root de façon manuelle les scripts de configuration/installation fournis, en priant que ces scripts ne fassent pas n'importe quoi. Donc pas d'ebuild.
2 - si tu veux absolument écrire un ebuild, tu vas devoir décortiquer le contenu des scripts de configuration et d'installation et tout installer manuellement depuis l'ebuild.
Last edited by netfab on Mon Apr 24, 2023 5:09 pm; edited 1 time in total |
|
Back to top |
|
|
jaypeche Apprentice
Joined: 13 Jun 2007 Posts: 174 Location: France
|
Posted: Sat Apr 22, 2023 9:12 pm Post subject: |
|
|
Slt @netfab !
Je me doutais que la conception des scripts (principalement pour prendre en charge un maximum d'OS via package.sh), me causerait certainement des soucis.
Ton explication est des plus claire, je regrette juste de ne pas pouvoir passer les PATHs à portage via econf, ca aurait été trop beau.
Du coup, il va falloir que je m'accorde un peu de temps pour gérer src_install() à la main ! C'est effectivement assez laborieux !
Penses-tu que je puisse me cantonner uniquement à src_install() pour pouvoir fusionner les fichiers dans le système ?
J'ai remarqué aussi CONFIG_PROTECT="/boot/config.txt ...".
Penses tu que ce soit problématique car les scripts doivent modifier ce fichier de boot pour y ajouter, les parametres i2c ?
Merci pour ta réponse claire et concise. _________________ Gentoo Linux Rullez ! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|