Bug 50138 - /lib/cpp is broken for new installations
Summary: /lib/cpp is broken for new installations
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: gcc-common (show other bugs)
Version: unstable
Hardware: all Linux
: P5 blocker
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 50121
  Show dependency tree
 
Reported: 2024-04-24 10:00 MSK by Ivan A. Melnikov
Modified: 2024-04-24 14:41 MSK (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan A. Melnikov 2024-04-24 10:00:30 MSK
В свежем хешере (сразу после hsh-init) поверх сегодняшнего Сизифа наблюдаю сломанную ссылку /lib/cpp:

[builder@localhost .in]$ ls -l /lib/cpp
lrwxrwxrwx 1 rooter rooter 14 Dec  7  2020 /lib/cpp -> ../usr/bin/cpp
[builder@localhost .in]$ ls -l /usr/lib/cpp
lrwxrwxrwx 1 rooter rooter 14 Dec  7  2020 /usr/lib/cpp -> ../usr/bin/cpp

Обе не работают. На живой, по-usermerg-енной системе, немного больше переходов вверх, и всё хорошо:

$ ls -l /lib/cpp
lrwxrwxrwx 1 root root 17 Apr 23 10:18 /lib/cpp -> ../../usr/bin/cpp
Comment 1 Ivan A. Melnikov 2024-04-24 10:47:35 MSK
Это ломает сборку пакетов.  Например, sphinx:

[...]
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
error: Bad exit status from /usr/src/tmp/rpm-tmp.77100 (%build)
Comment 2 Ivan A. Melnikov 2024-04-24 10:50:50 MSK
asheplyakov@ предлагает исправление: https://git.altlinux.org/tasks/345735/
Comment 3 Arseny Maslennikov 2024-04-24 11:10:10 MSK
Мало на что повлияет, но исправить надо.

gcc-common	@core at sbolshakov

Я не стал лезть, потому что мы бы ещё пару месяцев одобряли моё задание. :)

Варианта исправления может быть два: починить битую ссылку или удалить её совсем.
Comment 4 Arseny Maslennikov 2024-04-24 11:15:47 MSK
(In reply to Ivan A. Melnikov from comment #2)
> asheplyakov@ предлагает исправление: https://git.altlinux.org/tasks/345735/

diff --git a/gcc-common.spec b/gcc-common.spec
index 584473f..7f4b321 100644 (file)
--- a/gcc-common.spec
+++ b/gcc-common.spec
@@ -10,6 +10,7 @@ Url: http://git.altlinux.org/gears/g/gcc-common.git
 Source: gcc_wrapper.c
 
 %define _libexecdir /usr/libexec
+%define _real_lib %(realpath /lib)
 
 %ifarch ppc
 # On powerpc, even though target is ppc32, compiler is inherently 64-bit,

Меня никто не спрашивал, но тем не менее: а можно лучше без %() по таким пустым поводам? А ещё лучше вообще не увеличивать количество использований %() в наших макросах и спеках.

diff --git a/gcc-common.spec b/gcc-common.spec
index 584473f..7f4b321 100644 (file)
--- a/gcc-common.spec
+++ b/gcc-common.spec
@@ -10,6 +10,7 @@ Url: http://git.altlinux.org/gears/g/gcc-common.git
 Source: gcc_wrapper.c
 
 %define _libexecdir /usr/libexec
+%define _real_lib /usr/lib
 
 %ifarch ppc
 # On powerpc, even though target is ppc32, compiler is inherently 64-bit,

Как-то странно рассчитывать на возможное отсутствие /usr, когда рядом define _libexecdir /usr/libexec.
Comment 5 Arseny Maslennikov 2024-04-24 11:21:27 MSK
(In reply to Arseny Maslennikov from comment #4)
> Меня никто не спрашивал, но тем не менее: а можно лучше без %() по таким
> пустым поводам? А ещё лучше вообще не увеличивать количество использований
> %() в наших макросах и спеках.

Сделать в пакете поддержку и unmerged-usr, и merged-usr это тоже не помогает. :(