Created attachment 4839 [details] DSA public key
Created attachment 4840 [details] GPG public key
У вас уже есть ментор?
(В ответ на комментарий №2) > У вас уже есть ментор? В данный момент ещё никто не откликнулся.
А Вы будете с gear работать? Если да, можете обращаться в почту, помогу по мере сил, пока все молчат.
Мне тоже можно задавать вопросы в жаббер и почту: snejok at altlinux.org
> А Вы будете с gear работать? Не сталкивался с gear. Мне удалось собрать RPM для AliLinux School Server 5.0.1 с использованием rpmbuild под руководством "RPM Guide": http://www.opennet.ru/docs/RUS/rpm_guide/ Попутно потребовалось собрать (зависимости): perl-DBD-InterBase-0.48-alt1.i586.rpm perl-HTML-TagFilter-1.03-alt1.noarch.rpm В результате после genbasedir получается собственный рабочий репозиторий. Мне для начала работы над сборкой под Сизиф не хватает знания, как грамотно поднять актуальный Сизиф локально (буквально какой исшоник слить и откуда обновиться, в таком духе), чтобы в нём можно было тестить сборку и установку. Gear — необходимый инструмент? Можно ли без него начать работу над сборкой, а когда будет готово, доверить ментору сделать необходимое с gear (и получить рецепт в виде конечных команд, специфичных для Школьного портала, а дальше сами)?
"Gear — необходимый инструмент?" Не необходимый, но желательный. "Можно ли без него начать работу над сборкой" Да. Надеюсь, Ленар поможет ;) > а когда будет готово, доверить ментору сделать > необходимое с gear (и получить рецепт в виде конечных команд Насчёт gear сначала неплохо было бы что-нибудь почитать по git и git.alt. http://freesource.info/wiki/RuslanHihin/GitTutorial1 http://www.altlinux.org/Git http://www.altlinux.org/Git.alt Потом насчёт gear и hasher: http://www.altlinux.org/Hasher http://www.altlinux.org/Gear Ну а потом уже, если что-то будет неясно, обращайтесь. Рецептов здесь недостаточно, здесь нужно понимание всего этого хозяйства. Сначала будет не очень легко, зато потом это Вам сэкономит кучу времени.
Кто из читающих сможет быть ментором?
Если я не ошибаюсь, вроде, Ленар собирался помочь. А от меня помощь будет, когда кандидат соберётся работать с gear :)
(В ответ на комментарий №9) > Если я не ошибаюсь, вроде, Ленар собирался помочь. А от меня помощь будет, > когда кандидат соберётся работать с gear :) Да, можете записать меня, хотя srpms давно не собирал :)
Согласно регламенту http://www.altlinux.org/Team/Join/Secretary - ментор обнаружен; - ключи проверены; - перенаправление dja@altlinux.org создано; - аккаунт git_dja@git.alt зарегистрирован. Теперь ждем сигнала от ментора.
(В ответ на комментарий №11) > Теперь ждем сигнала от ментора. Подопечный готов
Андрей, скажите, пожалуйста, зачем вам понадобилось хранить в git-репозиториях такие скрипты как gear-commit.sh? Поскольку у каждого коммита свой собственный commit message, это как минимум непрактично. Кстати, у вас в DBD-InterBase.spec я обнаружил две строчки: %define _enable_test 0 %def_without test Возможно, второй было бы достаточно?
> зачем хранить в git-репо скрипты как gear-commit.sh? Последствия организации максимально быстрой, а не вдумчивой работы с запоминанием всех команд :) Попали потому, что были в папке и использовались для исключения набивания команд на каждый чих. Надавил энтеро из миднайта -- дело сделано. В гите, конечно, не нужны. Убрал. Учёл. > в DBD-InterBase.spec две строчки: > %define _enable_test 0 > %def_without test > Возможно, второй было бы достаточно? Пофиксил.
Остается только пожелать вам удачного мейнтейнерства.
alt-gpgkeys-0.7.42-alt1 -> sisyphus: * Fri Aug 05 2011 Dmitry V. Levin <ldv@altlinux> 0.7.42-alt1 - Added keys: dja@ (0A49969E; closes: #25233).
Уважаемый ментор, ваш подопечный пытается сделать странное: http://git.altlinux.org/people/dja/packages/?p=sp.git;a=blob;f=sp.spec http://lists.altlinux.org/pipermail/sisyphus-incominger/2011-August/286547.html Объясните ему, пожалуйста, как лучше добиться желаемого эффекта.
(In reply to comment #17) Читал багзиллу, заинтересовало > пытается сделать странное: Просмотрел > http://git.altlinux.org/people/dja/packages/?p=sp.git;a=blob;f=sp.spec увидел %files ... /usr/lib/firebird/UDF/UDFLib.dll База работать НЕ будет, и все остальное ... в части зависимой. UDF библиотеки firebird надо собирать и паковать отдельно. firebird захочет UDFLib.so, не найдет и будет падать на запросах ее использующих (очень заметно если база под супером). Портал с базой на firebird ... ой умрет :-) (где-то на 4-м десятке коннектов)
(В ответ на комментарий №17) > Уважаемый ментор, ваш подопечный пытается сделать странное: Подопечный уже пофиксил странное в либе с пробелами, у него появились вопросы по ошибкам, возникшим во время тестирования установки: http://git.altlinux.org/tasks/51807/task/log.1.1 1. нет некоторых файлов: /etc/mtab: No such file or directory /etc/issue: No such file or directory /etc/sudoers: No such file or directory /proc/net/dev: No such file or directory 2. не стартует apache: httpd2: (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 httpd2: no listening sockets available, shutting down httpd2: Unable to open logs httpd2: httpd2 startup failed 3: сквид из сизифа уже не первый месяц ругается устаревший параметр в конфиге: squid: 2011/08/09 07:56:36| WARNING: 'icap_access' is depricated. Use 'adaptation_access' instead 4. что-то ещё и зависает hasher-priv: master: idle time limit (3600 seconds) exceeded Установка не проходит. Весь процесс тестирования сборки FAILED. У меня на машине, где стоит кентавр месячной давности с исошника, которому сделано apt-get dist-upgrade из сизифа, портал ставится (перечисленных ошибок кроме ругани кальмара нет). Что мне делать?
(В ответ на комментарий №18) > Портал с базой на firebird ... ой умрет :-) (где-то на 4-м десятке > коннектов) "ШП не имеет проблем с производительностью, совершенно не требователен к ресурсам сервера. Так, на одном сервере легко может размещаться и 100 школ."
(In reply to comment #20) > (В ответ на комментарий №18) > "ШП не имеет проблем с производительностью, совершенно не требователен к > ресурсам сервера. Так, на одном сервере легко может размещаться и 100 школ." Интересно, прежде чем такое писать, что-то в духе ab -c100 -n1000 http://127.0.0.1:80/ пробовалось?
Я думаю, размещаться не значит использоваться. Впрочем, раз уж они называют перл+файрбёрд "современное решение построенное на проверенных временем надежных и высокопроизводительных открытых технологиях"... Жаль, у них сайт лёг вместе с FAQ на вике.
(In reply to comment #19) > (В ответ на комментарий №17) > > Уважаемый ментор, ваш подопечный пытается сделать странное: > > Подопечный уже пофиксил странное в либе с пробелами, > у него появились вопросы по ошибкам, возникшим во время тестирования установки: > http://git.altlinux.org/tasks/51807/task/log.1.1 У вас в пакете sp такое количество странного, что ответ будет длинным. Существенные комментарии в целом по пакету. 1. В тэге License указано "Prop". В случае, когда пакет распространяется на нестандартных условиях, текст этих условий должен быть запакован. 2. Все файлы и каталоги в пакете запакованы с правами (0400,root,root), и в %post большая их часть меняется. В ALT Linux все файлы и каталоги должны быть запакованы с теми правами, с которыми они потом будут использоваться, за исключением тех прав, которые настраиваются control(8) и аналогичными средствами управления. Существенные комментарии к %post. 3. Прилагается масса усилий к тому, чтобы по окончании работы %post в системе были запущены xinetd, httpd2 и squid. В частности, если эти сервисы не были запущены ранее, то они запускаются явно. В ALT Linux не положено так делать. Во время сборки задания проверка устанавливаемости пакетов не пройдет, если по окончании тестовой установки свежесобранного пакета в системе останутся работать сервисы, запущенные во время этой тестовой установки. 4. Производится безусловная настройка apache и squid под нужды пакета sp. Однако, если в системе apache и squid уже были как-то настроены, результат смешения старых и новых настроек непредсказуем. В пакете нет ни предупреждения об этом, ни диагностики этого. 5. Псевдопользователь apache2 наделяется такими правами, которые равносильны рутовым. Если в пакете реализуются бреши в безопасности такого размера, об этом нужно написать БОЛЬШИМИ БУКВАМИ в описании пакета.
(In reply to comment #19) Андрей, я бы на Вашем месте посмотрел в сторону добавления соответствующего профиля установки ШП к дистрибутиву школьного сервера. Действия в духе п.п. 3-5 из поста Дмитрия имеет смысл делать в пакетах installer-features-* для профиля установки, который пользователь выбирает осознанно при инсталляции сервера, если хочет в результате получить работающий изкоробочно портал.
(В ответ на комментарий №23) > 1. В тэге License указано "Prop". Мои коллеги в данный момент заняты этим вопросом. Текст будет предоставлен. И, раз требуется, положу его в пакет. > 2. В ALT Linux все файлы и каталоги должны быть запакованы с теми правами, > с которыми они потом будут использоваться Потружусь в этом направлении. Спортивный интерес: что другой способ задания аттрибутов файлов даёт конечному пользователю? Возможность найти битые данные в установленном продукте с точностью до слетевшего бита в аттрибутах или смысл глубже? > 3. Прилагается масса усилий к тому, чтобы по окончании работы %post в системе > были запущены xinetd, httpd2 и squid. В частности, если эти сервисы не были > запущены ранее, то они запускаются явно. В ALT Linux не положено так делать. Сначала объясню текущий вариант, потом предложу другие. Да, прилагается масса усилий, чтобы продукт после установки сразу работал. Чтобы и после перезагрузки сервера он тоже работал. Придукт лицом к человеку, который поставил его и ожидает, что всё готово. Мы стремимся к коробочности. То, что мы не пишем явно, что установка железная, бессовестно стартует всё нужное, это правда. Со стороны суровых дотошных гиков, это, пожалуй, упущение с нашей стороны. Предложения. 1. Мы в дескрипшен пишем список изменений в системе, которые выполняет установка пакета, такие как изменение настроек служб и их автозапуска, и как откатиться, если установка покрошит бережно вылизываемую годами конфигурацию. 2. Мы во время установки пакета задаём вопрос пользователю, согласен ли он чтобы всё сразу заработало или нет. Я могу легко представить, что сервер боевой и стартовать апач, в некоторый момент времени ещё рано. В этом варианте при отрицательном ответе выдаётся путь к файлу где лежат неисполненные команды с комментами, чтобы ставящий сделал всё сам с внимательным контролем. Но тут возникает вопрос: если появится интерактивный момент в %post, что случится при автоматическом тестировании установки? Что случится при выборе пакета во время установки дистрибутива? Подозреваю, что вопрос во втором варианте следует задать так: Now setup going to: *) Set apache, squid, xinetd (for firebird) autorun *) Change (and backup) squid.conf for SP inet access control *) ... Do you want to make these changes? (Y/n): и на любой ответ кроме n настройку делать Какой-нибудь вариант устраивает? > 5. Псевдопользователь apache2 наделяется такими правами, которые равносильны > рутовым. Если в пакете реализуются бреши в безопасности такого размера, об > этом нужно написать БОЛЬШИМИ БУКВАМИ в описании пакета. SP 4.2 — последняя версия, в которой так сделано. В SP 5.0 уже написан демон, который системными вещами занимается, а апачу никакие подолнительные права не выдаются. Если мы успеем до выхода ALT 6 допилить SP 5.0, вопрос отпадёт. В данный момент апачу разрешается выполнять 2 вещи от рута: 1) переконфигурация squid (после изменения списка юзеров, кому можно в инет) 2) синхронизация с ldap (заведение пользователей, групп и паролей аналогично портальным) Вторая вещь не используется по той простой причине, что в http://mirror.yandex.ru/altlinux-beta/centaurus/altlinux-6.0.0_beta20110616-centaurus-i586-ru-install-dvd5.iso ldap не настроен, как это было в ALT Linux 5.0.1 School Server. Фича отключена. Итого, что мы имеем? Один релоуд сквида. В какое место пакета предлагаете написать об этом? В каком состоянии планируется поставлять LDAP к составе релиза ALT6 как сервера? Sergey Shilov, спасибо, как раз нечто подобное витало в воздухе.
(В ответ на комментарий №23) > 2. В ALT Linux все файлы и каталоги должны быть запакованы с теми правами, > с которыми они потом будут использоваться. Сделано. 2 Sergey Shilov: нашёл, как мне показалось, пример инсталлер-фичи для автозапуска сервера, который, если память не изменяет, есть в инсталлере как компонент: http://git.altlinux.org/people/mike/packages/?p=installer-feature-nfs.git;a=blob;f=installer-feature-nfs.spec;h=90e5d41f3b29137d16d3002620cfe0ae563f12e2;hb=5204815720a0e6e10ff97877eadd074dedcdb58b Удачно нашёл или есть проще? В инсталлере не разбираюсь, хочу первым делом увидеть простейший пример для срисовывания. И правильно ли я понимаю: если на автозапуск требуется желание ставящего портал на этапе установки дистрибутива человека, придётся делать галку аналогично галкам apache, mysql, ftp, etc, верно? Где такое делают? И если человек ставил портал после установки дистрибутива и у него есть желание автозапуска серверов-зависимостей, всё ещё актуален вопрос, как ему такую возможность предоставить и угодить правилам ALT Linux? К предложениям в комментарии № 25 добавляю 3-ий вариант: собирается отдельный пакет с одной лишь целью: настройка на автозапуск всего, что нужно. В дескрипшен большими буквами ворнинг о предназначении и список изменений в систему. Обзываем именем вроде sp-autorun, sp-setup, sp-configure и предоставляем пользователю возможность настройки систему под нужды коробочности портала посредством установки или отказа от этого второго пакета.
(In reply to comment #26) > 2 Sergey Shilov: нашёл, как мне показалось, пример инсталлер-фичи для > автозапуска сервера, который, если память не изменяет, есть в инсталлере как > компонент: > > http://git.altlinux.org/people/mike/packages/?p=installer-feature-nfs.git;a=blob;f=installer-feature-nfs.spec;h=90e5d41f3b29137d16d3002620cfe0ae563f12e2;hb=5204815720a0e6e10ff97877eadd074dedcdb58b > > Удачно нашёл или есть проще? Можно и так. > В инсталлере не разбираюсь, хочу первым делом > увидеть простейший пример для срисовывания. С простейшим это вопрос... Можно посмотреть на mkimage-profiles-desktop в сочетании с installer-distro-centaurus > И правильно ли я понимаю: если на > автозапуск требуется желание ставящего портал на этапе установки дистрибутива > человека, придётся делать галку аналогично галкам apache, mysql, ftp, etc, > верно? И да и нет (последнее, если дистрибутив специализированный и пользователь в выборе умышленно ограничен автором) > Где такое делают? в mkimage-profiles-desktop в сочетании с installer-distro-* и installer-features-* ну или зависимостями на сервисы в сочетании с chkconfig > И если человек ставил портал после установки дистрибутива и у него есть желание > автозапуска серверов-зависимостей, всё ещё актуален вопрос, как ему такую > возможность предоставить и угодить правилам ALT Linux? Сервисы на надо запускать (особенно из пакета). Их достаточно включить (есть chkconfig, в т.ч. в найденном Вами примере ) дальше при рестарте системы они сами поднимутся. > К предложениям в комментарии № 25 добавляю 3-ий вариант: > собирается отдельный пакет с одной лишь целью: настройка на автозапуск всего, > что нужно. В дескрипшен большими буквами ворнинг о предназначении и список > изменений в систему. Обзываем именем вроде sp-autorun, sp-setup, sp-configure и > предоставляем пользователю возможность настройки систему под нужды коробочности > портала посредством установки или отказа от этого второго пакета. Это и есть функционал галочки в установщике. Имеет смысл boyarsh@ по installer-distro и mike@ по mkimage поспрашивать, или в devel-distro@...
(В ответ на комментарий №23) > Во время сборки задания проверка устанавливаемости пакетов не пройдет, если по > окончании тестовой установки свежесобранного пакета в системе останутся > работать сервисы, запущенные во время этой тестовой установки. Поправленный спек: http://git.altlinux.org/people/dja/packages/?p=sp.git;a=blob;f=sp.spec;h=bef3831b013a27e51803fe2f740d62acb6ea2afc;hb=61f1b96aea7575751bf926698f5424c559f438b2 1. Убрал все chkconfig ... on 2. Заменил все service ... restart на service ... condrestart 3. xinetd (из-за firebird-classic) стартую, делаю своё и опускаю в случае, если он НЕ был стартован до установки. Делаю restart только если он уже БЫЛ стартован. В итоге: hasher-priv: master: idle time limit (3600 seconds) exceeded Решил выяснить, кто всё-таки висит. Пишу самое простое, что пришло в голову. Последней строкой в %post: ps auxw В логе вместо вывода ps вижу: Error: /proc must be mounted Ладно, написал "BuildRequires: /proc", жду очередной час... Не радует таймаут в 3600 секунд. Мне с моими текущими задачами хотелось бы задать иной таймаут. Порталу на установку пять минут выше крыши, а приходится ждать час. Неэффективно. Не радует также подолгу лицезреть "Status: test-only AWAITING" Тестировать сборку в хешере меня уже научили: gear --hasher -- hsh -v а можно тестировать ещё и установку аналогично тестированию при: ssh git.alt build --test-only ... локально? Костыль в виде пачки "service ... status" в конце %post показал: httpd2 is stopped xinetd is dead, but stale PID file exists squid is stopped Как в таких случаях у вас принято поступать? Уж не cat ли /var/log/что-нибудь... на удачу в надежде в логе разобрать, почему упал xinetd? P. s. Формируется фичареквест (видимо к ldv@): если у меня сборка оборвалась по таймауту, хорошо бы видеть список процессов, которые на момент обрыва сборки были живы. А зачем такие костыли, когда можно решить один раз и для всех? А если причина не в сервисе, а в каком-нибудь месте, где по ошибке команда ожидает ввода или какой-нибудь процесс просто завис? А если установка вызывает нечто, что порождает развесистое дерево процесов, становится трудоёмко находить, который из всех запускаемых не завершился. Здесь очень кстати будет вывод в лог сборки списка процесов (а может сразу пожелать дерево?) автоматически при наступлении таймаута тестирования установки. Разумеется, порубить то, что не касается тестирования установки, показать время жизни процесса, юзера. Мне кажется, это будет полезно не только мне, но и другим новичкам, а также мэйнтейнерам больших пакетов, в которых вероятность напороться на таймаут высока.
(In reply to comment #28) > (В ответ на комментарий №23) > > Тестировать сборку в хешере меня уже научили: > gear --hasher -- hsh -v Ok. > а можно тестировать ещё и установку аналогично тестированию при: > ssh git.alt build --test-only ... > локально? Можно (и нужно). Либо просто (подключив результат работы gear как источник установки) через hsh-install Либо в соотв. с http://www.altlinux.org/Repocop Тогда и > фичареквест будет не нужен :-)
Итого по пакетам: http://git.altlinux.org/people/dja/packages/ 0. Зависимости пакета sp готовы: perl-DBD-InterBase perl-HTML-TagFilter 1. Пакет sp: License: Distributable, non-free Лицензия готова, упакована в RPM 4.2-alt1 2. sp: Убрана "масса усилий" по запуску сервисов. В данный момент изучаю, как добавить профиль установки sp, чтобы только там учинять коробочность. Всему названнму кроме installer-feature-sp сделано ssh git.alt build ... Если не будет возражений, мы, скорее всего, больше ничего не тронем, будем дожидаться релиза ALT Linux 6 Школьный сервер с тем, что уже сделано. А параллельно допиливаем sp-5.0, если успеем допилить его до релиза ALT 6, войдёт сразу sp-5.0. В этом случае вопрос с LDAP снимется. > > http://git.altlinux.org/people/mike/packages/?p=installer-feature-nfs.git;a=blob;f=installer-feature-nfs.spec;h=90e5d41f3b29137d16d3002620cfe0ae563f12e2;hb=5204815720a0e6e10ff97877eadd074dedcdb58b > Можно и так. Изобразил в installer-feature-sp. Кто разбирается, поругайте, если неверно срисовал. Скопировал себе m-p-d, пока качается сизиф, вникаю, как сделать sp выбирабельным компонентом в инсталлере. Sergey Shilov: > если дистрибутив специализированный и пользователь > в выборе умышленно ограничен автором [skipped] В какие из дистрибутивов на p6 можно попасть? (а также, если без проблем заработает в поддерживаемых ALTLinux < 6, то и туда бы не грех) Школьный сервер - очевидно, ещё варианты?
Прошу прощения, конечно же 4.2-alt2, а не 4.2-alt1