пятница, 14 декабря 2007 г.

"Десктопизация" OpenBSD

*
Как это ни прискорбно, но для свободной и непринуждённой работы эта система подойдёт далеко не всем. Cказать же, что для десктопа система непригодна, тоже нельзя. С чем столкнулся (в порядке а-ля что на память придёт первым):

1) Шрифты...

Песнь... Песнь песней. Поскольку русификация консоли возможна по умолчанию только в koi8-r (шрифтами /usr/share/misc/pcvtfonts/), то и гуи соответственно стоит приводить к koi8-r. Для общего развития можно почитать "каноны":

http://www.openbsd.ru/docs/howto-cyrillic.html

В дальнейшим вашим незаменимым помощником в этом деле станет xfontsel. В общем идея подана верно, но есть несколько нюансов. Во-первых не стоит валить в одну кучу приложения на gtk1 и gtk2, посему предлагаю следующее:



: ~ > ls -al ~ | grep .gtkrc

lrwxr-xr-x 1 sda users 23 Dec 8 08:56 .gtkrc -> /home/sda/.gtkrc.backup
-rw-r--r-- 1 sda users 134 Dec 8 10:48 .gtkrc-1.2-gnome2
-rw-r--r-- 1 sda users 1033 Dec 14 22:41 .gtkrc-2.0
lrwxr-xr-x 1 sda users 20 Dec 9 18:54 .gtkrc.mine -> /home/sda/.gtkrc-2.0
-rw-r--r-- 1 sda users 985 Dec 8 01:21 gtkrc_metal
-rw-r--r-- 1 sda users 767 Dec 15 00:15 .gtkrc.backup




: ~ > cat ~/.gtkrc

include "/home/sda/gtkrc_metal"

style "user-font"
{
fontset = "-*-fixed-*-*-*-*-17-*-*-*-*-*-koi8-r"
}
widget_class "*" style "user-font"
# EOF



: ~ > cat ~/.gtkrc-2.0

# Auto-written by sda00. Do not edit. :)

gtk-theme-name = "Clearlooks-DeepSky"

style "user-font"
{
font_name="-*-fixed-*-*-*-*-17-*-*-*-*-*-koi8-r"
}
widget_class "*" style "user-font"

gtk-font-name="-*-fixed-*-*-*-*-17-*-*-*-*-*-koi8-r"
gtk-icon-theme-name="Oxygen_gnome"
# EOF



Как и что "пилить" для qt приложений - не ведаю, бо не ставил и не пользую. И тут есть "момент". При подобном указании gtk-font-name="-*-fixed-*-*-*-*-17-*-*-*-*-*-koi8-r" в ~/.gtkrc-2.0 есть подозрение, что не все программы справятся с отображением интерфейса. Firefox по крайней мере сей "тест" проваливает. Он желает gtk-font-name="DejaVu Sans".


2) gtk броузеры и собственно OpenOffice работают как-то странно. Офис тормозит со страшной силой, firefox и seamonkey ведут себя непредсказуемо. Сейчас присматриваюсь к links, но основная "рабочая лошадь" - 'w3m-0.5.2-image' - пашет изумительно. Особенно радует наличие "табов".


3) Порядком провозился с настройкой терминала. Поскольку Xterm уже собран с поддержкой Xft, то решил его и пользовать. В приведённых ниже настройках Shift+"+" и Shift+"-" регулируют размер шрифта.


: ~ > cat ~/.Xdefaults

xterm*font: 8x16
XTerm*backarrowKeyIsErase: 1
XTerm*deleteIsDEL: false
xterm*saveLines: 60000
xterm*scrollBar: true
xterm*rightScrollBar: true
xterm*jumpScroll: true
xterm*cursorColor: red
xterm*colorBD: darkblue
xterm*colorBDMode: true
xterm*highlightColor: blue
xterm*activeIcon: false
xterm*awaitInput: true
xterm*scrollTtyOutput: false
xterm*scrollKey: true
*VT100.translations: #override\
Prior: scroll-back(1,pages) \n\
Next: scroll-forw(1,pages)\n\
Meta K: send-signal(int) clear-saved-lines() \n\
Meta P: print() \n\
Meta minus: smaller-vt-font() \n\
Meta KP_Subtract: smaller-vt-font() \n\
Meta plus: larger-vt-font() \n\
Meta KP_Add: larger-vt-font() \n\
Meta C: select-cursor-start() \
select-cursor-end(PRIMARY, CUT_BUFFER0) \n\
Meta V: insert-selection(PRIMARY, CUT_BUFFER0) \n\
Meta M: iconify() \n\
*Scrollbar.background: gray50
*Scrollbar.foreground: gray50
*Scrollbar.borderWidth: 0
*Scrollbar.shadowWidth: 0
*Scrollbar.thickness: 14
*Scrollbar.minimumThumb: 20
*Scrollbar.backgroundPixmap: gradient:horizontal?dimension=14&start=gray80&end=white
*Scrollbar.borderPixmap: gradient:horizontal?dimension=14&start=white&end=grey80

