эха про OpenBSD (архив)


\/ . vaskas to soko1 @ Re: Поздравьте с первым патчем :) 25/07/14 14:55

Молодец! Похоже, что именно в этот момент я отправлял тебе pull request: https://github.com/soko1/openbsd-acpithinkpad/pull/1.
Я на x230t пока особой разницы не заметил, кроме одного момента: во время старта системы и выхода из suspend'a кулер резко разгоняется, чтобы потом быстро успокоиться.

VonAuU... . ОТВЕТИТЬ





\/ . soko1 to All @ Поздравьте с первым патчем :) 25/07/14 14:33

Как я ранее писал, нашёл патч для исправления проблемы постоянной работы кулера при простое на ThinkPad'ах и с ним отказывалось собираться ядро.
Сначала думал возложить эту проблему на знающих людей, а потом попробовал сам и...получилось :)
Сегодня закоммичу сюда : https://github.com/soko1/openbsd-acpithinkpad

f2QmEM... . цепочка . ОТВЕТИТЬ



\/ . 51t to soko1 @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 25/07/14 14:00

> А вообще лучше не мешать ОС и политику. Вообще политику лучше ни с чем не мешать и по возможности избегать разговоры о ней, потому что политика и власть это всегда ложь и грязь.

Если это ложь и грязь, то пусть это лучше будет моя ложь и грязь. :)

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

Собственно, лично на мой взгляд, основные достижения openbsd - политические. Поэтому система с тремя разработчиками :) может бросать вызов другим ОС и даже побеждать их в чём-то, иметь постоянную, к тому же, растущую аудиторию. Это не технические преимущества, а именно грамотная политика партии, правительства и лично товарища Тео :)


> По-моему просто нужно не смотреть телевизор

http://51t.ru/g3SSWw :)

GnwHJq... . ОТВЕТИТЬ



\/ . soko1 to 51t @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 25/07/14 13:50

>Насколько я помню, русскоязычных разработчиков три штуки: zhuk@ :), kirby@ и какой-то mikeb@ (судя по презентациям, Михаил Белопухов, Киев).

Ага, буду иметь в виду, спасибо :)

>(но там полная Славаукраине!, боюсь, москалям помогать не будет)
>(тоже немного Славаукраине, но вроде без паники, благо что в Германии нонче :)

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

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

А вообще лучше не мешать ОС и политику. Вообще политику лучше ни с чем не мешать и по возможности избегать разговоры о ней, потому что политика и власть это всегда ложь и грязь.

p7K3Rn... . ОТВЕТИТЬ



\/ . soko1 to All @ Вопрос об ФС 25/07/14 13:36

Друзья, расскажите как обстоят дела с ФС, которая могла бы заменить FFS. Планируются ли вообще какие нибудь действия в этом направлении?
Например, чем разработчикам не нравится HammerFS с православной для проекта лицензией? Или всех всё устраивает в существующей ФС?

Кстати, планируется ли поддержка TRIM для SSD-накопителей? Или она уже есть и я это пропустил?

ocV5sm... . цепочка . ОТВЕТИТЬ



\/ . 51t to soko1 @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 25/07/14 13:17

> Благодарствую! ОБязательно потещу. А ему на англ писать, если что? Или это русскоязычный разработчик? А то я пока не в курсе)

Насколько я помню, русскоязычных разработчиков три штуки: zhuk@ :), kirby@ и какой-то mikeb@ (судя по презентациям, Михаил Белопухов, Киев).


есть ещё из особ, приближённых к:

https://www.linux.org.ru/people/val-amart/profile (но там полная Славаукраине!, боюсь, москалям помогать не будет)

https://www.linux.org.ru/people/beastie/profile (тоже немного Славаукраине, но вроде без паники, благо что в Германии нонче :)

x8WlKL... . ОТВЕТИТЬ



\/ . soko1 to zhuk@ @ Re: fan off 25/07/14 13:09

>dmesg скинь. Управление кулерами ныне обычно через ACPI делается, то есть - специфично для разных ноутов. OpenBSD обычно сваливает эту работу на BIOS (в котором, кстати, есть смысл покопаться на эту тему).

Первым же делом отправил на dmesg@openbsd.org как поставил :)

Вот: http://paste.kde.org/pbi8frm4b

Ну вот я патч нашёл, что эту проблему устраняет (https://github.com/soko1/openbsd-acpithinkpad), вот только с ошибкой уже собирается к сожалению. Пофиксить не получилось пока что.

NtV3Bc... . ОТВЕТИТЬ



\/ . soko1 to zhuk@ @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 25/07/14 13:04

>Не советую эту серию. Китайцы и так начали поганить, а "L" - это банальная попытка втюхать фуфло под раскрученным брендом. "Нормальные" серии - T, X, R.

Учитывая цену (у нас вообще 350$ стоил с i3) - просто отличная машинка. На фоне остального бюджетного шила - просто божественный ноут. Но всё равно поменял на Х220 т.к. давно о нём мечтал :)

>Этого многим не хватает, увы. У меня пока из-за этого хост-системы на CentOS. Плачу, но увы, для впиливания поддержки режима гипервизора в опёнок нужно много как знаний-умений, так и времени...

Значит будем ждать :) Жаль что я не умею...хотя решил начать вновь учить Си, потому что есть желание помогать проекту.

>А у тебя вообще apmd работает? Что говорит вывод команды apm? apm -C?

Да-да, конечно! Использую apmd с ключом -C. Когда от батареи работаю, то делаю pkill apmd && apmd -L.

# apm
Battery state: high, 79% remaining, 238 minutes life estimate
A/C adapter state: not connected
Performance adjustment mode: cool running (800 MHz)

(это с внешним моником, так бы часа три показывало)

apm -C ничего не выдаёт.

Кстати, на линуксе юзал tlp (http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html), очень хороший инструмент синкпадовский, который позволяет много чего в том числе регулировку уровня заряда батареи. Литий-ионные аккумы не любят полной зарядки и полной разрядки, поэтому я отрегулировал чтобы оно всегда было в пределах 40-80%, а когда сильно припрёт - на 100. Жаль что тут такой штуки нет. Поэтому теперь когда мне нужно на 100% зарядить аккум я загружаюсь в линукс и там выполняю tlp fullcharge. И что круто - эта софтина аппаратно регулирует все эти фишки. То есть загрузись ты хоть в винду - аккум всё равно не будет загружаться до заданного уровня. Аналогичная ситуация когда комп выключен и подрублен к подзарядке. Удобно, короче, и аккумулятор благодарен :)

>mlarkin@, если не ошибаюсь, буквально на днях эту поддержку добавил - см. http://undeadly.org/cgi?action=article&sid=20140721090626 . Как я понимаю, достаточно просто создать swap-раздел на softraid-диске, ключ/пароль будет запрошен при запуске компа. Если что-то не взлетит - лучше Майку напрямую написать с детальным описанием проблемы (а потом здесь рассказать :) ).

Вот так совпадение :) Благодарствую! ОБязательно потещу. А ему на англ писать, если что? Или это русскоязычный разработчик? А то я пока не в курсе)

377Jo9... . ОТВЕТИТЬ



\/ . soko1 to vaskas @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 25/07/14 12:50

>Hibernate только что реализовали для softraid crypto: http://undeadly.org/cgi?action=article&sid=20140721090626. Я, правда, еще не пробовал.

Опаньки, проверим, спсб :)

>Что касается suspend to ram, у меня он 2 дня как не работает (5.6-бета) почему-то, пойду установлю новый snapshot.

Похожая ситуация :( Я думал оно просто не дружит с моим ноутом, а оказалось совпало. Дело в том что совсем недавно работало. Надо будет тоже обновиться.

>На x230t с кулером порядок.

Я нашёл патчик: https://github.com/soko1/openbsd-acpithinkpad, сейчас буду пробовать :)

ATr2vf... . ОТВЕТИТЬ





\/ . 51t to zhuk@ @ Re: блин, без рабочей obsd.rss ничего не понятно, что происходит 25/07/14 11:05

> Плюс, похоже, многие из тех, кто пользуется, не слишком активно участвуют в тестировании...

там невозможно не поучаствовать в тестировании, оно просто валятся :)

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

