Hi

please let me know if there is any info i can provide to help debug

i build my own mpd-package for years and end 2013 i realized that my
sourceforge-bookmark is no longer updated - well, until i started to
build new versions mpd happily played 24/7 which is no longer true

today the behavior below makes me really sad :-(

as you can see after i restart the daemon it starts to play again where
it stopped, i put my RPM-SPEC at bottom as well as systemd-units,
configuration and so on - pulseaudio is running systemwide and works all
the time

that all started with 0.18.1

these where always just fine, looks my changelog is missing some version-bumps
 * mpd-0.17.3-17.fc19.20131016.rh.src.rpm
 * mpd-0.17.3-17.fc19.20130801.rh.src.rpm
 * mpd-0.17.3-10.fc18.20130712.rh.src.rpm
___________________________________________________________________

[root@srv-rhsoft:~]$ mpc
volume:100%   repeat: on    random: on    single: off   consume: off

[root@srv-rhsoft:~]$ mpc play
volume:100%   repeat: on    random: on    single: off   consume: off

[root@srv-rhsoft:~]$ systemctl status mpd
mpd.service - The Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/system/mpd.service; enabled)
   Active: active (running) since Fr 2014-03-14 15:18:48 CET; 32min ago
  Process: 19686 ExecStartPost=/usr/local/bin/mpd-post-start.sh (code=exited, 
status=0/SUCCESS)
 Main PID: 19685 (mpd)
   CGroup: /system.slice/mpd.service
           └─19685 /usr/bin/mpd --no-daemon

[root@srv-rhsoft:~]$ systemctl status pulsed.service
pulsed.service - Pulseaudio Daemon
   Loaded: loaded (/usr/lib/systemd/system/pulsed.service; enabled)
   Active: active (running) since Fr 2014-03-14 00:07:23 CET; 16h ago
 Main PID: 1019 (pulseaudio)
   CGroup: /system.slice/pulsed.service
           └─1019 /usr/bin/pulseaudio --daemonize=false --system=true 
--log-level=0 --log-target=stderr
--disallow-module-loading=true --disallow-exit=true --exit-idle-time=0 
--disable-shm=true --no-cpu-limit=false
--use-pid-file=false --resample-method=src-sinc-best-quality

[root@srv-rhsoft:~]$ systemctl restart mpd
[root@srv-rhsoft:~]$ mpc
Steve Lukather - Never Walk Alone
[playing] #1468/1693   0:04/9:42 (0%)
volume:100%   repeat: on    random: on    single: off   consume: off
___________________________________________________________________

[root@srv-rhsoft:~]$ cat /usr/lib/systemd/system/mpd.service
[Unit]
Description=The Music Player Daemon
After=network.service systemd-networkd.service pulsed.service

[Service]
Type=simple
ExecStart=/usr/bin/mpd --no-daemon
ExecStartPost=-/usr/local/bin/mpd-post-start.sh
Restart=always
RestartSec=30
TimeoutSec=15
Nice=-10
PrivateTmp=true
CapabilityBoundingSet=CAP_CHOWN CAP_SETGID CAP_SETUID CAP_DAC_OVERRIDE
ReadOnlyDirectories=/etc
ReadOnlyDirectories=/usr
ReadOnlyDirectories=/proc
InaccessibleDirectories=/boot
InaccessibleDirectories=/home

InaccessibleDirectories=/root

InaccessibleDirectories=/var/lib/rpm

InaccessibleDirectories=/var/lib/yum

InaccessibleDirectories=/var/spool



[Install]

WantedBy=multi-user.target
___________________________________________________________________

[root@srv-rhsoft:~]$ cat /usr/local/bin/mpd-post-start.sh
#!/usr/bin/bash

/usr/bin/mpc --port 6666 --host ***********@127.0.0.1 play 2> /dev/null > 
/dev/null
/usr/bin/mpc --port 6666 --host ***********@127.0.0.1 volume 100 2> /dev/null > 
/dev/null
renice -10 `pgrep -f mpd` 2> /dev/null > /dev/null
exit 0
___________________________________________________________________

[root@srv-rhsoft:~]$ cat /etc/mpd.conf
music_directory                   "/mnt/data/audio"
playlist_directory                "/var/lib/mpd/playlists"
db_file                           "/var/lib/mpd/mpd.db"
log_file                          "/var/log/mpd"
pid_file                          "/var/lib/mpd/mpd.pid"
state_file                        "/var/lib/mpd/mpdstate"
user                              "mpd"
bind_to_address                   "0.0.0.0"
port                              "6666"
log_level                         "default"

 audio_output {
  enabled                        "yes"
  always_on                      "yes"
  type                           "httpd"
  name                           "mpd-stream"
  encoder                        "lame"
  bind_to_address                "0.0.0.0"
  port                           "8000"
  quality                        "5"
  format                         "44100:16:2"
 }

