Bug 47368 - gensrclist: unexpected header [...] in package from stdin
Summary: gensrclist: unexpected header [...] in package from stdin
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: apt-repo-tools (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Gleb F-Malinovskiy
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-28 16:00 MSK by Ivan A. Melnikov
Modified: 2023-08-31 23:06 MSK (History)
3 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 2023-08-28 16:00:21 MSK
gensrclist не может пропатчить srclist, если поменялся последний пакет. Пример из Сизифа:

https://git.altlinux.org/tasks/328091/logs/events.1.1.log

gensrclist: unexpected header zzuf-0.15-alt1_10.src.rpm in package from stdin
genbasedir: Error executing gensrclist.
gensrclist: unexpected header zzuf-0.15-alt1_10.src.rpm in package from stdin
genbasedir: Error executing gensrclist.
gensrclist: unexpected header zzuf-0.15-alt1_10.src.rpm in package from stdin
genbasedir: Error executing gensrclist.
gensrclist: unexpected header zzuf-0.15-alt1_10.src.rpm in package from stdin
genbasedir: Error executing gensrclist.
gensrclist: unexpected header zzuf-0.15-alt1_10.src.rpm in package from stdin
genbasedir: Error executing gensrclist.
Comment 1 Ivan A. Melnikov 2023-08-28 16:04:11 MSK
На первый взгляд, происходит следующее: если исходный srclist закончился, то h будет NULL, и old_srpm останется с предыдущей итерации.

https://git.altlinux.org/gears/a/apt-repo-tools.git?p=apt-repo-tools.git;a=blob;f=src/gensrclist.cc;h=d959f645cdc4d9fbac007de3c516f51e2226c05e;hb=3e38840b7626c42da5dd6a67bf1ba2352825284a#l383

Вот в этом условии нужно 'else old_srpm = NULL', например.

Проверять это я, конечно, не буду.
Comment 2 Ivan A. Melnikov 2023-08-28 16:06:23 MSK
Кстати, выявлено при попытке пересобрать zziplib под loongarch64.

Кстати #2, там ещё fgrep'ы в genbasedir замечены, замените пожалуйста на grep -F пока будете мимо пробегать.
Comment 3 Ivan A. Melnikov 2023-08-31 16:15:40 MSK
(In reply to Ivan A. Melnikov from comment #1)
> Проверять это я, конечно, не буду.

А нет, всё-таки буду. Собранный так же, как и в задаче 328416,  apt-repo-tools успешно собрал  zziplib (который по прежнему там последний) на loongarch64.

Please review and approve task 328416.
Comment 4 Gleb F-Malinovskiy 2023-08-31 16:25:29 MSK
Что-то пошло не так с changelog в плане автозакрытием бага, а так ОК.
Comment 5 Ivan A. Melnikov 2023-08-31 22:58:09 MSK
(In reply to Gleb F-Malinovskiy from comment #4)
> Что-то пошло не так с changelog в плане автозакрытием бага, а так ОК.

Поправил, задача 328434.
Comment 6 Repository Robot 2023-08-31 23:06:44 MSK
apt-repo-tools-0.8.1-alt1 -> sisyphus:

 Thu Aug 31 2023 Ivan A. Melnikov <iv@altlinux> 0.8.1-alt1
 - gensrclist: fix patching the last record (closes: #47368)
 - genbasedir: replace deprecated fgrep with grep -F