*Scrollbar.translations: #override\
: StartScroll(Forward) \n\
: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\
: StartScroll(Backward) \n\
: MoveThumb() NotifyThumb() \n\
: NotifyScroll(Proportional) EndScroll()


эти же настройки можно пользовать и в Mac OS X для эмуляции поведения терминала. Вторая часть "Марлезонского балета" - прикручивание "цвета" к терминалу. Необходимо поставить пакет 'fileutils' и прописать пару-тройку alias-ов:


: ~ > cat ~/.bashrc

alias ls='gls --color'
alias l='gls -la --color'
alias c='clear'
export TERM=xterm-color




4) Нашёл аналог управления частотой процессора - apmd. Запустив sensorsd и 'apmd -C' остался весьма доволен результатом. 'sysctl hw' покажет итоги трудов праведных.


5) Если нет желания собирать E17 :), то пожалуй единственным нормальным ВМ-ом "из коробки" будет WindowMaker. Пилить всё придётся руками (от меню и до...), но результат того стоит.


Про mime.types говорил ранее, настройка ~/.mailcap тоже не относится к Rocket Science. Все multimedia пакеты стоит пересобрать из портов. Настройку mutt описывал ранее: http://www.rootshell.be/~sda00/mutt.html . Ежели чего запамятовал - допишу позже. На закуску - скриншотик с WindowMaker-ом. Практически "дефолт" от и до.




среда, 12 декабря 2007 г.

OpenBSD - сборка E17-cvs (или ещё одна маленькая победа разума)

*
Помнится лет 15 назад коммерческие Unix можно было сравнить с тракторами Caterpillar - вылизанный, сияющий, новенький трактор: мощи - немеряно, рык грозен и авторитет подавляющ. Linux - ну что там Линукс, студентиком Танненбаума написан? Кто про него знал - заикались, что мол это тоже трактор, ржавенький, но трактор (типа бесплатно и для народа). Счастливчики, дорвавшиеся до "фирмового" оборудования с коммерческими Unix при этих словах падали под стул от хохота, те, кто разбирался с HP-UX, не тратили сил даже на то, чтобы покрутить пальцем у виска. Благодаря блестящему маркетингу и абсолютно наплевательской позиции к вопросам копирайтов MS уверенно "хавала" десктопы россиян и умы разработчиков, выжигая напалмом островки NetWare, OS/2 и прочих более интересных "обитателей" компьютерных "винтов". Народ уже матерился при взгляде на требования MS к железу, но... "Делать нечего... Бояре, потужив о Государе и царевне молодой, в спальню к ней вошли толпой..." (и даже не заикайтесь о нонешнем "падении нравов").
К чему это я тут так разоряюсь? А вы представьте себе чуток проржавевшую помесь танка с трактором (женского полу), у которого вместо седушки водителя торчит огрызок трубы. Вертикально. Чтобы сразу и по самые гланды всем, кто захочет притопить "газулю" в пол сразу после установки generic системы. Представили? Вот это и есть OpenBSD. Ежели неумелой детской рукой на "морде" этого чудовища намалевать глазки и ухмылку "рыбки" с картинки "No Blow - No Go!" - то именно так и будет выглядеть истинный символ этой ОСи.

FAQ: "Выбор любой операционной системы зависит от ответа на вопрос: "Можно ли сделать некую работу именно так, как Вам хочется?" И ответить на сей вопрос Вы должны самостоятельно."

Как это ни парадоксально - чем-то эта система притягивает. Может тем, что требует сначала "любви, ласки и внимания", а вот потом "на всё готовая я...". По большому счёту единственное, что реально бесит - это отсутствие нормальных драйверов на видео, из-за чего работа в иксах превращается в кошмар (угу, ваша Галя - балованная!). Не гонял пока тестов для сравнения с Linux-2.6.23 (SLUB), но что-то подсказывает, что наше "чудовище" даже с включенным softupdate окажется аутсайдером. Бо цели у проекта несколько иные. Во главу угла поставлена безопасность системы, что накладывает порой довольно ощутимые ограничения на процесс оптимизации софта под эту платформу. В частности я ставил как i386 на Athlon64 и для успешной компиляции 'ecore' пришлось вырезать использование mmx инструкций. Теперь по порядку (всё, что описано ниже - сугубо моё IMHO и ни в коем случае не претендует на "истину в последней инстанции"):

1) Товарищ, помни, OpenBSD - не Unix и POSIX несовместима! Таки позабыл? Не беда! Отсутствие функции strfmon() и хэдера monetary.h быстро восстановят сей пробел.

