[devel] Использование scons

Andrei Bulava =?iso-8859-1?q?abulava_=CE=C1_altlinux=2Eru?=
Ср Сен 28 18:08:02 MSD 2005


Nick S. Grechukh wrote:
> В сообщении от Пятница 23 Сентябрь 2005 19:54 Andrey Rahmatullin
> написал(a):
> 
>> Если весь КДЕшный софт перейдет на scons, придется учить gtk,
>> потому что эта дрянь, хоть и со встроенной поддержкой Qt и KDE, мне
>> совсем не нравится. Зергу я уже выразил свои соболезнования в связи
>> с переходом KDE на scons.
> 
> http://dot.kde.org/1126452494/ 
> http://grammarian.homelinux.net/~mpyne/weblog/kde/scons-protest.html

Мда... Это только мне кажется, что товарищи решили полечить носовое
кровотечение жгутом на горло?

> I can distribute a SCons/bksys application, which includes SCons and
> bksys, in easily one-sixth of the space of an autotooled application
> (that does not include anything but the configure script and the
> required /admin directory)

О том, что в 99% процентах случаев /admin-директория содержит абсолютно
то же самое, автору, видимо, неизвестно?

$ find . -type d -name admin -exec du -hs \{\} \;
740K    ./icecc-2.6/admin
740K    ./icebgset-1.1/admin
752K    ./iceked-1.3/admin
740K    ./icemc-1.8/admin
820K    ./icesndcfg-1.1/admin
708K    ./icets-1.1/admin
752K    ./icewoed-1.5/admin

Совпадение размеров директории admin у icecc, icebgset и icemc, а также
у iceked и icewoed - вовсе не случайность, там одинаковый контент. Такая
себе "статическая линковка" на уровне исходных кодов. Причём автору
прикладного проекта и так совсем не нужно разбираться в том, как это
работает.

Гм, заглянул в admin/acinclude.m4.in и прозрел:

> dnl IMPORTANT NOTE:
> dnl Please do not modify this file unless you expect your modifications to be
> dnl carried into every other module in the repository. If you decide that you
> dnl really want to modify it, contact coolo на kde.org mentioning that you have
> dnl and that the modified file should be committed to every module.
> dnl
> dnl Single-module modifications are best placed in configure.in for kdelibs
> dnl and kdebase or configure.in.in if present.

Это можно понимать как то, что по чьему-то недосмотру в каждом первом
проекте под qt/kde лежит файл, который в любой момент можно без проблем
взять из devel-пакетов qt/kde? Остальные файлы тоже наводят на мысль,
что их расположение в /admin - дань какой-то неведомой традиции, а не
осмысленное решение.

Насколько "полегчает" типичное маленькое приложение qt/kde, если его
тарбол не будет нести мёртвый груз /admin? На тех же проектах у меня
получилось от 1/3 до половины.

Конечно, не 5/6, как обещают апологеты scons. В чём секрет? Да в том,
что ещё можно выбросить и Makefile.in'ы (я в курсе про статью об
"autotools insanity" на freshmeat, но, IMHO, появление статьи о "scons
insanity" - вопрос не такого отдалённого будущего).

-- 
// AB1002-UANIC




Подробная информация о списке рассылки Devel