Page 1 of 91

"Ночные" сборки KolibriOS

Posted: Wed Nov 10, 2010 4:53 pm
by Mario
Для тех кто все еще не знал здесь выкладывались "ночные" тестовые сборки.

Теперь они здесь: builds.kolibrios.org

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

Отсутствие сборки тестовых дистрибутивов не смертельно, но вредно. По этой причине предлагаю кому-либо заняться сборкой. Я мог бы это делать сам, но тогда у меня останется меньше времени на разработку кода. Не обязательно собирать все дистрибутивы - достаточно хотя бы IMG образ и это уже снимет 90% остроты проблемы. Люди смогут тестировать и сообщать о проблемах. К тому же ночная сборка позволяет ускорить оперативность выпуска центрального дистрибутива.

Re: "Ночные" сборки KolibriOS

Posted: Wed Nov 10, 2010 6:25 pm
by <Lrz>
Ночную сборку можно производить автоматически, или полуавтоматически, с помощью fasm. Сборка занимает 1-2 сек. Пример или альфа версию кода я сбросил майку (Mike.dld), так что ждем от него решения.

Re: "Ночные" сборки KolibriOS

Posted: Wed Nov 10, 2010 6:36 pm
by turbanoff
А можно посмотреть решение? И что мешает делать автоматически?
Еще меня интересует вопрос, как ядро сжать под linux-ом

Re: "Ночные" сборки KolibriOS

Posted: Wed Nov 10, 2010 6:44 pm
by Mario
turbanoff wrote:Еще меня интересует вопрос, как ядро сжать под linux-ом
В принципе я могу написать упаковщик как для программ, так и для ядра. Для программ будет проще (код уже есть и я в нем немного шарю после разбора дизассемблеровского листинга), надо только взять исходники фасмовских утилит, которые работают с отладочным выводом, и прикрутить упаковщик. Однако все это некоторая затрата времени и не быстро.

Re: "Ночные" сборки KolibriOS

Posted: Wed Nov 10, 2010 6:56 pm
by <Lrz>
turbanoff wrote:А можно посмотреть решение? И что мешает делать автоматически?
Ссылку сбросил через PM. При добавлении нового файла нужно модифицировать скрипт.
Желательно kpack'ом предварительно сжать все программы, скрипт собирает образ floppy 1.44 из готовых, собранных программ.

Re: "Ночные" сборки KolibriOS

Posted: Thu Nov 11, 2010 3:33 pm
by <Lrz>
От Майка получен положительный отзыв о моей работе. Я надеюсь, в ближайшее время ночные сборки в формате дискеты восстановятся.

Re: "Ночные" сборки KolibriOS

Posted: Mon Dec 27, 2010 4:34 pm
by CleverMouse
Я не понимаю, в чём сложности настройки, которые до сих пор мешают сделать автоматическую сборку образов дискет на сервере. Судя по 404-й странице, отдаваемой сервером kolibrios.org, там стоит Linux. fasm под Linux давно существует, kpack не столь давно, но тоже работает, образ вообще можно собирать встроенными средствами - через mount - а если не устраивает требование прав рута для mount, то есть mtools. Я вчера из интереса посидела пару часов, составила makefile полуавтоматически из содержимого kolibri.img из последней ночной сборки и build_all.bat из исходников её же, ничего сложного не заметила. На случай, если кого-нибудь заинтересует, я выложила результаты в http://ftp.kolibrios.org/users/CleverMouse/imgbuild/ - файл data.7z содержит Makefile и данные, не собираемые из исходников на svn; сборка осуществляется командой make в предположении, что в PATH есть fasm,kpack,mtools, в папке ../repos есть локальная копия репозитория, файл macros.inc также скопирован как MACROS.INC в папке с данными и в ../repos/programs; kolibri.img - результат сборки. Я обращаю внимание, что Makefile - скорее proof-of-concept, он НЕ собирает ядро, он собирает только те программы, исходники которых написаны на fasm и есть на svn - соответственно, в kolibri.img старое ядро и обновлены только указанные программы, - в нём не указаны зависимости. Я просто не хотела тратить слишком много времени на, возможно, ненужную вещь.

Если причиной является нехватка времени, я могу заняться настройкой, если меня пустят на сервер - в смысле выдачи ssh-аккаунта, у которого есть права на запись в какой-нибудь скрипт, вызываемый из post-commit хука svn, и права на запись в какую-нибудь область сайта для выкладывания результатов, в предположении, что на сервере стоит набор gcc/g++/make - тогда остальное из нужного я смогу собрать там сама.

Независимо от вышесказанного я предлагаю обсудить вопрос данных, необходимых для сборки образов. Я считаю разумным, чтобы дополнительные данные мог изменять достаточно широкий круг людей, как и исходные тексты программ. Поэтому я выношу на обсуждение предложение вынести упомянутые данные - конфиги, бинарники, которые сложно собрать автоматически, сборочную программу, будь она makefile'ом, скриптом или специальной программой, - завести на svn либо четвёртой папкой с именем типа data или extra или build в корне основного репозитория, либо завести рядом второй репозиторий на параллельном порту. Что скажете?

Re: "Ночные" сборки KolibriOS

