Difference between revisions of "TDE k3b"
(Aggiunto link alla pagina dedicata a K3b, TDE e Slackware 14.0) |
(Aggiornamento pagine a nuova struttura) |
||
Line 1: | Line 1: | ||
− | + | {{header_it|title=Compilazione di K3b per TDE| keyword={{Template:keyword_it_tde}}| description=Compilare un pacchetto funzionante di K3b per il Trinity Desktop Environment e Slackware Linux | link_page=En/TDE_k3b}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
== K3B == | == K3B == | ||
− | [[trinity_desktop_environment#Applicazioni]] | + | [[trinity_desktop_environment#Applicazioni | 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''' è 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. | ||
Line 14: | Line 9: | ||
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: | 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 | + | * 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. | * 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. | * È 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. | ||
Line 23: | Line 18: | ||
Alcuni script di configurazione richiesti dalla procedura non sono presenti nel codice sorgente decompresso. Per crearli si fa ricorso al comando make: | Alcuni script di configurazione richiesti dalla procedura non sono presenti nel codice sorgente decompresso. Per crearli si fa ricorso al comando make: | ||
+ | <syntaxhighlight lang="bash"> | ||
# Prepare the package for building (Create the configure script). | # Prepare the package for building (Create the configure script). | ||
echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log | echo "(II) admin makefile run here" >> ${OUTPUT}/${PRGNAM}_configure.log | ||
make -f admin/Makefile.common \ | make -f admin/Makefile.common \ | ||
2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log | 2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log | ||
+ | </syntaxhighlight> | ||
Deve essere applicata una patch onde risolvere un conflitto di versione per il pacchetto '''libtool''': | Deve essere applicata una patch onde risolvere un conflitto di versione per il pacchetto '''libtool''': | ||
+ | <syntaxhighlight lang="bash"> | ||
# Patch the admin/ltmain.sh script in order to solve a version mismatch. | # Patch the admin/ltmain.sh script in order to solve a version mismatch. | ||
patch -p0 -i ${SRCDIR}/ltmain_version_update.patch | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch | ||
+ | </syntaxhighlight> | ||
'''Lo script deve imporre esplicitamente i percorsi delle librerie Qt''' affinchè sia possibile reperire le stesse durante la compilazione: | '''Lo script deve imporre esplicitamente i percorsi delle librerie Qt''' affinchè sia possibile reperire le stesse durante la compilazione: | ||
+ | <syntaxhighlight lang="bash"> | ||
# Add temporary paths to handle new libraries during build | # Add temporary paths to handle new libraries during build | ||
export QTDIR=/opt/trinity | export QTDIR=/opt/trinity | ||
Line 37: | Line 37: | ||
export LD_LIBRARY_PATH=/usr/lib${LIBDIRSUFFIX}:/opt/trinity/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 | export PKG_CONFIG_PATH=:/usr/lib${LIBDIRSUFFIX}/pkgconfig:/opt/trinity/lib${LIBDIRSUFFIX}/pkgconfig:$PKG_CONFIG_PATH | ||
+ | </syntaxhighlight> | ||
Infine deve lanciare il comando '''./configure''' per configurare il codice sorgente secondo i parametri dell'ambiente di destinazione: | Infine deve lanciare il comando '''./configure''' per configurare il codice sorgente secondo i parametri dell'ambiente di destinazione: | ||
+ | <syntaxhighlight lang="bash"> | ||
# Configure the package | # Configure the package | ||
LDFLAGS="${SLKLDFLAGS}" \ | LDFLAGS="${SLKLDFLAGS}" \ | ||
Line 55: | Line 57: | ||
'''--enable-ffmpeg-all-codecs''' \ | '''--enable-ffmpeg-all-codecs''' \ | ||
2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log | 2>&1 | tee -a ${OUTPUT}/${PRGNAM}_configure.log | ||
+ | </syntaxhighlight> | ||
A configurazione ultimata, sarà possibile procedere lanciando il comando make per eseguire le restanti operazioni di pacchettizzazione. | 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: | 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: | ||
+ | <syntaxhighlight lang="bash"> | ||
# Add some links needed by Quanta to find plug-ins | # Add some links needed by Quanta to find plug-ins | ||
if [ -f ${SRCDIR}/doinst.sh ]; then | if [ -f ${SRCDIR}/doinst.sh ]; then | ||
cat ${SRCDIR}/doinst.sh >> ${PKG}/install/doinst.sh | cat ${SRCDIR}/doinst.sh >> ${PKG}/install/doinst.sh | ||
fi | fi | ||
+ | </syntaxhighlight> | ||
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. | 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. | ||
Line 69: | Line 74: | ||
'''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: | '''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 | '''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: | + | Nel caso in cui la directory ''/opt/trinity/lib/trinity'' non esista, può essere creata lanciando il comando: |
'''mkdir''' ''-p'' /opt/trinity/lib/trinity | '''mkdir''' ''-p'' /opt/trinity/lib/trinity | ||
Line 84: | Line 89: | ||
---- | ---- | ||
− | + | {{footer_it | link_page=En/TDE_k3b}} |
Revision as of 17:50, 21 December 2016
Benvenuti nella pagina Wiki di Simone Giustetti.
Lingue: English - Italiano
K3B
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