2) "Зеркала" официального репозитория чудовищны. Сперва грешил на свои настройки. Потом поставил Master Fanout Site (Canada) - заработало. Такое ощущение, что многие файлы на зеркалах "обрезаны", недокачаны. Радовался рано. Где "затычка" - пока не разобрался, но "рецепт" следующий: тянем wget-ом и потом ставим с "винта". Иначе устанете вырезать partial установки (довольно занятная кстати фишка, потом подумаю, как её использовать).

3) Не ищите iocharset в опциях mount-а. Его там нет. Запись в openbsd-misc mailinglist (от января 2006-го года):

"At the moment, there is no way to specify a particular charset when
mounting filesystems. This is being worked on, however (at least for
cd9660, udf and ntfs filesystems).

Miod"

Сильно. Внушает. Интересно, сколько обезьян необходимо, чтобы вкрутить в патрон лампочку? Нет. Не так. Сколько времени необходимо одной обезьяне, чтобы проделать сие упражнение, не расхерачив при сём упомянутую лампочку к свиньям собачьим? "Дак ведь Пост, Матушка, ждём-с, до первой звезды..."

4) Нет поддержки ни одной журналируемой файловой системы.

5) А теперь позвольте выкатить списочек. Это - полный top. В фоксе открыто 15 вкладок, на одной из которых пишется сия нота. В Enlightenment-е загружено 55 модулей. mpd + emphasis. Почему emphasis жрёт 68.07% от остатков проца - разговор отдельный и будет он понятен и интересен пожалуй только разработчикам. dbus запущен сугубо ради спортивного интереса. wget тащит пакет openoffice с офсайта. Лепота...

load averages: 1.45, 1.46, 1.56 18:37:50
43 processes: 3 running, 38 idle, 1 zombie, 1 on processor
CPU states: 38.4% user, 0.0% nice, 60.8% system, 0.2% interrupt, 0.6% idle
Memory: Real: 216M/360M act/tot Free: 641M Swap: 0K/1537M used/tot

PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND
27809 sda 63 0 10M 17M run - 162:13 68.07% emphasis
13285 sda 2 0 34M 44M sleep poll 24:01 13.13% enlightenment
22761 sda 45 0 18M 76M run - 13:51 7.23% Xorg
11287 sda 32 0 77M 110M run - 11:03 3.32% firefox-bin
10391 sda 2 0 1216K 4176K sleep poll 2:54 0.93% mpd
13510 root 2 0 492K 768K sleep select 5:24 0.00% pptp
26634 sda 2 0 936K 3784K sleep poll 1:07 0.00% mpd
24992 sda 2 0 7204K 27M sleep poll 0:34 0.00% SciTE
15922 root 2 0 1024K 1552K sleep select 0:23 0.00% ppp
6781 root 2 0 368K 932K sleep select 0:16 0.00% pptp
24611 root 2 0 892K 1868K sleep select 0:08 0.00% ppp
23415 sda 2 0 2684K 2784K sleep poll 0:06 0.00% mpd
26339 sda 2 0 2096K 5096K sleep poll 0:03 0.00% enlightenment_fm
28451 sda 2 0 480K 1556K sleep select 0:03 0.00% wget
10225 sda 2 0 1568K 4176K sleep select 0:02 0.00% xterm
9292 sda 2 0 1628K 4156K sleep select 0:01 0.00% xterm
15626 _syslogd 2 0 404K 872K sleep poll 0:00 0.00% syslogd
30207 sda 2 0 1164K 3040K sleep poll 0:00 0.00% gconfd-2
20833 sda 10 0 996K 1952K idle wait 0:00 0.00% bash
25807 root 2 0 332K 740K idle netio 0:00 0.00% syslogd
14280 sda 10 0 1060K 1892K idle wait 0:00 0.00% bash
17142 sda 28 0 752K 1628K onproc - 0:00 0.00% top
6089 root 2 0 516K 732K sleep select 0:00 0.00% pptp
13630 sda 10 0 908K 1804K idle wait 0:00 0.00% bash
1266 root 2 0 480K 828K idle select 0:00 0.00% cron
23036 _dbus 2 0 612K 1228K idle poll 0:00 0.00% dbus-daemon
23716 sda 10 0 688K 1340K idle wait 0:00 0.00% bash
24928 sda 18 0 540K 504K idle pause 0:00 0.00% sh
3816 sda 18 0 480K 476K idle pause 0:00 0.00% sh
13991 sda 18 0 504K 592K idle pause 0:00 0.00% sh
18563 sda 2 0 636K 1332K idle poll 0:00 0.00% dbus-daemon
15497 sda 2 0 556K 1136K idle poll 0:00 0.00% dbus-launch
1 root 10 0 388K 340K idle wait 0:00 0.00% init
9994 sda 10 0 456K 1124K idle wait 0:00 0.00% xinit
26534 root 2 0 360K 692K idle select 0:00 0.00% inetd
3810 root 3 0 336K 768K idle ttyin 0:00 0.00% getty
24959 root 3 0 420K 768K idle ttyin 0:00 0.00% getty
18100 root 3 0 296K 760K idle ttyin 0:00 0.00% getty
15889 root 3 0 224K 756K idle ttyin 0:00 0.00% getty
19607 sda 18 0 408K 440K idle pause 0:00 0.00% sh
26715 sda 2 0 1708K 1008K idle netio 0:00 0.00% Xorg
13956 root 2 0 568K 1156K idle select 0:00 0.00% sshd



