= Сообщение: 4147 из 5321 ========================================= RU.HUSKY = От : Alexey Vissarionov 2:5020/545 08 Oct 20 00:22:22 Кому : Michael Dukelsky 08 Oct 20 00:22:22 Тема : Сборка в юниксах FGHI : area://RU.HUSKY?msgid=2:5020/545+5f7e38cc На : area://RU.HUSKY?msgid=2:5020/1042+5f7dbe23 = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.HUSKY?msgid=2:5020/1042+5f7effab ============================================================================== Доброго времени суток, Michael! 07 Oct 2020 15:52:54, ты -> мне:
MD>>> Хочу сделать единый скрипт для сборки hpt, включающий скачивание MD>>> всех тарболов. AV>> В любой уважающей себя сборочной среде такое работать не будет, ибо AV>> это одноразовый контейнер с чистой системой и без доступа к сети. MD> Лёша, я понимаю твой подход: типа, я сделаю как надо, а остальные MD> пусть делают как хотят. С одноразовым контейнером каждый должен MD> разбираться сам, ничего универсального сделать не получится.
Универсальность нужна на уровне make all && make DESTDIR=${BUILDROOT} install
Остальное - забота либо пакетной системы, либо рук сборщика.
MD> А хотелось бы как-то облегчить сисопам процесс сборки.
Создай (у себя!) гитовую репу husky-all и... ээээ... `man git-submodule`
А сами компоненты при этом кочерыжить не надо.
MD> Выбор тут такой: или надо делать отдельную сборку для каждого MD> дистрибутива и выкладывать её в отдельный репозиторий,
В общем случае стремиться надо именно к этому. Более того, в идеале этим занимаются мейнтейнеры дистрибутивных пакетов, а не разработчики.
MD> или написать скрипт сборки, который будет работать в системе с MD> доступом к сети.
Воспроизводимость сборки? Не... ни разу не слышали.
Просто осознай, что в момент сборки доступа к сети может не быть, и закладываться на ее доступность как минимум глупо.
MD>>> У нас сейчас в мейкфайлах для сборки hpt, htick и вспомогательных MD>>> динамических библиотек утилиты линкуются статически и для этого MD>>> вместе с динамическими собираются ещё и статические библиотеки. AV>> Библиотеки и должны собираться как статически, так и динамически. MD> Кому должны? Если я хочу пользоваться статической сборкой, зачем мне MD> динамическая? Аналогичный вопрос и в обратную сторону: если я хочу MD> пользоваться динамической сборкой, зачем мне статическая?
В своей домашней шлаквари (в которую ты при таком подходе неминуемо превратишь любую систему) ты можешь делать что угодно и как угодно. Захочешь собрать hpt статически - поставишь huskylib-devel-libs-static, smapi-devel-libs-static итд. Захочешь собрать с динамически подгружаемыми библиотеками, общими для hpt и htick - соответственно, воспользуешься *-devel-libs-shared (и бонусом получишь возможность затыкания очередной дыры в каком-нибудь smapi пересборкой только этой библиотеки, а не всего софта).
А при дистрибутивной сборке (то есть, для широкой публики) давно полагается использовать инструменты наподобие hasher, mock итд. Даже в форточках что-то отдаленно похожее уже есть.
AV>> А если кто-то собирает софт минуя пакетную систему - сами разберутся. MD> Собственно, я и начал с пакетной сборки, но она использует мейкфайлы.
Не с того ты начал... впрочем, я не удивлюсь, если и про git submodule add ты узнал только из этого сообщения.
-- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii