Problèmes et questions sur les environnements graphiques et les applications.
Répondre

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#1Messageil y a 4 ans

Bonjour,

Depuis juillet, je suis possesseur d'une alimentation Corsair RM650i.

Maintenant que j'ai "un peu de temps", je me suis mis en tête de voir ce que les 2 projets open source pouvaient faire et donc de la piloter avec ceux-ci. J'en avais parlé dans ma série d'articles sur mon blog concernant le matériel et je veux voir ce qu'il ont dans le ventre. :siffle:siffle

Ayant d'abord tester OpenCorsairLink par l'intermédiaire de AUR, je veux maintenant voir ce qu'offre CorsaiRMi pour la gestion des PSU's. Toutefois, il y a un petit problème, il n'existe pas de paquet AUR. Qu'à cela ne tienne, j'ai repris mes notes, mon courage à 2 mains et j'ai crée un PKGBUILD que j'ai testé avec la commande :

makepkg -sf


Après une modification, il semble prêt. Toutefois, comme il s'agit que de mon 2eme paquets, différent du 1er(application d'un patch) et que je ne suis pas du tout sur de moi, j'aimerai que les pro du forum fassent une petite vérification et m'indique les corrections à apporter le cas échéant.

Il y a en fait un 3eme projet Powermeter qui m'interresse aussi et qui se trouve apporter une fonctionnalité manquante au 1er (cad OpenCorsairLInk) mais je n'en suis pas encore là. Pour l'instant c'est corsaiRMi qui m'interresse.

Voici donc le fameux PKGBUILD :

#Maintainer : Olivier Girard <olivier@openshot.org>
pkgname=corsairmi
#pkgver=r11.4e7adcz
pkgver=r15.4e7adc2
pkgrel=1
pkgdesc="read monitoring information out of Corsair RMi and HXi series of PSUs"
arch=('x86_64')
url="https://github.com/notaz/corsairmi"
license=('GPL')
#depends=('glibc')
makedepends=('git' 'make')
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=("$pkgname::git+https://github.com/notaz/corsairmi")
md5sums=('SKIP')