6) Базовую систему ставил всю, кроме SMP ядра (не пользую SMP на десктопе из принципа). Долго рубился в Tetris (на 9-ом уровне меня подкосили - непорядок). Ностальгировал. Узрел в пакетах quake и quake2. Смахнул скупую слезу и долго думал про всех, кто не желает появления nVidia драйверов для OpenBSD. В результате список установленных пакетов выглядит на сегодня вот так:

~ > pkg_info | awk -F\ '{print $1}'

ORBit2-2.14.7
aalib-1.2p2
apr-1.2.9
apr-util-1.2.8
aspell-0.50.5p4
atk-1.18.0p0
autoconf-2.59p1
autoconf-2.61p1
automake-1.9.6p2
bash-3.2.17
bison-2.1p0
boehm-gc-7.0
bzip2-1.0.4
cairo-1.4.10
cdparanoia-3.a9.8p0
cdrtools-2.01p0
chmlib-0.39
curl-7.16.2
db-4.2.52p11
dbus-1.0.2p1
dbus-glib-0.73p0
dbus-python-0.80.1
desktop-file-utils-0.12p0
docbook-4.4
docbook-dsssl-1.72
dvd+rw-tools-5.21.4.10.8p0
e16keyedit-0.2
enlightenment-0.16.7.2p2
esound-0.2.34p0v0
evince-0.8.1
faac-1.24
faad-2.0p6
fam-2.7.0p2
fetchmail-6.3.8
ffmpeg-20070501p0
findutils-4.1p0
flac-1.1.2p1
gconf2-2.18.0.1
gettext-0.14.6p0
ghostscript-8.54p1
ghostscript-fonts-8.11p0
giblib-1.2.4p3
gimp-2.2.17
glib-1.2.10p1
glib2-2.12.12p1
glitz-0.5.6
gmake-3.80p1
gmpc-0.15.1
gmpc-lyrics-0.15.0
gnome-icon-theme-2.18.0p0
gnome-keyring-0.8.1
gnome-mime-data-2.18.0
gnome-vfs2-2.18.1p0
gtk+-1.2.10p6
gtk+2-2.10.13
gtkspell-2.0.5p4
hicolor-icon-theme-0.10p0
imlib-1.9.14p5
imlib2-1.3.0p0
iodbc-3.52.4p0
iso8879-1986
jasper-1.900.1
javaPathHelper-0.3
jbigkit-1.6p1
jpeg-6bp3
ladspa-1.12p0
lame-3.96.1p2
lcms-1.15
libIDL-0.8.8
liba52-0.7.4p2
libao-0.8.8
libart-2.3.19p1
libaudiofile-0.2.6p0
libbonobo-2.18.0
libbonoboui-2.18.0
libcroco-0.6.1
libdnet-1.10p2
libdv-0.104p1
libdvdnav-20051102p2
libexif-0.6.16
libgadu-20060411
libgcrypt-1.2.0p1
libglade2-2.6.1
libgnome-2.18.0
libgnomecanvas-2.14.0p0
libgnomeprint-2.18.0
libgnomeprintui-2.18.0
libgnomeui-2.18.1p0
libgpg-error-1.1p0
libgsf-1.14.3p2
libiconv-1.9.2p3
libid3tag-0.15.1bp0
libidn-0.6.1
libltdl-1.5.22p2
libmad-0.15.1bp1
libmikmod-3.1.10p4
libmng-1.0.9p1
libmpcdec-1.2.4
libmpd-0.14.0
libmspack-20040308a
libogg-1.1.3
librsvg-2.16.1p0
libsamplerate-0.1.2p0
libshout-2.2.2p0
libslang-1.4.9p3
libsndfile-1.0.11p0
libtheora-1.0alpha7
libtool-1.5.22p13
libungif-4.1.4p1
libunicode-0.4p1
libutf-2.0
libutf8-0.8p0
libvorbis-1.2.0
libwmf-0.2.8.3p3
libwpd-0.8.9p0
libxml-2.6.29
libxslt-1.1.21
lzo-1.08p1
mc-4.6.1p1
meanwhile-1.0.2p0
metaauto-0.7
mozilla-firefox-2.0.0.6
mpc-0.12.1
mpd-0.13.0p1
mplayer-1.0pre8p14-sdl
msmtp-1.4.12p0
mutt-1.5.16p0
nasm-0.98.38p0
neon-0.26.2
nmap-4.20
nspr-4.6.7
nss-3.11.7
openoffice-2.2.1p0
p5-Text-Iconv-1.4
p7zip-4.47
p7zip-rar-4.47
pango-1.16.4
pcre-7.1
pidgin-2.0.1p0-gtkspell
png-1.2.18
poppler-0.5.4p1
popt-1.7p0
pptp-1.7.1
procmail-3.22p2
pstree-2.27
py-Numeric-23.1p1
py-cairo-1.4.0
py-gobject-2.13.1
py-gtk2-2.10.4
py-iconvcodec-1.1.2p0
python-2.4.4p4
python-expat-2.4.4p4
qdbm-1.8.75
quake-20000101p3-sdl
quake2-0.3p3
rxvt-2.7.10p2
scintilla-1.74
scite-1.74
screen-4.0.3p0
scrollkeeper-0.3.14p3
sdl-1.2.9p7-sun
shared-mime-info-0.21p0
silc-toolkit-1.0.2p1
speex-1.2beta2
sqlite3-3.4.1
startup-notification-0.9
subversion-1.4.4
t1lib-5.1.0p0
taglib-1.4p1
teTeX_base-3.0p9
teTeX_base-fmt-3.0p0
teTeX_texmf-3.0p1
texi2html-1.64
tiff-3.8.2p0
toolame-0.2lp1
unzip-5.52
vim-7.1.33-no_x11
w3m-0.5.2-image
wget-1.10.2p0
wxWidgets-gtk2-2.6.3p0
x264-20070325p1
xchm-1.13
xcompmgr-1.1.1p2
xcyrillic-2.0p0
xine-lib-1.1.7p0
xine-ui-0.99.5
xvidcore-1.0.3p0
yasm-0.6.1
zip-2.32