поэтому у меня всё, включая ii и прочую разработку, находятся исключительно на ext2 разделах... то, когда сломали обновления даты - я обнаруживал проблемы в самых разных местах, от контроля версий, когда долго искал, в чём проблему, а оказалось, что файл, не изменяющий размер и время правки, просто не анализируется на изменения.... до полностью нерабочего ./configure, которой не нравилось, что файлы, которые создаются, датируются 1970 годом :)

но, ничего, пережили... а потом это исправили, с обнадёживающим коммитом "я тогда был в аэропорту, и немного недоглядел, когда делал этот участок". теперь, добавив ext4, напрочь сумели сломать ext2... надеюсь, в этот раз, для разнообразия, в поезде :)

так, глядишь, вообще ext2 закроют, как источник проблем... вместе с lynx :)

hE37wl... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: блин, без рабочей obsd.rss ничего не понятно, что происходит 25/07/14 10:53

> кроме меня, никто не пользуется ext2? :) потому что у меня эта проблема воспроизводится вообще везде и всегда,
> причём быстро, с любым каталогом, даже если подкаталоги вложены - начинаешь копировать, и моментально
> получаешь...

На самом деле, довольно мало кто. Плюс, похоже, многие из тех, кто пользуется, не слишком активно участвуют в тестировании... У меня вот ext2/3/4 актуальны от случая к случаю, чаще обмен данными с Linux-хостами идёт по сети. Сейчас разработчики уже переключаются на режим тестирования, soft-lock уже действует. Учитывая грядущие выходные - думаю, исправления можно ожидать в начале следующей недели.

oE6Xyp... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: скока места 25/07/14 10:49

> приходится сначала копировать файл SHA256, а потом уже два в один обновлять... :)

А-а-а. Дело в том, что релизы базовой ОС и Иксов собираются в разных местах, поэтому проблема не так актуальна: в момент обновления ftp.openbsd.org происходит простое склеивание этих файлов. Вот никто и не чинил. :)

RxLP6P... . ОТВЕТИТЬ



\/ . 51t to zhuk@ @ Re: блин, без рабочей obsd.rss ничего не понятно, что происходит 25/07/14 10:40

> Ждём pelikan@'а, обещал тебе лично ответить как только разберётся.

кроме меня, никто не пользуется ext2? :) потому что у меня эта проблема воспроизводится вообще везде и всегда, причём быстро, с любым каталогом, даже если подкаталоги вложены - начинаешь копировать, и моментально получаешь...

eX4yKM... . ОТВЕТИТЬ



\/ . 51t to zhuk@ @ Re: скока места 25/07/14 10:38

> Вот тут ничего не скажу. Вообще не интересовался SHA256.

это файл такой, в релизе лежит... :) в любом каталоге с тарболами на FTP :)

когда делаешь make release для src, он собирает, потом кладёт тарболы и собирает SHA256 с хэшами. а когда делаешь make release на ксенокару, он делает ровно то же самое... приходится сначала копировать файл SHA256, а потом уже два в один обновлять... :)

7mGIJ8... . ОТВЕТИТЬ



\/ . 51t to zhuk@ @ Re: скока места 25/07/14 10:35

> Вообще-то после make obj у тебя начинает использоваться для сборки /usr/obj. А /usr/src практически не трогается вообще.

разумеется... проблема была в том, что, я уже не помню, на какой релиз, инодов не хватало. я сейчас не вспомню, или в src, или в obj или вообще ports - но не хватало инодов даже просто их на этот раздел скопировать :)

mIHUVR... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 25/07/14 10:35

Я всегда называл "хакатоном", по собственному почину. Ещё до того как увидел первый раз Ruby и GitHub. :( Предлагаю пока не заморачиваться, а через годик сделать выборку - что популярнее.

mj1EQt... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: скока места 25/07/14 10:34

> кстати, почему эта штука не дополняет SHA256, а перезаписывает его?

Вот тут ничего не скажу. Вообще не интересовался SHA256.

AzCFzP... . ОТВЕТИТЬ



\/ . 51t to zhuk@ @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 25/07/14 10:33

Кстати, раньше, вроде бы в русскоязычном obsd-сообществе прижилось слово "хакафон". Мне оно, кстати, больше нравится. А потом пришли "стиляги" со своими рубями и гитхабами, и стало "хакатон". Надо какой-то общий термин :)

cUjweu... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: скока места 25/07/14 10:33

Вообще-то после make obj у тебя начинает использоваться для сборки /usr/obj. А /usr/src практически не трогается вообще. Ну и DESTDIR и RELEASEDIR можешь указывать куда угодно.

KvkG6C... . ОТВЕТИТЬ



\/ . 51t to zhuk@ @ Re: скока места 25/07/14 10:30

> Ты ведь не забываешь "make obj" делать? ;)

там просто не хаватало инодов, самих по себе :)

> Ну, добавь ещё мегабайт 300 на упакованный полный комплект. :)

и на распакованный тоже место нужно... насколько я понимаю, в этом случае у тебя и полный src, и полный obj и полный dest, а потом ещё и тарболы... не меньше трёшки вылазит... потом очищаешь всё добро, кроме тарболов, и то же самое с ксенокарой... (кстати, почему эта штука не дополняет SHA256, а перезаписывает его?)

PhSz6b... . ОТВЕТИТЬ





\/ . zhuk@ to 51t @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 25/07/14 10:28

> ну, там, наверное, только разработчики

Угу. Правда, не всегда коммиттеры - иногда приглашают многообещающих новичков. Но в целом - да, напрашивающихся и просто "со стороны" туда не зовут. Хакатоны - не конференции, здесь работу работают, которая в удовольствие. :)

reRK61... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 25/07/14 10:26

В случае моём и ajacoutot@ девочки развлекались самостоятельно - кто на машине, кто поездом катались по Словении. Благо страна красивая и море есть. :)

fEziFO... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: скока места 25/07/14 10:24

>> newfs -i2 (или даже -i1) спасёт отца русской демократии. ;)
>
>я про авторазбивку... было в 5.3.. оно место под usr/src выделило, места хватает, а работать на нём - не работает :)

Про 5.3 не скажу. Я в 5.4 или 5.5 /usr/src получал - вроде, проблем не было... Ты ведь не забываешь "make obj" делать? ;)

>> Для базовой системы уходит гигабайта два, вроде.
>
>я про полный цикл, с сборкой DESTDIR и RELEASEDIR

Ну, добавь ещё мегабайт 300 на упакованный полный комплект. :)

9cgNT8... . ОТВЕТИТЬ





\/ . 51t to All @ блин, без рабочей obsd.rss ничего не понятно, что происходит 25/07/14 09:32



\/ . vaskas to soko1 @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 25/07/14 09:23

Отлично!

Hibernate только что реализовали для softraid crypto: http://undeadly.org/cgi?action=article&sid=20140721090626. Я, правда, еще не пробовал.

Что касается suspend to ram, у меня он 2 дня как не работает (5.6-бета) почему-то, пойду установлю новый snapshot.

На x230t с кулером порядок.

FOdR2g... . ОТВЕТИТЬ



\/ . 51t to FireFighter @ Re: lynx 25/07/14 09:22

у меня раньше links2 (правда, в графическом режиме) был основным браузером...

а из консольных... во времена развитого линаксизма часто использовал и elinks и w3m... а в openbsd как-то попривык к lynx, точнее, к тому факту, что он всегда под рукой.

0zn8AO... . ОТВЕТИТЬ



\/ . 51t to zhuk@ @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 25/07/14 09:20

>> Можно ли поподробнее описать как проходят хакафоны?
>> 1) как туда попасть?
> Получить приглашение. :)

ну, там, наверное, только разработчики... или девочек тоже приглашают? :)

Pg3Qft... . ОТВЕТИТЬ





\/ . 51t to zhuk@ @ Re: скока места 25/07/14 09:18

> newfs -i2 (или даже -i1) спасёт отца русской демократии. ;)

я про авторазбивку... было в 5.3.. оно место под usr/src выделило, места хватает, а работать на нём - не работает :)

> Для базовой системы уходит гигабайта два, вроде.

я про полный цикл, с сборкой DESTDIR и RELEASEDIR

7cyepI... . ОТВЕТИТЬ



\/ . 51t to zhuk@ @ Re: lynx 25/07/14 09:16

