From: Aleksey Cheusov <vle@gmx.net> To: ALT Linux Sisyphus mailing list <sisyphus@lists.altlinux.org> Subject: Re: [sisyphus] mk-configure -- lightweight replacement for GNU autotools Date: Mon, 13 Jul 2009 23:56:45 +0300 Message-ID: <s93y6qsti7m.fsf@chen.chizhovka.net> (raw) In-Reply-To: <20090713203630.GF29742@wo.int.altlinux.org> (Dmitry V. Levin's message of "Tue, 14 Jul 2009 00:36:31 +0400") >> Речь идет об одной из моих последних 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.
next prev parent reply other threads:[~2009-07-13 20:56 UTC|newest] Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-07-12 5:53 Aleksey Cheusov 2009-07-12 9:18 ` Gleb Kulikov 2009-07-12 14:44 ` Aleksey Cheusov 2009-07-12 17:18 ` Gleb Kulikov 2009-07-12 17:37 ` Aleksey Cheusov 2009-07-16 10:52 ` Gleb Kulikov 2009-07-12 22:13 ` Mikhail Yakshin 2009-07-13 19:56 ` Aleksey Cheusov 2009-07-13 21:02 ` Led 2009-07-13 21:18 ` Aleksey Cheusov 2009-07-14 1:49 ` [sisyphus] [JT] " Pavel N. Solovyov 2009-07-14 5:22 ` Afanasov Dmitry 2009-07-14 6:21 ` Aleksey Cheusov 2009-07-14 23:13 ` [sisyphus] " Mikhail Yakshin 2009-07-15 19:23 ` Aleksey Cheusov 2009-07-15 19:41 ` Vitaly Kuznetsov 2009-07-15 19:53 ` Aleksey Cheusov 2009-07-12 12:03 ` Alexey I. Froloff 2009-07-12 12:07 ` Alexey Gladkov 2009-07-12 13:48 ` Aleksey Cheusov 2009-07-12 14:52 ` Alexey Gladkov 2009-07-12 15:15 ` Aleksey Cheusov 2009-07-12 18:57 ` Денис Смирнов 2009-07-12 20:02 ` Aleksey Cheusov 2009-07-12 20:31 ` Alexey I. Froloff 2009-07-12 20:41 ` Aleksey Cheusov 2009-07-12 20:49 ` Alexey I. Froloff 2009-07-12 21:00 ` Aleksey Cheusov 2009-07-12 21:03 ` Aleksey Cheusov 2009-07-12 22:17 ` Alexey I. Froloff 2009-07-13 20:03 ` Aleksey Cheusov 2009-07-13 20:54 ` Alexey I. Froloff 2009-07-13 21:06 ` Aleksey Cheusov 2009-07-13 21:12 ` Alexey I. Froloff 2009-07-13 21:23 ` Aleksey Cheusov 2009-07-13 21:43 ` Alexey I. Froloff 2009-07-12 21:27 ` Alexey Rusakov 2009-07-12 21:36 ` Alexey I. Froloff 2009-07-12 22:29 ` Aleksey Cheusov 2009-07-12 23:04 ` Alexey I. Froloff 2009-07-13 5:26 ` Alexey Rusakov 2009-07-13 6:05 ` Денис Смирнов 2009-07-13 8:26 ` Afanasov Dmitry 2009-07-13 17:54 ` Денис Смирнов 2009-07-13 20:20 ` Aleksey Cheusov 2009-07-13 20:52 ` Alexey I. Froloff 2009-07-13 21:06 ` Aleksey Cheusov 2009-07-13 21:39 ` Alexey I. Froloff 2009-07-13 19:43 ` [sisyphus] mk-configure: args vs options Dmitry V. Levin 2009-07-13 20:28 ` Aleksey Cheusov 2009-07-13 20:40 ` Dmitry V. Levin 2009-07-12 16:06 ` [sisyphus] mk-configure -- lightweight replacement for GNU autotools Led 2009-07-12 16:18 ` Aleksey Cheusov 2009-07-12 16:28 ` Led 2009-07-13 20:36 ` Dmitry V. Levin 2009-07-13 20:56 ` Aleksey Cheusov [this message] 2009-07-13 21:29 ` Dmitry V. Levin 2009-07-14 6:37 ` Aleksey Cheusov 2009-07-14 6:53 ` Afanasov Dmitry 2009-07-14 18:25 ` Aleksey Cheusov 2009-07-14 18:32 ` Led 2010-06-12 14:56 ` Aleksey Cheusov 2010-06-15 3:25 ` REAL 2010-06-15 6:05 ` Aleksey Cheusov 2010-06-15 5:29 ` REAL 2010-06-15 7:19 ` Slava Semushin 2010-06-15 7:22 ` Aleksey Cheusov 2010-06-15 7:03 ` REAL 2010-06-15 7:52 ` REAL 2010-06-15 9:39 ` Aleksey Cheusov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=s93y6qsti7m.fsf@chen.chizhovka.net \ --to=vle@gmx.net \ --cc=sisyphus@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git