Жить можно. Из исходников был поставлен лишь последний gettext (0.17). Плюс добил библиотеки amr* и скоро возьмусь за пересборку xine-lib, ffmpeg и mplayer, бо что мы имеем в пакетах - в кошерных домах даже свиньям не подают. Причём ffmpeg и mplayer ещё можно как-то пользовать, а вот xine... Xine пришлось поставить для сборки Enlightenment-а на скорую руку. Итоги:

~ > df -h

Filesystem Size Used Avail Capacity Mounted on
/dev/wd2a 9.8G 2.1G 7.3G 22% /
/dev/wd2d 19.2G 10.2G 8.0G 56% /home
/dev/wd2j 31.0G 28.1G 2.8G 91% /mnt/sdb3

/dev/wd2j - есть не что иное, как Fat-опомойка cо скромной аудиоколлекцией. Посмотрим на порно, что заняло 56% от /home?

~ > find /home/sda/source -maxdepth 1 -type d -exec du -sh {} \; | sort -rn

367M /home/sda/source/e17themes
9.0G /home/sda/source
6.5G /home/sda/source/books
2.2G /home/sda/source/compile

и заодно на наши скромные результаты:

~ > du -sh /opt/e17
67.9M /opt/e17


7) Большим сюрпризом оказалось отсутствие mime.types файла в /etc. Оно есть в /var/www/conf/mime.types, есть в /etc/mutt/mime.types (если вы любите mutt также, как люблю его я). Из обеих файлов можно скомпоновать достойный внимания результат после обработки напильником. Поскольку скрипт ставит все компоненты в /opt/e17 (да и удалять потом проще. грохнул каталог и спи спокойно), то бросил симлинк на mime.types и в /opt/e17/etc.

8) Скрипт ноне гарантированно способен на i386/x86-64 архитектуре собрать вам следующие "вкусности" (и уверен, что это не предел, поскольку не тестировал для всего, что лежит в E-cvs):

EFL (Enlightenment Foundation Libraries):
eet edb evas ecore embryo imlib2 efreet edje epeg epsilon esmart emotion engrave ewl etk exml enhance imlib2_loaders etk_extra e_dbus

EFL 'applications':
e edje_viewer entrance exhibit estickies examine e_utils express elicit iconbar imlib2_tools emphasis expedite extrackt scrot rage

EFL 'e_modules' (помимо стандартных):
alarm bling cpu calendar deskshow efm_nav efm_path emu flame forecasts mail net news photo rain screenshot slideshow snow taskbar tclock uptime weather winselector wlan

всвязи с некоей спецификой OpenBSD архитектуры следующие модули требуют лёгкой рихтовки:

cpu, mem, battery, net, wlan, temperature (грубо говоря - все, что имеют дело непосредственно с железом)

9) После доводки секций скрипта по сборке до ума удалось свести количество патчей исходников к минимуму (для устанавливаемых компонентов естественно). Поскольку в html переводить лениво - смотрите лучше в скрипте:


