Bug 32554

Summary: переопределяет %_localstatedir
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: rpm-build-introAssignee: Vitaly Lipatov <lav>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: asy, glebfm, imz, lav, ldv, rider, rt
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 10382    

Description Michael Shigorin 2016-10-01 10:21:32 MSK
Вместо /var/lib получается /var -- дискуссия открыта, но диверсии -- не метод.
Comment 1 Vitaly Lipatov 2016-10-01 15:10:31 MSK
(В ответ на комментарий №0)
> Вместо /var/lib получается /var -- дискуссия открыта, но диверсии -- не метод.
Дискуссия https://bugzilla.altlinux.org/show_bug.cgi?id=10382 открыта 10 лет. 
Если rpm-build-intro используется осознанно, то можно избавиться от хаков в спеке, или же убрать зависимость на rpm-build-intro.

С другой стороны, в mlocate оказалось проще заменить localstatedir на sharedstatedir и не мучаться:
%__subst 's|$(localstatedir)|$(sharedstatedir)|g' Makefile.*
https://packages.altlinux.org/ru/Sisyphus/srpms/mlocate/spec
Comment 2 Ivan Zakharyaschev 2017-02-20 16:38:57 MSK
(In reply to comment #0)
> Вместо /var/lib получается /var -- дискуссия открыта, но диверсии -- не метод.

Так это неплохо: мейнтейнер осознанно пишет спек, предполагая особые значения. Готовится к переезду (в будущем).
Comment 3 Vitaly Lipatov 2017-10-25 01:34:47 MSK
> переопределяет %_localstatedir
> вместо /var/lib получается /var
именно так.
Comment 4 Dmitry V. Levin 2017-10-25 07:52:18 MSK
Я думаю, что если смена значения системного макроса %_localstatedir в пакете с другими (дополнительными) макросами - это WORKSFORME, то конфликт на rpm-build-intro в пакете rpm-build будет адекватной реакцией.
Comment 5 Dmitry V. Levin 2017-10-25 08:02:11 MSK
Пользователь, который установил пакет ради дополнительных макросов, вправе рассчитывать, что системные макросы не пострадают.

Предлагаю завести отдельный пакет с выразительным именем, например, rpm-macros-[in]compat-fedora, и помещать туда макросы из федоры, конфликтующие с системными, вместо того, чтобы смешивать в одном пакете конфликтующие и дополнительные макросы.
Comment 6 Anton Farygin 2017-10-25 08:24:35 MSK
если уж у нас не будет исправлен _localstatedir то я тоже предпочитаю прописывать его вручную в каждом спеке, вместо того, что бы устанавливать переопределяющий системные макросы пакет.
Comment 7 Vitaly Lipatov 2017-10-25 13:34:08 MSK
(In reply to comment #5)
> Пользователь, который установил пакет ради дополнительных макросов, вправе
> рассчитывать, что системные макросы не пострадают.
> 
> Предлагаю завести отдельный пакет с выразительным именем, например,
> rpm-macros-[in]compat-fedora, и помещать туда макросы из федоры, конфликтующие
> с системными, вместо того, чтобы смешивать в одном пакете конфликтующие и
> дополнительные макросы.
Спасибо, вынесу в отдельный пакет.
Comment 8 Sergey Y. Afonin 2017-10-25 16:05:11 MSK
Раз bug 10382 закрыт так, как закрыт, то не плохо бы было отвязать etersoft-build-utils от пакетов, которые переопределяют localstatedir.
Comment 9 Vitaly Lipatov 2017-10-28 13:21:19 MSK
(В ответ на комментарий №8)
> Раз bug 10382 закрыт так, как закрыт, то не плохо бы было отвязать
> etersoft-build-utils от пакетов, которые переопределяют localstatedir.
Это было сделано в сборке
2017-10-18 Vitaly Lipatov <lav at altlinux.ru> 2.7.2-alt1
Comment 10 Repository Robot 2017-10-28 13:23:24 MSK
rpm-build-altlinux-compat-2.1.0-alt1 -> sisyphus:

Sat Oct 28 2017 Vitaly Lipatov <lav@altlinux.ru> 2.1.0-alt1
- move _localstatedir macro to rpm-macros-intro-conflicts package (ALT bug 32554)