Page 1 sur 1

[PKGBUILD] Aide pr faire 1 package avec le RPM LightScribe

Publié : mer. 01 nov. 2006, 18:48
par kozaki
Faute de pv utiliser lightscribe sous Qemu+Wiwi je dois rebooter du côté sombre de la Force et interrompre tout pendant la demi-heure que prend une gravure en LightScribe :(
C'est vous dire comme ce serait pratique d'avoir cette application sous AL.

Or LaCie a sorti 4L pour Linux, en 5 langues dont le français :D ... comme RPM : 4L-1.0-r6.i586.rpm lightscribe-1.4.113.1-linux-2.6-intel.rpm

La news sur k3b : http://www.k3b.org/ (LaCie is a k3b support)
sur LaCie : http://www.lacie.com/company/news/news.htm?id=10293
Téléchargement : http://www.lacie.com/products/product.htm?pid=10803

Qqn sait comment construire le PKGBUILD à partir des fichiers extraits avec rpmextract.sh ?
rpmextract.sh 4L-1.0-r6.i586.rpm
./usr/4L/4L-cli
./usr/4L/4L-gui
./usr/4L/doc/4L_User_Manual.pdf
./usr/4L/lacie_website.sh
./usr/4L/templates/content.png
./usr/4L/templates/full.png
./usr/4L/templates/title.png
./usr/4L/translations/4L-gui_de.qm
./usr/4L/translations/4L-gui_es.qm
./usr/4L/translations/4L-gui_fr.qm
./usr/4L/translations/4L-gui_it.qm
./usr/4L/translations/4L-gui_ja.qm
./usr/bin/4L-cli
./usr/bin/4L-gu
rpmextract.sh lightscribe-1.4.113.1-linux-2.6-intel.rpm
./etc/lightscribe.rc
./usr/lib/liblightscribe.so
./usr/lib/liblightscribe.so.1
./usr/lib/lightscribe
./usr/lib/lightscribe/res
./usr/lib/lightscribe/res/lsdb0068.bin
./usr/lib/lightscribe/res/lsdb0069.bin
...
./usr/lib/lightscribe/res/lsdb008b.bin
./usr/lib/lightscribe/res/lsdb008d.bin
./usr/lib/lightscribe/updates
./usr/lib/lightscribe/updates/fallback.sh
./usr/share/doc/lightscribeLicense.rtf
J'imagine qu'il faut installer les fichiers aux bons emplacements (dans $startdir/pkg), càd les bin dans /usr/bin, les lib dans /usr/lib, etc. ?

Ou si vous connaissez un PKGBUILD proche que je regarde comment c'est fait --> :)

Publié : mer. 01 nov. 2006, 19:02
par wain
1ère solution:
Créer les dossiers:

Code : Tout sélectionner

install -d -m 755 $startdir/pkg/usr/lib/lightscribe/{res,updates}
Puis copier les fichiers:

Code : Tout sélectionner

install -m 755 $startdir/src/* $startdir/pkg/usr/lib/
2ème solution:
Pour copier un fichier (ici licence.rtf) dans le dossier ...pkg/usr/share/ qu'on crée en même temps

Code : Tout sélectionner

install -d -m 644 $startdir/src/lightscibeLicence.rtf $startdir/pkg/usr/share/doc/lightscibeLicence.rtf
Pour la deuxième solution, il faut malheureusement indiquer fichier par fichier

Publié : mer. 01 nov. 2006, 20:21
par chipster
:sm: :kungfu:
rooo qu'il est pas beau ton topic :P
Bon, je te passe un lien qu'il faut que tu lises pour poster correctement sur le forum.
Je te laisse le soin de modifier celui-ci et si jamais tu as un quelconque soucis, vu que je suis ton sujet, tu me fais signes :)

Publié : mer. 01 nov. 2006, 21:32
par kozaki
Quoi ça ?
Est-ce le formatage du titre ?
Comment se servir du forum a écrit :Le format choisi est : [THÈME] description (état)
C'est ça, ou il y a autre chose à changer pour poster-correctement-sur-le-forum ?

Publié : mer. 01 nov. 2006, 21:45
par chipster
kozaki a écrit :Quoi ça ?
Est-ce le formatage du titre ?
Comment se servir du forum a écrit :Le format choisi est : [THÈME] description (état)
C'est ça, ou il y a autre chose à changer pour poster-correctement-sur-le-forum ?
Oui c'est pour le formatage du topic (titre) :)
une fois modifié, non tu n'auras plus rien à faire sauf une fois ton problème résolu. Il faudra alors rajouter (résolu) à la fin de ton sujet (topic) ... et c'est tout :)

Publié : jeu. 02 nov. 2006, 21:07
par kozaki
1ère version du PKGBUILD lightscribe ; *non finie* mais makepkg se termine bien.
Vos suggestions sont bienvenues
Notez, c'est mon 1er PKGBUILD et je me doute que c'est pas très propre et très améliorable.
Que fait "install -D -m755 [binaire(s)] $startdir/pkg/..." (on voit ça dans qlqs PKGBUILD) ?

Code : Tout sélectionner

# Contributor: kozaki <kozaki@guides-info.org>

pkgname=lightscribe
pkgver=1.4.113.1
pkgrel=1
pkgdesc="LightScribe Host Software v1.4.113.1 for Linux"
url="http://www.lacie.com/company/news/news.htm?id=10293"
license=('custom')
depends=('libstdc++5')
makedepends=('rpmextract')
depends=(rpmextract)
source=(http://www.lacie.com/download/drivers/lightscribe-1.4.113.1-linux-2.6-intel.rpm)
md5sums=('9a692c0fa12501598d5c495f028e2a3e')

build() {
        # Extract RPM
        rpmextract.sh $pkgname-$pkgver-linux-2.6-intel.rpm

        install -d $startdir/pkg/etc
        install -d $startdir/pkg/usr/lib/lightscribe/{res,updates}
        # ou : install -d $startdir/pkg/opt/lightscribe/{res,updates} mais faut modifier etc/lightscribe.rc...
        install -d $startdir/pkg/usr/share/doc

        cp etc/lightscribe.rc $startdir/pkg/etc
        cp usr/lib/liblightscribe.so $startdir/pkg/usr/lib
        cp usr/lib/liblightscribe.so.1 $startdir/pkg/usr/lib
        cp -R usr/lib/lightscribe/res $startdir/pkg/usr/lib/lightscribe
        cp usr/lib/lightscribe/updates/fallback.sh $startdir/pkg/usr/lib/lightscribe/updates
        find $startdir/pkg/usr/lib -type f -exec chmod 644 {} \;
        find $startdir/pkg/usr/lib -type d -exec chmod 755 {} \;
        chmod 755 $startdir/pkg/usr/lib/lightscribe/res/*
        chmod 755 $startdir/pkg/usr/lib/lightscribe/updates/fallback.sh
        cp usr/share/doc/lightscribeLicense.rtf $startdir/pkg/usr/share/doc
        }
Ce que je pigeais mal dans cette appli c'est qu'il y a 32 .bin et un .sh !?
En fait le binaire qui la lance est dans le 1er rpm (4L-1.0-r6.i586.rpm) :
./usr/bin/4L-cli
./usr/bin/4L-gui
etc/lightscribe.rc :

Code : Tout sélectionner

ResourceDir=/usr/lib/lightscribe/res;
UpdateScriptDir=/usr/lib/lightscribe/updates;

Publié : jeu. 02 nov. 2006, 23:11
par kozaki
Essai de PKGBUILD pour 4L (LaCie’s LightScribe Labeler for Linux) :

Code : Tout sélectionner

# Contributor: kozaki <kozaki@guides-info.org>

pkgname=4l
pkgver=1.0r6
pkgrel=1
pkgdesc="LaCie’s LightScribe Labeler for Linux"
url="http://www.lacie.com/company/news/news.htm?id=10293"
license=('custom')
depends=('fontconfig' 'lightscribe')
makedepends=('rpmextract')
source=(http://www.lacie.com/download/drivers/4L-1.0-r6.i586.rpm)
md5sums=('11fc8b2daeaed2b61a567056413bdefd')

build() {
        # Extract RPM
        rpmextract.sh 4L-1.0-r6.i586.rpm

        # Copying binaries and data files
        install -d $startdir/pkg/opt/4L/{doc,templates,translations}
        install -d $startdir/pkg/usr/bin
        cp usr/4L/4L-cli $startdir/pkg/opt/4L
        cp usr/4L/4L-gui $startdir/pkg/opt/4L
        cp usr/4L/lacie_website.sh $startdir/pkg/opt/4L
        cp usr/4L/doc/4L_User_Manual.pdf $startdir/pkg/opt/4L/doc
        cp -R usr/4L/templates $startdir/pkg/opt/4L
        cp -R usr/4L/translations $startdir/pkg/opt/4L
        find $startdir/pkg/opt/4L -type f -exec chmod 644 {} \;
        # find $startdir/pkg/opt -type d -exec chmod 755 {} \; --> supprimer le bit SUID ??
        ln -s /opt/4L/4L-cli $startdir/pkg/usr/bin/4L-cli
        ln -s /opt/4L/4L-gui $startdir/pkg/usr/bin/4L-gui
        }
L'éxécutable en ligne de commande de 4L-1.0-r6.i586.rpm vient avec un bit SUID :
-rwsr-xr-x 1 kozaki users 60540 aoû 10 15:20 4L-cli
Vu qu'un progr SUID utilise l'identité de root quand ils est exécuté, c'est un gros problème de sécurité ! On en est averti avec des progrs comme cdrecord ou cdrdao.
Que puis-je faire pour éviter d'en faire une cible pour les attaques de type "Buffer overlow" et les remplacements par des chevaux de Troie ? virer le SUID ? lui donner un groupe genre 'optical' ? prévenir l'utilisateur ?

Publié : ven. 03 nov. 2006, 21:07
par marc[i1]
Salut,

je connais pas lightScribe mais si le bit SUID est utile pour l'execution du programme ...

Question con :D
ça sers à quoi LightScribe ?

Publié : ven. 03 nov. 2006, 23:40
par kozaki
4L: LaCie LightScribe Labeler pour Linux
Gravez des étiquettes de haute qualité à l’aide de votre graveur de DVD
La technologie LightScribe permet de graver des étiquettes de qualité sérigraphique sur CD ou DVD compatibles LightScribe directement à partir du graveur, sans avoir besoin d’aucune autre fourniture. Le logiciel LightScribe Labeler pour Linux de LaCie permet de graver des étiquettes directement sur les disques gravés avec K3b.
info

Sinon, 4l-cli affiche bien les options mais fait une erreur de segmentation si je lui donne le path du graveur dvd compatible lightscribe
4L-gui se lance bien... mais trouve pas le graveur :(