# OpenBSD patchset
case $(uname) in
OpenBSD)
echo "Starting OpenBSD patchset..."
cd $e17_cvs_local_location

if [ "`grep \#include\ \<png\.h\> ./e17/libs/imlib2/src/modules/loaders/loader_png.c`" != "" ] ; then
cat ./e17/libs/imlib2/src/modules/loaders/loader_png.c | sed 's/\#include\ \<png\.h\>/\#include\ \<\/usr\/local\/include\/libpng\/png\.h\>/' > ./loader_png.c.patched
cp ./loader_png.c.patched ./e17/libs/imlib2/src/modules/loaders/loader_png.c
fi

if [ "`grep _POSIX_HOST_NAME_MAX ./e17/apps/e/src/bin/e.h`" = "" ] ; then
echo '#ifndef _POSIX_HOST_NAME_MAX' > ./e.h.patched
echo '#define _POSIX_HOST_NAME_MAX 255' >> ./e.h.patched
echo '#endif' >> ./e.h.patched
cat ./e17/apps/e/src/bin/e.h >> ./e.h.patched
cp ./e.h.patched ./e17/apps/e/src/bin/e.h
fi

if [ "`grep inttypes.h ./e17/libs/evas/src/lib/engines/common/evas_convert_main.c`" = "" ] ; then
echo '#include </png\.h\>' > ./evas_convert_main.c.patched
cat ./e17/libs/evas/src/lib/engines/common/evas_convert_main.c >> ./evas_convert_main.c.patched
cp ./evas_convert_main.c.patched ./e17/libs/evas/src/lib/engines/common/evas_convert_main.c
fi

echo "OpenBSD patchset is DONE. Press Enter."
read a1
;;
esac


как видим из приведённого выше - сие есть не что иное как издержки autotools в чистом виде. В общем всё оказалось не так уж и страшно. Как только rootshell.be будет доступен (сайтик кстати с недавних пор переехал на OpenBSD платформу) - выложу скрипт version="0.7.0.1". Кому "в Париж по делу срочно" - мыльте, закину.

Hint: ежели опыта маловато, а попробовать таки хоцца - качайте заодно и диск Frenzy - он спасёт отцов демократии в критические дни. Обычно хватает boot -s на промпте :).

10)
Let It Be! Just Let It Be!








и махонький совет на прощание, коли позволите: отключите Java и Java-Script в настройках браузера...

пятница, 7 декабря 2007 г.

OpenBSD - всё для Человека и ради Человека...

*
Ребята из E-community попросили взглянуть на "нюансы" компиляции и установки под OpenBSD (може памятуя о том, что для FreeBSD мой скрипт отработал без ошибок сборку одним из первых). "Гавно вапрос!" - подумал я... "Попалсо?! - раком!" - подумал установочный диск OpenBSD-4.2 (а будь я на его месте - то подумал бы ещё и не так!)...

Это надо чувствовать... Это - непередаваемая атмосфера, в которую погружаешься сразу с головой, лишь только попадая на оффсайт проекта (imo - лицам с неокрепшей психикой туда "ходить" строго противопоказано!)... Это надо читать... Вдумчиво... Смаковать за рюмкой коньяка наиболее удачные ура-патриотические "перлы" официальной документации...



Посмотрели на картинку? Вспомнили поговорку: "No Blow - No Go!"? (прим.переводчика: "не дунешь - не полетишь!") "Дунули"? Повторили? Тогда продолжим...

