LINUX.ORG.RU
ФорумTalks

Tom Gundersen о будущем Initscripts в Arch Linux

 , ,


1

3

Для Ъ

Переход на systemD идет полным ходом. Скоро все пакеты в наших репозиториях будут иметь поддержку systemD. Я думаю, что самое время поговорить о текущем состоянии Sysvinit/initscripts и их будущем.

Я считаю, что сейчас initscripts находятся в относительно хорошем состоянии(я, естественно, очень предвзят). И поэтому, не должно быть трудно поддерживать загрузку не с systemD в Arch, даже в долгосрочной перспективе. Однако, кто-то должен делать эту работу.

Пожалуйста, давайте отвечать только по теме. Речь не идет о sysvinit или systemD, их достоинствах и недостатках.

Тестирование

Это повторялось неоднократно,но я думаю,что имеет смысл повторить еще раз: мы быстро теряем людей,которые осуществляли раннее тестирование initscripts,т.е. следили за проектом,проверяли патчи и тестировали initscripts-git.В какой то момент,мы видимо столкнемся с нехваткой разработчиков и доверенных пользователей для тестирования initscripts в тестовом репозитории.Поэтому если вам близок не sysvinit/initscripts способ загрузки,присоединяйтесь к проету Arch и помогайте в тестировании.

Initscripts

Initscripts в настоящее время полностью поддерживаются и активно развиваются. Уже на протяжении большого количества времени ведется работа по объединению и унификации файлов конфигурации для initscripts и systemD. И эта работа в основном завершена (по крайней мере, для initscripts). Кроме того, код разделен для systemd и initscripts, где это возможно(может быть, есть еще больше возможностей для этого, но работа в основном завершена). Все это должно способствовать довольно легкой поддержке initscripts в Arch в долгосрочной перспективе, даже с небольшой базой пользователей и разработчиков.

Я намерен поддерживать initscripts в официальном репозитории пока это будет иметь смысл. Однако, чтобы это все было жизнеспособным, мы нуждаемся в еще как минимум одном разработчике initscripts, который заинтересован помогать, который использует sysvinit/initscripts в качестве основной init-системы. В дальнейшем этот человек сможет взять на себя сопровождение initscripts. Если это кому-то интересно, то присоединяйтесь к проекту Arch, публикуйте отзывы, предложения и патчи.

Пакеты, требующие systemd

В (ближайшем) будущем мы ожидаем, что некоторые пакеты будут поддерживать только systemd-загрузку. В частности, я думаю это polkit, networkmanager и некоторые пакеты GNOME(какие именно я не знаю, так как не использую GNOME). В будущем количество таких пакетов вероятно будет только увеличиваться. Мы также возможно прекратим поддержку ConsoleKit в будущем.

Но не нужно паниковать. Количество пакетов, которые нужно перекомпилировать для поддержки чего-то отличного от systemD на самом деле очень мало(наверное меньше десяти). Поддерживать альтернативный репозиторий, содержащий данные пакеты, даже одному человеку(например тому. кто будет сопровождать initscripts), будет очень легко. Я буду рад помочь в старте этой затеи, если кто-то заинтересован.

Впрочем,возможно люди, которые не хотят использовать systemD, также не используют polkit или consolekit, поэтому для них эта проблема не актуальна.

RC-скрипты

В настоящее время мы имеем несколько сотен rc-скриптов в нашем репозитории(скрипты в /etc/rc.d/), поставляемых с разными пакетами. Это скорее всего не измениться в ближайшем будущем. Но если кто-то из мейнтайнеров решит убрать эти скрипты из своих пакетов(оставив только unit-файлы для systemD),то можно взять нужные скрипты из нашего репозитория и добавить их в альтернативный репозиторий, о котором я говорил выше.

Заключение

Как я попытался изложить выше, объем работы, необходимой для не-systemd загрузки, действительно очень мал, и я буду рад помочь всем, кто решит принять его. Однако, я видел предложения путей для избегания единого пакета systemD, которые предполагали разделение пакета на части, перекомпилирование десятка пакетов, чтобы избежать зависимостей от библиотек systemD, или же повторно дублировать код, разделенный между systemd и initscripts. Это, по моему скромному мнению, не стоит усилий и я не заинтересован связываться с этим.

