TDE k3b

From Studiosg
Jump to: navigation, search

Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: English - Italiano


K3B

TDE - 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 cmake. Le seguenti linee guida sono state seguite per compilare un pacchetto funzionante:

  • La directory /opt/trinity è 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 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





Lingue: English - Italiano