a Last.fm 'plugin' client for MPD, implemented in Python.
Created attachment 90129 [details] ebuild and related files
Created attachment 90134 [details] ebuild
Created attachment 90135 [details] initscript
Created attachment 90136 [details] conf file
Created attachment 97649 [details] lastfmsubmitd-0.33.ebuild
Created attachment 97650 [details] files/lastfmsubmitd-0.33.patch Avoids lastfmsubmitd dying when the server does not respond.
Created attachment 97651 [details] files/lastfmsubmitd.conf Example lastfmsubmitd.conf
Created attachment 97652 [details] files/lastmp.conf Example lastmp.conf
Created attachment 97654 [details] files/init/lastmp Initscript for lastmp (splitted from the existing lastfmsubmitd one)
Created attachment 97655 [details] files/init/lastfmsubmitd Updated initscript for lastfmsubmitd (splitted lastmp to its own initscript)
I have attached an updated ebuild for version 0.33, a small patch which prevents the lastfmsubmitd daemon from dying when the server times out, and splitetd initscripts for lastmp/lastfmsubmitd. Also, the spool directory (/var/spool/lastfm) is set with the sticky bit, so processes writing submissions in the spool dir do not need to be running as the "lastfm" user. The "lastfm" user is created at merge, so lastfmsubmitd does not need to run as "root". I hope you will find this behaviour somewhat more secure. Cheers
Moving lastfmsubmitd-0.33.ebuild and lastfmsubmitd-0.33.patch to lastfmsubmitd-0.36.ebuild and lastfmsubmitd-0.36.patch compiles and installs the latest version properly for me. Tested for a few hours, works like a charm here. $ emerge --info Portage 2.1.3.19 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22-gentoo-r9-20071118 x86_64) ================================================================= System uname: 2.6.22-gentoo-r9-20071118 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ Timestamp of tree: Tue, 25 Dec 2007 02:15:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r6 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23-r2 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=k8" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=k8" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.snt.utwente.nl/pub/os/linux/gentoo" LANG="en_GB.UTF-8" LC_ALL="en_GB.UTF-8" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acl alsa amd64 bash-completion berkdb bitmap-fonts bzip2 cdparanoia cdr cli cracklib crypt cups directfb dri dts dvd dvdr encode exif fam firefox flac fortran ftp gdbm gif gpm iconv imap ipv6 isdnlog jpeg midi mmx mp3 mpeg mudflap ncurses nls nptl nptlonly nsplugin ogg openal opengl openmp pam pcre pda perl png pppd python quicktime readline reflection samba session spl sse sse2 ssl svg tcpd threads tiff truetype-fonts type1-fonts unicode vcd vorbis wmf xml xorg xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Works also with media-sound/moc with additional script http://files.lukeplant.fastmail.fm/public/moc_submit_lastfm It might be a good idea to add support for the other console player in ebuild (myself, I don't know how :) )
I would like to see this ebuild accepted into the portage tree. Apparently it was submitted more than *two* years ago ! I would change the description, because it is not specific to MPD, nor to any other particular music player.
Anybody in sound willing to take over my work?
Feel free to takeover and add sound as backup herd.
MPD 0.15 has it's own input plugin for Last.fm and third-party plugin is not needed anymore.
I don't agree. This plugin is not only usable with MPD. I use it with media-sound/moc and also sometimes directly from console.
(In reply to comment #18) > I don't agree. This plugin is not only usable with MPD. I use it with > media-sound/moc and also sometimes directly from console. > I'll take your word for it; reopening.
Created attachment 198749 [details] lastfmsubmitd-1.0.5.ebuild Thanks. Here is an ebuild for new version (without MPD stuff - so it obsoletes files/init/lastmp files/lastmp.conf). From what I conclude from changelog, patch is still necessary.
(In reply to comment #17) > MPD 0.15 has it's own input plugin for Last.fm and third-party plugin is not > needed anymore. > MPD has experimental INPUT from lastfm radio lastfmsubmitd is about submitting data about listened songs to last.fm
But in portage there is media-sound/mpdscribble. I don't use mpd so I don't know if it works.
*** Bug 288150 has been marked as a duplicate of this bug. ***
This package is needed for the currently only Amarok 2.x script[1] to scrobble to Libre.fm[2] -.-.- [1] http://kde-apps.org/content/show.php/Amarok2LibreFM?content=107339 [2] http://libre.fm — something like Last.fm, only abiding the GNU policies and intended only for free/libre music.
lastfmsubmitd-1.0.6 is available. This software is also used by Bongo music player for GNU Emacs. Please note that system-wide daemon is not necessary since you can run lastfmsubmitd from current user and set your login/password data in `~/.lastfmsubmitd/conf`! This is important for shared desktops.
Just got this when it crashed (regularly): /usr/bin/lastfmsubmitd:9: DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5 So, I made the change and it works. If this hasn't been done by upstream in 1.0.6 yet, it might be a good idea to patch it.