Bug 48461

Summary: texinfo: perl XS does not link with -lperl
Product: Sisyphus Reporter: viy <viy>
Component: makeinfoAssignee: placeholder <placeholder>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: aen, arseny, glebfm, ldv, placeholder
Version: unstable   
Hardware: x86_64   
OS: Linux   
Bug Depends on:    
Bug Blocks: 47870    
Attachments:
Description Flags
патч для апстрима
none
alt-specific hack
none
alt-specific hack ver.2 none

Description viy 2023-11-15 21:49:43 MSK
Created attachment 15049 [details]
патч для апстрима

Реализовано в
#334480 TESTED #1 [test-only] sisyphus texinfo.git=7.0.3-alt2
для быстроты можно одобрить там.

При попытке пересобрать перловую транзакцию вылезли bad_elf_symbols в makeinfo.

https://git.altlinux.org/tasks/334148/logs/events.1.1.log:
x86_64: NEW bad_elf_symbols detected:
 makeinfo-7.0.3-alt1.x86_64.rpm             /usr/lib64/texinfo/MiscXS.so                        U  Perl_newSV_type
 makeinfo-7.0.3-alt1.x86_64.rpm             /usr/lib64/texinfo/Parsetexi.so                     U  Perl_newSV_type

Хотелось бы, чтобы texinfo корректно линковался с -lperl.
Я оформил правку в два патча.

Первый напирает на поддержку as-needed, его легко, надеюсь, примет upstream

texinfo-7.0.3-as-needed.patch

Второй - хак, так как configure не угадывает, что у нас %_libdir/libperl.so
и прямого портабельного способа я не знаю, так что выделен в отдельный наш локальный хак не для апстрима.

texinfo-7.0.3-alt-link-with-perl.patch
Comment 1 viy 2023-11-15 21:50:32 MSK
Created attachment 15050 [details]
alt-specific hack
Comment 2 viy 2023-11-16 20:54:34 MSK
Created attachment 15064 [details]
alt-specific hack ver.2

alt-specific hack ver.2: дополнительно удалил у апстрима опцию -no-undefined
Comment 3 viy 2023-11-16 20:55:29 MSK
texinfo-7.0.3-alt-link-with-perl-v2.patch
Comment 4 viy 2023-11-17 23:20:54 MSK
пингую
Comment 5 viy 2023-11-18 14:29:02 MSK
сборка со второйверсией второго патча
#334684 TESTED #1 [test-only] sisyphus texinfo.git=7.0.3-alt2
Comment 6 AEN 2023-11-20 07:29:04 MSK
Блокирует сборку свежего perl
Comment 7 viy 2023-12-01 20:08:16 MSK
1) perl пересобран, texinfo пересобран с ним, поэтому снижаю важность.

2) в пересборку я добавил старый неисправленый texinfo, чтобы ее не блокировать.
правда, texinfo все равно дал EPERM (из-за @core?)
предлагаю добавить меня или @cpan в acl, чтобы не было лишних прогонов сборки.

3) texinfo в Сизифе так и не исправлен и со временем опять сломается.
При этом, если, как в этот раз, не будет NEW bad_elf_symbols,
то texinfo молча сломается, и снаружи это заметно не будет.
внутри, как понимаю, 2 набора кода: перловый блее медленный, и С c XS обвязкой для его ускорения. При этом для загрузки XS используется eval {...}
поэтому при сломе texinfo просто переключается на более медленный код на чистом perl.