Пожалуйста, направляйте все технические обсуждения на arch-projects@archlinux.org.

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

stevejobs ★★★★☆
()

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

Axon ★★★★★
()
Ответ на: комментарий от stevejobs

systemD

systemd пишется с маленькой буквой d на конце

Это смайлик.

kernelpanic ★★★★★
()
Ответ на: комментарий от pekmop1024

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

stevejobs ★★★★☆
()
Ответ на: комментарий от pekmop1024

чойта?
арч и арч - но ввязываться в разработку не хочу хотя бы потому, что не использую арч
да и с portconf заморочек хватает - слишком уж портаж навороченный (ещё и sub-slots придумали...)

megabaks ★★★★
()
Ответ на: комментарий от megabaks

хочу, хочу slots и subslots в арчике! желательно, выполненные в бинарном виде, без пересборки пакетов на клиенте! надумаешь - обязательно излей душу :)

(а по сабжу, конечно это была шутка. им там даже святое распятие не поможет)

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

У них же в генте своя система инициализации ЕМНИП, зачем ему пилить арчевскую?

Behem0th ★★★★★
()
Ответ на: комментарий от stevejobs

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

qnikst ★★★★★
()
Последнее исправление: qnikst (всего исправлений: 1)
Ответ на: комментарий от qnikst

можно просто читать что пишут, и в конце концов запомнить. Для верификации по имени, зайди на http://www.archlinux.org/packages/, и щелкни по выпадающей менюшке Maintainer. Вообще есть люди, которым не принадлежат никакие пакеты, но они достаточно ценные сами по себе. Сабжевый Эрик - мантейнер и разработчик туевой кучи всего.

stevejobs ★★★★☆
()

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

Беда ваш арч, люди.

chinarulezzz ★★
()
Ответ на: комментарий от stevejobs

ясно, но это слишком сложно при чтении листа неродного дистра.

qnikst ★★★★★
()
Ответ на: комментарий от Deleted

Ээаэаэаа, это было не кастование :) Я просто вспомнил, что ты вроде как апологет системд и арча, так что можно тебя рекомендовать на «должность» уничтожителя инитскриптов ;)

leave ★★★★★
()
Ответ на: комментарий от chinarulezzz

Арчик - это дистрибутив с небольшой пользовательской базой. Да и сообщество делится на небольшое количество тех, кто сопровождает пакеты, тестирует их и что-то делает, и большое количество таких, как я - которые используют дистр. В лучшем случае что-то в AUR(репозиторий для рецептов сборки пакетов от простых юзеров, позволяющий устанавливать кучу программ из исходников, или бинарных пакетов от других дистрибутивов) публикуют. Поэтому и проблемы у дистра. Я когда себе рецептик Apache 2.4 накатал, его в AUR не приняли(вышло сообщение, что пакет apache в AUR можно публиковать только с благословения одного из мантейнеров). А ведь я не поленился, переделал RC-скрипт от пакета версии 2.2, и добавил systemd юнит. Конечно, переписываться с мэйнтейнером я не стал. Ещё пару дней на общение с мейнтейнером угробить пришлось бы. А потом он послал бы меня куда подальше под предлогом кривости пакета, PKGBUILD'а и т.п. Стал я пользоваться apache 2.4 единолично, не делясь с сообществом. Вот так бюрократия гасит порывы поделиться чем-то с общественностью.

lucentcode ★★★★★
()

По существу высказался Том. Тянуть разные системы инициализации основные сопровождающие пакетов не смогут долго. systemd станет безальтернативной системой, если только не появится несколько сопровождающих пакеты связанные с initscripts.

lucentcode ★★★★★
()

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

Неудивительно. После анонса перехода на systemd куча пользователей и разработчиков убегает от арча как от прокажённого.

Quasar ★★★★★
()

И никто не заметил, что ТС перепутал Ъ и !Ъ.

RussianNeuroMancer ★★★★★
()

Tom Gundersen

Это вообще кто?

Deleted
()
Ответ на: комментарий от lucentcode

Арчик - это дистрибутив с небольшой пользовательской базой.

Рассказывай свои сказки где-нибудь в другом месте. У дистров с маленькой пользовательской базой не бывает таких обширных репозиториев. И, к слову говоря, [транспарант] 20 лет линуксу (комментарий)

его в AUR не приняли