audio_output {
 type                             "pulse"
 name                             "Pulseaudio"
 mixer_control                    "Master"
}

audio_output_format               "44100:16:2"
audio_buffer_size                 "8192"

connection_timeout                "60"
max_connections                   "20"
max_playlist_length               "100000"
max_command_list_size             "2048"
max_output_buffer_size            "32768"

save_absolute_paths_in_playlists  "no"
metadata_to_use                   
"artist,album,title,track,name,genre,date,composer,performer,disc"

volume_normalization              "yes"
replaygain                        "track"
gapless_mp3_playback              "yes"

password                          "***********@read,add,control,admin"
___________________________________________________________________

RPM-SPEC:

%global            debug_package    %{nil}

Name:              mpd
Version:           0.18.9
Release:           2%{?dist}
Epoch:             1
Summary:           The Music Player Daemon
License:           GPLv2+
Group:             Applications/Multimedia
URL:               http://mpd.wikia.com/
Source:            
http://downloads.sourceforge.net/musicpd/%{name}-%{version}.tar.xz
Source1:           %{name}.service
Source2:           95-grant-audio-devices-to-mpd.fdi
Requires:          systemd-units
BuildRequires:     autoconf
BuildRequires:     lame-devel
BuildRequires:     libao-devel
BuildRequires:     libcurl-devel
BuildRequires:     libid3tag-devel
BuildRequires:     libmad-devel
BuildRequires:     libsamplerate-devel
BuildRequires:     pulseaudio-libs-devel
BuildRequires:     sqlite-devel
Requires(pre):     shadow-utils
Requires(post):    systemd-units
Requires(preun):   systemd-units
Requires(postun):  systemd-units

%description
Music Player Daemon (MPD) allows remote access for playing music
and managing playlists. MPD is designed for integrating a computer
into a stereo system that provides control for music playback over
a local network

%prep
%setup -q
autoreconf --force --install

%build
export CFLAGS="%{optflags} -fPIC -fPIE"
export CXXFLAGS="%{optflags} -fPIC -fPIE"
export LDFLAGS="-Wl,-z,now -Wl,-z,relro,-z,noexecstack -pie"
export SH_LDFLAGS="-Wl,-z,now -Wl,-z,relro,-z,noexecstack -pie"
%configure \
 --disable-aac \
 --disable-adplug \
 --disable-alsa \
 --disable-ao \
 --disable-audiofile \
 --disable-bzip2 \
 --disable-cdio-paranoia \
 --disable-cue \
 --disable-despotify \
 --disable-ffado \
 --disable-ffmpeg \
 --disable-flac \
 --disable-fluidsynth \
 --disable-gme \
 --disable-ipv6 \
 --disable-jack \
 --disable-largefile \
 --disable-lastfm \
 --disable-libwrap \
 --disable-mikmod \
 --disable-mms \
 --disable-modplug \
 --disable-mpc \
 --disable-mpg123 \
 --disable-mvp \
 --disable-oggflac \
 --disable-openal \
 --disable-opus \
 --disable-oss \
 --disable-roar \
 --disable-shout \
 --disable-soundcloud \
 --disable-systemd-daemon \
 --disable-twolame-encoder \
 --disable-vorbis \
 --disable-vorbis-encoder \
 --disable-wavpack \
 --disable-wildmidi \
 --enable-epoll \
 --enable-eventfd \
 --enable-fifo \
 --enable-httpd-output \
 --enable-inotify \
 --enable-lame-encoder \
 --enable-libmpdclient \
 --enable-mad \
 --enable-pulse \
 --enable-signalfd \
 --with-zeroconf=no
%{__make} %{?_smp_mflags}

%install
make install-strip DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_sysconfdir} \
 %{buildroot}%{_sharedstatedir}/%{name}/playlists \
 %{buildroot}%{_sharedstatedir}/%{name}/music \
 %{buildroot}%{_datadir}/hal/fdi/policy/20thirdparty
