rpms/mpd/F-9 95-grant-audio-devices-to-mpd.fdi, NONE, 1.1 mpd.git-1f620ed803e4b5c69b875bb36519c3299022fe9d.patch, NONE, 1.1 mpd.git-ab00513022af940b398601556bfb6256ff220546.patch, NONE, 1.1 mpd.git-de2e69945604f831ece2c4dacf5a545ff1c80056.patch, NONE, 1.1 mpd.init, NONE, 1.1 mpd.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Adrian Reber adrian at rpmfusion.org
Fri Jul 25 22:22:00 CEST 2008


Author: adrian

Update of /cvs/free/rpms/mpd/F-9
In directory se02.es.rpmfusion.net:/tmp/cvs-serv26288

Modified Files:
	.cvsignore sources 
Added Files:
	95-grant-audio-devices-to-mpd.fdi 
	mpd.git-1f620ed803e4b5c69b875bb36519c3299022fe9d.patch 
	mpd.git-ab00513022af940b398601556bfb6256ff220546.patch 
	mpd.git-de2e69945604f831ece2c4dacf5a545ff1c80056.patch 
	mpd.init mpd.spec 
Log Message:
Initial thing


--- NEW FILE 95-grant-audio-devices-to-mpd.fdi ---
<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
  <device>
    <!-- grant access to sound devices to mpd user.. -->
    <match key="info.capabilities" contains="access_control">
      <match key="info.capabilities" contains="alsa">
        <append key="access_control.grant_user" type="strlist">mpd</append>
      </match>
      <match key="info.capabilities" contains="oss">
        <append key="access_control.grant_user" type="strlist">mpd</append>
      </match>
    </match>
  </device>
</deviceinfo>

mpd.git-1f620ed803e4b5c69b875bb36519c3299022fe9d.patch:

--- NEW FILE mpd.git-1f620ed803e4b5c69b875bb36519c3299022fe9d.patch ---
From: jat <jat at 09075e82-0dd4-0310-85a5-a0d7c8717e4f>
Date: Mon, 4 Jun 2007 22:29:55 +0000 (+0000)
Subject: Don't kill the player process (and effectively the decode process) when
X-Git-Url: http://git.infradead.org/?p=users%2Fdwmw2%2Fmpd.git;a=commitdiff_plain;h=1f620ed803e4b5c69b875bb36519c3299022fe9d

Don't kill the player process (and effectively the decode process) when
completely stopped.  Instead, send them SIGSTOP to pause the process until
they're needed again.  Then send them SIGCONT instead of re-spawning them.


git-svn-id: https://svn.musicpd.org/mpd/trunk@6485 09075e82-0dd4-0310-85a5-a0d7c8717e4f
---

diff --git a/src/decode.c b/src/decode.c
index 8ed5776..ce94833 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -75,6 +75,8 @@ static void stopDecode(DecoderControl * dc)
 
 static void quitDecode(PlayerControl * pc, DecoderControl * dc)
 {
+	int pid;
+
 	stopDecode(dc);
 	pc->state = PLAYER_STATE_STOP;
 	dc->seek = 0;
@@ -82,6 +84,10 @@ static void quitDecode(PlayerControl * pc, DecoderControl * dc)
 	pc->stop = 0;
 	pc->pause = 0;
 	kill(getppid(), SIGUSR1);
+
+	pid = decode_pid;
+	if (pid > 0)
+		kill(pid, SIGSTOP);
 }
 
 static int calculateCrossFadeChunks(PlayerControl * pc, AudioFormat * af)
@@ -396,6 +402,14 @@ static void decodeStart(PlayerControl * pc, OutputBuffer * cb,
 static int decoderInit(PlayerControl * pc, OutputBuffer * cb,
 		       DecoderControl * dc)
 {
+	int pid;
+
+	pid = decode_pid;
+	if (pid > 0) {
+		kill(pid, SIGCONT);
+		return 0;
+	}
+
 	blockSignals();
 	getPlayerData()->playerControl.decode_pid = 0;
 	decode_pid = fork();
@@ -691,10 +705,8 @@ void decode(void)
 	dc->stop = 0;
 	dc->start = 1;
 
-	if (decode_pid <= 0) {
-		if (decoderInit(pc, cb, dc) < 0)
-			return;
-	}
+	if (decoderInit(pc, cb, dc) < 0)
+		return;
 
 	decodeParent(pc, dc, cb);
 }
diff --git a/src/player.c b/src/player.c
index e2dc210..beff9b3 100644
--- a/src/player.c
+++ b/src/player.c
@@ -110,6 +110,14 @@ void player_sigChldHandler(int pid, int status)
 
 int playerInit(void)
 {
+	int pid;
+
+	pid = player_pid;
+	if (pid > 0) {
+		kill(pid, SIGCONT);
+		return 0;
+	}
+
 	blockSignals();
 	player_pid = fork();
 	if (player_pid==0)
@@ -155,9 +163,6 @@ int playerInit(void)
 			} else if (pc->cycleLogFiles) {
 				cycle_log_files();
 				pc->cycleLogFiles = 0;
-			} else if (pc->quit) {
-				pc->quit = 0;
-				break;
 			} else
 				my_usleep(10000);
 		}
