Bug 13937 - Изменить действие make_install :)
: Изменить действие make_install :)
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/rpm-build)
: unstable
: all Linux
: P2 enhancement
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2008-01-08 21:05 by
Modified: 2012-12-23 20:05 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-01-08 21:05:23
Предлагается
1. Объявить нерекомендуемым makeinstall (поскольку это хак через 
переопределение prefix, который порой приводит к ошибкам (путям к данным с 
buildroot внутри например)).

2. Изменить make_install, добавив в него DESTDIR=%buildroot install
Это не сломает сборку старых пакетов, поскольку
а) две одинаковых цели не вызывают двойного их выполнения
б) DESTDIR друг с другом не подерётся
Если кто-то использовал make_install без DESTDIR, то это столь редкий случай, 
что его проще исправить, чем найти такой спек

3. makeinstall_std в связи с появлением нормально make_install тоже объявить 
нерекомендуемым к использованию.

4. Добавить необходимые замены в cleanup_spec.

P.S.
Как я понял, в определении макросов make_install используется только в 
определении _perl_vendor_MM_install()
------- Comment #1 From 2008-01-08 21:09:17 -------
Давайте не будем менять смысл макросов, которые существуют годами?
Зачем нам искусственно создавать несовместимость?
------- Comment #2 From 2008-01-09 02:33:29 -------
Ну так очень плохо, что они годами существуют _такие_.
Ладно, сдаюсь. Но в обмен на хорошее название нового макроса.

Просто у меня такое впечатление (15 спеков против 250-ти), что
make_install всегда используется в форме make_install install DESTDIR...

Ну а в тех редких случаях когда там не make_install DESTDIR=, там
обычно такие Makefile, которым INSTALL переопределять бессмысленно.

Кстати, как я уже писал, несовместимость такое расширение make_install не 
создаёт, по крайней мере с 95% тех спеков, с которыми я имел дело.
------- Comment #3 From 2008-01-09 02:44:29 -------
Я против прибивания гвоздями таргета "install", какой бы он не был.
------- Comment #4 From 2008-01-09 09:08:02 -------
(In reply to comment #0)
> 3. makeinstall_std в связи с появлением нормально make_install тоже объявить 
> нерекомендуемым к использованию.

По факту, он уже давно нерекомендуем:
http://lists.altlinux.ru/pipermail/devel/2005-June/034599.html
------- Comment #5 From 2009-02-15 22:51:37 -------
(В ответ на комментарий №4)
> (In reply to comment #0)
> > 3. makeinstall_std в связи с появлением нормально make_install тоже объявить 
> > нерекомендуемым к использованию.
> 
> По факту, он уже давно нерекомендуем:
> http://lists.altlinux.ru/pipermail/devel/2005-June/034599.html
Там не написано, что он нерекомендуем. Лично меня его присутствие в
rpm-build-compat несколько примирило с действительностью, хотя, конечно, это
небольшое чудо, что определения в rpm-build-perl и в rpm-build-compat
идентичны.

Дабы удовлетворить raorn'а, предлагаю следующее определение:

%define makeinstall_std %make_install DESTDIR=%buildroot %_makeinstall_target

И таки да, хотелось бы его увидеть в более "официальном" месте, чем
rpm-build-compat. И изжить дублирование с -perl, не к добру оно.
------- Comment #6 From 2009-02-20 02:17:23 -------
(In reply to comment #5)
> Дабы удовлетворить raorn'а, предлагаю следующее определение:
> 
> %define makeinstall_std %make_install DESTDIR=%buildroot %_makeinstall_target

http://git.altlinux.org/people/ldv/packages/?p=rpm.git;h=4.0.4-alt96.15-1-g6fc32e7
------- Comment #7 From 2009-02-20 03:05:12 -------
Замечательно! В Sisyphus и в 5.0, пожалуйста.
------- Comment #8 From 2012-12-22 21:11:11 -------
%makeinstall_std was added in 4.0.4-alt96.16.