install -p -m644 doc/mpdconf.example %{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,~/music,%{_sharedstatedir}/%{name}/music,g" 
%{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,~/.%{name}/playlists,%{_sharedstatedir}/%{name}/playlists,g" 
%{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,~/.%{name}/log,%{_sharedstatedir}/%{name}/%{name}.log,g" 
%{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,~/.%{name}/error-log,%{_sharedstatedir}/%{name}/%{name}.error,g" 
%{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,~/.%{name}/database,%{_sharedstatedir}/%{name}/%{name}.db,g" 
%{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,~/.%{name}/state,%{_sharedstatedir}/%{name}/mpdstate,g" 
%{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,#state_file,state_file,g" %{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,#music_directory,music_directory,g" 
%{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,#playlist_directory,playlist_directory,g" 
%{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,#db_file,db_file,g" %{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e "s,#log_file,log_file,g" %{buildroot}%{_sysconfdir}/%{name}.conf
sed -i -e 's,#user.*"nobody",user "%{name}",g' 
%{buildroot}%{_sysconfdir}/%{name}.conf
install -p -m644 %{SOURCE2} %{buildroot}%{_datadir}/hal/fdi/policy/20thirdparty
rm -rf %{buildroot}%{_docdir}/%{name}/
mkdir -p %{buildroot}%{_unitdir}
install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}

%pre
getent group %{name} >/dev/null || groupadd -r %{name}
getent passwd %{name} >/dev/null || useradd -r -g %{name} -d 
%{_sharedstatedir}/%{name} -s %{_sbindir}/nologin -c
"Music Player Daemon" %{name}
exit 0

%post
chown -R %{name}:%{name} %{_sharedstatedir}/%{name}/playlists 2> /dev/null > 
/dev/null
chown %{name}:%{name} %{_sharedstatedir}/%{name}/%{name}.log 2> /dev/null > 
/dev/null
chown %{name}:%{name} %{_sharedstatedir}/%{name}/%{name}.error 2> /dev/null > 
/dev/null
chown %{name}:%{name} %{_sharedstatedir}/%{name}/%{name}.db 2> /dev/null > 
/dev/null
chown %{name}:%{name} %{_sharedstatedir}/%{name}/mpdstate 2> /dev/null > 
/dev/null
%{_bindir}/systemctl --system daemon-reload 2> /dev/null > /dev/null
exit 0

%preun
if [ $1 == 0 ]; then
 %{_bindir}/systemctl --no-reload disable %{name}.service 2> /dev/null > 
/dev/null
 %{_bindir}/systemctl stop %{name}.service 2> /dev/null > /dev/null
fi
exit 0

%files
%{_bindir}/%name
%attr(0644, root, root) %{_unitdir}/%{name}.service
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_datadir}/hal/fdi/policy/20thirdparty/*fdi
%attr(-,%{name},%{name}) %config(noreplace) %{_sysconfdir}/%{name}.conf
%attr(-,%{name},%{name}) %dir %{_sharedstatedir}/%{name}
%attr(-,%{name},%{name}) %{_sharedstatedir}/%{name}/playlists
%attr(-,%{name},%{name}) %{_sharedstatedir}/%{name}/music

%changelog
* Sun Mar 2 2014 Reindl Harald <[email protected]>
- update to 0.18.9

* Fri Feb 7 2014 Reindl Harald <[email protected]>
- update to 0.18.8

* Mon Jan 13 2014 Reindl Harald <[email protected]>
- update to 0.18.7

* Wed Dec 25 2013 Reindl Harald <[email protected]>
- update to 0.18.6

* Sun Nov 24 2013 Reindl Harald <[email protected]>
- update to 0.18.5

* Thu Nov 14 2013 Reindl Harald <[email protected]>
- update to 0.18.4

* Fri Nov 8 2013 Reindl Harald <[email protected]>
- update to 0.18.3

* Wed Nov 6 2013 Reindl Harald <[email protected]>
- update to 0.18.1

* Thu Aug 1 2013 Reindl Harald <[email protected]>
- minimized build options

* Mon Jul 15 2013 Reindl Harald <[email protected]>
- minimized build options

* Thu Sep 29 2011 Reindl Harald <[email protected]>
- update to 0.16.4
- optimized systemd-unit
- remove sysvinit-service
- rebase post/pre-install for systemd

* Fri Jun 17 2011 Reindl Harald <[email protected]>
- Update auf 0.16.3
- systemd-service-file
- systemd-dependency auf 'pulsed.service'


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
mpd-devel mailing list
[email protected]
http://mailman.blarg.de/listinfo/mpd-devel

Reply via email to