Я не могу пройти мимо фразы из FAQ-а: "It might be worth noting that a large amount of OpenBSD development is done on laptops." (прим.переводчика: "сие есть сущая безделица, что громадьё кода системы писано именно на ноутбуках.") Как же это здорово! - думалось мне, крепчал энтузиазм, надежда, что разработчики в кои-то веки близки к народу с его скромными чаяниями: простая, строгая, надёжная система с отличной документацией, с поддержкой пусть и не самого нового железа, но именно такого, "что в масть". Да ещё и секурная, да ещё и из Канады (не подвержена "патентным игрищам"), да...ах! Мячта!!! ОНО!!! Родимоё!!! Впрочем, любые "розовые шарики мячты" имеют свойство разлетаться вдребезги, столкнувшись с жёсткой шкурой реальности. Начало было положено документом INSTALL.linux . Первая мысль: "Вот это - КРУТЬ! Это ж про меня! У меня же окромя... хм... начать "список" с Plan9 или закончить?... не важно, но при виде сего документа (ДО прочтения) я готов был записаться в Патриоты, что дорогого стоит." Верный заветам дедушки Ленина - учиться, учиться и ещё раз учиться - штудировал документацию на сайте проекта, трепетно лелея двухсотмегабайтовую инсталляционную исошку. "Юноша бледный со взглядом горящим". И тут значит смотрю на первую строку сего "циркуляра" - v 1.12 2004/08/18 08:57:33 - ого-го! Стабильность! Каноны! Написано раз - и на века! И фраза: "Or use the commercial offering Partition Magic." Оп-па... Эт что, слова parted + ntfsprogs этим "дядям" не знакомы? Далее по тексту выясняется, что "дружеское" сосуществование Linux и FreeBSD у "дяденьки" токмо с ext2 и fat партициями... То был первый "удар колокола". Ваш-то покорный слуга имеет в пользовании Reiser-3.6 (в основном), Xfs, Jfs, Hfs+(да-да-да, и не надо пальцем тыкать), Bfs, чуток Venti и конечно Fat-опомойку, бо без неё никак... И когда в последних абзацах сего "указателя" достопочтенный "автор" выливает ушат нечистот с радостным гиканьем: "A word of caution: brain-damaged linux installations" - понимаешь сразу, что сие есть "перебор". Да простят мне, убогому, подобное утрирование, но Linux на сегодня - это (процитирую своё же более раннее высказывание) "единственная ОСь, которую можно установить хоть в /dev/ass при наличии у того бутсектора 512-ти байт. И будет работать." Естественно, что вопрос: "Какие именно файловые системы поддерживает OpenBSD и как?" требовал немедленного ответа. Попробуйте найти его самостоятельно, не имея под рукой уже установленную OpenBSD (в смысле не потроша саму систему и её документацию). "Список - в Студию!" - проорал популярный некогда телеведущий под мощный аккомпанимент фанфар... Не вопрос:


> man fstab

The system currently supports the following types of filesystems:

cd9660 An ISO 9660 CD-ROM filesystem.
ext2fs A local Linux compatible ext2fs filesystem.
ffs A local UNIX filesystem.
mfs A local memory-based UNIX filesystem.
msdos An MS-DOS FAT filesystem.
nfs A Sun Microsystems compatible Network File System.
ntfs An NTFS filesystem.
procfs A local filesystem containing process information.
swap A disk partition to be used for swapping.
udf A UDF filesystem.
vnd A VND image file.

и скромненько так, между прочим, что ntfs - только на чтение и до сих пор "экспериментально". "Щастья мало не бывает" - попёр на nvidia.com искать утешения в кошерных, TRUE, дровах на свою "старушку". Э-э... Все хорошо расслышали громкие причмокивающие звуки, что я издал, придя на оный сайт? "Надо брать!" - сказала Машенька Защекова, хоть и была ну Очень порядочной девушкой... Для повторения легендарного анектода про Золотую Рыбку и "пусть сбудется всё, что скажет наш боцман, проснувшись завтра на рассвете" осталось лишь найти несоответствие в "подручном" железе и списке поддерживаемого оборудования. Не нашёл. Ха. Ха. Ха.

К чёрту слюни и сантименты -> разгрузка одной из Fat-опомоек -> wodim -> "болванка" -> init 0 ->

> sudo fdisk wd2

