Gentoo Music Player Daemon (MPD) and ALSA installing

Материал из AlexNook
Перейти к навигацииПерейти к поиску

Решил использовать свой gentoo server box для проигрывания музыки. Купил нужные провода для соединения с системой 5.1. Дальше встал вопрос - как проигрывать музыку удалённо, управляя сервером. ПОтратил некоторое время для поиска консольного плеера, чтобы запускать его по ssh, но случайно наткрунлся на клиент-серверную программу MPD. Прочитал о программе, крайне понравилась идея и огромное количество клиентов подовсе ОС, и даже, веб клиенты, что мне особенно понравилось! Решено, надо установить эту замечательную штуку.

Утсновка Music Player Daemon под Gentoo

Сперва надо выполнить стандартный

emerge -v mpd

Use Flags: aac alsa bzip2 cue curl flac id3 ipv6 lame network sqlite unicode wavpack zip -ao -audiofile -avahi -cdio -debug -ffmpeg -fifo -fluidsynth -jack -lastfmradio -libmms -libsamplerate -mad -mikmod -modplug -musepack -ogg -oss -pipe -profile -pulseaudio -sid -vorbis -wildmidi (?)

Note: Для установки всех флагов их надо занести в
nano /etc/portage/package.use

Однако, как обычно всё гладко не бывает в жизни. После установки всех необходимых сопуствующих программ система приступила к установке собственного самого mpd и на этом остановилась с ошибкой:

 * ERROR: media-sound/mpd-0.15.15 failed.
 * Call stack:
 * ebuild.sh, line 49: Called pkg_setup
 * mpd-0.15.15.ebuild, line 60: Called enewuser 'mpd' '' '' '/var/lib/mpd' 'audio'
 * eutils.eclass, line 726: Called die
 * The specific snippet of code:
 * useradd -r ${opts} \
 * -c "added by portage for ${PN}" \
 * ${euser} \
 * || die "enewuser failed"
 * The die message:
 * enewuser failed

Подтверждение этой ошибки я нашёл вот тут. Если прочитать ошибку, то видно, что проблема в невозможности создать пользователя для mpd, что он не запускался от root'а. Далее я открыл на правку файл, который и вызвал этот затык и внёс в него следующие коррективы:

vim /usr/portage/eclass/eutils.eclass
File: /etc/conf.d/net
if [[ -z $@ ]] ; then
	useradd  ${opts} \
	-c "added by portage for ${PN}" \
		${euser} \
		|| die "enewuser failed"
else
	einfo " - Extra: $@"
	useradd -r ${opts} "$@" \
		${euser} \
		|| die "enewuser failed"
fi