From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3B0B1205.1060602@novosoft.ru> Date: Wed, 23 May 2001 08:27:33 +0700 From: Alexey Morozov Organization: Novosoft, Inc. User-Agent: Mozilla/5.0 (X11; U; Linux 2.4.3 i686; en-US; rv:0.9) Gecko/20010511 X-Accept-Language: ru, en MIME-Version: 1.0 To: sisyphus@altlinux.ru Subject: Re: [sisyphus] Re: [sisyphus] =?KOI8-R?Q?=E4=C1=D7=C1=CA=D4=C5=20=D3=D0=CF=D2=C9=D4=D8?= References: <3B05163A.3040800@novosoft.ru> <20010522134047.I12506@ldv.office.alt-linux.org> <3B0A6705.2060705@novosoft.ru> <20010522221905.E16168@ldv.office.alt-linux.org> Content-Type: multipart/mixed; boundary="------------050906080400040607030105" Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: sisyphus@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: This is a multi-part message in MIME format. --------------050906080400040607030105 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Dmitry V. Levin wrote: >но при этом поддержка прежнего >API сохранена практически всеми производителями софта, поэтому проблем у >пользователей нашего дистрибутива не будет, даже если они захотят собрать >программу, не входящую в дистрибутив, как не было этой проблемы и раньше. > В общем, Бог с ним, с bzip'ом, я для себя собрал правильный, а уж дальше - хоть трава не расти :-) >>Несомненно, что-то лучше пересобрать, 100% совместимости в бинарниках не >>будет, наверное (особенно, если при сборке выпендриваться и всякие >>"кульные фичи" включать). Но в целом механизм ld.so работает очень >>удовлетворительно, не надо его принудительно ломать. >> >Если Вы имеете ввиду тот факт, что soname нашей bzlib и redhat'овской >bzlib совпали, то это скорее всего не наша вина, ибо мы собрали >bzip2-1.0.0 гораздо раньше redhat'а. Хотя, конечно, стоило бы предугадать >и сменить soname сразу... > Я имею ввиду тот факт, что при смене одной библиотеки, как правило, необязательно менять скопом всех тех, кто на этой библиотеке был так или иначе завязан. Что-то - нужно будет сменить, но таких "подавляющее меньшинство" :-). >Есть общепринятые стандарты (такие как FHS), и мы >будем им следовать. Но пытаться реализовать 100% бинарную совместимость с >чем-либо - значит в существенной мере подорвать разработку дистрибутива. >Мы этого делать, разумеется, не будем. :) > Не надо делать 100% бинарную НЕсовместимость, и то ладно будет :-). >>Ваши пользователи будут либо вынуждены либо идти к вам на поклон (а вы >>можете заболеть, спиться, уехать на заработки, или еще какое несчастье >>приключится, не дай Бог, конечно), либо "собирать все сами". Меня, >>например, как человека, который _способен_ все собрать сам, но у >>которого просто нет времени сидеть и подгонять детальки, такое положение >>уже не устраивает. >> >У Вас же не возникает желание взять пакет из suse и поставить его в redhat >(или наоборот). Да и попытка взять mdk'шный пакет и поставить его в redhat >скорее всего закончится неудачно. > Хе-хе. Глядите. [alex@sig alex]$ rpm -qa | wc -l 721 [alex@sig alex]$ rpm -qa --queryformat '%{BUILDHOST}\n' | grep 'redhat.com' | wc -l 316 [alex@sig alex]$ rpm -qa --queryformat '%{BUILDHOST}\n' | grep -i 'mandrakesoft.com' | wc -l 245 [alex@sig alex]$ rpm -qa --queryformat '%{BUILDHOST}\n' | grep '\(iplabs.ru\)\|\(altlinux.ru\)\|\(alt-linux.org\)\|\(novdv.ru\)' | wc -l 68 [alex@sig alex]$ rpm -qa --queryformat '%{BUILDHOST}\n' | grep '\(ximian.com\)\|\(helixcode.com\)' | wc -l 16 [alex@sig alex]$ rpm -qa --queryformat '%{BUILDHOST}\n' | grep 'asplinux.ru' | wc -l 6 [alex@sig alex]$ rpm -qa --queryformat '%{BUILDHOST}\n' | grep 'sig' | wc -l 68 [alex@sig alex]$ cat /etc/redhat-release Red Hat Linux release 7.0 (Guinness) [alex@sig alex]$ _ При этом libc у меня от уже Mdk8, а libstdc++ - старая, от RH7. :-). Это не страшно, поверьте, "трудности и прелести секса в космосе сильно преувеличены" (С) Артур Кларк :-). Все работает, только шум стоит, и тут Вы, с bzip'ом... :-). В общем, предлагаю закрыть тему. Сойдемся на том, что полезно давать пакет libXXX-YYY.ZZZ, а при необходимости - давать пакет libXXX-compat-MMM.NNN. >Нет, насколько я понимаю, развитие самостоятельного дистрибутива обречено >на его бинарную несовместимость. >А база пакетов Sisyphus тем временем расширяется... > На здоровье. Кстати, вы (altlinux team) рассматривали возможность "тиснуть" из ASPLinux'а aspell-ru? Я так понимаю, словарь, в общем, довольно полный, на обычных текстах aspell c этим словарем и ispell с Книжниковским ведут себя, кажется, сравнимо (хотя я не тестировал особо). А так всякие gnome-spell'ы заработают (может быть :-)). >Вопросы идеологии построения дистрибутива - это не догмат, чтобы его >нельзя было обсуждать. Скажем, если бы Вы написали про bzlib год назад, то >я, возможно, мог бы сделать что-то иначе. Хотя других прецедентов, >подобных bzlib (одинаковый soname при разном API), в дистрибутиве нет. > На том спасибо :-). >Bug report maintainer'у initscripts отправлен, problem report #42. > Здорово. >>(/etc/sysconfig/harddisk*) в об-devfs'ленном env. Для себя я, конечно, >>подправил, но там, по-хорошему, нужно подумать, как именно скакать по >>ide-дивайсам, вместо >>for i in a b c d e f; do >> # а не хард ли это часом? >>done >>мне больше нравится идея проскакать по /dev/discs/*, а потом, отдельно, >>по /dev/cdroms/*. >> >Если бы Вы предложили проверять /proc/ide/hd*, это было бы понятно. >Но вот /dev/discs/* и /dev/cdroms/* - это странно - в моей системе, >например, этого нет вообще. > Гхм, в том-то вся и шутка. С подгу^H^H^H^H^H C devfs при его правильном использовании все может быть проще и приятнее. В общем, я _для себя_ сделал примерно так: evvar="`cat /proc/mounts | awk '{print "HASDEVFS="$3,"; DEVFS="$2;}' | grep 'HASDEVFS=devfs'`" eval $evvar if [ -n "$HASDEVFS" ]; then if [ -d $DEVFS/discs ]; then pushd $DEVFS/discs for i in *; do # выставляем параметры тех, кто у нас сегодня называется диском done popd fi if [ -d $DEVFS/cdroms ]; then pushd $DEVFS/cdroms for i in *; do # выставляем параметры тех, кто у нас сегодня называется CD-ROM'ом done popd fi else # старый кусок имени altlinux/mdk fi В общем, как мне кажется, такая схема работает чуть проще и чуть лучше, т.к. она покрывает не только IDE, но и всякие другие типы HD и CDROM'ов. Но ее работоспособность еще нужно (если нужно, конечно), проверять на всяких там pd и Co. Ну и со сказью - тоже непонятно, мне, к сожалению, не на чем проверить. >У меня нет данных о том, что умеет делать hdparm с SCSI-дисками. >Расскажите, будет интересно не только мне. > У меня, в общем, тоже только man page :-). Можно, конечно, один из конторских серверов изнасиловать во благо прогресса :-). >Мы открыты к _конструктивному_ диалогу. > :-) >Мы готовы воспринимать свежие идеи (и даже быстрее, чем redhat или mandrake). >Welcome. > Именно поэтому я пишу вам, а не в Mdk или RH :-) >Не стесняйтесь посылать патчи. > Посылаю. И, эта, Вы не рассматривали возможность включения в дистр т.н. gtk advanced file selector патча. Довольно удобная штука. Тоже в аттачменте (подходит для 1.2.10). .spec'и нужны? (Хотя там все просто, у меня это стандартные Mdk'шные спеки с одним добавленным в конец патчем) Алексей Морозов. --------------050906080400040607030105 Content-Type: application/octet-stream; name="gnome-libs-zvtkbdhack.patch.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gnome-libs-zvtkbdhack.patch.bz2" QlpoOTFBWSZTWRxUdGkAAQ1fgGgwUP/+umfLwgy/r987MAFxqAcwCaYBMhgACYJgAAAlBKeq fkUep6j0Eaek9QAGBBoANAVKJNTUyP1MkxoR5Q2oaB5QPUx6mnqamReQDMYzZkaq13Ng4yC4 GI4oJJmjNEBLMApWCHxADChceKJQbo1vJxtOdJK97eQGuIFleWd/auP4zZe+lCsVA1nMhk27 uW1HRfkZiQ4h14lWBfF+gi4yn0PUYGd8bttim4xnCvj5KuCZDql2spX1cLCBJVjUq0zUUKEF qQZtJAKYUFGMsw8Tu8nn/P40qUwijgZY+xVnba9grL9mIVsk7BWzF6eGXxjKuqMjuW0USlOR 4OViWRe1fcXx+z3nEMGj+NvRrhrTU5439UdK5WO2suWm9mMrJZJbHrcz6nNabpMGUpdHKdbo 536bGyjRHg8nE43s0RWzrcnj4x3Zm9FpiMYz7o8jN0lIqZ/8N9gNM0zb2/8XckU4UJAcVHRp --------------050906080400040607030105 Content-Type: application/octet-stream; name="gtk+-1.2.8-advanced-gtkfilesel-0.2.patch.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gtk+-1.2.8-advanced-gtkfilesel-0.2.patch.bz2" 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 --------------050906080400040607030105--