ну, вообще без браузера - это тоже не дело :( тем более, столько лет жил был...

самый маленький, если не путаю, это нетрик... впрочем, ща в debian поиск по тэгу сделаю, и посмотрю сырцы...

> debtags search "web::browser && interface::text-mode"
elinks - advanced text-mode WWW browser
elinks-lite - advanced text-mode WWW browser (transition package)
links - Web browser running in text mode
links2 - Web browser running in both graphics and text mode
lynx - Text-mode WWW Browser (transitional package)
lynx-cur - Text-mode WWW Browser with NLS support (development version)
lynx-cur-wrapper - Wrapper for lynx-cur (transitional package)
netrik - text mode WWW browser with vi like keybindings
w3m - WWW browsable pager with excellent tables/frames support
w3m-el-snapshot - simple Emacs interface of w3m (development version)
w3m-img - inline image extension support utilities for w3m

нетрик исходники 500 кб, елинкс 4200 кб, w3m 2200 кб, lynx-cur 3500 кб

C5HEWg... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: скока места 25/07/14 09:13

> у меня обычно иноды быстрее заканчиваются, если маленькие разделы делать :)

newfs -i2 (или даже -i1) спасёт отца русской демократии. ;)

> > Кстати, сколько нужно место для того чтобы собирать софт из сорцов? Хотя думаю вообще /usr/obj, /usr/xobj сделать в tmpfs, у меня ОЗУ всё равно 8 гиг.

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

А вот для портов - смотря что и как собирать. У меня сейчас 29 гигов - на случай полной сборки KDE (3+4) и libreoffice без очистки. Нормальному человеку, которому ВДРУГ понадобится прогнать полный bulk build посредством dpb(1), должно хватить 20 гигов для /usr/ports/pobj (у меня он, кстати, живёт в /usr/obj/p) за глаза. Правда, ещё нужно где-то хранить distfiles и собственно собранные пакеты (у меня они живут на одном разделе, 23 гига, из них сейчас занято 16 - перестарался с запасом).

K0qpJB... . ОТВЕТИТЬ



\/ . zhuk@ to soko1 @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 25/07/14 09:04

> ThinkPad L420

Не советую эту серию. Китайцы и так начали поганить, а "L" - это банальная попытка втюхать фуфло под раскрученным брендом. "Нормальные" серии - T, X, R.

> 1) хорошей виртуализации для полноценного запуска виртуалок (не проблема, буду юзать внц на удалённых серваках)

Этого многим не хватает, увы. У меня пока из-за этого хост-системы на CentOS. Плачу, но увы, для впиливания поддержки режима гипервизора в опёнок нужно много как знаний-умений, так и времени...

> 2) оптимизировать как-то работу от батареи, т.к. жрёт акум значительно серъёзнее линукса
> 3) сделать что-то с кулером, потому что он крутится вообще всегда, хоть и тихо. В линуксе он у меня крутился крайне редко, только когда нагружал чем-то систему серьёзно. Ща буду курить что и как покрутить.

А у тебя вообще apmd работает? Что говорит вывод команды apm? apm -C?

> 4) не совсем ясно как suspend to disk сделать при softraid с crypto.

mlarkin@, если не ошибаюсь, буквально на днях эту поддержку добавил - см. http://undeadly.org/cgi?action=article&sid=20140721090626 . Как я понимаю, достаточно просто создать swap-раздел на softraid-диске, ключ/пароль будет запрошен при запуске компа. Если что-то не взлетит - лучше Майку напрямую написать с детальным описанием проблемы (а потом здесь рассказать :) ).

AoSvyb... . ОТВЕТИТЬ



\/ . zhuk@ to soko1 @ Re: fan off 25/07/14 08:56

dmesg скинь. Управление кулерами ныне обычно через ACPI делается, то есть - специфично для разных ноутов. OpenBSD обычно сваливает эту работу на BIOS (в котором, кстати, есть смысл покопаться на эту тему).

KdqiO0... . ОТВЕТИТЬ



\/ . zhuk@ to 51t @ Re: lynx 25/07/14 08:54

Он ужасен с точки зрения безопасности. Даже с учётом его убогих возможностей. Сначала его хотели почистить от "мусора", чтобы хотя бы уменьшить потенциал для атаки, но когда Тео влез унутре... в общем, пока что да, будем обходиться тем, что есть. Если кто хочет предложить вменяемый консольный браузер (собственный ли, чужой ли) - patches are welcome. :)

aIdIit... . ОТВЕТИТЬ



\/ . zhuk@ to guest @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 25/07/14 08:47

> Ааа, завидую! В хорошем смысле! А Тео там тоже был?

Естественно. Это был ежегодный большой "всеобщий" хакатон.

> Можно ли поподробнее описать как проходят хакафоны?
> 1) как туда попасть?

Получить приглашение. :)

> 2) много ли людей участвует

Когда как. Статистика на http://www.openbsd.org/hackathons.html

> 3) где все спят

Обычно устроитель хакатона обеспечивает (сам или при финансовой помощи OpenBSD Foundation) места в каком-нибудь общежитии (ныне их хостелами кличут). Кто не хочет - селится сам в какой-нибудь гостинице.

> 4) как общаются

В основном на английском. :) Все в одной комнате, плюс есть общий чат (чтобы ор постоянный не стоял и друг друга не отвлекать от важных процессов слишком часто). Ну а локальные группки нередко формируются по языковому принципу, и там уже болтают на родном языке.

> 5) сколько дней всё это длиться

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

wDy32l... . ОТВЕТИТЬ



\/ . 51t to solus @ Re: Удобное подключение к Wifi 25/07/14 04:58

пусть тогда скрипт тут и лежит, для коллекции :)

====
#!/bin/sh
#
# v.9.5 2/7/2012 17:30
#
# Copyright (c) 2012 Daniel Melameth <daniel@melameth.com>
#
# Permission to use, copy, modify and distribute this software for any purpose
# with or without fee is hereby granted, provided that the above copyright
# notice and this permission notice appear in all copies.
#
# This software is provided by the regents and contributors "as is" and any
# express or implied warranties, including, but not limited to, the implied
# warranties of merchantability and fitness for a particular purpose are
# disclaimed. In no event shall the regents or contributors be liable for any
# direct, indirect, incidental, special, exemplary or consequential damages
# (including, but not limited to, procurement of substitute goods or services;
# loss of use, data or profits; or business interruption) however caused and on
# any theory of liability, whether in contract, strict liability or tort
# (including negligence or otherwise) arising in any way out of the use of this
# software even if advised of the possibility of such damage.
#
# NAME
# wiconfig - simplifies the configuration of wireless interfaces
#
# SYNOPSIS
# wiconfig [-dqs] interface
#
# EXAMPLE
# Manually configure a wireless interface
#
# # sh /etc/wiconfig iwi0
#
# Automatically scan for wireless networks and, using previous manual
# configurations, configure the wireless interface based on the strongest
# wireless signal (for use with hostname.if(5) files)
#
# $ cat /etc/hostname.iwi0
# !/bin/sh /etc/wiconfig -q \$if
#
# With the above /etc/hostname.iwi0 in place, iwi0 will be configured
# upon startup or whenever /etc/netstart iwi0 is invoked.
#
# wiconfig can also be used in conjunction with apmd(8). In the
# following example, upon resume, it'll check the status of the wireless
# connection and, if there is no network connection, it'll automatically
# scan for wireless networks and, using previous manual configurations,
# configure the wireless interface based on the strongest wireless
# signal.
#
# $ cat /etc/apmd/resume
# #!/bin/sh
# /bin/sh /etc/wiconfig -qs iwi0
#
# apmd will need this file to be executable so you'll want to do this as
# well
#
# # chmod 0744 /etc/apm/resume
#
# FILES
# /etc/wiconfig.db Wireless network database
#
# CAVEATS
# 1) Only DHCP is supported
# 2) No user-defined nwid prioritization--the nwid with the strongest
# signal will always be preferred
# 3) Only the first 20 nwids with the strongest signals are used
# 4) When used within a hostname.if(5), host startup will be delayed
# slightly while a wireless network scan is performed
# 5) Database records are never purged--existing entries will be updated,
# but unwanted entries need to be removed manually
# 6) Hidden nwids are not supported

# set -x

# Save default IFS
oIFS=$IFS
myname=$0

max=20
# Number of seconds to wait before checking interface status
seconds=3
wiconfigdb="/etc/wiconfig.db"

function usage {
echo "usage: $myname [-dqs] interface"
exit 1
}

