From: "Alexey I. Froloff" <sir_raorn@immo.ru> To: ALT Linux devel <devel@altlinux.ru> Cc: "Dmitry V. Levin" <ldv@altlinux.org> Subject: [devel] Q: rpm-macros-*, buildreq и обработка сборочных зависимостей в sandman и hasher Date: Thu, 25 Sep 2003 09:46:26 +0400 Message-ID: <20030925054626.GI8655@inferno.immo> (raw) [-- Attachment #1: Type: text/plain, Size: 2077 bytes --] Помнится, начали на linuxfest обсуждать этот вопрос, но так ни к чему и не пришли... Что делать с пакетами, которые провайдят макросы для rpm (/etc/rpm/macros.d/*)? Осбенно если кроме этих макросов больше ничего нет (как например vim и xscreensaver)? Вариантов три: 1. Файл с макросами идёт в любом случае в %name-devel 2. Файл с макросами идёт в любом случае в rpm-build-%name (или rpm-macros-%name) 3. Файл с макросами идёт либо в %name-devel, либо в rpm-build-%name - зависит от того, есть ли соответствующий -devel пакет. Лично мне нравится второй вариант, почему - об'ясню ниже. Далее - сборочные зависимости. На данный момент нет способа автоматически определить какой файл из /etc/rpm/macros.d необходим для сборки пакета. rpm парсит все файлы из этого каталога и эти файлы игнорируются buildreq'ом. Некоторе время назад я патчил rpm на тему выдачи списка используемых в спеке макросов, но этот способ мне очень не нравится. В rpm есть директива %include, которая "подключает" произвольный файл и эта директива активно используется, например, в PLD. На linuxfest ldv сказал, что может пропатчить rpm чтобы он по %include подключал файл только из определённого каталога (и даже принимал бы имя файла в угловых скобках ;-), это решает целый ряд проблем: 1. Не надо будет игнорировать /etc/rpm/macros.d/* 2. buildreq будет автоматически проставлять зависимость на соответствующий rpm-build-* 3. В sandman и hasher директива %include <xxx> будет автоматически означать сборочную зависимость от rpm-build-xxx (эти три пункта некоторым образом дублируют друг друга ;-) Возможные проблемы: 1. Нужно будет исправить спеки всех пакетов, использующих макросы из /etc/rpm/macros.d/* - это perl-*, это kernel-*, это ruby-*... 2. Не знаю как в hasher, но в sandman надо делать дополнительную обработку спекфайла - rpm -bE будет выдавать ошибку при %include несуществующего файла... 3. Возможно я ещё что-то не учёл... Предложения, комментарии? -- Regards, Sir Raorn. ------------------- Чтобы стать кондитером, необязательно начинать с помойки. -- mike in community@ [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next reply other threads:[~2003-09-25 5:46 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-09-25 5:46 Alexey I. Froloff [this message] 2003-09-27 21:23 ` Alexey I. Froloff 2003-09-27 21:42 ` Dmitry V. Levin 2003-09-27 21:45 ` Dmitry V. Levin 2003-09-28 12:08 ` Alexey I. Froloff
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=20030925054626.GI8655@inferno.immo \ --to=sir_raorn@immo.ru \ --cc=devel@altlinux.ru \ --cc=ldv@altlinux.org \ /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