[devel] Q: странное поведение rpm

Leonid Krivoshein klark.devel на gmail.com
Чт Ноя 25 12:22:48 MSK 2021


25.11.2021 12:04, Konstantin Lepikhov пишет:
> On 11/25/2021, at 09:56:03 AM you wrote:
>
> <skip>
>>>> Но при упаковке rpm на выходе эти 2 файла превращаются в один, причем
>>>> одинаковой длины!
>>> Непонятное предложение. Как у одного файла может быть одинаковая длина?
>>> Одинаковая с чем? На выходе превращается в первый файл, а второй
>>> исчезает или наоборот? Какая версия cpio?
>> При чем тут cpio вообще, если эти 2 файла получаются такими при упаковке?
>> Т.е. такого размера они становятся уже в %buildroot
>>
>> $ sha1sum ./p81-helper-daemon
>> 7d616d1e8a2cc2a70e2b8c499f51a74a32ebd71c  ./p81-helper-daemon
>> $ sha1sum ./p81-helper-daemon-creator
>> df7e940b7ceae23466be25ce1eec1143c3cd4a4d  ./p81-helper-daemon-creator
>>
>> Файлы разные, размер одинаковый и они не работают после этой манипуляции.
>>
> это что получается в результате сборки (обратите внимание, что файлы
> получаются stripped, несмотря на то, что brp_strip_none):
>
> [lakostis на lks perimeter81 (master)]$ file ./p81-helper-daemon
> ./p81-helper-daemon: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=844f348fb1f723e6aa41184c2f91306ea5e593fc, stripped
> [lakostis на lks perimeter81 (master)]$ file ./p81-helper-daemon-creator
> ./p81-helper-daemon-creator: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=844f348fb1f723e6aa41184c2f91306ea5e593fc, stripped

Для проприетарной блобятины сделал простой перепаковщик в несколько 
строк, там в спек может вставляться такое:

https://git.altlinux.org/gears/r/rpmrepair.git?p=rpmrepair.git;a=blob;f=rpmrepair.in;h=19f567f059f24e93e01fb6f6df2198d7c766a41d;hb=cda49350ebde6e4cd3d0218f0cbf3465c978197f#l26

Сама тулза здесь описана: https://www.altlinux.org/RPM-repair , может, 
стоит ей попробовать?


> А это как они выглядят до упаковки:
>
> [lakostis на lks perimeter81 (master)]$ file tmp/opt/Perimeter81/artifacts/daemon
> tmp/opt/Perimeter81/artifacts/daemon: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=844f348fb1f723e6aa41184c2f91306ea5e593fc, with debug_info, not stripped
> [lakostis на lks perimeter81 (master)]$ file tmp/opt/Perimeter81/artifacts/daemon-creator
> tmp/opt/Perimeter81/artifacts/daemon-creator: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=844f348fb1f723e6aa41184c2f91306ea5e593fc, with debug_info, not stripped
>

-- 
Best regards,
Leonid Krivoshein.



Подробная информация о списке рассылки Devel