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

... 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:
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
rooo qu'il est pas beau ton topic

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

ç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