# Determine network status and name
function review {
# Assume we are not connected to a network
typeset _i=1 _status=false _ifconfig _nwid _yn
# We are being called from apmd
$quiet && sleep 2
# Need to use a co-process here to handle _status (and _nwid?)
ifconfig "$if" |& while read -p _ifconfig; do
case $_i in
# Sixth line/status
6) active $_ifconfig && _status=true;;
# Seventh line/nwid
7) # Connected to an active network
if $_status; then
set $_ifconfig
_nwid=${3#\"}
# nwid begins with a quote
if [ ${#3} -gt ${#_nwid} ]; then
# nwid is not hidden
if [ ${#3} -gt 2 ]; then
IFS='"'
set $_ifconfig
_nwid="$2"
IFS=$oIFS
else
unset _nwid
fi
fi
fi
break;;
esac
_i=$(($_i+1))
done

if $_status; then
if $quiet; then
exit
else
different "$_nwid"
fi
else
start
fi
}

# Determine if the network is active
function active {
typeset _status=$*
typeset _length=${#_status}
_status=${_status%active}
# Network is active
if [ ${#_status} -lt $_length ]; then
return
fi
return 1
}

function different {
typeset _yn
echo "Currently connected to $*."
read _yn?"Would you like to connect to a different network (y/n)? "
case $_yn in
y) start;;
n) exit;;
*) different "$*";;
esac
}

function start {
readdb
scan
createarray
match
# Position of nwid in db
typeset _n=$?
# Automatically configuring interface
if $quiet; then
# Found an nwid match
if [ $_n -ne 0 ]; then
echo "connecting to wireless network ${r[$_n]}"
configure "${r[$_n]}" "${r[$_n+2]}"
else
exit 1
fi
else
if [ $_n -ne 0 ]; then
# Reconnection desired
if $(reconnect $_n); then
configure "${r[$_n]}" "${r[$_n+2]}"
exit
fi
fi
menu
fi
}

function readdb {
# If db exists and is readable
if [ -r $wiconfigdb ]; then
typeset _i=1
while read r[$_i]; do
_i=$((_i+1))
done < $wiconfigdb
# Remove newline from array as it's counted in ${#r[@]}
unset r[$_i]
fi
}

# Parse and sort ifconfig nwid output
function scan {
# Need to include a quote to account for nwids with spaces
# IFS=' "'
# IFS=$oIFS
echo -n > "$output"
typeset _nwids _args _nwid

! $quiet && echo "Performing wireless scan..."
# Parse ifconfig nwid output for sorting
ifconfig $if scan | grep ^[[:space:]]*nwid | while read _nwids; do
# nwid name chan channel bssid mac db speed options
# Required to set positional parameters
set $_nwids
_args=$#
# Remove possible leading double quote
_nwid=${2#\"}
# nwid begins with a quote
if [ ${#2} -gt ${#_nwid} ]; then
# nwid is not hidden
if [ ${#2} -gt 2 ]; then
IFS='"'
set $_nwids
_nwid=$2
shift 2
_nwids=$*
IFS=$oIFS
set $_nwids
else
continue
fi
else
shift 2
fi

# shift
# nwid has one or more spaces
# if [ $_args -gt 9 ]; then
# # Remove possible leading double quote
# _nwid=${1#\"}
# shift
# _args=$(($_args-1))
# while [ $_args -gt 9 ]; do
# _nwid=$_nwid $1
# # _nwid=$_nwid\ $1
# shift
# _args=$(($_args-1))
# done
# # Append and remove trailing double quote
# _nwid=$_nwid\ ${1%\"}
# else
# _nwid=$1
# fi

# shift
# unset _nwid
# nwid might contain one or more spaces
# while [ $_args -ge 9 ]; do
# _nwid="${_nwid:-$1} ${_nwid:+$1}"
# shift
# _args=$(($_args-1))
# done

# nwid is hidden?
# [[ X$4 = X00:00:00:00:00:00 ]] && continue

echo -n "$_nwid" >> $output
# Channel
echo -n "|$2" >> $output
# MAC
echo -n "|$4" >> $output
# Signal quality
echo -n "|${5%dB}" >> $output
# Speed
echo -n "|$6" >> $output
# Options
echo "|$7" >> $output
# echo $name $number $chan $mac $db $speed $options
done
IFS=$oIFS

# Wireless network(s) found
if [ -s "$output" ]; then
# Sort nwids by greatest signal quality
sort -brk 4 -o "$input" -t "|" "$output"
else
if ! $quiet; then
rescan
else
exit 1
fi
fi
}

function rescan {
typeset _rq
read _rq?"No wireless networks found. Enter r to rescan or q to quit: "
case $_rq in
r) scan;;
q) exit;;
*) rescan;;
esac
}

# Create sorted array of top $max nwids
function createarray {
IFS='|'
typeset _i=1 _length
# If the array exists
[[ -n ${index[1]} ]] && \
unset nwid chan mac db speed options index access
while read nwid[$_i] chan[$_i] mac[$_i] db[$_i] speed[$_i] options[$_i] && [ $_i -le $max ]; do
index[$_i]=$_i
# Determine if access is secure
_length=${#options[$_i]}
options=${options[$_i]#privacy}
# Access is secure
if [ ${#options} -lt $_length ]; then
access[$_i]="Secured"
else
access[$_i]="Unsecured"
fi
_i=$(($_i+1))
done < "$input"
IFS=$oIFS
}

# Linear search for best nwid match
function match {
typeset _i _m
# Start with the nwid with the strongest signal
for _i in ${index[@]}; do
matchdb "${nwid[$_i]}" "${mac[$_i]}"
_m=$?
# Match found
[[ $_m -ne 0 ]] && return $_m
done
return 0
}

# Return match in the db
function matchdb {
# Start with last MAC in db
typeset _i=$((${#r[@]}-1))
# More records in the db
while [ $_i -gt 0 ]; do
# MAC and nwid matches
if [ "X$2" = "X${r[$_i]}" ] && \
[ "X$1" = "X${r[$_i-1]}" ]; then
# Return position of nwid in db
return $(($_i-1))
fi
# Move to previous MAC (and network) in db
_i=$(($_i-3))
done
}

# Configure interface
function configure {
ifconfig $if -nwid -nwkey -wpakey down > /dev/null 2>&1
# Apparently we need to use eval and single quotes to handle nwids with
# spaces
eval ifconfig $if nwid \'$1\' $2 up > /dev/null 2>&1
dhclient $if
}

function reconnect {
typeset _yn
read _yn?"${r[$1]} found. Would you like to reconnect (y/n)? "
case $_yn in
y) return;;
n) return 1;;
*) reconnect;;
esac
}

function menu {
typeset _i
echo
printf " %-40s %-6s %-10s\n" "Network Name" "Signal" "Access"
echo
for _i in ${index[@]}; do
printf "%3d) %-40s %-6s %-10s\n" \
$_i "${nwid[$_i]}" "${db[$_i]}dB" "${access[$_i]}"
done
echo
read choice?"Enter the number of the network to connect to (or r to rescan or q to quit): "
if [ $choice -ge 1 ] && [ $choice -le ${#index[@]} ]; then
if [ "X${access[$choice]}" = XSecured ]; then
password
determine
else
configure "${nwid[$choice]}"
update
fi
elif [ "X$choice" = "Xr" ]; then
start
elif [ "X$choice" = "Xq" ]; then
exit
else
echo "Invalid choice"
sleep 1
menu
fi
}

function password {
stty -echo
read -r pass1?"Enter the password for ${nwid[$choice]} (will not echo): "
echo
read -r pass2?"Enter the password for ${nwid[$choice]} (again): "
echo
stty echo
# If passwords do not match or are blank
if [ "X$pass1" != "X$pass2" ] || [ "X$pass1" = X ]; then
echo "Passwords do not match or are invalid"
sleep 1
password
fi
}

# Determine if we are using WPA or WEP
function determine {
echo "Connecting to wireless network ${nwid[$choice]}..."
ifconfig "$if" -nwid -nwkey -wpakey down > /dev/null 2>&1
# Must bring interface up for status to become active
ifconfig "$if" nwid "${nwid[$choice]}" wpakey "$pass1" up > /dev/null 2>&1
typeset _status=$?
# Lackluster workaround for athn taking a while to become active
[[ $if = athn? ]] && seconds=11
sleep $seconds
# Network is active
if [ $_status -eq 0 ] && active $(ifconfig "$if" | fgrep status); then
update wpa
else
ifconfig "$if" -nwid -wpakey down > /dev/null 2>&1
ifconfig "$if" nwid "${nwid[$choice]}" nwkey "$pass1" up > /dev/null 2>&1
_status=$?
sleep $seconds
if [ $_status -eq 0 ] && \
active $(ifconfig "$if" | fgrep status); then
update wep
else
echo "Unable to connect"
exit 1
fi
fi
dhclient $if
}

# Update existing db record, if it exists, or create a new one
function update {
# Number of entries in db
typeset _i=${#r[@]} _m
# db is not empty
if [ $_i -gt 0 ]; then
matchdb "${nwid[$choice]}" "${mac[$choice]}"
_m=$?
# Match found
if [ $_m -ne 0 ]; then
secure $(($_m+2)) $1
createdb
return
fi
fi
r[$_i+1]="${nwid[$choice]}"
r[$_i+2]="${mac[$choice]}"
secure $(($_i+3)) $1
createdb
}

# Set nwid access parameters for db record
function secure {
case $2 in
wpa) r[$1]="wpakey \"$pass1\"";;
wep) r[$1]="nwkey $pass1";;
# Open nwid
*) r[$1]="";;
esac
}

function createdb {
# If the db does not exist, create and secure it
if [ ! -a "$wiconfigdb" ]; then
touch "$wiconfigdb"
chmod 640 "$wiconfigdb"
fi

echo -n > "$wiconfigdb"
typeset _i=1
while [ $_i -le ${#r[@]} ]; do
echo "${r[$_i]}" >> "$wiconfigdb"
_i=$(($_i+1))
done
}

function end {
rm -f "$output" "$input"
}

trap end EXIT ERR INT KILL TERM

# Debugging for functions (must be specified after the function declaration)
# typeset -ft review
# typeset -ft active
# typeset -ft different
# typeset -ft start
# typeset -ft readdb
# typeset -ft scan
# typeset -ft rescan
# typeset -ft createarray
# typeset -ft match
# typeset -ft matchdb
# typeset -ft configure
# typeset -ft reconnect
# typeset -ft menu
# typeset -ft password
# typeset -ft determine
# typeset -ft update
# typeset -ft secure
# typeset -ft createdb

debug=false
# Assume we are being used interactively
quiet=false
# Do not check the wireless network status before configuring the interface
# (expected in the hostname.if(5) case)
status=false

if [ "X$(whoami)" != Xroot ]; then
echo "$myname must be run as root"
exit 1
fi

while getopts dqs opt; do
case $opt in
d) debug=true;;
q) quiet=true;;
s) status=true;;
?) usage;;
esac
done

if $debug; then
set -x
typeset -ft review active different start readdb \
scan rescan createarray match matchdb configure reconnect menu \
password determine update secure createdb
fi

shift $(($OPTIND-1))

# No interface specified
[[ -z "$1" ]] && usage

if="$1"
ifconfig "$if" > /dev/null 2>&1

# Interface does not exist
if [ $? -ne 0 ]; then
# Manually configuring interface
if ! $quiet; then
echo "Interface $if does not exist"
fi
exit 1
fi

output=$(mktemp)
input=$(mktemp)

# Running from hostname.if
if $quiet && ! $status; then
start
else
review
fi
====


63iJ6A... . ОТВЕТИТЬ







\/ . 51t to All @ lynx 25/07/14 03:31

кстати, я правильно понимаю, что lynx исключают из базовой системы.

если да, то ЗАШТО? и как жить вообще без браузера?

fj1ax9... . цепочка . ОТВЕТИТЬ



\/ . soko1 to All @ fan off 24/07/14 14:36

Народ, как заткнуть кулер? У меня температура 46 градусов у процессора, фигли кулер постоянно крутиться? Курил man sensorsd.conf так ничего и не нашёл. sysctl-переменные hw.sensors* доступны только для чтения...

72rXXQ... . цепочка . ОТВЕТИТЬ



\/ . 51t to soko1 @ Re: Удобное подключение к Wifi 24/07/14 10:39

> Ну или может там можно сразу несколько вписывать - не пробовал ещё.

честно говоря, не знаю, можно ли там вписать много :) обычно использую, как в faq написано...

pB9UBq... . ОТВЕТИТЬ





\/ . soko1 to 51t @ Re: Удобное подключение к Wifi 24/07/14 10:37

А поясни как именно этот конфиг используешь, плз. Я в курсе только /etc/hostname.* , но оно не всегда удобно когда точек доступа дофига и часто меняются. Ну или может там можно сразу несколько вписывать - не пробовал ещё.

HMcwll... . ОТВЕТИТЬ



\/ . soko1 to 51t @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 24/07/14 10:35

>youtube смотрибельно крутится? у меня на e350 тормозиит будь здоров :)

Угу, ютабчик на удивление отлично работает. Когда с юзб-флешки загружался тормозило дико, а сейчас всё ок. Видать тогда тормоза были из-за дисковой системы, уж больно маленькая скорость была.
А ты попробуй ~/.cache в tmpfs всунуть, авось поможет?
Например так (fstab):

none /home/soko1/.cache tmpfs rw,nodev,nosuid,-s=512m,-m=1777 0 0

>вот это очень странно. в принципе, там не должно быть никаких проблем, и крутить ничего не надо было... да и что там крутить... только патчи писать, наверное :)

Надеюсь что без патчей обойдётся))

83EByk... . ОТВЕТИТЬ



\/ . 51t to soko1 @ Re: А вот и мой первый скрин на новом ThinkPad X220 :) 24/07/14 01:57

youtube смотрибельно крутится? у меня на e350 тормозиит будь здоров :)

> 2) оптимизировать как-то работу от батареи, т.к. жрёт акум значительно серъёзнее линукса
> 3) сделать что-то с кулером, потому что он крутится вообще всегда, хоть и тихо. В линуксе он у меня крутился крайне редко, только когда нагружал чем-то систему серьёзно. Ща буду курить что и как покрутить.