@@ -177,20 +182,18 @@ int playerInit(void)
 	return 0;
 }
 
-int playerQuit(int fd)
+int playerWait(int fd)
 {
-	PlayerControl *pc = &(getPlayerData()->playerControl);
+	int pid;
 
 	if (playerStop(fd) < 0)
 		return -1;
 
 	playerCloseAudio();
 
-	if (player_pid > 0) {
-		pc->quit = 1;
-		while (player_pid > 0 && pc->quit)
-			my_usleep(1000);
-	}
+	pid = player_pid;
+	if (pid > 0)
+		kill(pid, SIGSTOP);
 
 	return 0;
 }
@@ -212,7 +215,7 @@ int playerPlay(int fd, Song * song)
 	pathcpy_trunc(pc->utf8url, getSongUrl(song));
 
 	pc->play = 1;
-	if (player_pid == 0 && playerInit() < 0) {
+	if (playerInit() < 0) {
 		pc->play = 0;
 		return -1;
 	}
@@ -245,8 +248,10 @@ void playerKill(void)
 	int pid;
 
 	pid = player_pid;
-	if (pid > 0)
+	if (pid > 0) {
+		kill(pid, SIGCONT);
 		kill(pid, SIGTERM);
+	}
 }
 
 int playerPause(int fd)
diff --git a/src/player.h b/src/player.h
index ce7eebc..de44f8e 100644
--- a/src/player.h
+++ b/src/player.h
@@ -57,7 +57,6 @@
 #define PLAYER_METADATA_STATE_WRITE     2
 
 typedef struct _PlayerControl {
-	volatile mpd_sint8 quit;
 	volatile mpd_sint8 stop;
 	volatile mpd_sint8 play;
 	volatile mpd_sint8 pause;
@@ -122,7 +121,7 @@ int getPlayerError(void);
 
 int playerInit(void);
 
-int playerQuit(int fd);
+int playerWait(int fd);
 
 int queueSong(Song * song);
 
diff --git a/src/playerData.c b/src/playerData.c
index e4506c1..30ff6d6 100644
--- a/src/playerData.c
+++ b/src/playerData.c
@@ -118,7 +118,6 @@ void initPlayerData(void)
 		      buffered_chunks * sizeof(mpd_sint8));
 	buffer->acceptMetadata = 0;
 
-	playerData_pd->playerControl.quit = 0;
 	playerData_pd->playerControl.stop = 0;
 	playerData_pd->playerControl.pause = 0;
 	playerData_pd->playerControl.play = 0;
diff --git a/src/playlist.c b/src/playlist.c
index f6ae8ab..8b2bc1f 100644
--- a/src/playlist.c
+++ b/src/playlist.c
@@ -788,7 +788,7 @@ int deleteFromPlaylist(int fd, int song)
 	    && playlist.current == songOrder) {
 		/*if(playlist.current>=playlist.length) return playerStop(fd);
 		   else return playPlaylistOrderNumber(fd,playlist.current); */
-		playerQuit(STDERR_FILENO);
+		playerWait(STDERR_FILENO);
 		playlist_noGoToNext = 1;
 	}
 
