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 1 semaine

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 Cenwen le 10 Sep 2019, 17:09, modifié 1 fois.

Demande de vérification d'un PKGBUILD pour CorsaiRMi

#2Messageil y a 1 semaine

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 1 semaine

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 1 semaine

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 1 semaine

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 1 semaine

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 6 jours

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 

Répondre