вот это очень странно. в принципе, там не должно быть никаких проблем, и крутить ничего не надо было... да и что там крутить... только патчи писать, наверное :)

YuwQg8... . ОТВЕТИТЬ



\/ . 51t to soko1 @ Re: Удобное подключение к Wifi 24/07/14 01:54

зачем ifconfig. /etc/networks и используем :) так было, так есть и так будет всегда :)

а вообще, на gsoc была такая задача... но, по-моему, она не была взята, надо бы найти и перепостить, что именно взято на gsoc.

xbvn4I... . ОТВЕТИТЬ



\/ . soko1 to All @ Удобное подключение к Wifi 23/07/14 23:45

Один раз вписать точку доступа это конечно удобно, но не всегда, особенно когда точки доступа постоянно меняются.
Кто чем пользуется для этого? (ifconfig ес-но не предлагать)

Нашёл хороший скрипт, дописал пару строчек и решил с вами поделиться, вдруг понадобится: https://github.com/soko1/OpenBSD/blob/master/scripts/auto-wifi.sh

DpDJ10... . цепочка . ОТВЕТИТЬ



\/ . soko1 to All @ А вот и мой первый скрин на новом ThinkPad X220 :) 23/07/14 22:55

Ранее OpenBSD пользовался, но сугубо на виртуалках и на серваках. До этого пол года назад пробовал завести на ThinkPad L420, но не заработал Wifi. На X220 же всё завелось из коробки.
Для полного счастья мне не хватает:

1) хорошей виртуализации для полноценного запуска виртуалок (не проблема, буду юзать внц на удалённых серваках)
2) оптимизировать как-то работу от батареи, т.к. жрёт акум значительно серъёзнее линукса
3) сделать что-то с кулером, потому что он крутится вообще всегда, хоть и тихо. В линуксе он у меня крутился крайне редко, только когда нагружал чем-то систему серьёзно. Ща буду курить что и как покрутить.
4) не совсем ясно как suspend to disk сделать при softraid с crypto.

Ну вот собственно и сам скрин: http://i.imgur.com/JJYZGVu.png :)
Пока что не идеал конечно, со шрифтами нужно повозиться, но в целом юзабельно :)

i3/urxvt/tmux, если что.

IiFU08... . цепочка . ОТВЕТИТЬ



\/ . 51t to guest @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 23/07/14 13:35

