Amarok 1.4.8 e Mysql come backend

Image Hosted by ImageShack.us

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:

 

impostazioni

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.

 

phpmyadmin

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. ;)

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Questa domanda serve per verificare che tu sia un visitatore umano (non un computer) e per prevenire lo spam
11 + 7 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.