@@ -829,7 +829,7 @@ void deleteASongFromPlaylist(Song * song)
 int stopPlaylist(int fd)
 {
 	DEBUG("playlist: stop\n");
-	if (playerQuit(fd) < 0)
+	if (playerWait(fd) < 0)
 		return -1;
 	playlist.queued = -1;
 	playlist_state = PLAYLIST_STATE_STOP;

mpd.git-ab00513022af940b398601556bfb6256ff220546.patch:

--- NEW FILE mpd.git-ab00513022af940b398601556bfb6256ff220546.patch ---
From: jat <jat at 09075e82-0dd4-0310-85a5-a0d7c8717e4f>
Date: Fri, 1 Jun 2007 18:10:13 +0000 (+0000)
Subject: Tell the player process (and thus also the decode process) to quit when
X-Git-Url: http://git.infradead.org/?p=users%2Fdwmw2%2Fmpd.git;a=commitdiff_plain;h=ab00513022af940b398601556bfb6256ff220546

Tell the player process (and thus also the decode process) to quit when
playback is stopped completely.  This means the player process will no
longer have to wake up 100 times per second to see if it's been told to
start playing (the main process will just spawn a new player process when
it needs to).  On the downside, this means an extra pair of forks() and the
re-initializing of the player and decode processes each time playback is
restarted.


git-svn-id: https://svn.musicpd.org/mpd/trunk@6446 09075e82-0dd4-0310-85a5-a0d7c8717e4f
---

diff --git a/src/player.c b/src/player.c
index 4870dc7..e2dc210 100644
--- a/src/player.c
+++ b/src/player.c
@@ -155,6 +155,9 @@ int playerInit(void)
 			} else if (pc->cycleLogFiles) {
 				cycle_log_files();
 				pc->cycleLogFiles = 0;
+			} else if (pc->quit) {
+				pc->quit = 0;
+				break;
 			} else
 				my_usleep(10000);
 		}
@@ -174,6 +177,24 @@ int playerInit(void)
 	return 0;
 }
 
+int playerQuit(int fd)
+{
+	PlayerControl *pc = &(getPlayerData()->playerControl);
+
+	if (playerStop(fd) < 0)
+		return -1;
+
+	playerCloseAudio();
+
+	if (player_pid > 0) {
+		pc->quit = 1;
+		while (player_pid > 0 && pc->quit)
+			my_usleep(1000);
+	}
+
+	return 0;
+}
+
 int playerPlay(int fd, Song * song)
 {
 	PlayerControl *pc = &(getPlayerData()->playerControl);
@@ -341,6 +362,8 @@ void playerCloseAudio(void)
 		if (playerStop(STDERR_FILENO) < 0)
 			return;
 		pc->closeAudio = 1;
+		while (player_pid > 0 && pc->closeAudio)
+			my_usleep(1000);
 	}
 }
 
diff --git a/src/player.h b/src/player.h
index b62fab2..ce7eebc 100644
--- a/src/player.h
+++ b/src/player.h
@@ -57,6 +57,7 @@
 #define PLAYER_METADATA_STATE_WRITE     2
 
 typedef struct _PlayerControl {
+	volatile mpd_sint8 quit;
 	volatile mpd_sint8 stop;
 	volatile mpd_sint8 play;
 	volatile mpd_sint8 pause;
@@ -121,6 +122,8 @@ int getPlayerError(void);
 
 int playerInit(void);
 
+int playerQuit(int fd);
+
 int queueSong(Song * song);
 
 int getPlayerQueueState(void);
diff --git a/src/playerData.c b/src/playerData.c
index 30ff6d6..e4506c1 100644
--- a/src/playerData.c
+++ b/src/playerData.c
@@ -118,6 +118,7 @@ void initPlayerData(void)
 		      buffered_chunks * sizeof(mpd_sint8));
 	buffer->acceptMetadata = 0;
 
+	playerData_pd->playerControl.quit = 0;
 	playerData_pd->playerControl.stop = 0;
 	playerData_pd->playerControl.pause = 0;
 	playerData_pd->playerControl.play = 0;
diff --git a/src/playlist.c b/src/playlist.c
index de5a2a3..d68033e 100644
--- a/src/playlist.c
+++ b/src/playlist.c
@@ -786,7 +786,7 @@ int deleteFromPlaylist(int fd, int song)
 	    && playlist.current == songOrder) {
 		/*if(playlist.current>=playlist.length) return playerStop(fd);
 		   else return playPlaylistOrderNumber(fd,playlist.current); */
-		playerStop(STDERR_FILENO);
+		playerQuit(STDERR_FILENO);
 		playlist_noGoToNext = 1;
 	}
 