> Можно ли поподробнее описать как проходят хакафоны?

мы сейчас как раз отзывы переводим :) только как-то вяло... но там люди впечатлениями делятся - несколько сообщений вниз есть ссылка на оригиналы:

Тео был, вот его необработанный ещё перево отзыва Тео: http://51t.ru/Wq6ZYW

iKkRsR... . ОТВЕТИТЬ



\/ . 51t to guest @ Re: скока места 23/07/14 13:33

> Правда придётся копировать весь LUKS раздел на винт и перебивать винт с нуля, чтобы выделить гигов 15 для начала.
> Кстати, сколько нужно место для того чтобы собирать софт из сорцов? Хотя думаю вообще /usr/obj, /usr/xobj сделать в tmpfs, у меня ОЗУ всё равно 8 гиг.

у меня обычно иноды быстрее заканчиваются, если маленькие разделы делать :)

места... про порты или про систему? про порты - иной раз и 6 гб требовалось... больше, вроде, не попадал :) на базовую систему и ксенокару - гига 3, если очищать obj перед сборкой иксов. хотя я на 3 как-то раз упёрся в нехватку места... поэтому, наверное, даже больше трёх...

bxWZvT... . ОТВЕТИТЬ



\/ . 51t to All @ юзеры 23/07/14 12:25

кому лень регистрироваться - пишите мне на me@51t.ru я вам логин и адрес для автологина дам :)

qtXwhG... . цепочка . ОТВЕТИТЬ



\/ . guest to 51t @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 23/07/14 12:17

Ааа, завидую! В хорошем смысле! А Тео там тоже был?
Можно ли поподробнее описать как проходят хакафоны?
1) как туда попасть?
2) много ли людей участвует
3) где все спят
4) как общаются
5) сколько дней всё это длиться

Благодарю)
---
soko1

qQQwjD... . ОТВЕТИТЬ



\/ . 51t to guest @ Re: тяжкий выбор 23/07/14 11:25

так, я уже между гвестами путаюсь :) это продолжение или другой ответ? :)

В общем - хорошие люди, никакой ылитности не вижу... история с c2k10, когда "я не знал C, когда начал писать PF для ядра" - что называется, до слёз :)

1az2Ez... . ОТВЕТИТЬ



\/ . guest to 51t @ Re: тяжкий выбор 23/07/14 11:15

Пиво-воды в холодильнике (спасибо Мите!), один раз выбрались на пикник (спасибо ему же), другой раз Боб заказал на всех пиццу... Обедали кто где - кто-то компанией по местным забегаловкам ходил; я из соображений экономии на подножном корму был. :)

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

mUk0xQ... . ОТВЕТИТЬ



\/ . 51t to guest @ Re: тяжкий выбор 23/07/14 00:47



\/ . guest to All @ тяжкий выбор 22/07/14 17:52

красноглазая илитка ищет ОС. линукс наполнили хомяки. объект обсуждения подойдет? :)

MVne0B... . цепочка . ОТВЕТИТЬ



\/ . 51t to All @ один коммент с опеннета :) 22/07/14 13:46

> Странная, всё-таки, эта система OpenBSD. На кого она может быть расчитана?
На людей.

> На пришибленных гиков?
Это linux - для пришибленных гиков.

> Чтобы обновить систему надо читать Upgrade guide,
Не так. Чтобы обновить систему БЕЗ ПРОБЛЕМ, нужно читать это самое guide. Как и в любой другой вменяемой OS.

> официальных бинарных обновлений нет - нашли ошибку вышел патч, дальше сам собирай руками.
Не руками, а скриптами. Компилятором, то есть.

> Примитивнейший пакетный менеджер, непонятно как искать пакеты или надо сначала ставить порты и там искать?
Не знаю, я в mc ищу, вот они все, на панели. Есть искалки, pkglocate или что-то. Но порты лучше поставить.

> Да, бляха муха, похоже время тут вообще остановилось... NetBSD и то как-то адекватней и веселей.
NetBSD?

1. Документация. OpenBSD, по-моему, единственная ОС в мире, у которой внятная документация, подразумевающая, что человек может чего-то не знать, не сующая ему неинтересных подробностей. Один недостаток - мало. Очень мало. Мало про openbsd пишут. Надо бы самому попробовать написать.

Но, в любом случае, документация там - как интересная книга, которая знакомит с системой (нечто подобное есть в альте, но в альте документация НЕИНТЕРЕСНАЯ, и непонятно, на кого расчитанная. в openbsd - для всех).

Я легко освоил с нуля, вообще ничего не зная о системе. В netbsd же документация, вот уж точно, для тех кто в теме. Я на самые базовые вопросы так и не смог найти ответы, знания по крупицам из разнообразных источников вытягивал.

2. Порты богаче pkgsrc. Версии почти всегда новее. Если не брать флеша для видео, будь он неладен, то в остальном - есть всё, что мне нужно, безо всякого дискомфорта.

3. Работоспособность. Поставил и работает. Иксы запускались везде, я попробовал штук 5 компьютеров, начиная от древнего p120/24, до моего E350/HD6310. В netbsd - только в qemu, на реальном железе оно фактически не работало нигде.

4. Инсталлятор. В openbsd он без лишнего и ненужного. НАУЧИТЕ, ПОЖАЛУЙСТА, КТО НИБУДЬ, НЕТБСДШНЫЙ ИНСТАЛЛЯТОР НЕ ПИНГОВАТЬ ГЕЙТ. Надоело, честное слово. Неужели так сложно сделать это опциональным?

5. Песенки. Кому сейчас вообще нужна ОС без песенок? Скучно, уныло, без ощущения праздника. Псиология - это наше всё, а настроение - это всё для психологии. Если система дарит радость - это гораздо важнее, чем технологии. :)

mZnKIw... . цепочка . ОТВЕТИТЬ





\/ . guest to 51t @ Re: g2k14: World of KDE4, Vadim Zhukov (zhuk@) 22/07/14 06:17

> Это был не столько мой труд, сколько schwarze@ и другие внесли неоценимый вклад.

Снова коряво получилось. :) Может, как-то так лучше?

"Это был не столько мой труд, сколько schwarze@ и других разработчиков, давших большое количество отзывов и замечаний."

Uxn5g9... . ОТВЕТИТЬ



\/ . 51t to All @ g2k14: World of KDE4, Vadim Zhukov (zhuk@) 21/07/14 16:21

По горячим следам успешного хакафона, Вадим Жуков (zhuk@) отчитался о своих успехах:


Я прибыл на хакафон с коротким, но суровым списком задач:

1. Закончить KDE 4.13.2 и приготовить 4.13.3 (официальный анонс - 15 июля*)

> * Разработчики KDE дают возможность мейнтейнерам пакетов с KDE в той или иной ОС иметь т.н. предварительный доступ, где-то дней за 3-5 до официального релиза. Это позволяет выпускать "родные" пакеты с KDE для ОС одновременно с официальным анонсом релиза.

2. Наконец-то портировать несколько приложений из openbsd-wip в официальный cvs

3. Исправить давнюю проблему с усиленным поеданием процессора в kded4

4. Продолжить работу над Samba 4.x

5. Исправить проблему с отсутствием ext2fs в установщике для amd64 (RAMDISK_CD)

6. Некоторые вещи, которые я разбабатывал последние месяцы для ports/infrastructure, занести в CVS

7. Занести в CVS порт man-pages-posix

Но прежде всего хакафон для вас начинается со знакомства с людьми, с которыми вы не были прежде знакомы. Учитывая, что до этого единственным мероприятием, связанным с OpenBSD, которое я посещал, была конференция EuroBSDCon 2013, на хакафоне было много новых лиц. Боюсь, что не запомнил их всех, но не потому, что я не уважаю их или их работу, это просто мой недостаток :)

Итак, хакафон начался. Мы с kirby@ - другим портером OpenBSD из России - сели друг напротив друга. И это нам очень помогло - он помог мне тестить сборку ядра с ext2fs и дал мне идею насчёт libinotify (см. ниже), а я помог ему обновить порт rawtherapee.

Мой первый коммит на этом хакафоне был занесением в CVS books/man-pages-posix. Это полезная вещь для разработчиков, и я получил положительные отзывы ещё до того, как начал это импортирование.

