Changes

6,423 bytes added ,  13:17, 19 June 2014
Aggiunto link alla pagina dedicata a K3b, TDE e Slackware 14.0
Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: [http://www.giustetti.net/wiki/index.php?title=En/TDE_k3b English] - '''Italiano'''

----

== K3B ==
[[trinity_desktop_environment#Applicazioni]]

'''K3b''' è una delle '''applicazioni per la scrittura di CD e DVD più diffuse in Linux'''. Il programma non scrive direttamente i supporti ottici, fornisce invece una comoda interfaccia grafica per gli strumenti a riga di comando diffusi sulle piattaforme Unix: cdrecord, cdrdao, mkisofs recentemente rinominato genisofs e growisofs. K3b supporta inoltre molti codec e filtri esterni che permettono di analizzare CD audio e VideoCD, estrarne ed eventualmente convertirne il formato del contenuto. Il programma si integra perfettamente nel '''Trinity Desktop Environment''' pur essendo opzionale e svincolato dall'ambiente desktop.

== K3b su Slackware ==

Il programma di masterizzazione è stato incluso in Slackware per parecchi anni. Esiste uno script di compilazione che può essere integrato ed aggiornato per la versione distribuita con TDE. K3b viene compilato utilizzando gli '''autotools''' non essendo ancora stato portato a [http://www.cmake.org cmake]. Le seguenti linee guida sono state seguite per compilare un pacchetto funzionante:
* La directory '''/opt/trinity''' e' stata imposta come root per il pacchetto.
* I makefile mancanti sono stati creati mediante l'ausilio del comando '''make''' lanciato nella directory principale del codice sorgente.
* È stata '''applicata una patch''' per '''risolvere un conflitto di versione relativo a libtool''': Il codice sorgente fa riferimento alla versione 2.2.6, ma Slackware 14.0 installa la più recente 2.4.2.
* È stato aggiunto un link simbolico al file doinst.sh. Tale link è necessario perchè '''K3bsetup''' rilevi con successo la libreria '''kcm_k3bsetup2.la'''. Maggiori dettagli sono forniti in seguito.
* Sono state impostate alcune opzioni specifiche per pacchetto in fase di configurazione: '''--docdir''', '''--without-cdrecord-suid-root''' e '''--enable-ffmpeg-all-codecs'''.

Sono di seguito riportate alcune righe dello script di compilazione corredate dai relativi commenti.

Alcuni script di configurazione richiesti dalla procedura non sono presenti nel codice sorgente decompresso. Per crearli si fa ricorso al comando make:
# Prepare the package for building (Create the configure script).
echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log
make -f admin/Makefile.common \
2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
Deve essere applicata una patch onde risolvere un conflitto di versione per il pacchetto '''libtool''':
# Patch the admin/ltmain.sh script in order to solve a version mismatch.
patch -p0 -i ${SRCDIR}/ltmain_version_update.patch
'''Lo script deve imporre esplicitamente i percorsi delle librerie Qt''' affinchè sia possibile reperire le stesse durante la compilazione:
# Add temporary paths to handle new libraries during build
export QTDIR=/opt/trinity
export PATH=/opt/trinity/bin:/usr/bin:$PATH
export LIBDIR=/usr/lib${LIBDIRSUFFIX}
export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/lib${LIBDIRSUFFIX}
export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH
Infine deve lanciare il comando '''./configure''' per configurare il codice sorgente secondo i parametri dell'ambiente di destinazione:
# Configure the package
LDFLAGS="${SLKLDFLAGS}" \
CFLAGS="${SLKCFLAGS}" \
CXXFLAGS="${SLKCFLAGS}" \
../${PRGNAM}-${VERSION}/configure \
--prefix=${PREFIX} \
--sysconfdir="/etc/trinity" \
--libdir=${LIBDIR} \
'''--docdir=/usr/doc''' \
--mandir=${PREFIX}/man \
--with-qt-dir=${QTDIR} \
--with-qt-includes=${PREFIX}/include \
--with-qt-libraries=${PREFIX}/lib${LIBDIRSUFFIX} \
--disable-rpath \
'''--without-cdrecord-suid-root''' \
'''--enable-ffmpeg-all-codecs''' \
2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log
A configurazione ultimata, sarà possibile procedere lanciando il comando make per eseguire le restanti operazioni di pacchettizzazione.

Ultimata la compilazione, durante la fase di installazione dei binari e dei file a corredo, un embrione del file '''doinst.sh''' contenete un link simbolico viene copiato nella directory dedicata agli script di installazione:
# Add some links needed by Quanta to find plug-ins
if [ -f ${SRCDIR}/doinst.sh ]; then
cat ${SRCDIR}/doinst.sh >> ${PKG}/install/doinst.sh
fi

Una versione completa dello script può essere scaricata dal seguente [http://www.giustetti.net/resource/slackbuild/tde/35132/k3b.tar.gz link]. Il pacchetto ottenuto potrà essere installato facendo ricorso al comando '''installpkg''' come è consuetudine in Slackware Linux.

== K3bsetup ==

'''K3bsetup''' è il '''programma di configurazione di K3b''' utile per rilevare i dispositivi ottici ed impostare i permessi di lettura e scrittura sugli stessi in modo da '''non dover operare K3b mediante un'utenza amministrativa'''. Purtroppo '''K3bsetup non sembra trovare una libreria necessaria al suo funzionamento''' nonostante questa sia correttamente compilata ed installata nel sistema. Il problema si risolve includendo nel file doinst.sh alcune righe che provvedono a creare il link statico alla libreria durante l'installazione del pacchetto. Nel caso in cui all'avvio '''K3bsetup mostri un messaggio di errore in cui lamenta la mancanza della libreria kcm_k3bsetup2.la''', qualcosa non deve aver funzionato come previsto. Sarà necessario creare il link a mano lanciando il seguente comando:
'''ln''' ''-s'' /usr/lib/trinity/kcm_k3bsetup2.la /opt/trinity/lib/trinity/kcm_k3bsetup2.la
Nel caso in cui la directory /opt/trinity/lib/trinity non esista, può essere creata lanciando il comando:
'''mkdir''' ''-p'' /opt/trinity/lib/trinity


Per commenti, consigli, domande inviate una e-mail all'indirizzo ''studiosg [chiocciola] giustetti [punto] net''.


Link esterni
----
* [http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild Istruzioni per compilare TDE]
* [http://www.k3b.org/ Home page di K3b (in inglese)]
* [http://it.wikipedia.org/wiki/K3b Pagina di wikipedia dedicata a K3b]

----

Lingue: [http://www.giustetti.net/wiki/index.php?title=En/TDE_k3b English] - '''Italiano'''