Amarok 1.4.8 e Mysql come backend

Dopo aver visto con i miei occhi quanto sia immancabilmente piu' veloce con il supporto a mysql, ho deciso di ricompilare Amarok estrapolando l'essenziale da questo wiki.
Non e' facile trovare qualche howto su come abilitare i supporti essenziali (infatti non ho trovato molte informazioni), quindi dobbiamo basarci sull'help del file configure:
./configure --help
che spiega sommariamente la sintassi per aggiungere i plugin.
- Dipendenze -
Sono tante..si, ma fortunatamente quelle che interessano a noi per la compilazione sono le seguenti:
sudo apt-get install libtag1-dev libgpod-dev libmusicbrainz4-dev libkonq4-dev ruby1.8-dev libxine-dev kdelibs4-dev
- Cosa bisogna sapere prima di iniziare:
- Conoscenze LAMP
- Conoscenze comandi mysql
- Conoscenze compilazione programmi da sorgenti
NB: Naturalmente si da' per scontato che abbiamo gia' precedentemente installato e configurato il database mysql (versione per Ubuntu 7.10)
mysql Ver 14.12 Distrib 5.0.45, for pc-linux-gnu (i486) using readline 5.2
Scarichiamo i sorgenti di Amarok (1.4.8):
Scompattiamoli nella /home:
tar xjvf amarok-1.4.8.tar.bz2 cd amarok-1.4.8
Configuriamo i sorgenti con le seguenti opzioni:
./configure --enable-mysql --with-libgpod
================
=== Amarok - PLUGINS =======
==========================
=
= The following extra functionality will NOT be included:
= - NMM-engine
= - Helix-engine
= - yauap-engine
= - libvisual Support
= - Postgresql Support
= - Konqueror Sidebar
= - MusicBrainz Support
= - MP4/AAC Tag Write Support
= - iRiver iFP Support
= - Creative Nomad Jukebox Support
= - MTP Device Support
= - Rio Karma Support
=
= The following extra functionality will be included:
= + xine-engine
= + MySql Support
= + iPod Support
= + DAAP Music Sharing Support
=
=============================
Molti supporti risulteranno come non-abilitati ..ma non c'e' nessun problema (libgpod serve ai possessori di lettori multimediali iPod)
Completiamo ora l'installazione con:
make sudo make install
- Configurazione Database -
Le precedenti versioni di Amarok dovrebbero funzionare lo stesso con mysql 5.0.45, anche se e' preferibile utilizzare il mysql 4 per problemi di doppia immissione di dati nel DB. (eventualmente consultare il wiki principale per maggiori dettagli). Se abbiamo abilitato globalmente il set di caratteri UTF-8 dovremo specificarlo nel file
/etc/mysql/my.cnf
, in modo da utilizzarlo per tutte le tabelle che verranno create (con Debian funziona alla stessa maniera) Apriamo il suddetto file con un editor di testo e aggiungiamo l'opzione:
default-character-set = utf8
.. alla fine dei due sottogruppi [client] e [mysqld]:
sudo kate /etc/mysql/my.cnf
Avviamo mysql da /etc/init.d
cd /etc/init.d sudo ./mysql start
Assicuriamoci di fare queste operazioni PRIMA di creare il database, altrimenti bisogna dropparlo e ricominciare dall'inizio della spiegazione.
Se ancora non abbiamo una password per mysql, apriamo un terminale:
mysql -u root
set password for root@localhost = password('xxxxxxx');
flush privileges;
quit; NB: al posto di xxxxx ci andra' la nostra password.
Sempre dal prompt di mysql, creiamo il database coi comandi standard:
mysql -p -u root CREATE DATABASE amarok; USE amarok; GRANT ALL ON amarok.* TO amarok@localhost IDENTIFIED BY 'PASSWORD_CHANGE_ME'; FLUSH PRIVILEGES;
Abbiamo creato il database e un utente "amarok" con password PASSWORD_CHANGE_ME, che naturalmente va impostata.
- Selezionare il nuovo DB -
Apriamo Amarok, e dalle impostazioni selezioniamo "collezione". Qui troveremo i campi per inserire i dati, come nell'immagine sottostante:
NB: Non avviamo nessun brano musicale e non scansioniamo una nuova collezione, altrimenti perderemo il database sqlite3. Tra i workaround proposti, il piu' semplice e' questo:
- Scarcare il tool SQLite Database Browser
- Esportare le statistiche del database in un file di dump, amarok_dump.sql
- Cancellare tutti i comandi SQL (BEGIN TRANSACTION, COMMIT e CREATE)
- Importare il file usando MySQL o, in alternativa, dal pannello di phpmyadmin:
cat amarok_dump.sql | mysql -u root -p amarok
Se riceviamo degli errori, e' possibile che abbiamo messo precedentemente un brano in ascolto. In questo caso dobbiamo aprire il file amarok_dump.sql, cercare la riga errata e cancellare qualsiasi cosa prima di questa (dal momento che i comandi sono gia' stati eseguiti da MySQL, probabilmente riceveremo altri errori).Continuando ad utilizzare la riga errata sara' necessario sostituire INSERT INTO con REPLACE INTO e poi lanciare nuovamente il comando precedente. Questi problemi non sussistono se non abbiamo mai utilizzato nessuna collezione.
C'e' inoltre la possibilita' di fare al contrario, ovvero passare i dati da SQL a MYSQL. Per questi dettagli consultare il wiki originale, il cui link si trova evidenziato in fondo all'articolo.
- Riparare un DB corrotto -
Spesso accade che il database risulti corrotto, e ce ne accorgiamo dai log che mysql lascia in /var/log/messages. Per ripararlo lanciamo mysqlcheck con i privilegi di superutente:
sudo mysqlcheck -p --auto-repair --all-databases
Dopo questo passo sara' possibile selezionare nuovamente la scansione della collezione per aggiornare il database. Ammetto che bisogna perderci un po' di tempo, ma i risultati sono davvero ottimi e ci si accorge di questo quando dobbiamo indicizzare migliaia di brani musicali. ;)
- blog di divilinux
- 491 letture



Invia nuovo commento