В AUR или в основное дерево пакетов? В AUR никто ничего не должен принимать, пакеты там публикуются сразу.

А ведь я не поленился, переделал…
Конечно, переписываться с мэйнтейнером я не стал.

Типичная trololostory.

AX ★★★★★
()
Ответ на: комментарий от pekmop1024

Осинового кола на этого первонаха не хватает, чесслово.

+1

AX ★★★★★
()
Ответ на: комментарий от AX

Я публиковал в AUR. Я не разработчик, не могу публиковать в основные репы. При загрузке пакета на сайт вышло сообщение, что пакет с именем apache запрещено публиковать без разрешения одного из админов. Почему нельзя, я так и не понял. Можно было конечно просто переименовать apache в apache-2.4, или ещё как... И обойти дурацкую систему запрета.

lucentcode ★★★★★
()
Ответ на: комментарий от chinarulezzz

Да я тоже вываливал PKGBUILDS, и мне помогали их рихтовать после того, как что-то менялось, и они переставали работать. Сообщество у Arch обычно очень открытое, и всегда готовое помочь.

lucentcode ★★★★★
()
Ответ на: комментарий от lucentcode

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

*facepalm*

На будущее: если так нужно, чтобы твой пакет подменял другой, открывай man man PKGBUILD и читай про provides и conflicts.

AX ★★★★★
()
Последнее исправление: AX (всего исправлений: 1)
Ответ на: комментарий от lucentcode

1> Я не разработчик, не могу публиковать в основные репы.

разработчики тоже не могут просто так публиковать в основные репы. Только самые популярные (типа apache) или необходимые для работы базовой системы (systemd) вещи

Почему нельзя, я так и не понял.

пакет с таким именем уже существует в репозитории с бОльшим приоритетом ([extra])

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Да я потом только доехал, что имечко пакета конфликтует с таким из официальных реп. Похоже, что мэйтенеры загружают свои PKPBUILD тоже через интерфейс AUR, только пакеты как-то оказываются в официальных репах(выбирают, куда грузить наверно прямо на странице загрузки). Вот они и фильтруют имена пакетов при загрузке.

lucentcode ★★★★★
()
Ответ на: комментарий от AX

Так я и прописал в provides и в conflicts что предоставляет новую версию apache, конфликтует с apache 2.2 , а про то что название пакета нужно было сменить - просто не знал.

lucentcode ★★★★★
()
Ответ на: комментарий от stevejobs

Вот и я не сразу, но догадался что наверно существует приоритет. Но догадался тогда, когда интерес загружать PKGBUILD уже пропал. 15 июня я запостил архив с PHKGUILD'ами apache 2.4.1 и php 5.4.4 в своём блоге. А 12 июля 2012 более догадливый парнишка выложил в AUR уже apache2.4.2 под именем apache 2.4

lucentcode ★★★★★
()
Ответ на: комментарий от lucentcode

Похоже, что мэйтенеры загружают свои PKPBUILD тоже через интерфейс AUR, только пакеты как-то оказываются в официальных репах

Это потому что пользователи пишут yaourt -S packagename, или yaourt -Syuad, и при выполнении этих команд не должно выскакивать никаких конфликтов типа «ой, у нас есть N репозиториев из которых можно поставить, какие вы хотите?» только потому, что какой-то левый чувак добавил свою поделку в AUR. Если бы так было, то процесс обновления превратился бы в ад, на _любой_ пакет нашелся бы гений, создавший его дубликат в AURе, и обновление занимало бы не 30 минут, а 30 часов нудного протыкивания кнопочки «no».

stevejobs ★★★★☆
()
Ответ на: комментарий от lucentcode

А 12 июля 2012 более догадливый парнишка выложил в AUR уже apache2.4.2 под именем apache 2.4

сборки отдельных чуваков, которые не хотят общаться с остальными мантейнерами в целях содержания общего пакета, или которые сделали какие-то крутые индивидуальные сборки, называются packagename-имячувака или packagename-имясборки. С названием apache-lucentcode-git тебя точно никто не будет дергать. Но нужно четко прописать в описании пакета, чем он отличается от существующих аналогов.

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Вот спасибо, наконец-то кто-то чётко и доходчиво объяснил мне механизм публикации пакета в AUR. Спасибо.

lucentcode ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.