pkgver(){
	cd "${pkgname}"
	printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build(){
	cd "$srcdir/corsairmi"
	make
}

package(){
	cd "$srcdir/corsairmi"
	install -Dm755 "corsairmi" "$pkgdir/usr/bin/corsairmi"
	install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/pkgname/LICENSE"
}
Il s'agit d'un simple dossier contenant le readme, la licence et un fichier en C que l'on compile avec make. Vivement que j'attaque les python :siffle:siffle:siffle

Par avance merci pour vos retours. :bien
Dernière modification par Cenwenil y a 4 ans, modifié au total 1 fois.

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#2Messageil y a 4 ans

Bonjour.
Il existe dans les dépôts namcap qui t'aidera a vérifier ton PKGBUILD.

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#3Messageil y a 4 ans

Merci Lemust83. :salut:

A 1ere vue il n'y a pas de grosses erreurs. :saispas: La seule qu'il me fournit (avec l'argument -i) concerne le tag du packager. En dé-commentant, j'obtiens une plus grosse erreur.

[olivier@thorielle Téléchargements]$ namcap PKGBUILD 
[olivier@thorielle Téléchargements]$ namcap -i PKGBUILD 
PKGBUILD (corsairmi) I: Missing Contributor tag
[olivier@thorielle Téléchargements]$ namcap -i PKGBUILD 
Error: error: invalid package file

Error: PKGBUILD: line 1: syntax error near unexpected token `newline'
PKGBUILD: line 1: `Maintainer : Olivier Girard <olivier@openshot.org>'

Error: PKGBUILD is not a valid PKGBUILD
Si je me base sur cette page j'ai rien quand je ne spécifie rien.
Et ce warning si j'utilise l'option -i pour info.
A moins que cela soit lié au nom de mon PKGBUILD qui est un simple fichier texte que j'ai appelé .........PKGBUILD. Est-ce que j'ai mal fait ? :siffle

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#4Messageil y a 4 ans

Non, il faut le nommer comme ça. Namcap est un peu chatouilleux , mais je m'en sers pour dégrossir le brut de décoffrage. Je dirais juste pour la forme qu'il est préférable de rediriger aux fonctions prepare() , build() et package() vers cd "$pkgname-$pkgver" plutôt que cd cd "$srcdir/corsairmi".
Cela dit, il m'arrive de faire comme toi lorsque le nom de l'archive décompressée diffère du nom du paquet a construire.
Pour l'erreur de namcap, apparemment il manque le # devant # Maintainer.

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#5Messageil y a 4 ans

En fait, et tu peux le voir dans la totalité du pkgbuild que j'ai posté dans le 1er :saispas: cela ne vient pas de mes # qui y sont bien mais de l'ide que j'utilise. Ce qui m'a posé pas mal de problèmes "bloquants" par le passé. Habituellement, j'utilise PyCharm et depuis peu Qt Creator qui ne me posent pas ce genre de problème avec les commentaires. Mais là je ne peux pas les utiliser car un PKGBUILD est en fait un simple fichier texte. Mais bon j'ai résolut le problème, vu qu'il ne voulait pas me mettre cet espace :tetu!:tetu!

Toutefois, il ne voit pas ma ...........contribution. ;rale:

[olivier@thorielle Téléchargements]$ namcap -i PKGBUILD 
PKGBUILD (corsairmi) I: Missing Contributor tag
J'ai fais les modifications selon tes recommandations. Cela semble être plus judicieux.

Voici le code modifié dans sa totalité, revu et corrigé:

# Maintainer: Olivier Girard <olivier@openshot.org>
pkgname=corsairmi
# pkgver=r11.4e7adcz
pkgver=r15.4e7adc2
pkgrel=1
pkgdesc="read monitoring information out of Corsair RMi and HXi series of PSUs"
arch=('x86_64')
url="https://github.com/notaz/corsairmi"
license=('GPL')
# depends=('glibc')
makedepends=('git' 'make')
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=("$pkgname::git+https://github.com/notaz/corsairmi")
md5sums=('SKIP')


pkgver(){
    cd "${pkgname}"
    printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build(){
    cd "$pkgname-$pkgver"
    make
}

package(){
    cd "$pkgname-pkgver"
    install -Dm755 "corsairmi" "$pkgdir/usr/bin/corsairmi"
    install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/pkgname/LICENSE"
}
En fait en modifiant avec Geany, (option commenter/decommenter la ligne au lieu de commenter la ligne) , j'ai obtenue l'erreur suivante :

[olivier@thorielle Téléchargements]$ namcap -i PKGBUILD 
PKGBUILD (corsairmi) W: Missing Maintainer tag
PKGBUILD (corsairmi) I: Missing Contributor tag
En modifiant comme j'ai fais, je reviens à l'erreur "habituelle". Mais cela doit être toujours le cas à mon avis quand on ............n'est pas enregistrer en tant que paqueteur sur AUR. Et namcap doit fonctionner en tenant compte de cette donnée car en vérifiant sur un pkgbuild similaire j'ai noté une différence qui fait que ma pensée s'oriente dans ce sens.

Prend le projet nvidia-led présent sur AUR (j'en parlerai dans la partie 8 de Me Gamer...............). Regarde le PKGBUILD à la ligne mainteneur et va dans details ligne mainteneur : il y a son diminutif qui ne .............figure nul part dans le pkgbuild. Bizarre. :siffle

Après je me pose la question du make. Il n'y a pas de binaire qui va dans /usr/bin surtout qu'il se lance comme un script python :

./corsairmi /dev/hidraw6
en ce qui me concerne. Là je séche un peu. Si quelqu'un a une idée.......... :siffle:saispas::saispas:

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#6Messageil y a 4 ans

Salut,

namcap -i nom_du_paquet.pkg.tar.xz est très utile pour vérifier si des dépendances ont été oubliées dans le PKGBUILD .

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#7Messageil y a 4 ans

Salut,

En fait, j'ai résolu le problème en rajoutant le contributeur.

# Maintainer: Olivier Girard <olivier@openshot.org>
# Contributor: Olivier Girard <olivier@openshot.org>
pkgname=corsairmi
# pkgver=r11.4e7adcz
pkgver=r15.4e7adc2
pkgrel=1
pkgdesc="read monitoring information out of Corsair RMi and HXi series of PSUs"
arch=('x86_64')
url="https://github.com/notaz/corsairmi"
license=('GPL')
# depends=('glibc')
makedepends=('git' 'make')
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=("$pkgname::git+https://github.com/notaz/corsairmi")
md5sums=('SKIP')


pkgver(){
    cd "${pkgname}"
    printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build(){
    cd "$pkgname-$pkgver"
    make
}

package(){
    cd "$pkgname-pkgver"
    install -Dm755 "corsairmi" "$pkgdir/usr/bin/corsairmi"
    install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/pkgname/LICENSE"
}
Et je n'obtiens aucune erreur avec namcap:

namcap -i PKGBUILD 

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#8Messageil y a 4 ans

Dés nouvelles du front. :siffle:siffle

Pas mal de choses ont bougé depuis la création de ce post. Après un essai pas très fructueux d' OpenCorsairLink, j'ai fais une demande de support en vue d'un achat ultérieur d'un AIO au logiciel liquidctl. La discussion très intéressante et instructive qui en a suivi a abouti, le temps que je fasse ce pkbuild pour tester CorsaiRMi par son intégration dans le logiciel de Jonas : Liquidctl.

Non seulement, le monitoring du PSU a été ajouté mais Jonas est allé plus loin : :clap:clap
:bien:bien

Toutes ces fonctions sont dans la version de développement que l'on peut avoir facilement : paquet python-liquidctl-git
Elles seront bientôt disponibles (le 17 novembre) dans la version stable (1.3.0) : paquet python-liquidctl

Cela a été possible grâce à l'aide apporter à Jonas et aussi et surtout à sa réactivité. Tout ceci pour dire que les fonctionnalités disponibles sur iCue sont maintenant disponibles sur Linux grâce à liquidctl. A noter qu'un rétro-portage partiel (sur) ou total (pas sur) de l'auteur au projet de audiohacked =OpenCorsairLink est prévu.

---

A noter que le support pour les PSU Seasonic/NZXT-E Series est en cours et suit le même chemin que celui pour les PSU Corsair. On assiste là aussi à l’implantation de la gestion du ventilateur mais de l'aide serait le bienvenu
afin de finaliser celui-ci.

---
Si vous avez une alimentation de type Corsair RMI/HIX ou Seasonic-NZXT-E et que vous voulez faire avancer le smilblick, rendez-vous sur les PR 57 et 44. Jonas vous aiguillera. En ce qui concerne la PR 57, tout est implanté, seul des tests sont encore nécessaires car on a pas pu stresser (et donc faire monter les Watts ) à + de 280 W alors qu'il y en a encore sous le capot. Le but étant d'atteindre 400-450W mais ma carte graphique n'a pas aidée. :saispas:

Le support du boîtier NZXT HUE 2 est en cours. :clap:clap

liquidctl est un programme en ligne de commande. Il existe cependant des GUI (GKraken et NZXQt). Toutefois, ces GUI n’intègrent pas toutes les fonctionnalités (dont celles-ci).

Un dernier conseil quand vous testerez la variation du ventilateur: :siffle
Pensez à la fin du test de repasser dans le terminal la commande que vous avez passer au début cad :
sudo liquidctl initialize
Cette 2eme commande arrêtera liquidctl.
Répondre