sb0y@sb0y ~ $ sudo emerge --search cdemu
Searching...
[ Results for search key : cdemu ]
[ Applications found : 1 ]
* app-cdr/cdemu
Latest version available: 0.8
Latest version installed: [ Not Installed ]
Size of files: 30 kB
Homepage: http://cdemu.org/
Description: mount bin/cue cd images
License: GPL-2
Searching...
[ Results for search key : cdemu ]
[ Applications found : 1 ]
* app-cdr/cdemu
Latest version available: 0.8
Latest version installed: [ Not Installed ]
Size of files: 30 kB
Homepage: http://cdemu.org/
Description: mount bin/cue cd images
License: GPL-2
В этой статье, я пошагово расскажу как заставить работать Cdemu не прибегая к помощи дистрибутива.
Все манипуляции проводились на свежеустановленной Gentoo 2007 со стабильной архитектурой amd64, использовалась версия Gnome - 2.22.1.
Программы будем скачивать через SVN, поэтому нам конечно понадобится subversion:
# emerge subversion
Собственно качаем необходимое:
$ mkdir cdemu
$ cd cdemu
$ svn co https://cdemu.svn.sourceforge.net/svnroot/cdemu/trunk
$ cd trunk
$ cd cdemu
$ svn co https://cdemu.svn.sourceforge.net/svnroot/cdemu/trunk
$ cd trunk
Первое что стоит собрать, это конечно модуль ядра. Куда без него?
$ cd vhba-module
$ make
# make install
# modprobe vhba
$ make
# make install
# modprobe vhba
Не забываем ставить модуль на загрузку:
# echo "vhba" > > /etc/modules.autoload.d/kernel-2.6
Ещё один тонкий момент — по скольку наш cdemu будет использовать шину системной коммуникации dbus, нужно настроить права доступа udev к модулю, чтобы простые смертные могли пользоваться им:
# echo 'KERNEL=="vhba_ctl", NAME="%k", MODE="0660", OWNER="root", GROUP="plugdev"' > > /etc/udev/rules.d/10-local-rules.rules
У многих компонентов Cdemu есть в зависимостях библиотека libmirrage. Которой естественно нет в портах.
$ cd ../libmirage
Для дальнейшей сборки нам понадобится программа gtkdocize, которая входит в порт gtk-doc и libsndfile, который входит в одноимённый порт:
# emerge gtk-doc libsndfile
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make
# make install
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make
# make install
Следующий уровень :) Image Analyzer
$ cd ../image-analyzer
Теперь нам понадобится программа gtkextrta, которую можно найти в порте gtk+extra.
# emerge gtk+extra
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make
# make install
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make
# make install
Мы подошли очень близко к финалу — собираем демон Cdemu.
$ cd ../cdemu-daemon
В очередной раз встаёт необходимость дёргать портежи. На этот раз нас нужна программа sysfsutils
# emerge sysfsutils
$ ./autogen.sh
$ ./configure --prefix=/usr --with-dbus-config-dir=/etc/dbus-1/system.d --sysconfdir=/etc
$ make
# make install
$ ./autogen.sh
$ ./configure --prefix=/usr --with-dbus-config-dir=/etc/dbus-1/system.d --sysconfdir=/etc
$ make
# make install
Для удобства написал простейший демон, который поднимает демон Cdemu «по-гентовому»:
# cat /etc/init.d/cdemud
#!/sbin/runscript
start() {
ebegin "Starting cdemu daemon"
start-stop-daemon --start --quiet --exec /usr/bin/cdemud &
eend $?
}
stop() {
ebegin "Stopping cdemu daemon"
start-stop-daemon --stop --exec --quiet /usr/bin/cdemud
eend $?
}
highlight: cpp
start() {
ebegin "Starting cdemu daemon"
start-stop-daemon --start --quiet --exec /usr/bin/cdemud &
eend $?
}
stop() {
ebegin "Stopping cdemu daemon"
start-stop-daemon --stop --exec --quiet /usr/bin/cdemud
eend $?
}
highlight: cpp
Сделаем демон запускаемым и поставим его на загрузку:
# chmod +x /etc/init.d/cdemud
# rc-update add cdemud default
# rc-update add cdemud default
Теперь соберём cdemu-client, который будет общаться с демоном, отдавая ему ценные указания.
$ cd ../cdemu-client
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make
# make install
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make
# make install
Последняя программа опциональна, так как использовать её могут только счастливые пользователи Gnome (?). Речь идёт о графическом интерфейсе для Cdemu, конкретней говоря аплете для среды Gnome.
$ cd ../gcdemu
$ ./autogen.sh
$ make
# make install
Перезагружаемся:
# reboot
Использовние:
$ cdemu 0 ~/HITMAN47.mds
Через gcdemu:
Добавьте на вашу "приборную доску" новый апплет gcdemu и увидите такой значёк:
Кликаем на него, выбираем виртуальный привод, получаем за это пряник в виде диолога типа "Browse File System", где и находим образ, который хотим монтировать.
В принципе по этой статье можно вполне реально писать ebuild и отправлять его гентушникам. Если будем время и до меня этого никто не сделает, в будущем — так и сделаю.
