Bug 50150 - NEW unmet dependencies detected: /usr/bin/rm /usr/bin/bash
Summary: NEW unmet dependencies detected: /usr/bin/rm /usr/bin/bash
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm-build (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 46625 50121
  Show dependency tree
 
Reported: 2024-04-24 19:09 MSK by Andrew Vasilyev
Modified: 2024-04-29 16:09 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Vasilyev 2024-04-24 19:09:18 MSK
При сборке resource-agents получаем:

	x86_64: NEW unmet dependencies detected:
 ldirectord#4.14.0-alt1:sisyphus+345762.100.1.1@1713964559       /usr/bin/rm
 resource-agents#4.14.0-alt1:sisyphus+345762.100.1.1@1713964559  /usr/bin/bash

  из-за

checking for rm... /usr/bin/rm
checking for bash... /usr/bin/bash
Comment 1 Gleb F-Malinovskiy 2024-04-24 19:52:41 MSK
Тут по сути главный вопрос, где мы будем переопределять ac_cv_path_RM, ac_cv_path_BASH_SHELL и прочие?
Comment 2 Vitaly Chikunov 2024-04-24 19:56:41 MSK
Наверное, CanonPath мог бы заменять requires, но если это не используется в самой конфигурируемой проге.
Comment 3 Gleb F-Malinovskiy 2024-04-24 20:00:22 MSK
Используется наверняка.
Вообще говоря, не нужно полных путей к rm в скриптах.
Comment 4 Andrew Vasilyev 2024-04-24 20:09:02 MSK
/usr/bin/bash используется в shebang, а /usr/bin/rm в данном конкретном случае
прилетает в service файл. Там принято писать полный путь.
Comment 5 Gleb F-Malinovskiy 2024-04-24 20:12:03 MSK
Я бы сделал

export ac_cv_path_RM=/bin/rm 
export ac_cv_path_BASH_SHELL=/bin/bash

в пакете.  Вопрос, много ли у нас таких пакетов.
Comment 6 Arseny Maslennikov 2024-04-24 20:59:20 MSK
(In reply to Andrew Vasilyev from comment #4)
> /usr/bin/bash используется в shebang, а /usr/bin/rm в данном конкретном
> случае
> прилетает в service файл. Там принято писать полный путь.

Отсюда, видимо, следует, что нам в любом случае придётся предусматривать то, что Глеб предложил, с фиксацией ac_cv_path_*.

Но далеко не факт, что этого достаточно.
Comment 7 Arseny Maslennikov 2024-04-24 21:05:50 MSK
Посмотрел по логам последней тестовой пересборки без filesystem 3:
  % grep -Er 'checking for rm...[[:space:]]+(/bin/|)rm' success | tail
  success/samba-4.19.6-alt1:checking for rm... rm
  success/scponly-4.8-alt2.qa1:checking for rm... /bin/rm
  success/scponly-4.8-alt2.qa1:checking for rm... /bin/rm
  success/sdcc-1:4.4.0-alt1:checking for rm... rm -f
  success/snapper-0.10.7-alt1:checking for rm... /bin/rm
  success/splint-3.1.2-alt2.qa1:checking for rm... rm
  success/squid-6.8-alt1:checking for rm... /bin/rm
  success/vdsm-4.50.6-alt1.1:checking for rm... /bin/rm
  success/wfc-R2304-alt1:checking for rm... /bin/rm
  success/whoson-2.05-alt2.1:checking for rm... /bin/rm

Не все эти проверки из-под autotools (хотя бы samba можно вспомнить), поэтому они могут игнорировать ac_cv_*.
Видно, что проверки принципиально разные: где-то rm, где-то /bin/rm, а где-то вообще `rm -f`.
Comment 8 Arseny Maslennikov 2024-04-24 21:26:39 MSK
(In reply to Gleb F-Malinovskiy from comment #5)
> Я бы сделал
> 
> export ac_cv_path_RM=/bin/rm 
> export ac_cv_path_BASH_SHELL=/bin/bash
> 
> в пакете.  Вопрос, много ли у нас таких пакетов.

% grep -Elr 'checking for rm...[[:space:]]+' ~/success | wc -l
76
% grep -Elr 'checking for rm...[[:space:]]+/bin/rm' ~/success | wc -l
58
% grep -Elr 'checking for rm...[[:space:]]+rm -f' ~/success | wc -l
4
% grep -Elr 'checking for rm...[[:space:]]+[^r/]' ~/success | wc -l
1
Этот один очень забавный:
libabigail-1.8.2-alt1:checking for rm... yes
Comment 9 Andrew Vasilyev 2024-04-24 22:19:28 MSK
(Ответ для Gleb F-Malinovskiy на комментарий #5)
> export ac_cv_path_RM=/bin/rm 
> export ac_cv_path_BASH_SHELL=/bin/bash

  Костыль помог, спасибо.
Comment 10 Arseny Maslennikov 2024-04-28 19:27:21 MSK
А вот сколько содержат "checking for bash":
  % grep -a -Elr 'checking for bash[.][.][.][[:space:]]+' ~/success | wc -l
  53
  % grep -a -Elr 'checking for bash[.][.][.][[:space:]]+/bin/bash' ~/success | wc -l
  33
  % grep -a -Elr 'checking for bash[.][.][.][[:space:]]+/bin/sh' ~/success | wc -l
  15
  % grep -a -Elr 'checking for bash[.][.][.][[:space:]]+[^/]' ~/success | wc -l
  5
Последние 5 тоже забавные:
  % grep -a -Er 'checking for bash[.][.][.][[:space:]]+[^/]' success
  success/armagetronad-0.2.8.3.4-alt1:checking for bash... yes
  success/armagetronad-0.2.8.3.4-alt1:checking for bash... yes
  success/gnuastro-0.22-alt1:checking for bash... yes
  success/libxc-6.2.2-alt1:checking for bash... yes
  success/swtpm-0.8.1-alt1:checking for bash... yes
  success/wxedid-0.0.27-alt2:checking for bash... yes

Минимум один из них уже не проходит unmet check:
https://git.altlinux.org/tasks/346583/
  [00:00:09] checking for bash... /usr/bin/bash
Comment 11 Arseny Maslennikov 2024-04-29 13:55:39 MSK
В моём списке тех пакетов, которые точно будет нужно пересобрать в p11, нашлось 2 пакета, которых это коснулось:

librarian: https://git.altlinux.org/tasks/346583/
  [00:00:09] checking for bash... /usr/bin/bash
apcupsd: https://git.altlinux.org/tasks/346043/
  [00:00:04] checking for sh... /usr/bin/sh
Comment 12 Vitaly Chikunov 2024-04-29 15:45:53 MSK
JFYI

team:/beehive/logs/Sisyphus/x86_64/latest$ grep -Elr '^Requires:.*/usr/bin/(ba)?sh' success | sort
success/apcupsd-3.14.14-alt3
success/autogen-5.18.16-alt1
success/bash-defaults-5.2.15-alt1
success/corosync-3.1.8-alt2
success/corosync-qdevice-3.0.3-alt1
success/gnustep-make-2.8.0-alt2.1
success/lbdb-0.39-alt2
success/librarian-0.8.1-alt7
success/libsmi-0.5.0-alt2
success/mpb-1.5-alt5
success/ngsolve-6.2.2304-alt1
success/pacemaker-2.1.7-alt1
success/pekwm-0.2.1-alt1
success/quilt-0.67-alt2
success/verlihub-0.9.8e-alt3
Comment 13 Arseny Maslennikov 2024-04-29 16:09:33 MSK
(In reply to Vitaly Chikunov from comment #12)
> JFYI
> 
> team:/beehive/logs/Sisyphus/x86_64/latest$ grep -Elr
> '^Requires:.*/usr/bin/(ba)?sh' success | sort
> success/apcupsd-3.14.14-alt3
> success/autogen-5.18.16-alt1
> success/bash-defaults-5.2.15-alt1
> success/corosync-3.1.8-alt2
> success/corosync-qdevice-3.0.3-alt1
> success/gnustep-make-2.8.0-alt2.1
> success/lbdb-0.39-alt2
> success/librarian-0.8.1-alt7
> success/libsmi-0.5.0-alt2
> success/mpb-1.5-alt5
> success/ngsolve-6.2.2304-alt1
> success/pacemaker-2.1.7-alt1
> success/pekwm-0.2.1-alt1
> success/quilt-0.67-alt2
> success/verlihub-0.9.8e-alt3

С остальными можно постепенно разобраться.