Disk: wd2 geometry: 14593/255/63 [234441648 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
------------------------------------------------------------------------
0: 07 0 1 1 - 6501 254 63 [ 63: 104454567 ] HPFS/QNX/AUX
*1: A6 6502 0 1 - 10548 254 63 [ 104454630: 65015055 ] OpenBSD
2: 0B 10549 0 1 - 14592 254 63 [ 169469685: 64966860 ] Win95 FAT-32
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused

-------------------------------------------------------------------------

> sudo disklabel wd2

# Inside MBR partition 1: type A6 start 104454630 size 65015055
# /dev/rwd2c:
type: ESDI
disk: ESDI/IDE disk
label: ST3120026A
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 14593
total sectors: 234441648
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
a: 20980890 104454630 4.2BSD 2048 16384 1
b: 3148740 125435520 swap
c: 234441648 0 unused 0 0
d: 40885425 128584260 4.2BSD 2048 16384 1
i: 104454567 63 unknown
j: 64966860 169469685 MSDOS


и прыжок со скалы без парашюта в порядочных размеров отстойник с "фиалками" с целью "дозвониться" по "ВПН" к своему Провайдеру и "хапнуть" глоток свежих "портов" и "пакетов". Мдэ... Документация оказалась "на уровне". В "манах" кажется понаписали про всё на свете, кроме моего, совершенно рядового случая. Конструкция вырисовывалась презабавнейшая. Кама-Сутра где-то описывает похожие отношения и позы, только применимо к Homo Sapience, а не /dev/rl0 + /dev/tun (что меня интересовало зело поболе в тот момент времени). Карета "Скорой помощи" в лице (!кого бы Вы думали!) Anonymous-a! (та-дам! занавес!) подкатила с серверов Corbina, кои я Очень Уважаю за q3dm6.ru и Clan Arena в частности.



Вот она какая! Псиса молодая! Оргазм!? - Лучше!!!

Очередная партизанская засада поджидала на тропе "русификации"... Слов в принципе остаётся всё меньше, для характеристики ситуации (вернее это - уже более смахивает на диагноз, а не на "ситуацию"):

1. Припадаем к "канонам".
2. Возвращаемся ...гхм... не солоно хлебавши (при условии, что мы НЕ ХОТИМ и НЕ БУДЕМ пересобирать ядро - что есть первостатейная заявка как минимум на дикую криворукость мэйнтейнеров, не умеющих / не желающих предлагать универсальные решения. Если что-то сделать нельзя - то так и надо об этом говорить, а не городить огород).

Возвращаемся к "нашему" FAQ-у. Читаем громко и с выражением первые два абзаца (перевод вольный):

"Не взирая на то, что OpenBSD есть суть не что иное, как традиционный TRUE Юникс, знакомый и близкий всем, кто общался с подобными*, в нём есть кое-какие отличия. Ежели Вы только и имели счастья поиграться с Linux-ом - то OpenBSD Вам покажется 'странным'`. Для тех же, кто начинал с OpenBSD, 'странным' покажется Linux. Вы ОБЯЗАНЫ понять разницу между 'стандартом' и Вашим личным опытом.

Ежели Вы изучали Юникс по ХОРОШИМ книжкам, то OpenBSD - Ваш Друг, Товарищ и Брат. В противном случае всё будет с точностью до наоборот."

(прим*. - Очень Грамотно не приведены примеры таких же, как и OpenBSD, традиционных и true Юниксов)
(прим`. - угу, только вот "нюансы" - они ведь разные...)

ШЕДЕВР!!! Учить наизусть! Я не жалею ни о чём только за ту радость, что испытываю каждый раз, перечитывая эти два абзаца.

Возвращаясь к нашим "баранам". Для OpenBSD-4.2 я добился приемлимого результата в русификации сделав несколько простых "шагов":


1. Качаем 'bash-3.2.17 GNU Bourne Again Shell' и ставим его шеллом по умолчанию для всех.

2. > cat /etc/wsconsctl.conf

keyboard.encoding=ru # use different keyboard encoding
keyboard.bell.volume=0 # mute keyboard beep
keyboard.map+="keycode 157 = Mode_Lock" # switch by Right Ctl

3. > cat /etc/rc.local

if [ -x /usr/sbin/wsconscfg -a -x /usr/sbin/wsfontload ]; then

for SCREEN in 2 3 4 5 6 7 8 9 10 11; do
/usr/sbin/wsconscfg -d $SCREEN
done

/usr/sbin/wsfontload -h 16 /usr/share/misc/pcvtfonts/koi8-r-8x16

for cons in 2 3 4 5 6 7 8 9 10 11; do
wsconscfg -t 80x25bf $cons
done

fi



то бишь тупенько вырезаем дефолтные "скрины", грузим koi8-r шрифт и восстанавливаем "скрины" с нормальным koi8-r шрифтом.




где-то так... в следующей части этого "опуса" будет история собственно о сборке и тестировании E17-го в таком водъ, труЪ, Юниксе... панимаш...

среда, 5 декабря 2007 г.

забавные инвестиции...

Российская интернет-компания "СУП" полностью приобрела известный интернет-сервис LiveJournal

о-ля-ля! "Чуден Днепр при тихой погоде, когда вольно и плавно мчит сквозь леса и горы полные воды свои. Ни зашелохнет; ни прогремит" // Н.В. Гоголь. это чтоб уж точно и наверняка "не зашелохнуло" и "не прогремело". воистину, дела Твои... со скуки помереть точно не судьба!

можно по-разному относиться к подобным инициативам, но стоит помнить, что в стане нашего "старого друга" оплотом (last stand) Демократии остаётся лишь радио, а никак не газеты, журналы, тв и прочая публицистика. только вот с Госкомсвязьнадзором в наших "степях" не забалуешь, да и "демократия" у нас чуток иная (поправьте, ежели ошибаюсь)...

рекомендую ознакомиться с шикарнейшим трэдом на моём любимом форуме ("В Иране зобанели Гугол"):
http://unixinfo.ru/index.php?topic=301.0

ей-ей мы уже где-то "там же" по уровню актуальности информации в так называемых "ИА" (это - не имя Ослика из сказки про Винни-Пуха, это - сокращение термина "Информационное Агентство"). прав был Льюис Кэррол, глаголя в XIX веке устами Алисы: "...всё чудесатее и чудесатее..."

23Oz (23 Ounces of Glass) ETK

http://e17-stuff.org/content/show.php/23Oz.-etk?content=71090

вот и пройдена часть очередного пути - надеюсь, что кому-нибудь результаты да понравятся... без матюков и багрепортов правда не обошлось - так куда ж без них... да и сказать в очередной раз нечего. просто сделал работу. и сделал вроде неплохо...