From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_00, RCVD_IN_BL_SPAMCOP_NET, RCVD_IN_SORBS_WEB, SPF_PASS autolearn=no version=3.2.5 X-Authenticated: #3271302 X-Provags-ID: V01U2FsdGVkX1/W4LoAo5zWvJsfrxV2kkPYGtOq+ApEp8P3tCPSHt 1TMmNvuqwUM2hf To: ALT Linux Sisyphus mailing list References: <20090713203630.GF29742@wo.int.altlinux.org> From: Aleksey Cheusov Date: Mon, 13 Jul 2009 23:56:45 +0300 In-Reply-To: <20090713203630.GF29742@wo.int.altlinux.org> (Dmitry V. Levin's message of "Tue, 14 Jul 2009 00:36:31 +0400") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.68 Subject: Re: [sisyphus] mk-configure -- lightweight replacement for GNU autotools X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jul 2009 20:59:47 -0000 Archived-At: List-Archive: List-Post: >> Речь идет об одной из моих последних open source разработок, >> mk-configure, легковесной простой использовании (да, я знаю, звучит как >> маркетоидное заклинание :-) , уж простите ) альтернативе GNU >> autotools. Ни много, ни мало... > Есть ещё одно соображение, не прозвучавшее за прошедшие 2 дня обсуждения. > Не секрет, что многие мантейнеры пакетов нередко используют заклинание > "autoreconf -fisv" для того, чтобы заменить поставляемые в исходниках > сгенерированные файлы на более адекватные. Да, что, кстати, ломает изначальную идеологию autotools -- предоставить тарбол, достаточный для сборки абсолютно везде. Оказывается, недостаточный, необходимо, оказывается, еще и autotools ставить. Новое поколение разработчиков считает даже, что за предоставленный в тарболе готовый configure нужно бить по рукам. Когда я об этом услышал, я был просто в шоке :-) Во-первых, это делает подход с кодогенерацией абсолютно неуместным. Преврати autotools в библиотеку на шеле и пиши декларативно на шеле, безо всяких m4 и кодогенерации. Во-вторых, получается такая же ситуация, как и с mk-configure. Для mk-configure-based проектов нужно поставить кучу всего, и для autotools-based -- тоже. > Основная идея проекта, отличающая его от GNU autotools -- в замене > сгенерированных (предвычисленных "на все случаи жизни") > configure+Makefile.in на декларативные правила, которые будет > вычислять каждый пользователь во время сборки Угу. > -- в первую очередь должна понравиться разработчикам операционной > системы. Вот, кстати пример. Что делают разработчики BSD систем, когда помещают сторонний софт, собранный явно не средствами соответствующих bsdmake-ов, в свои деревья? Правильно. Выбрасывают родные системы сборки к черту и пишут свои, коротенькие маленькие на родном bsdmake-е. Тот же подход может быть успешно применим и при разработке больших и долгоиграющих узкоспециализированных программных комплексов. Заодно решается проблема кросс-сборки, актуальная для эмбеда. Вот пример, как GNU grep встроен в NetBSD http://cvsweb.netbsd.org/bsdweb.cgi/src/gnu/usr.bin/grep/Makefile?only_with_tag=MAIN > В то же время есть две гораздо более многочисленные группы пользователей, > которым подход mk-configure менее предпочтителен: > - Обычные пользователи, собирающие софт из исходников без изменений. Как > уже было сказано, необходимые для сборки проектов, использующих > mk-configure, новые инструментальные средства _нужных_версий_ -- это > сейчас проблема. На мне лежит забота об обратной совместимости. Так что "нужных версий" можно опустить. Я бы поставил ударение на "новые инструментальные средства" и "малораспространенные". Принимаю помощь в пакетировании для Debian, FreeBSD, Fedora, OpenSuse, Gentoo, Slackware и проч. :-) > - Разработчики софта, рассчитывающие, что их проект будет работать на > любой платформе, которую может поддерживать autotools. Очевидно, что > mk-configure как минимум на первых порах сможет поддерживать только > самые "живые" платформы. Да. > Весьма вероятно, что инертность этих двух групп потушит любое начинание > в этой области, вне зависимости от деталей реализации. Без активной помощи со стороны -- да. -- Best regards, Aleksey Cheusov.