@@ -827,9 +827,8 @@ void deleteASongFromPlaylist(Song * song)
 int stopPlaylist(int fd)
 {
 	DEBUG("playlist: stop\n");
-	if (playerStop(fd) < 0)
+	if (playerQuit(fd) < 0)
 		return -1;
-	playerCloseAudio();
 	playlist.queued = -1;
 	playlist_state = PLAYLIST_STATE_STOP;
 	playlist_noGoToNext = 0;

mpd.git-de2e69945604f831ece2c4dacf5a545ff1c80056.patch:

--- NEW FILE mpd.git-de2e69945604f831ece2c4dacf5a545ff1c80056.patch ---
From: jat <jat at 09075e82-0dd4-0310-85a5-a0d7c8717e4f>
Date: Mon, 4 Jun 2007 23:14:38 +0000 (+0000)
Subject: Set a flag if we've sent the player process SIGSTOP so that we know not to
X-Git-Url: http://git.infradead.org/?p=users%2Fdwmw2%2Fmpd.git;a=commitdiff_plain;h=de2e69945604f831ece2c4dacf5a545ff1c80056

Set a flag if we've sent the player process SIGSTOP so that we know not to
wait for it to complete an action which it never will.


git-svn-id: https://svn.musicpd.org/mpd/trunk@6488 09075e82-0dd4-0310-85a5-a0d7c8717e4f
---

diff --git a/src/player.c b/src/player.c
index beff9b3..096503b 100644
--- a/src/player.c
+++ b/src/player.c
@@ -110,11 +110,13 @@ void player_sigChldHandler(int pid, int status)
 
 int playerInit(void)
 {
+	PlayerControl *pc = &(getPlayerData()->playerControl);
 	int pid;
 
 	pid = player_pid;
 	if (pid > 0) {
 		kill(pid, SIGCONT);
+		pc->wait = 0;
 		return 0;
 	}
 
@@ -124,8 +126,6 @@ int playerInit(void)
 	{
 		clock_t start = clock();
 
-		PlayerControl *pc = &(getPlayerData()->playerControl);
-
 		unblockSignals();
 
 		setSigHandlersForDecoder();
@@ -184,16 +184,22 @@ int playerInit(void)
 
 int playerWait(int fd)
 {
+	PlayerControl *pc = &(getPlayerData()->playerControl);
 	int pid;
 
+	if (pc->wait)
+		return 0;
+
 	if (playerStop(fd) < 0)
 		return -1;
 
 	playerCloseAudio();
 
 	pid = player_pid;
-	if (pid > 0)
+	if (pid > 0) {
+		pc->wait = 1;
 		kill(pid, SIGSTOP);
+	}
 
 	return 0;
 }
diff --git a/src/player.h b/src/player.h
index de44f8e..17dcf16 100644
--- a/src/player.h
+++ b/src/player.h
@@ -57,6 +57,7 @@
 #define PLAYER_METADATA_STATE_WRITE     2
 
 typedef struct _PlayerControl {
+	volatile mpd_sint8 wait;
 	volatile mpd_sint8 stop;
 	volatile mpd_sint8 play;
 	volatile mpd_sint8 pause;
diff --git a/src/playerData.c b/src/playerData.c
index 30ff6d6..380e4a1 100644
--- a/src/playerData.c
+++ b/src/playerData.c
@@ -118,6 +118,7 @@ void initPlayerData(void)
 		      buffered_chunks * sizeof(mpd_sint8));
 	buffer->acceptMetadata = 0;
 
+	playerData_pd->playerControl.wait = 0;
 	playerData_pd->playerControl.stop = 0;
 	playerData_pd->playerControl.pause = 0;
 	playerData_pd->playerControl.play = 0;


--- NEW FILE mpd.init ---
#!/bin/bash
#
# processname: mpd
# description: The Music Player Daemon
# chkconfig: - 85 15

. /etc/init.d/functions

RETVAL=0
prog="The Music Player Daemon"
mpd="@bindir@/mpd"
lockfile="@var@/lock/subsys/mpd"

start() {
        echo -n $"Starting $prog: "
        daemon $mpd
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch $lockfile
        echo
}
  
stop() {
        echo -n $"Stopping $prog: "
        killproc $mpd
        RETVAL=$?
        [ $RETVAL -eq 0 ] && rm -f $lockfile
        echo 
}

#
#       See how we were called.
#
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload|restart)
        stop
        start
        RETVAL=$?
        ;;
  condrestart)
        if [ -f $lockfile ]; then
            stop
            start
        fi
        ;;
  status)
        status $mpd
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"
        exit 1
esac

exit $RETVAL


--- NEW FILE mpd.spec ---
Name:           mpd
Version:        0.13.2
Release:        1%{?dist}
Summary:        The Music Player Daemon
License:        GPLv2+
Group:          Applications/Multimedia
URL:            http://www.musicpd.org/
Source:         http://www.musicpd.org/uploads/files/mpd-0.13.2.tar.gz
Source1:        mpd.init
Source2:        95-grant-audio-devices-to-mpd.fdi
Patch0:         mpd.git-ab00513022af940b398601556bfb6256ff220546.patch
Patch1:         mpd.git-1f620ed803e4b5c69b875bb36519c3299022fe9d.patch
Patch2:         mpd.git-de2e69945604f831ece2c4dacf5a545ff1c80056.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  libao-devel
BuildRequires:  libogg-devel
BuildRequires:  libvorbis-devel
BuildRequires:  flac-devel
BuildRequires:  audiofile-devel
BuildRequires:  libid3tag-devel
BuildRequires:  mikmod-devel
BuildRequires:  alsa-lib-devel
BuildRequires:  zlib-devel
BuildRequires:  libshout-devel 
BuildRequires:  libmpcdec-devel
BuildRequires:  pulseaudio-lib-devel
BuildRequires:  libsamplerate-devel
BuildRequires:  avahi-devel
BuildRequires:  jack-audio-connection-kit-devel
BuildRequires:  faad2-devel
BuildRequires:  libmad-devel
Requires(pre):  shadow-utils
Requires(post): chkconfig
Requires(preun): chkconfig /sbin/service
Requires(postun): /sbin/service

%description
Music Player Daemon (MPD) allows remote access for playing music (MP3, Ogg
Vorbis, FLAC, Mod, AAC and wave files) and managing playlists. MPD is designed
for integrating a computer into a stereo system that provides control for music
playback over a local network. It is also makes a great desktop music player,
especially if your a console junkie, like frontend options, or restart X often.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1

%build
%configure
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

# conf file
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
mkdir -p $RPM_BUILD_ROOT%{_initrddir}
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/playlists
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/music
mkdir -p $RPM_BUILD_ROOT%{_datadir}/hal/fdi/policy/20thirdparty
touch $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/mpd.log
touch $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/mpd.error
touch $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/mpd.db
touch $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/mpdstate
install -p -m644 doc/mpdconf.example $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -i -e "s,~/music,%{_localstatedir}/lib/%{name}/music,g" $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -i -e "s,~/.mpd/playlists,%{_localstatedir}/lib/%{name}/playlists,g" $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -i -e "s,~/.mpd/mpd.log,%{_localstatedir}/lib/%{name}/mpd.log,g" $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -i -e "s,~/.mpd/mpd.error,%{_localstatedir}/lib/%{name}/mpd.error,g" $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -i -e "s,~/.mpd/mpd.db,%{_localstatedir}/lib/%{name}/mpd.db,g" $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -i -e "s,~/.mpd/mpdstate,%{_localstatedir}/lib/%{name}/mpdstate,g" $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -i -e "s,#state_file,state_file,g" $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -i -e 's,#user                            "nobody",user "mpd",g' $RPM_BUILD_ROOT%{_sysconfdir}/mpd.conf
%{__sed} -e "s, at bindir@,%{_bindir},g;s, at var@,%{_localstatedir},g" %{SOURCE1} > $RPM_BUILD_ROOT%{_initrddir}/%{name}
install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/hal/fdi/policy/20thirdparty

rm -rf $RPM_BUILD_ROOT/%{_docdir}/%{name}/

%clean
rm -rf $RPM_BUILD_ROOT

%pre
#creating mpd user
getent group mpd >/dev/null || groupadd -r mpd
getent passwd mpd >/dev/null || \
useradd -r -g mpd -d %{_localstatedir}/lib/%{name} -s /sbin/nologin \
	-c "Music Player Daemon" mpd
exit 0


%post
if [ "$1" -eq "1" ]; then
        #register %{name} service
        /sbin/chkconfig --add %{name}
else
	# as we switched from running as root.root to mpd.mpd
	# chown the db files and playlists on upgrades
	chown -R mpd.mpd %{_localstatedir}/lib/%{name}/playlists > /dev/null 2>&1 ||:
	chown mpd.mpd %{_localstatedir}/lib/%{name}/mpd.log > /dev/null 2>&1 ||:
	chown mpd.mpd %{_localstatedir}/lib/%{name}/mpd.error > /dev/null 2>&1 ||:
	chown mpd.mpd %{_localstatedir}/lib/%{name}/mpd.db > /dev/null 2>&1 ||:
	chown mpd.mpd %{_localstatedir}/lib/%{name}/mpdstate > /dev/null 2>&1 ||:
