From: Peter Novodvorsky <nidd@altlinux.com> To: devel@altlinux.org Subject: [devel] kernel packagin', new generation Date: Tue, 18 Feb 2003 01:34:57 +0300 Message-ID: <m33cmmtu26.fsf@shamrock.office.altlinux.ru> (raw) Здравствуйте! Я занимаюсь созданием новых пакетов с ядром. Поговорив в ldv, rider и другими участниками команды мои планы по проектированию новых спеков для ядра более-менее устаканились и я вам их и представляю. При проектировании спека мной преследовались следующие три цели, две конкретные и одна более абстракная: * Из одного spec-файла генерируется не больше одного пакета с образом ядра. * Все, что может собираться отдельно от ядра, собирается отдельно. * Пакет с ядром должен собираться из конструктора, из маленьких кусочков, причем сборка нового вида ядра не должна быть запутанным процессом. Я предлагаю следующую инфраструктуру. Тарболы с исходными файлами kernel, alsa, drm, pcmcia-cs, etc., собираются в отдельные пакеты. Патчи тоже. Со следующей стркутурой: kernel-source RPM: /usr/src/kernel-source-%{version}.tar.bz2 /usr/share/kspec-tmpl/kernel-source-%{version}.spec.tmpl alsa RPM: /usr/src/alsa-%{version}.tar.bz2 /usr/share/kspec-tmpl/alsa-%{version}.spec.tmpl %{patch_name}-kernel-patch RPM: /usr/src/patches/%{patch_name}/* /* various patch files */ /usr/src/patches/apply/%{patch_name} Планируется сделать скрипт make-kspec. make-kspec подставляет переменные в начало spec.tmpl'ей и генерит спеки к заданным пакетам. Например, make-kspec --kver 2.4.18 --modules alsa,drm,pcmcia-cs \ --patches grsec,reiserfs --flavour multimedia \ --release alt1 Оно генерит четыре спека, -- для ядра, и для трех модулей определяя в них соответствующие требующиеся переменные. Далее, как происходит работа с патчами: для спека ядра заполняется переменная %patches, которая будет равна аргументу --patches. В спеке, в секции %prep есть примерно следующее local applied_patches; tar -jxvf %kernel_tarball pushd kernel-source-%{kversion} for i in `echo %patches | sed -e 's/,/\ /g'`; do applied_patches="$applied_patches,$i" %patches_dir/apply/$i --kver %{kversion} --already-applied $applied_patches done Из этого спека будет генерится пакет kernel-image-2.4.18-multimedia с версией 2.4.18 и версией релиза alt1 и kernel-headers-2.4.18-multimedia с той же версией и той же версией релиза. Из соответствующих модулей будут генерится: {alsa,drm,pcmcia-cs}-2.4.18-multimedia с соответствующей версией {alsa,drm,pcmcia-cs} и номером релиза alt1, которые будут зависеть от kernel-headers-2.4.18-multimedia. Единственная проблема, которая приходит мне в голову: патчи могут конфликтовать. Но на этот случай пакет %{name}-kernel-patch может иметь разные варианты патчей и реагировать на аргумент --already-applied по ситуации. Критика желательна. Просто необходима. А так же желательно согласие по принципиальным вопросам. :) -- Peter Novodvorsky nidd@myxomop.com http://people.altlinux.ru/~nidd Deadheads, unite! Kill 'em all, and let God sort 'em out
next reply other threads:[~2003-02-17 22:34 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-02-17 22:34 Peter Novodvorsky [this message] 2003-02-17 21:50 ` Volkov Serge 2003-02-18 8:49 ` Alexander Bokovoy 2003-02-18 8:54 ` Alexey V. Lubimov 2003-02-18 9:48 ` Albert R. Valiev 2003-02-18 14:43 ` Peter Novodvorsky 2003-02-18 11:46 ` Aleksey Novodvorsky 2003-02-19 9:04 ` rider 2003-02-18 14:46 ` [devel] " Alexey Tourbin 2003-02-18 18:09 ` Peter Novodvorsky 2003-02-18 15:31 ` Alexey Tourbin 2003-02-18 18:44 ` Peter Novodvorsky 2003-02-18 16:00 ` Alexey Tourbin 2003-02-19 9:13 ` rider 2003-02-19 14:23 ` Peter Novodvorsky 2003-02-19 11:52 ` Denis Ovsienko 2003-02-19 15:00 ` Peter Novodvorsky 2003-02-20 0:21 ` Mikhail Zabaluev
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=m33cmmtu26.fsf@shamrock.office.altlinux.ru \ --to=nidd@altlinux.com \ --cc=devel@altlinux.org \ --cc=devel@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git