[sisyphus] I: [Обновление пакетов] Обновление apache`й
Aleksey Avdeev
=?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Вс Авг 3 05:17:44 MSD 2008
Igor Vlasenko пишет:
> On Sat, Aug 02, 2008 at 05:59:45PM +0400, Aleksey Avdeev wrote:
>> Здравствуйте, уважаемые.
>> 2viy: В repocop можно добавить проверку на использование пакетами
>> устаревших макросов apache2`го. Срабатывать должно (примерно):
>
> ...
> skipped
> ...
> я этого не сделал, так как не совсем уверен, что понял,
>
> а частично сделал только
Если будет заготовка теста проверки зависимостей -- дополню: Беглый
просмотр показал, что кажется на эту тему есть SQL база. Но как ей
пользоваться я сходу не понял (а может она вообще не для этого).
>> Возможно нужно выдавать предупреждение и при корректном использовании
>> rpm-macros-apache2-compat (как напоминание о использовании устаревших
>> макросов).
>
> см.
> http://git.altlinux.org/people/viy/packages/?p=repocop-unittest.git;a=blob;f=repocop-unittest-spec-has-obsolete-macroses.spec;h=844ac0cf4fbee01c12cec9934785e8dcf201a714;hb=bb7bc2c0e2a4ffa2f0b739aa6059e4c453b35d4d
>
> Алексей,
> хотел бы попросить выписать
> 1) таблицы замены старых макросов на новые + в каких секциях эти макросы
> могут встречаться -
> я тогда напишу генератор патчей.
Таблица замен в файле /etc/rpm/macros.d/rpm-macros-apache2-compat
пакета rpm-macros-apache2-compat (он же apache2-compat.rpm-macros в
rpm-macros-apache2.git, см.
<http://git.altlinux.org/people/solo/packages/?p=rpm-macros-apache2.git;a=blob;f=apache2-compat.rpm-macros;h=58f16034f04779c2315b21a438a72f76e014ab08;hb=1118ddf164694ccc81f024f8bead7cbc9bd72798>).
Проверять нужно все секции, кроме %changelog.
Паршиво то, что данная таблица применима не всегда: если по сборочным
зависимостям вытягивается rpm-macros-apache, то при проверке из макросов
предоставляемых rpm-macros-apache2-compat нужно вычесть макросы
предоставляемые rpm-macros-apache (файл
/etc/rpm/macros.d/rpm-macros-apache, он же
<http://git.altlinux.org/people/solo/packages/?p=rpm-macros-apache.git;a=blob;f=apache.rpm-macros;h=ac2c6c37edf6dfbf0504b0242e3619abbc422cc2;hb=cefe68d306771b151fb486eecf6963a3dc0dc192>)
-- часть макросов в этих пакетах совпадает, и _эту_ ошибку они
(совпадающие) генерировать не должны (это другой случай:
rpm-macros-apache2-compat и rpm-macros-apache не должны вытягиваться
вместе).
Вышеизложенное -- теория, слабо применимая на практике (т. к. пакеты
rpm-macros-apache2-compat и rpm-macros-apache конфликтуют). Я могу
генерировать подпакеты с данными для repocop`а, но для этого мне нужно
знать следующие:
1. Куда класть файлы.
2. Как обозвать оные подпакеты. (repocop-data-<name>?)
>
> 2) Что же касается проверок на комбинации Requres/BuildRequires,
> то большая просьба к вам вписать этот алгоритм прямо
> в repocop-unittest-spec-has-obsolete-macroses.spec,
> а я добавлю вас в ACL, чтобы вы могли исправлять его по ходу
> дела, если будут ошибки.
>
> Хочется иметь официальный алгоритм,
> за который апстрим несет ответственность :)
OK, см. бранч solo
(<http://git.altlinux.org/people/solo/packages/?p=repocop-unittest.git;a=commit;h=a3364acfb32f7306eebbd76eca8b5baae01f70f0>):
1. Проверяются только спеки с Build{PreReq,Requires}
{apache2-devel,rpm-{macros,build}-apache2}.
2. Если в спеке определяется (%define) макрос {a,apache}_* --
соответствующая проверка отключается. (Т. к. пока нет простой
возможности разделить импортированные и определённые макросы.)
3. Если макрос %{a,apache}_* присутствует, а сборочных зависимостей на
rpm-macros-apache2-compat нет -- добавлена рекомендация данный пакет
задействовать.
4. Небольшая косметика (tmp файл для фильтрованного спека и ключи для
egrep).
--
С уважением. Алексей.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 552 байтов
Описание: OpenPGP digital signature
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20080803/07853418/attachment-0002.bin>
Подробная информация о списке рассылки Sisyphus