From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 18 Feb 2003 00:50:28 +0300 From: Volkov Serge X-Mailer: The Bat! (v1.44) UNREG / CD5BF9353B3B7091 X-Priority: 3 (Normal) Message-ID: <986544953.20030218005028@altlinux.ru> To: Peter Novodvorsky Subject: Re: [devel] kernel packagin', new generation In-reply-To: References: Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel@altlinux.ru X-Reply-To: Volkov Serge List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: Привествую, Возможно имеет смысл распространить данное предложение на пакеты, которые создаются из одного архива исходных кодов, но с разными условиями сборки и/или необходимыми патчами. например OpenLDAP {orig, sasl, krb,}, т.е. обобщить решение этого вопроса. Так как будет явно указываться скрипту "make-kspec --release altN" как будет от этого зависеть %changelog или он тоже будет как-то заполняться автоматически. Ведь планируется собирать с определенными патчами и модулями, которые от сборки к сборке могут меняться? Tuesday, February 18, 2003, 1:34:57 AM, you wrote: PN> Здравствуйте! PN> Я занимаюсь созданием новых пакетов с ядром. Поговорив в ldv, rider и PN> другими участниками команды мои планы по проектированию новых спеков PN> для ядра более-менее устаканились и я вам их и представляю. PN> При проектировании спека мной преследовались следующие три цели, две PN> конкретные и одна более абстракная: PN> * Из одного spec-файла генерируется не больше одного пакета с PN> образом ядра. PN> * Все, что может собираться отдельно от ядра, собирается отдельно. PN> * Пакет с ядром должен собираться из конструктора, из маленьких PN> кусочков, причем сборка нового вида ядра не должна быть запутанным PN> процессом. PN> Я предлагаю следующую инфраструктуру. Тарболы с исходными файлами PN> kernel, alsa, drm, pcmcia-cs, etc., собираются в отдельные PN> пакеты. Патчи тоже. Со следующей стркутурой: PN> kernel-source RPM: PN> /usr/src/kernel-source-%{version}.tar.bz2 PN> /usr/share/kspec-tmpl/kernel-source-%{version}.spec.tmpl PN> alsa RPM: PN> /usr/src/alsa-%{version}.tar.bz2 PN> /usr/share/kspec-tmpl/alsa-%{version}.spec.tmpl PN> %{patch_name}-kernel-patch RPM: PN> /usr/src/patches/%{patch_name}/* /* various patch files */ PN> /usr/src/patches/apply/%{patch_name} PN> Планируется сделать скрипт make-kspec. make-kspec подставляет PN> переменные в начало spec.tmpl'ей и генерит спеки к заданным PN> пакетам. Например, PN> make-kspec --kver 2.4.18 --modules alsa,drm,pcmcia-cs \ PN> --patches grsec,reiserfs --flavour multimedia \ PN> --release alt1 PN> Оно генерит четыре спека, -- для ядра, и для трех модулей определяя в PN> них соответствующие требующиеся переменные. Далее, как происходит PN> работа с патчами: для спека ядра заполняется переменная %patches, PN> которая будет равна аргументу --patches. В спеке, в секции %prep есть PN> примерно следующее PN> local applied_patches; PN> tar -jxvf %kernel_tarball PN> pushd kernel-source-%{kversion} PN> for i in `echo %patches | sed -e 's/,/\ /g'`; do PN> applied_patches="$applied_patches,$i" PN> %patches_dir/apply/$i --kver %{kversion} --already-applied $applied_patches PN> done PN> Из этого спека будет генерится пакет kernel-image-2.4.18-multimedia PN> с версией 2.4.18 и версией релиза alt1 и PN> kernel-headers-2.4.18-multimedia с той же версией и той же версией PN> релиза. PN> Из соответствующих модулей будут генерится: PN> {alsa,drm,pcmcia-cs}-2.4.18-multimedia с соответствующей версией PN> {alsa,drm,pcmcia-cs} и номером релиза alt1, которые будут зависеть от PN> kernel-headers-2.4.18-multimedia. PN> Единственная проблема, которая приходит мне в голову: патчи могут PN> конфликтовать. Но на этот случай пакет %{name}-kernel-patch может PN> иметь разные варианты патчей и реагировать на аргумент PN> --already-applied по ситуации. PN> Критика желательна. Просто необходима. А так же желательно согласие по PN> принципиальным вопросам. :) -- Best regards, Volkov mailto:vserge@altlinux.ru