On Mon, Oct 06, 2003 at 03:40:19PM +0400, Ed V. Bartosh wrote: > Hello, > > > А почему у нас сейчас заголовки из kernel-headers-modules ставятся в > > /usr/src/linux-%version-%flavour, а не в > > /usr/include/linux-%version-%flavour? > Нужно поднять тред на эту тему, но, скорее всего, это было сделано для > того, чтобы отделить это от /usr/include/linux..., которые > используются юзерспейсом. Не по ошибке точно. Они будут отделены, так как юзерспейс полезет исключительно в подкаталог include. Если убирать - тогда и .config оттуда надо убирать. > > В результате нет возможности > > указать /usr/include/linux-%version-%flavour в качестве каталога с > > ядром, если собираемому модулю нужны заголовки SCSI. > Да, но никто не мешает указать оба места. Речь о том, что некоторые вещи хотят именно каталог ядра, а include/ и drivers/scsi/ добавляют сами - понятно, что это решается либо подстановкой значений для других переменных, либо патчем для Makefile, но зачастую это только лишняя работа. Можно пойти другим путём - сделать в /usr/src/linux-%version-%flavour симлинк include -> ../../include/linux-%version-%flavour/include; тогда заменителем каталога с ядром будет выступать /usr/src/linux-%version-%flavour. Здесь проблема ещё в одном месте: при тестовых сборках скриптами в CVS переопределяется %_usrsrc, из-за чего либо не находятся исходники, либо эти файлы пишутся не туда, куда надо. Можно это обойти, но тогда в спеках придётся писать что-то вроде %_includedir/../src/linux-%kversion-%kflavour/drivers/scsi. А ломать этот механизм сборки я не хочу, поскольку hasher пока что не умеет работать с ccache. > > У меня ещё возникают мысли втащить в kernel-headers-modules файлы > > Makefile, Rules.make и arch/i386/Makefile (слегка их попатчив, чтобы > > ничего в дереве ядра не пересобиралось). Некоторые модули хотят > > собираться именно таким образом - не хочется это ломать (при сборке > > таким методом получаются наиболее правильные опции gcc). > Ну и какие же это include будут ? Вот поэтому и вынесено в том числе. include для make (по крайней мере, Rules.make именно так и используется). > Я за то, чтобы добавить. Просто пока не нужно было, а в целом я - за. Например, нужно для сборки bttv отдельно от ядра (тогда даже Makefile патчить не приходится).