Posted: Mon Dec 27, 2010 5:26 pm
by dunkaist
CleverMouse wrote:Независимо от вышесказанного я предлагаю обсудить вопрос данных, необходимых для сборки образов. Я считаю разумным, чтобы дополнительные данные мог изменять достаточно широкий круг людей, как и исходные тексты программ. Поэтому я выношу на обсуждение предложение вынести упомянутые данные - конфиги, бинарники, которые сложно собрать автоматически, сборочную программу, будь она makefile'ом, скриптом или специальной программой, - завести на svn либо четвёртой папкой с именем типа data или extra или build в корне основного репозитория, либо завести рядом второй репозиторий на параллельном порту. Что скажете?
Идею считаю разумной. В качестве примера предлагаю вариант с libre.fm:

Code: Select all

git clone git://gitorious.org/foocorp/gnu-fm.git

This will give you the latest code checkout, too. If you don't have git, you can download a copy now.
git clone git://gitorious.org/foocorp/librefm

This will give you all the Libre.fm specific stuff, like templates, logos, etc.
Т.е. код - в одном месте, не_код - в другом. Тем более, что у нас кроме сборочных скриптов есть и такие вещи как скины, обои, шрифты, иконки, в поисках которых приходится лазить по форуму (не всегда успешно, кстати).

В общем, я был бы рад видеть отдельный репозиторий.

Re: "Ночные" сборки KolibriOS

Posted: Mon Dec 27, 2010 7:34 pm
by Serge
Я тоже за отдельный репозиторий для бинарников. Некоторые вещи сложно собрать не разработчику.

Re: "Ночные" сборки KolibriOS

Posted: Mon Dec 27, 2010 8:57 pm
by art_zh
CleverMouse wrote:Если причиной является нехватка времени, я могу заняться настройкой, если меня пустят на сервер - в смысле выдачи ssh-аккаунта, у которого есть права на запись в какой-нибудь скрипт, вызываемый из post-commit хука svn, и права на запись в какую-нибудь область сайта для выкладывания результатов, в предположении, что на сервере стоит набор gcc/g++/make - тогда остальное из нужного я смогу собрать там сама.
имхо дело не в нехватке времени, и не в сложности задачи. Просто эти ночные сборки (как и составление дистрибутивов), увы!- часто оказываются и причиной каких-то мелочных склок и глубоких обид.
Хочу напомнить, что одного очень толкового парня эта очень нужная работа довела до черной мизантропии и нервного срыва. Очень жаль.

Если кто-то сможет взять её на себя - то я со своей стороны торжественно обещаю, что постараюсь больше не брюзжать по пустякам :wink: .

И призываю всех к понижению градуса неконструктивной критики в Новом году.

С наступающим!

Re: "Ночные" сборки KolibriOS

Posted: Tue Dec 28, 2010 9:30 am
by <Lrz>
Ночная сборка, образ дискеты собирается с помощью fasm. Но решение не допилено, существуют ошибки в образе дискеты. В ближайшее время не могу заняться этой проблемой т.к. загружен на работе.

Архив 550 кб http://filesurf.ru/211766

Re: "Ночные" сборки KolibriOS

Posted: Tue Dec 28, 2010 1:03 pm
by CleverMouse
<Lrz>, я посмотрела твой архив. Во-первых, там нет поддержки длинных имён файлов. Во-вторых, он занимается только сборкой образа дискеты из готовых файлов, а это только последняя операция в цепочке полной сборки.
art_zh, я не могу сказать, что внимательно изучала историю вопроса, но насколько я поняла, под твоё описание подходят минимум двое - с поправкой на то, что в первом случае речь идёт только о дистрибутивах, ночные сборки появились позже. Именно поэтому я предлагаю вынести все данные, нужные для сборки, куда-нибудь, где их смогут править большое количество людей, чтобы не сваливать всё на кого-то одного, - это вторая часть моего поста, первая касается технических вопросов о том, как из "данных, нужных для сборки", сделать сборку.

troll mode on Разве основной причиной ухода diamond'а были ночные сборки, а не тенденции "просто почесать языками" и "пописать в нуль-кольце на сях" (c) diamond.kolibrios.org? Интересно, что он сказал бы про оболочку на Delphi над своими ассемблерными mtldr_install и usb_boot...

Re: "Ночные" сборки KolibriOS

Posted: Tue Dec 28, 2010 1:33 pm
by hidnplayr
Why not use a folder on the FTP server to store the binaries?
Everybody can read from it, and registered users can make changes too..

I propose to use the same structure as the SVN server.
Additionally, a script can be made on the server to automatically compile some of the programs on SVN updates.

Re: "Ночные" сборки KolibriOS

Posted: Tue Dec 28, 2010 1:43 pm
by <Lrz>
CleverMouse wrote:<Lrz>, я посмотрела твой архив. Во-первых, там нет поддержки длинных имён файлов. Во-вторых, он занимается только сборкой образа дискеты из готовых файлов, а это только последняя операция в цепочке полной сборки.
Да, поддержка fat12, и только коротких имен (8+3), допилить полные имена пока нет возможности.
Скрипт делает финальную сборку, в принципе никто не мешает предварительно собирать из исходников во временную папку, затем собирать образ. Все по желанию.
На SVN нет всех исходников приложений, которые используются для сборки дистрибутива, только по этому сборка ведется из уже готовых бинарников.

Предложение hidnplayer считаю оптимальным.

Re: "Ночные" сборки KolibriOS

Posted: Wed Dec 29, 2010 4:00 pm
by CleverMouse
hidnplayr, a registered user can make changes only in the corresponding directory, there is no public place writable by all registered users. Anyway, FTP server has also the following disadvantages: most obvious - it doesn't keep the history, which can be useful; also FTP uploads are not atomic operations, and there is no analog of SVN post-commit hook, so there is no obvious way to run the builder immediately after something has changed.