Это был не столько мой труд, сколько schwarze@ и других разработчиков, давших большое количество отзывов и замечаний. Я узнал много нового о mandoc, groff и pkg_create во время работы над этим портом. Но, опять же, это было только для разгона.

Большую часть времени я сидел и делал четыре вещи: запускал make, твикал патчи, пушил их в апстрим и засыпал landry@ новыми портами. Я благодарен ему за терпение. Благодаря его отзывам*, у нас теперь есть следующие приложения из KDE4: Calligra suite, Digikam, K3b, Kdenlive, KDevelop, KMyMoney, KTorrent, Tellico и Yakuake (вместе с зависимостями, типа Eigen 3.x).

> * Отзывы (ревью) могут быть и без замечаний, но без ревью занесение в порты не делается.

Из портов, связанных с KDE4, в openbsd-wip осталась только audio/cantata: она имеет несколько кривую интеграцию с KDE4, так что мне быстро это надоело - плееров, в том числе для KDE4, и так хватает. Надеюсь, что Рафаэль Садовски, который постоянно мне помогал, не обидится. :)

Обновление KDE 4.13.2 само по себе скучно и неинтересно. Имеем 200+ портов, значит, 200+ раз пишем "make configure update-plist port-lib-depends-check package clean", отправляем несколько патчей в апстрим, закончили упражнение. Вот и всё. Реально всё. Трудными были задачи собственно портирования KDE4, а также совместного существования KDE3 и KDE4, а поддержка портов KDE4 не так сложна.

И вот пришло время для действительно интересненького. kded4. Если вы не в курсе подробностей: kded4 (что означает "KDE 4 Daemon") обычно запускается с kdeinit... то есть, либо в самом начале сессии kde, либо когда вы запускаете первое приложение KDE. Этот демон хостит так называемые модули KDE - Если вы видели services.exe в Windows, то вы понимаете, о чём я, это почти то же самое. Другая задача kded4 - мониторить файлы конфигурации, особенно связанные с MIME файлы .desktop. При установке/настройке/удалении приложения .destkop-файлы могут изменяться, как системные (в /usr/local), так и ваши личные (в $KDEHOME). Многие программы, особенно различные виджеты рабочего стола (читай: KDE-меню и подобное), заинтересованы в уведомлениях о таких изменениях. Таким образом, kded4 мониторит некоторые директории на предмет добавления/изменения/удаления .desktop-файлов.

В OpenBSD этот процесс был очень неэффективен. А причина в том, что kded4 внутри использует KDirWatch, который по умолчанию использует inotify в Linux и QFSWatch в других операционных системах. Он также поддерживает FAM, но я уже пытался его использовать, но результаты меня не удовлетворили. Я уже начал было думать о реализации бэкэнда на базе kqueue(2), и тут я вспомнил, что kirby@ работает над libinofity. Это ведь то, что нужно - inotify API на базе kqueue. Так что я написал FindInotify.cmake который должен работать и в Linux и вне Linux, сделал несколько #ifdef в коде, пересобрал kdelibs ... и вот оно! Теперь kded4 проверяет файлы при запуске, и дальше живёт абсолютно не напрягаясь!

Ещё после этого akonadi_maildir_resource перестал жрать ресурсы: похоже, он страдал той же проблемой. Две проблемы по цене одной! Покупайте наши libinotify! *

> * важное предупреждение: все пользователи KDirWatch теперь едят намного больше файловых дескрипторов (до нескольких тысяч - по сути, по дескриптору на каждый отслеживаемый каталог и файл). На Linux эта проблема не так заметна, так как там обычно банально не стоит никаких лимитов, или они задраны очень высоко.

Кроме того, за время этого хакафона я успел закончить:
* новую утилиту portbump(1), в связке с sqlports она позволяет сэкономить много времени на масштабных обновлениях.
* добавил переменные TEST_ENV и ALL_TEST_ENV в bsd.port.mk: одного TEST_FLAGS было явно недостаточно, поскольку некоторые порты на CMake (читай: использующие Ninja) не понимают TEST_FLAGS вообще.
* документацию для devel/cmake и x11/kde4. Не имею намерения документировать x11/kde, потому что его больше никто не собирается поддерживать, а кто поддерживает сейчас, и так всё знает.

К сожалению, не хватило времени на samba4. Есть хитрые проблемы, связанные с ld.so и компилятором, которые я надеялся исправить на хакафоне... но не всё сразу. Так или иначе, KDE был приоритетной задачей.

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

В заключение, я хочу (чувствую необходимость, обязан) сказать спасибо Мите Муженичу и гостевому дому "Табор" за организацию этого чудесного мероприятия. Это был мой первый хакафон, и было удивительно, сколько всего произошло за несколько дней. И Любляна - прекрасный город... Я надеюсь что кто-то, кто знает английский язык лучше меня, сможет ярче живоописать этот уютное место и его жителей. Всё было просто классно - спасибо, спасибо и еще раз спасибо!

p9PTfx... . цепочка . ОТВЕТИТЬ



\/ . 51t to All @ g2k14: World of KDE4, Vadim Zhukov (zhuk@) 21/07/14 16:21

По горячим следам успешного хакафона, Вадим Жуков (zhuk@) отчитался о своих успехах:


Я прибыл на хакафон с коротким, но суровым списком задач:

1. Закончить KDE 4.13.2 и приготовить 4.13.3 (официальный анонс - 15 июля*)

> * Разработчики KDE дают возможность мейнтейнерам пакетов с KDE в той или иной ОС иметь т.н. предварительный доступ, где-то дней за 3-5 до официального релиза. Это позволяет выпускать "родные" пакеты с KDE для ОС одновременно с официальным анонсом релиза.

2. Наконец-то портировать несколько приложений из openbsd-wip в официальный cvs

3. Исправить давнюю проблему с усиленным поеданием процессора в kded4

4. Продолжить работу над Samba 4.x

5. Исправить проблему с отсутствием ext2fs в установщике для amd64 (RAMDISK_CD)

6. Некоторые вещи, которые я разбабатывал последние месяцы для ports/infrastructure, занести в CVS

7. Занести в CVS порт man-pages-posix

Но прежде всего хакафон для вас начинается со знакомства с людьми, с которыми вы не были прежде знакомы. Учитывая, что до этого единственным мероприятием, связанным с OpenBSD, которое я посещал, была конференция EuroBSDCon 2013, на хакафоне было много новых лиц. Боюсь, что не запомнил их всех, но не потому, что я не уважаю их или их работу, это просто мой недостаток :)

Итак, хакафон начался. Мы с kirby@ - другим портером OpenBSD из России - сели друг напротив друга. И это нам очень помогло - он помог мне тестить сборку ядра с ext2fs и дал мне идею насчёт libinotify (см. ниже), а я помог ему обновить порт rawtherapee.

Мой первый коммит на этом хакафоне был занесением в CVS books/man-pages-posix. Это полезная вещь для разработчиков, и я получил положительные отзывы ещё до того, как начал это импортирование.

Это был не столько мой труд, сколько schwarze@ и другие внесли неоценимый вклад. Я узнал много нового о mandoc, groff и pkg_create во время работы над этим портом. Но, опять же, это было только для разгона.

Большую часть времени я сидел и делал четыре вещи: запускал make, твикал патчи, пушил их в апстрим и засыпал landry@ новыми портами. Я благодарен ему за терпение. Благодаря его отзывам*, у нас теперь есть следующие приложения из KDE4: Calligra suite, Digikam, K3b, Kdenlive, KDevelop, KMyMoney, KTorrent, Tellico и Yakuake (вместе с зависимостями, типа Eigen 3.x).

> * Отзывы (ревью) могут быть и без замечаний, но без ревью занесение в порты не делается.

Из портов, связанных с KDE4, в openbsd-wip осталась только audio/cantata: она имеет несколько кривую интеграцию с KDE4, так что мне быстро это надоело - плееров, в том числе для KDE4, и так хватает. Надеюсь, что Рафаэль Садовски, который постоянно мне помогал, не обидится. :)

Обновление KDE 4.13.2 само по себе скучно и неинтересно. Имеем 200+ портов, значит, 200+ раз пишем "make configure update-plist port-lib-depends-check package clean", отправляем несколько патчей в апстрим, закончили упражнение. Вот и всё. Реально всё. Трудными были задачи собственно портирования KDE4, а также совместного существования KDE3 и KDE4, а поддержка портов KDE4 не так сложна.

