[devel] u: kernel-feat-swsusp-alt2 и suspend-alt3

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пт Окт 24 23:30:57 MSD 2003


On Sat, Oct 25, 2003 at 12:42:16AM +0600, Andrey Rahmatullin wrote:
> Alex Yustasov пишет:
> >Здравствуйте!
> >В инкоминг/сизифус отправились 
> >
> >4b48f41ed9d96f95fb4d1ad405b67c06  
> >kernel-feat-swsusp-2003.10.16-alt2.src.rpm
> [...]
> 
> Общее впечатление от патча - он сломан. Весь.
> 
> 1. kernel-feat-swsusp-2003.10.16-alt2 с инкрементным патчем внутри
> (2.0rc1 against 2.4.22 + 2.0rc2 against 2.0rc1) в принципе не патчит
> ванильное 2.4.22 ядро. А вот обычный (не инкрементный) патч 2.0-rc2
> (http://prdownloads.sourceforge.net/swsusp/swsusp-2.0-rc2-whole.bz2?download) 
> 
> патчит нормально.
> 2. XFS-ные куски патча не прикладываются, если не приложен сам XFS-патч,
> а video-splash-ные - без video-splash.

Для таких случаев в kernel-build-tools уже предусмотрено условное
приложение патчей.  В данном случае, например, патчи
04_swsusp-xfs-option-patch и 05_swsusp-xfs-option-fix следует
переложить в подкаталог 04_kernel-feat-fs-xfs, а патч
06_swsusp-1.1-rc10-bootsplash-option - в подкаталог
06_kernel-feat-drivers-video-splash.  При этом одновременно будет
обеспечен и правильный порядок приложения патчей - независимо от
порядка %add_patch_list сначала будут применены патчи, на которые есть
такие условные зависимости.

> 3. Сам патч конфликтует по drivers/usb/host/usb-ohci.c с
> kernel-fix-drivers-usb-2003.09.29-alt1. Конкретно с
> 90_08_disable_all_usb.patch. Еще конкретнее - оба пытаются добавить пару
> строчек в тело одной коротенькой функциии:
> 
>   static int __init ohci_hcd_init (void)
>   {
>         return pci_module_init (&ohci_pci_driver);
>   }
> 
> С этим можно что-то сделать? Ведь либо придется делать один патч
> зависящим от другого, либо склеивать их, либо делать их конфликтующими,
> и в любом случае не будет выбора между прикладыванием одного из патчей
> либо обоих. Или как-то можно?

С этим несколько хуже - в частности, сейчас в kernel-build-tools нет
средств для наложения патчей при условии _отсутствия_ какого-либо
пакета с патчами с списке.  Хотя можно извернуться - например, в
10_kernel-fix-drivers-usb/xxx отменить мешающий кусок, потом в 11_yyy
наложить свой патч, а далее в 12_kernel-fix-drivers-usb/zzz вернуть
отменённые изменения на место (уже объединённые с другими).  Но это уж
как-то совсем навороченно выглядит.

Хотя на самом деле kernel-feat-swsusp-2003.10.16-alt2 как раз должен
накладываться после kernel-fix-drivers-usb-2003.09.29-alt1 - а вот в
обратном порядке уже не получится.  Можно зафиксировать этот порядок -
для этого в /usr/src/kernel/patches/kernel-feat-swsusp надо создать
подкаталог kernel-fix-drivers-usb (фактически в действие вступит всё
тот же механизм условного применения патчей - хотя каталог и пустой,
но порядок применения всё равно меняется).

Наконец, зависимость на kernel-fix-* не настолько неприятна - вот от
жёстких зависимостей на другие kernel-feat-* желательно избавляться
(если они не нужны по смыслу патча).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20031024/6283e531/attachment-0001.bin>


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