Bug 15819

Summary: mpd не может осуществить автостарт
Product: Sisyphus Reporter: Владимир Гусев <vova1971>
Component: mpdAssignee: Konstantin A Lepikhov (L.A. Kostis) <lakostis>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P4 CC: lakostis, led, swi
Version: unstable   
Hardware: all   
OS: Linux   

Description Владимир Гусев 2008-05-28 15:15:57 MSD
Дистрибутив Branch 4.1 (пишу сюда, потому что раздела еще нет)

От имени root включаю загрузку mpd при старте командой chkconfig mpd on, делаю
service mpd start, однако ругань:

[root@book etc]# service mpd start
Starting mpd service: problem opening log file "/var/log/mpd/info" (config line
4) for writing
                                                                        [FAILED]

Ну, во-первых info там нет, это был первый запуск, права на каталог /var/log/mpd
пользователь root, группа audio. Пользователь находится в группе audio. Где
прописано это /var/log/mpd/info - не знаю, в /etc/mpd.conf другой путь к
лог-файлу.. 

mpd нужен был для sonata

[root@book log]# rpm -qa |grep mpd
mpd-0.13.1-alt1

Настройки умолчательные:

[root@book log]# cat /etc/mpd.conf
######################## REQUIRED PATHS ###############################
music_directory	"/media/Backup/Music"
playlist_directory "~/.mpd/playlists"
log_file "~/.mpd/mpd.log"
db_file "~/.mpd/mpd.db"
error_file "~/.mpd/mpd.error"
#######################################################################

######################## OPTIONAL PATHS ###############################
pid_file "~/.mpd/mpd.pid"
state_file "~/.mpd/mpdstate"
#######################################################################

######################## DAEMON OPTIONS ###############################
#user "nobody"
bind_to_address "127.0.0.1"
#bind_to_address "any"
port "6600"
# "default", "secure", or "verbose".
log_level "default"
#zeroconf_name "Music Player"

audio_output {
type "alsa"
name "alsa"
}

#samplerate_converter "Fastest Sinc Interpolator"

mixer_type "alsa"
mixer_device "default"
mixer_control "PCM"

#mixer_type "software"

#replaygain "album"

#volume_normalization "no"

#audio_buffer_size "2048"
#buffer_before_play "10%"

#http_buffer_size "128"
#http_prebuffer_size "25%"

########################### HTTP PROXY ################################
#http_proxy_host "proxy"
#http_proxy_port "8080"
#http_proxy_user "user"
#http_proxy_password "password"

############################# LIMITS ##################################
#connection_timeout "60"
#max_connections "5"
#max_playlist_length "16384"
#max_command_list_size "2048"
#max_output_buffer_size "8192"

###################### CHARACTER ENCODINGS ############################
#filesystem_charset "ISO-8859-1"
id3v1_encoding "CP1251"

######################### OTHER OPTIONS ###############################
#gapless_mp3_playback             "yes"
#save_absolute_paths_in_playlists "no"
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"


Actual Results:  
Не стартует ни при загрузке ОС, ни вручную

Expected Results:  
Ожидался обычный старт обычного сервиса при загрузке ОС либо вручную. "Из
коробки" не работает, короче говоря..
Comment 1 Владимир Гусев 2008-05-28 15:18:35 MSD
нашел mpd.sys.conf, но сути дела это не меняет... сервис mpd нацелен на
mpd.sys.conf и не стартует..
Comment 2 Владимир Гусев 2008-05-28 15:20:11 MSD
[root@book etc]# cat /etc/mpd.sys.conf
######################## REQUIRED PATHS ###############################
music_directory "/var/empty"
playlist_directory "/var/lib/mpd/playlists"
log_file "/var/log/mpd/info"
db_file "/var/lib/mpd/mpd.db"
error_file "/var/log/mpd/errors"
#######################################################################

######################## OPTIONAL PATHS ###############################
pid_file "/var/run/mpd/pid"
state_file "/var/lib/mpd/state"
#######################################################################

######################## DAEMON OPTIONS ###############################
user "_mpd"
bind_to_address "127.0.0.1"
#bind_to_address "any"
port "6600"
# "default", "secure", or "verbose".
log_level "default"
#zeroconf_name "Music Player"

########################## PERMISSIONS ################################
#password                        "password@read,add,control,admin"
#default_permissions             "read,add,control,admin"

audio_output {
type "alsa"
name "alsa"
}

#audio_output {
#        type "shout"
#        name "My Shout Stream"
#        host "localhost"
#        port "8000"
#        mount "/mpd.ogg"
#        password "hackme"
#        quality "5.0"
#        bitrate "128"
#        format "44100:16:1"
#        user "source"				# optional
#        description "My Stream Description"	# optional
#        genre "jazz"				# optional
#        public "no"				# optional
#}