И вот пришло время для действительно интересненького. kded4. Если вы не в курсе подробностей: kded4 (что означает "KDE 4 Daemon") обычно запускается с kdeinit... то есть, либо в самом начале сессии kde, либо когда вы запускаете первое приложение KDE. Этот демон хостит так называемые модули KDE - Если вы видели services.exe в Windows, то вы понимаете, о чём я, это почти то же самое. Другая задача kded4 - мониторить файлы конфигурации, особенно связанные с MIME файлы .desktop. При установке/настройке/удалении приложения .destkop-файлы могут изменяться, как системные (в /usr/local), так и ваши личные (в $KDEHOME). Многие программы, особенно различные виджеты рабочего стола (читай: KDE-меню и подобное), заинтересованы в уведомлениях о таких изменениях. Таким образом, kded4 мониторит некоторые директории на предмет добавления/изменения/удаления .desktop-файлов.

В OpenBSD этот процесс был очень неэффективен. А причина в том, что kded4 внутри использует KDirWatch, который по умолчанию использует inotify в Linux и QFSWatch в других операционных системах. Он также поддерживает FAM, но я уже пытался его использовать, но результаты меня не удовлетворили. Я уже начал было думать о реализации бэкэнда на базе kqueue(2), и тут я вспомнил, что kirby@ работает над libinofity. Это ведь то, что нужно - inotify API на базе kqueue. Так что я написал FindInotify.cmake который должен работать и в Linux и вне Linux, сделал несколько #ifdef в коде, пересобрал kdelibs ... и вот оно! Теперь kded4 проверяет файлы при запуске, и дальше живёт абсолютно не напрягаясь!

Ещё после этого akonadi_maildir_resource перестал жрать ресурсы: похоже, он страдал той же проблемой. Две проблемы по цене одной! Покупайте наши libinotify! *

> * важное предупреждение: все пользователи KDirWatch теперь едят намного больше файловых дескрипторов (до нескольких тысяч - по сути, по дескриптору на каждый отслеживаемый каталог и файл). На Linux эта проблема не так заметна, так как там обычно банально не стоит никаких лимитов, или они задраны очень высоко.

Кроме того, за время этого хакафона я успел закончить:
* новую утилиту portbump(1), в связке с sqlports она позволяет сэкономить много времени на масштабных обновлениях.
* добавил переменные TEST_ENV и ALL_TEST_ENV в bsd.port.mk: одного TEST_FLAGS было явно недостаточно, поскольку некоторые порты на CMake (читай: использующие Ninja) не понимают TEST_FLAGS вообще.
* документацию для devel/cmake и x11/kde4. Не имею намерения документировать x11/kde, потому что его больше никто не собирается поддерживать, а кто поддерживает сейчас, и так всё знает.

К сожалению, не хватило времени на samba4. Есть хитрые проблемы, связанные с ld.so и компилятором, которые я надеялся исправить на хакафоне... но не всё сразу. Так или иначе, KDE был приоритетной задачей.

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

В заключение, я хочу (чувствую необходимость, обязан) сказать спасибо Мите Муженичу и гостевому дому "Табор" за организацию этого чудесного мероприятия. Это был мой первый хакафон, и было удивительно, сколько всего произошло за несколько дней. И Любляна - прекрасный город... Я надеюсь что кто-то, кто знает английский язык лучше меня, сможет ярче живоописать этот уютное место и его жителей. Всё было просто классно - спасибо, спасибо и еще раз спасибо!

p9PTfx... . цепочка . ОТВЕТИТЬ



\/ . 51t to 51t @ Re: ext2 в 5.6 21/07/14 12:53

на другом компьютере то же самое, слово в слово

на всякий случай уточню, что у одного ядро в sp, у другого в mp.

если отмонтировать ext2, то проблем нет

VxF1Xz... . ОТВЕТИТЬ



\/ . 51t to 51t @ Re: ext2 в 5.6 21/07/14 12:47

но если из bsd.rd сделать chroot, и оттуда повторить это - тоже падает моментально вся система

но сам инсталлер при этом ставит с ext2 без проблем... странно, но хоть хорошо, что так :)

d1DSfa... . ОТВЕТИТЬ





\/ . 51t to 51t @ Re: ext2 в 5.6 21/07/14 12:15

в общем, бага воспроизводится на одном компьютере следующим способом (проверено на паре снапшотов):

монтируем ext2 (хоть ro, хоть нет)
заходим в packages
и делаем любое действие с pkg_add

и сразу видим следующее

====
uvm_fault(0xd0b8b520, 0xf258d000, 0, 1) -> d
kernel: page fault trap, code=0
Stopped at memcpy+0x14: repe movsl (%esi),%es:(%edi)
====



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

на ядрах, которые до ext4-шные, такой проблемы не наблюдается...

dh7QMR... . ОТВЕТИТЬ



\/ . 51t to All @ ext2 в 5.6 21/07/14 11:42

Эксприменты на двух реальных компьютерах и одном виртуальном мне начинают намекать, что все ядра с ext4 рано или поздно крэшатся на ext2. Пробовал несколько разных снапшотов, платформа i386

На виртуалке - нет ext2 и работает нормально. На одном компьютере - работает нормально, пока не подмонтируешь ext2 (можно даже не пользоваться). На другом, где всегда есть ext2 - через несколько минут создаёт какую-нибудь ошибку.

Буду выяснять подробности.

cQAovo... . цепочка . ОТВЕТИТЬ





\/ . 51t to All @ 0ad приехала из wip 21/07/14 03:26

ура :) теперь в портах есть ещё одна игрушка - трёхмерная стратегия в реальном времени 0ad 0.0.16

SHUI7B... . цепочка . ОТВЕТИТЬ









\/ . 51t to All @ чё за дубли в божьем храме 17/07/14 12:34



\/ . vit01 to FireFighter @ Re: УБИТЬ ДИЗАЙНЕРА 17/07/14 11:08

> Вырвите ему глаза
Ахахах
Добренький ты поинт =)
Это был дизайнерский эксперимент, а Рома к себе закинул. Его право.

Zt9exs... . ОТВЕТИТЬ











\/ . 51t to All @ ещё один вопрос 16/07/14 05:10

почему у меня принципиально не видятся, даже с xev, Print Screen и клавиши громкости? в любой версии openbsd, на любой клавиатуре.

bgQnnV... . цепочка . ОТВЕТИТЬ





\/ . 51t to 51t @ Re: крешится гномий терминал 14/07/14 14:24

ещё крешится gedit гламурненкий
ещё крешится mousepad

в общем, не в чём писать :( в xterm нет такого увеличения, чтобы мне было текст видно, даже на Huge оно действительно сильно хуже...

CKQk6K... . ОТВЕТИТЬ



\/ . 51t to All @ крешится гномий терминал 14/07/14 06:37

в текущем снапшоте крешится гноме-терминал со всеми его копиями, регулярно :(

обидно, да.

зато новый mc пришёл. сейчас mc обновим, и в бой! :)

ucfeeI... . цепочка . ОТВЕТИТЬ





\/ . vit01 to FireFighter @ Re: УБИТЬ ДИЗАЙНЕРА 14/07/14 05:08

> Кто же мне мои глаза то вернёт? Вытекли ж, от таких ЕкспирИментов
Да вон уже и новые отросли =) И если что, есть userstyles

NhMmNO... . ОТВЕТИТЬ











\/ . 51t to All @ знатоки openbsd ещё остались? 12/07/14 03:17

кто-нибудь знает, как каким-нибудь простым способом фетчить (как dpb -F) только те исходники, у которых стоит PERMIT_FTP?

Om6kAa... . цепочка . ОТВЕТИТЬ





\/ . vit01 to FireFighter @ Re: УБИТЬ ДИЗАЙНЕРА 11/07/14 14:54

> Вырвите ему глаза
Ахахах
Добренький ты поинт =)
Это был дизайнерский эксперимент, а Рома к себе закинул. Его право.

sw9VuR... . ОТВЕТИТЬ











\/ . 51t to FireFighter @ Re: openxcom 01/07/14 03:37

Так рабочие порты вроде бы даже есть. да и старую версию как-то собирали. в общем, жду появления знатоков. Хотя бы Друзя. Или Вадиму ссылку перешлю на gmane, и спрошу, можно ли такой порт принять.

uYnUYX... . ОТВЕТИТЬ




1 2 .3. 4