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
- 806 letture
Versione stampabile




















Commenti
ma che scazzo... io conosco
ma che scazzo...
io conosco bene Mysql (veramente conosco meglio Oracle), ma giudico inammissibile l'integrazione di questo in un player multimediale
se proprio ne valesse la pena, la cosa dovrebbe essere totalmente trasparente all'utente
Non conosco bene la versione
Non conosco bene la versione dei repository (non so se e' compilata con supporto mysql..non me lo ricordo) ma credo sia per questo motivo che e' mysql sia stato lasciato come seconda scelta...solo che sqlite e' davvero inefficiente.
io non ci vedo niente di
io non ci vedo niente di male ad avviare un server mysql anche 'solo' per amarok
siamo nel 2008
andiamo con i dual core
2 giga di ram
se c'e' ben venga
IMHO è :D
comunque amarok (almeno in
comunque amarok (almeno in debian), funziona con sqlite, mysql, postgre, - out of the box -. ovviamente installando il relativo servizio :)
quindi
dovrebbe esser tale pure su k/ubuntu penserei :)
@LuNa Ma amarok e' uno di
@LuNa
Ma amarok e' uno di quei programmi, come firefox, che devi avere per forza l'ultimissima versione installata, anzi se possibile pure svn..
:D
luna@debian64:~/Desktop$
luna@debian64:~/Desktop$ /opt/kde4/bin/amarok --versionQt: 4.3.3
KDE: 4.00.61 (KDE 4.0.61 >= 20080207)
Amarok: 2.0-SVN
luna@debian64:~/Desktop$
che dicevi scusa ? :D
@Luna pero' a qt4 sei
@Luna
pero' a qt4 sei indietro..
lol
E PostgreSQL quanto a
E PostgreSQL quanto a velocità a che punto è rispetto a MySQL?
Se a me il supporto per gli iPod non serve posso compilare tranquillo senza --with-libgpod?
@Spiros si puoi
@Spiros
si puoi tranquillamente saltare quella opzione.
Quanto a PostgreSQL non ne ho idea...
Sei semplicemente un
Sei semplicemente un Maestro! :D
Invia nuovo commento