#samplerate_converter "Fastest Sinc Interpolator"

mixer_type "alsa"
mixer_device "default"
mixer_control "PCM"

#mixer_type "software"

#replaygain "album"

#volume_normalization "no"

#audio_buffer_size "2048"
#buffer_before_play "10%"

#http_buffer_size "128"
#http_prebuffer_size "25%"

########################### HTTP PROXY ################################
#http_proxy_host "proxy"
#http_proxy_port "8080"
#http_proxy_user "user"
#http_proxy_password "password"

############################# LIMITS ##################################
#connection_timeout "60"
#max_connections "5"
#max_playlist_length "16384"
#max_command_list_size "2048"
#max_output_buffer_size "8192"

###################### CHARACTER ENCODINGS ############################
#filesystem_charset "ISO-8859-1"
id3v1_encoding "CP1251"

######################### OTHER OPTIONS ###############################
#gapless_mp3_playback             "yes"
#save_absolute_paths_in_playlists "no"
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
Comment 3 Владимир Гусев 2008-05-28 15:22:16 MSD
Похожие проблемы пр запуске от пользователя вручную:

[vova@book ~]$ mpd&
problem opening log file "/home/vova/.mpd/mpd.log" (config line 4) for writing
[1]+  Exit 1                  mpd
[1] 7326