fi

%preun
if [ "$1" -eq "0" ]; then
        /sbin/service %{name} stop > /dev/null 2>&1
        /sbin/chkconfig --del %{name}
fi

%postun
if [ "$1" -eq "1" ]; then
        /sbin/service %{name} condrestart > /dev/null 2>&1
fi

%files
%defattr(-,root,root)
%doc README UPGRADING doc/COMMANDS AUTHORS COPYING ChangeLog
%{_bindir}/%name
%attr(755,root,root) %{_initrddir}/%{name}
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_datadir}/hal/fdi/policy/20thirdparty/*fdi
%defattr(-,mpd,mpd)
%config(noreplace) %{_sysconfdir}/mpd.conf
%dir %{_localstatedir}/lib/%{name}
%{_localstatedir}/lib/%{name}/playlists
%{_localstatedir}/lib/%{name}/music
%ghost %{_localstatedir}/lib/%{name}/mpd.log
%ghost %{_localstatedir}/lib/%{name}/mpd.error
%ghost %{_localstatedir}/lib/%{name}/mpd.db
%ghost %{_localstatedir}/lib/%{name}/mpdstate

%changelog
* Fri Jul 25 2008 Adrian Reber <adrian at lisas.de> - 0.13.2-1
- updated to 0.13.2

* Thu May 29 2008 Hans de Goede <j.w.r.degoede at hhs.nl> - 0.13.1-3
- Fix mpd crashing when reading in modtracker files (rh bug 448964)

* Thu Mar 06 2008 Adrian Reber <adrian at lisas.de> - 0.13.1-2
- added patches from Thomas Jansen to run mpd by default
  not as root.root but as mpd.mpd

* Mon Feb 11 2008 Adrian Reber <adrian at lisas.de> - 0.13.1-1
- updated to 0.13.1

* Thu Nov 15 2007 Adrian Reber <adrian at lisas.de> - 0.13.0-4
- another rebuilt for faad2

* Fri Nov 09 2007 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0.13.0-3
- rebuild after faad2 downgrade to fix undefined symbols

* Sat Oct 13 2007 Adrian Reber <adrian at lisas.de> - 0.13.0-2
- rebuilt for rpmfusion
- updated License

* Sun Jul 29 2007 Adrian Reber <adrian at lisas.de> - 0.13.0-1
- update to 0.13.0
- added dwmw2's patches (#1569)
- fixed rpmlint errors and warnings
- added libsamplerate-devel, avahi-devel and
  jack-audio-connection-kit-devel as BR

* Tue Mar 06 2007 Adrian Reber <adrian at lisas.de> - 0.12.1-3
- added flac-1.1.4 patch

* Sat Mar 03 2007 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 0.12.1-2
- Rebuild

* Mon Nov 27 2006 Adrian Reber <adrian at lisas.de> - 0.12.1-1
- updated to 0.12.1
- added missing Requires
- removed deletion of user mpd during %%preun
- removed -m (create home) from useradd

* Wed Oct 11 2006 Adrian Reber <adrian at lisas.de> - 0.11.6-6
- rebuilt

* Tue Mar 21 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- Add missing BR zlib-devel

* Thu Mar 09 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- switch to new release field

* Mon Mar 06 2006 Thorsten Leemhuis <fedora[AT]livna.org>
- no build time defines anymore so adapt spec completely to livna

* Tue Feb 28 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- add dist

* Sun Nov 28 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.11.5-0.3
- Apply Adrian Reber's patch to use a system-wide daemon, see bug 2234

* Tue Nov 09 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.11.5-0.2
- Prepare for FC3 (different BuildRequires)

* Fri Nov 05 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.11.5-0.fdr.1
- Initial Fedora package (from Mandrake)


Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/mpd/F-9/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	22 Jul 2008 16:53:40 -0000	1.1
+++ .cvsignore	25 Jul 2008 20:21:59 -0000	1.2
@@ -0,0 +1 @@
+mpd-0.13.2.tar.gz


Index: sources
===================================================================
RCS file: /cvs/free/rpms/mpd/F-9/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	22 Jul 2008 16:53:40 -0000	1.1
+++ sources	25 Jul 2008 20:22:00 -0000	1.2
@@ -0,0 +1 @@
+33d0c7b08e2c9e2a6ad55703cb0d18d0  mpd-0.13.2.tar.gz



More information about the rpmfusion-commits mailing list