25
2011
Spotify en Gentoo sin Wine
Esta mañana ha empezado a darme problemas Spotify con Wine, intentaba ir a una lista de reproducción almacenada previamente en el programa y se cerraba continuamente. Recordé que existía una versión Linux para cuentas Unlimited y Premium. Una vez introducido mi usuario y clave en la página de Spotify he vuelto a visitar la página de descargas para linux, con la misma decepción que hace unos meses sólo soporte para distribuciones de paquetería .deb Debian/Ubuntu y derivados. Esta vez he decidido dar un paso más allá e intentar hacer funcionar la versión de Linux de Spotify en Gentoo.
La primera acción ha sido entrar en la página de descargas de los paquetes .deb y bajar el fichero spotify-client-qt_0.6.2.291.gcccc1f5.116-1_amd64.deb, ya que en mi caso tengo el sistema compilado para 64 Bits, si tu sistema está compilado para 32 Bits descarga el otro fichero, todas las instrucciones que os voy a comentar a partir de ahora son igual para cualquiera de las dos plataformas, todos los comandos los ejecutaremos desde el usuario root.
A continuación necesitaremos la ayuda de alien, un comando que extraerá el contenido del paquete .deb dentro de un directorio. Si no lo tenemos instalado lo instalamos con emerge app-arch/alien, y una vez hecho esto usamos la orden alien -g spotify-client-qt_0.6.2.291.gcccc1f5.116-1_amd64.deb. Esta orden nos va a generar dos directorios spotify-client-qt-0.6.2.291.gcccc1f5.116 y spotify-client-qt-0.6.2.291.gcccc1f5.116.orig, nos metemos dentro del directorio que termina en orig y copiamos la carpeta usr en nuestro directorio de sistema usr, a partir de aquí el binario para ejecutar Spotify se encontrará en /usr/bin/spotify. Normalmente si lo intentamos ejecutar no funcionará ya que el binario de spotify depende de las siguientes librerías qt y openssl: qt-dbus, qt-webkit, qt-core, qt-gui y openssl versión 0.9.8, ejecutamos emerge qt-dbus qt-webkit qt-core qt-gui openssl:0.9.8 para instalarlas, si aún así sigue sin funcionarnos podemos averiguar que otras librerías necesita con la orden ldd /usr/bin/spotify.
Una vez que ya tenemos Spotify funcionando, pienso ¿y si sacan una actualización del programa como me entero? … Aquí os dejo mi aportación personal …
#!/usr/bin/perl use strict; use Config; #Is necesary dev-perl/libwww-perl use LWP::Simple; #Is necesary dev-perl/File-HomeDir use File::HomeDir; my $version; my $versionfile; my $file = File::HomeDir->my_home . "/.spocheck"; my $url = "http://repository.spotify.com/pool/non-free/s/spotify/"; my $content = get($url); die "No puedo traer $url" unless defined $content; if ( $Config{myarchname} eq 'x86_64-linux' ) { ($version) = ( $content =~ /\>spotify-client-qt.*amd64.deb/gi ); } else { ($version) = ( $content =~ /\>spotify-client-qt.*i386.deb/gi ); } $version =~ s/>//ig; if ( -e $file ) { &readfile; } else { &createupdatefile; } sub createupdatefile { open( FILE, ">$file" ); flock( FILE, 2 ); printf FILE $version; flock( FILE, 8 ); close(FILE); } sub readfile { open( FILE, $file ); $versionfile = ; close(FILE); if ( $version ne $versionfile ) { print "New version available: $version"; &createupdatefile; } } exit;
Sólo queda guardar este fichero en cualquier directorio con permisos de ejecución (/bin, /usr/bin …), con el nombre spotify.pl y añadir su ejecución semanalmente en una tarea programada (crontab). Cuando exista una nueva versión en la web el sistema nos avisará con un correo electrónico, siempre y cuando tengamos bien configurados los avisos de correo electrónico en las crontabs.
Entradas relacionadas
Archivo
- abril 2020 (1)
- marzo 2020 (1)
- abril 2012 (1)
- febrero 2012 (1)
- diciembre 2011 (3)
- noviembre 2011 (2)
- septiembre 2011 (2)
- agosto 2011 (2)
- julio 2011 (2)
- junio 2011 (3)
- abril 2011 (1)
- marzo 2011 (7)
- febrero 2011 (6)