[vova@book ~]$ cat /etc/group |grep audio
audio:x:81:vova
Comment 4 swi 2008-05-28 15:55:22 MSD
rpm -q mpd 
Comment 5 algor 2008-05-28 16:22:49 MSD
не воспроизводится.
Comment 6 led 2008-05-28 16:58:58 MSD
(In reply to comment #0)
> [root@book etc]# service mpd start
> Starting mpd service: problem opening log file "/var/log/mpd/info" (config 
line
> 4) for writing
>                                                                         
[FAILED]
> 
> Ну, во-первых info там нет, это был первый запуск, права на 
каталог /var/log/mpd
> пользователь root, группа audio. Пользователь находится в группе audio.

mpd стартует от пользователя _mpd. Почему у вас владелец /var/log/mpd root, а 
не _mpd - не знаю

> Где
> прописано это /var/log/mpd/info - не знаю, в /etc/mpd.conf другой путь к
> лог-файлу..

/etc/mpd.sys.conf

> Ожидался обычный старт обычного сервиса при загрузке ОС либо вручную. "Из
> коробки" не работает, короче говоря..

Значит у вас не "из коробки"
Comment 7 algor 2008-05-28 17:12:50 MSD
давайте посмотрим на rpm -V mpd ?
Comment 8 Владимир Гусев 2008-05-28 19:03:08 MSD
(In reply to comment #7)
> давайте посмотрим на rpm -V mpd ?

[vova@book ~]$ rpm -V mpd
S.5....T c /etc/mpd.conf
..?..... c /etc/mpd.sys.conf
.....U..   /var/lib/mpd
.....U..   /var/lib/mpd/playlists
.....U..   /var/log/mpd
.....U..   /var/run/mpd


Comment 9 Владимир Гусев 2008-05-28 19:06:39 MSD
(In reply to comment #6)
> (In reply to comment #0)
> > [root@book etc]# service mpd start
> > Starting mpd service: problem opening log file "/var/log/mpd/info" (config 
> line
> > 4) for writing
> >                                                                         
> [FAILED]
> > 
> > Ну, во-первых info там нет, это был первый запуск, права на 
> каталог /var/log/mpd
> > пользователь root, группа audio. Пользователь находится в группе audio.
> 
> mpd стартует от пользователя _mpd. Почему у вас владелец /var/log/mpd root, а 
> не _mpd - не знаю

И я тоже не знаю.. Ничего до этого с mpd никогда не делал до сегодняшнего дня,
да и то, нужен был, чтобы попробовать sonata.

> > Где
> > прописано это /var/log/mpd/info - не знаю, в /etc/mpd.conf другой путь к
> > лог-файлу..
> 
> /etc/mpd.sys.conf
> 
> > Ожидался обычный старт обычного сервиса при загрузке ОС либо вручную. "Из
> > коробки" не работает, короче говоря..
> 
> Значит у вас не "из коробки"

Branch 4.1 и больше ничего.
Comment 10 Владимир Гусев 2008-05-28 19:11:26 MSD
(In reply to comment #4)
> rpm -q mpd 

Так написал же выше 
[vova@book ~]$ rpm -q mpd
mpd-0.13.1-alt1
Comment 11 led 2008-05-28 19:24:52 MSD
(In reply to comment #8)
> (In reply to comment #7)
> > давайте посмотрим на rpm -V mpd ?
> 
> [vova@book ~]$ rpm -V mpd
> S.5....T c /etc/mpd.conf
> ..?..... c /etc/mpd.sys.conf
> .....U..   /var/lib/mpd
> .....U..   /var/lib/mpd/playlists
> .....U..   /var/log/mpd
> .....U..   /var/run/mpd

Ну из-за этих "U"  и не работает. Когда "из коробки", никаких "U" быть не 
должно.
Мне сложно предположить, кто у вас в системе поменял владельца приведённых выше 
файлов/каталогов.
Comment 12 led 2008-05-28 19:34:18 MSD
(In reply to comment #11)
> Мне сложно предположить, кто у вас в системе поменял владельца приведённых 
выше 
> файлов/каталогов.

Есть ещё вариант, что у вас почему-то не отработал %pre скрипт при установке 
(возможно пакет shadow-utils установился позже mpd)
Comment 13 Владимир Гусев 2008-05-28 20:05:01 MSD
(In reply to comment #11)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > давайте посмотрим на rpm -V mpd ?
> > 
> > [vova@book ~]$ rpm -V mpd
> > S.5....T c /etc/mpd.conf
> > ..?..... c /etc/mpd.sys.conf
> > .....U..   /var/lib/mpd
> > .....U..   /var/lib/mpd/playlists
> > .....U..   /var/log/mpd
> > .....U..   /var/run/mpd
> 
> Ну из-за этих "U"  и не работает. Когда "из коробки", никаких "U" быть не 
> должно.

"Из коробки" имелось в виду использование конкретного репозитария, наверное
неудачное словосочетание тут. Это Branch 4.1.

> Мне сложно предположить, кто у вас в системе поменял владельца приведённых выше 
> файлов/каталогов.

Мне тоже - на десктоповом компе я такими вещами не занимаюсь, а на сервере - в
случае самой крайней необходимости, когда есть подозрение на баг (как в случае
havp в Server 4).

Comment 14 Владимир Гусев 2008-05-28 20:08:04 MSD
(In reply to comment #12)
> (In reply to comment #11)
> > Мне сложно предположить, кто у вас в системе поменял владельца приведённых 
> выше 
> > файлов/каталогов.
> 
> Есть ещё вариант, что у вас почему-то не отработал %pre скрипт при установке 
> (возможно пакет shadow-utils установился позже mpd)

Может это результат dist-upgrade c Branch 4.0 на 4.1? Просто специально я этот
mpd никогда не ставил, даже когда поставил sonata, только тогда увидел, что
нужен mpd и стал смотреть - оказалось он уже был в системе. Видимо ставится с
базовой частью дистрибутива.

В общем ситуация нестандартная, но не совсем - в свете грядущих массовых
обновлений на 4.1 (когда будет официал) возможно повторение подобного..

Comment 15 Andrey Rahmatullin 2008-05-28 20:18:16 MSD
(In reply to comment #12)
> Есть ещё вариант, что у вас почему-то не отработал %pre скрипт при установке 
> (возможно пакет shadow-utils установился позже mpd)

Так на него и не стоит Requires(pre).
Конечно, это только в случае чистой установки важно, насколько я понимаю.
Comment 16 led 2008-05-28 20:25:31 MSD
(In reply to comment #15)
> (In reply to comment #12)
> > Есть ещё вариант, что у вас почему-то не отработал %pre скрипт при 
установке 
> > (возможно пакет shadow-utils установился позже mpd)
> 
> Так на него и не стоит Requires(pre).

rpmbuild ставит "автоматом"
Requires(pre): /usr/sbin/useradd
Comment 17 Andrey Rahmatullin 2008-05-28 20:38:30 MSD
(In reply to comment #16)
> > > Есть ещё вариант, что у вас почему-то не отработал %pre скрипт при 
> установке 
> > > (возможно пакет shadow-utils установился позже mpd)
> > Так на него и не стоит Requires(pre).
> 
> rpmbuild ставит "автоматом"
> Requires(pre): /usr/sbin/useradd

Мм, да. Тогда они не могли поставиться после.
Comment 18 led 2008-05-28 20:43:03 MSD
(In reply to comment #17)
> > rpmbuild ставит "автоматом"
> > Requires(pre): /usr/sbin/useradd
> 
> Мм, да. Тогда они не могли поставиться после.

Или пакет mpd собран, когда rpmbuild такого ещё не умел?
Comment 19 Andrey Rahmatullin 2008-05-28 20:46:12 MSD
(In reply to comment #18)
> Или пакет mpd собран, когда rpmbuild такого ещё не умел?
Возможно, см. #13136.
Другой вопрос, что мой 0.13.1-alt1 эту зависимость имеет.
Третий вопрос, что изначально ставился, вполне возможно, не он.
Comment 20 Владимир Гусев 2008-05-28 20:49:23 MSD
(In reply to comment #16)
> (In reply to comment #15)
> > (In reply to comment #12)
> > > Есть ещё вариант, что у вас почему-то не отработал %pre скрипт при 
> установке 
> > > (возможно пакет shadow-utils установился позже mpd)
> > 
> > Так на него и не стоит Requires(pre).
> 
> rpmbuild ставит "автоматом"
> Requires(pre): /usr/sbin/useradd

Наверняка это не причем, но скажу - в Branch 4.1 нет rpmbuild (нет rpmb как
такового). Знаю это потому, что пытался пересбрать icewm, но тщетно..

Comment 21 led 2008-05-28 20:53:02 MSD
(In reply to comment #20)
> Наверняка это не причем, но скажу - в Branch 4.1 нет rpmbuild (нет rpmb как
> такового). Знаю это потому, что пытался пересбрать icewm, но тщетно..

$ rpm -qf `which rpmbuild`
rpm-build-4.0.4-alt92
Comment 22 led 2008-05-28 21:00:07 MSD
(In reply to comment #19)
> Возможно, см. #13136.
> Другой вопрос, что мой 0.13.1-alt1 эту зависимость имеет.
> Третий вопрос, что изначально ставился, вполне возможно, не он.

rpm-build changelog:
* Sun Feb 24 2008 Alexey Tourbin <at@altlinux.ru> 4.0.4-alt87

- implemented automatic dependencies for %pre, %preun, %post,
  and %postun scriptlets (#7409)

mpd changelog:
* Thu Mar 06 2008 Led <led@altlinux.ru> 0.13.1-alt1
- 0.13.1

Речь идёт о branch-4.1 - на момент его создания mpd-0.13.1-alt1 был давно уже в 
репозитарии, таким образом, более рання версия не могла там оказаться.
Кроме того, разве после обновления владелец не исправляется согласно заданным в 
пакете %attr ?
Comment 23 Владимир Гусев 2008-05-28 21:39:49 MSD
(In reply to comment #21)
> (In reply to comment #20)
> > Наверняка это не причем, но скажу - в Branch 4.1 нет rpmbuild (нет rpmb как
> > такового). Знаю это потому, что пытался пересбрать icewm, но тщетно..
> 
> $ rpm -qf `which rpmbuild`
> rpm-build-4.0.4-alt92
> 

[root@book ~]# rpm -qf `which rpmbuild`
which: no rpmbuild in
(/root/bin:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin)
rpmq: no arguments given for query
[root@book ~]# apt-cache search rpmb
librpmbuild - Shared library required for applications which will build RPM packages
freevo - Freevo
mkrpmbox - Utility to create RPM box to build and install RPM packages
rpm-build-compat - ALT Linux compatibility and extensions in rpm build
rpmwrap - Simple rpm/rpmbuld wrapper and macrofile substituter
[root@book ~]# rpm -qa |grep rpm
rpm-build-compat-0.99-alt1
librpmbuild-4.0.4-alt92
librpm-4.0.4-alt92
rpm-4.0.4-alt92
mkrpmbox-0.0.1-alt4
srpmcmp-0.2-alt3

[vova@book /]$ cd /home/vova/RPM/SPECS
[vova@book SPECS]$ ls
[vova@book SPECS]$ ls
claws-mail-plugin-gtkhtml.spec    cobex.spec~      gettext.spec    libXft.spec
claws-mail-plugin-pdfviewer.spec  directfb.spec    gpicview.spec   pcmanfm.spec
claws-mail-plugin-rssyl.spec      fontconfig.spec  icewm.spec      qtcurve.spec
claws-mail.spec                   gdkxft.spec      icewm.spec.1
claws-mail.spec~                  gdkxft.spec~     icewm.spec.bak
cobex.spec                        gdkxft.spec.bak  libcairo.spec

[vova@book SPECS]$ rpm -ba icewm.spec
rpmb: Нет такого файла или каталога

И пару дней назад его не было в репозитории 4.1..

Но это мы уже отвлеклись.. Хотя чем черт не шутит, может как-то это связано с
проблемой mpd..
Comment 24 Владимир Гусев 2008-05-29 13:42:54 MSD
Мне сейчас в моем случае  как-то можно выправить ситуацию? Что нужно сделать?
Comment 25 Andrey Rahmatullin 2008-05-29 13:45:30 MSD
(In reply to comment #24)
> Мне сейчас в моем случае  как-то можно выправить ситуацию? Что нужно сделать?

А что, всё ещё непонятно, что надо права пофиксить?
Comment 26 Nick S. Grechukh 2008-05-29 13:51:57 MSD
apt-get reinstall mpd