| Summary: | [4.2] join fl0pp5@ | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Team Accounts | Reporter: | Ivan <pepelyaevip> | ||||||
| Component: | join | Assignee: | Gleb F-Malinovskiy <glebfm> | ||||||
| Status: | ASSIGNED --- | QA Contact: | Andrey Cherepanov <cas> | ||||||
| Severity: | normal | ||||||||
| Priority: | P5 | CC: | andy, glebfm, ldv, rider, sem | ||||||
| Version: | unspecified | ||||||||
| Hardware: | x86_64 | ||||||||
| OS: | Linux | ||||||||
| URL: | https://altlinux.org/Team/Join | ||||||||
| Attachments: |
|
||||||||
|
Description
Ivan
2022-12-01 15:33:57 MSK
Created attachment 12011 [details]
GPG public key
> Имя ментора: Михаил Ефремов <sem@altlinux.org>
Ack
*** Bug 44476 has been marked as a duplicate of this bug. *** (In reply to Ivan from comment #0) > Created attachment 12010 [details] > SSH public key Ok. (In reply to Ivan from comment #1) > Created attachment 12011 [details] > GPG public key Ok. Кандидат готов к следующему шагу. ssh ключ на gitery.alt зарегистрирован. Адрес для пересылки создан. T/J/S -> 2.3. Кандидат готов к следующему шагу. ssh ключ на gyle.alt зарегистрирован. Пакет alt-gpgkeys обновлён. T/J/S -> 3.5. Адрес подписан на devel@. T/J/S -> 3.6. Насколько я понимаю кандидат давно уже собирает пакеты в Сизиф, так что интерфейс сборочницы он, очевидно, освоил и готов следующему шагу. Призван рецензент (rider@) для независимой оценки готовности кандидата. T/J/S -> 4.2. 1. Так https://packages.altlinux.org/ru/tasks/342000/ и вот так https://packages.altlinux.org/ru/tasks/342004/ для понижения версии пакета делать нельзя. мне не понравился этот патч, в первую очередь тем, что нигде нет описания зачем он сделан и почему не устроило поведение из апстрима. А без этого сложно понять содержимое. https://git.altlinux.org/tasks/archive/done/_333/341443/gears/400/git?p=git;a=commitdiff;h=e11955febb3812403d63e5785c44fea287aad287 https://git.altlinux.org/tasks/archive/done/_328/336747/gears/1400/git?p=git;a=blob;f=altlinux/composefs.spec;h=5168d33d0b3cc1d23997236cee4131a2055fb477;hb=395516996a7ccec5045ee8008d83854dfecaf28d 1. Changelog немного не соответствует требованиям к changelog в альте 2. в description зачем-то дублируется URL homepage 3. библиотека упакована не в соответствии с shared libs policy 4. в апстримном пакете есть тесты, но они не запускаются при сборке предлагаю исправить одновременно с обновлением до новой версии. примерно аналогичные замечания к пакету: https://packages.altlinux.org/ru/sisyphus/srpms/gvisor-tap-vsock/3014472898098236303 исправить предлагаю так же с обновлением версии - как раз вышла новая. Обновил: composefs, gvisor-tap-vsock Собрал: cosign (Ответ для Ivan на комментарий #16) > Обновил: composefs, gvisor-tap-vsock Тесты так и не включены. Пакет в соответствии с shared libs policy не приведён. > Собрал: cosign Всё хорошо, но в конце предложения Changelog надо ставить точку. Обновил trivy https://git.altlinux.org/tasks/350450/ Иван, а зачем вот так было делать ? Нельзя сразу 0.50.1 -> 0.52.0 ? 103 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.52.0-alt1 104 - 0.51.4 -> 0.52.0 105 106 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.51.4-alt1 107 - 0.51.2 -> 0.51.4 108 109 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.51.2-alt1 110 - 0.51.1 -> 0.51.2 111 112 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.51.1-alt1 113 - 0.51.0 -> 0.51.1 114 115 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.51.0-alt1 116 - 0.50.1 -> 0.51.0 (Ответ для Anton Farygin на комментарий #19) > Иван, а зачем вот так было делать ? > Нельзя сразу 0.50.1 -> 0.52.0 ? > > 103 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.52.0-alt1 > 104 - 0.51.4 -> 0.52.0 > 105 > 106 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.51.4-alt1 > 107 - 0.51.2 -> 0.51.4 > 108 > 109 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.51.2-alt1 > 110 - 0.51.1 -> 0.51.2 > 111 > 112 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.51.1-alt1 > 113 - 0.51.0 -> 0.51.1 > 114 > 115 * Thu Jun 06 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.51.0-alt1 > 116 - 0.50.1 -> 0.51.0 Обновлялся последовательно, подумал, что стоит указать в логах Поправил changelog: https://git.altlinux.org/tasks/350450/ Обновил trivy 351411 (Ответ для Ivan на комментарий #22) > Обновил trivy 351411 ok. Заапрувил. Обновил trivy 352425 (Ответ для Ivan на комментарий #24) > Обновил trivy 352425 ok. Обновил: trivy - 353855 cosign - 353464 (Ответ для Ivan на комментарий #26) > Обновил: > trivy - 353855 у trivy changelog не соответствует рекомендациям по написанию changelog'ов > cosign - 353464 этот заапрувил. (In reply to Anton Farygin from comment #27) > (Ответ для Ivan на комментарий #26) > > Обновил: > > trivy - 353855 > > у trivy changelog не соответствует рекомендациям по написанию changelog'ов > Исправил (Ответ для Ivan на комментарий #28) > (In reply to Anton Farygin from comment #27) > > (Ответ для Ivan на комментарий #26) > > > Обновил: > > > trivy - 353855 > > > > у trivy changelog не соответствует рекомендациям по написанию changelog'ов > > > Исправил Иван, всё-таки не надо экономить текст в changelog. Мне кажется что стоит написать где была проблема и что стало лучше. А так из сообщения не очень понятно где именно исправлена версия. > Иван, всё-таки не надо экономить текст в changelog. > Мне кажется что стоит написать где была проблема и что стало лучше. А так из > сообщения не очень понятно где именно исправлена версия. Могу ли я добавить как дополнение ссылку на багу, которая фиксится? В таком виде: 102 %changelog 103 * Sun Jul 28 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.53.0-alt2 104 - Fix `trivy --version` output (https://bugzilla.altlinux.org/47604) (Ответ для Ivan на комментарий #30) > > Иван, всё-таки не надо экономить текст в changelog. > > Мне кажется что стоит написать где была проблема и что стало лучше. А так из > > сообщения не очень понятно где именно исправлена версия. > > Могу ли я добавить как дополнение ссылку на багу, которая фиксится? > > В таком виде: > > 102 %changelog > 103 * Sun Jul 28 2024 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.53.0-alt2 > 104 - Fix `trivy --version` output (https://bugzilla.altlinux.org/47604) Я всё-таки снова призываю читать руководство по написанию changelog: https://www.altlinux.org/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8E_changelog#%D0%90%D0%B2%D1%82%D0%BE%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5_%D0%B1%D0%B0%D0%B3%D0%BE%D0%B2 > Я всё-таки снова призываю читать руководство по написанию changelog:
>
> https://www.altlinux.org/
> %D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%
> BE_%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8E_changelog#%D0%90%D0
> %B2%D1%82%D0%BE%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5_%D0%B1%D0%B0%
> D0%B3%D0%BE%D0%B2
Поправил в соответствии с руководством
Хорошо. Задание заапрувлено. Собрал boltbrowser (355574) Обновил gvisor-tap-vsock (355576) P.S. тесты не включил, т.к. они требуют доступ в интернет Обновил cosign (355582) Одобрил. Однотипные пакеты на golang, к сожалению, не дают мне возможности сказать что вы готовы к самостоятельной деятельности в качестве ментейнера. Предлагаю попробовать сделать что-то потяжелее. Давайте, например, обновим https://github.com/hyperrealm/libconfig (In reply to Anton Farygin from comment #37) > Одобрил. > > Однотипные пакеты на golang, к сожалению, не дают мне возможности сказать > что вы готовы к самостоятельной деятельности в качестве ментейнера. > > Предлагаю попробовать сделать что-то потяжелее. > > Давайте, например, обновим https://github.com/hyperrealm/libconfig Понимаю, уже нашел посложнее: https://github.com/bol-van/zapret. libconfig тоже возьму Ещё в копилку можно взять libnetcdf Собрал компоненты kubernetes-csi и robotlb https://git.altlinux.org/tasks/412467/ # kubernetes-csi https://git.altlinux.org/tasks/412450/ # robotlb (Ответ для Ivan на комментарий #40) > Собрал компоненты kubernetes-csi и robotlb > https://git.altlinux.org/tasks/412467/ # kubernetes-csi > https://git.altlinux.org/tasks/412450/ # robotlb +tar: v@version@:. \ No newline at end of file Поправил .gear/rules в тасках Обновил cozypkg (теперь cozyhr): https://git.altlinux.org/tasks/408404/ Собрал ptcpdump: https://git.altlinux.org/tasks/412483/ bump (Ответ для Ivan на комментарий #43) > Собрал ptcpdump: https://git.altlinux.org/tasks/412483/ +Source1: libpcap.tar а почему нельзя с системным попробовать собрать ? (In reply to Anton Farygin from comment #45) > (Ответ для Ivan на комментарий #43) > > Собрал ptcpdump: https://git.altlinux.org/tasks/412483/ > > +Source1: libpcap.tar > > а почему нельзя с системным попробовать собрать ? Не хотел делать динамическую линковку, а в packages devel-static не собирается (Ответ для Ivan на комментарий #42) > Поправил .gear/rules в тасках > > Обновил cozypkg (теперь cozyhr): > https://git.altlinux.org/tasks/408404/ +# backward compatibility +ln -s -f %_bindir/%name %buildroot%_bindir/%oldname тут могут быть проблемы с обновлением, но возможно в случае с Obsoletes они не проявятся. надо проверить. В любом случае вместо абсолютных путей надо использовать относительные (Ответ для Ivan на комментарий #46) > (In reply to Anton Farygin from comment #45) > > (Ответ для Ivan на комментарий #43) > > > Собрал ptcpdump: https://git.altlinux.org/tasks/412483/ > > > > +Source1: libpcap.tar > > > > а почему нельзя с системным попробовать собрать ? > > Не хотел делать динамическую линковку, а в packages devel-static не > собирается Динамическая линковка скорее полезна чем нет. (In reply to Anton Farygin from comment #47) > (Ответ для Ivan на комментарий #42) > > Поправил .gear/rules в тасках > > > > Обновил cozypkg (теперь cozyhr): > > https://git.altlinux.org/tasks/408404/ > > +# backward compatibility > +ln -s -f %_bindir/%name %buildroot%_bindir/%oldname > > тут могут быть проблемы с обновлением, но возможно в случае с Obsoletes они > не проявятся. надо проверить. > В любом случае вместо абсолютных путей надо использовать относительные Таким образом? ln -s -f %name %buildroot%_bindir/%oldname (In reply to Anton Farygin from comment #48) > (Ответ для Ivan на комментарий #46) > > (In reply to Anton Farygin from comment #45) > > > (Ответ для Ivan на комментарий #43) > > > > Собрал ptcpdump: https://git.altlinux.org/tasks/412483/ > > > > > > +Source1: libpcap.tar > > > > > > а почему нельзя с системным попробовать собрать ? > > > > Не хотел делать динамическую линковку, а в packages devel-static не > > собирается > > Динамическая линковка скорее полезна чем нет. Понял, соберу с libpcap-devel (Ответ для Anton Farygin на комментарий #48) > (Ответ для Ivan на комментарий #46) > > (In reply to Anton Farygin from comment #45) > > > (Ответ для Ivan на комментарий #43) > > > > Собрал ptcpdump: https://git.altlinux.org/tasks/412483/ > > > > > > +Source1: libpcap.tar > > > > > > а почему нельзя с системным попробовать собрать ? > > > > Не хотел делать динамическую линковку, а в packages devel-static не > > собирается > > Динамическая линковка скорее полезна чем нет. Именно. Для статической линковки нужны веские причины. Например, в одном пакете я использую статическую линковку потому что на данный момент у меня нет доверия апстриму в плане стабильности ABI библиотеки, да и вряд ли эта библиотека сейчас еще где-то используется. А здесь какие причины? > Таким образом? > ln -s -f %name %buildroot%_bindir/%oldname Можно и так, но вообще часто удобно использовать ln -s -r Поправил spec robotlb 415195 (Ответ для Ivan на комментарий #52) > Поправил spec robotlb 415195 41 * Tue Apr 14 2026 Ivan Pepelyaev <fl0pp5@altlinux.org> 0.0.5-alt2 42 - 0.0.5-alt2 43 - Spec refactor. запись в changelog не правильная. 1) зачем дублировать версию-релиз ? 2) для пользователя наверное рефактор спек не имеет значения, а написать надо то, что было сделано реально и осмысленно для пользователя. 415195 (robotlb) - обновил, поправил spec 412483 (ptcpdump) - пересобрал с динамической линковкой 418219 - компоненты cozystack - linstor-affinity-controller.git=1.4.1-alt1 (новый) - piraeus-ha-controller.git=1.3.2-alt1 (новый) - linstor-csi.git=1.11.2-alt1 (обновлен + добавлен подпакет) (Ответ для Ivan на комментарий #54) > 415195 (robotlb) - обновил, поправил spec заапрувил, спасибо. > 412483 (ptcpdump) - пересобрал с динамической линковкой вот в этой конструкции лучше исключить .gear/ что бы в патче было меньше мусора. diff: v@version@:. . name=@name@-@version@.patch вот это выглядит странно. непонятно зачем ? +ExclusiveArch: x86_64 aarch64 %arm %ix86 +Requires: libpcap + \ No newline at end of file в других пакетах с cozystack по поводу патча аналогичный вопрос, и вендоринг лучше тарболлить на не гигантским патчем поставлять. summary перегружен - скорее это для description подходит. +Summary: The Piraeus High Availability Controller will speed up the fail-over process for stateful workloads using Piraeus for storage +%description +%summary. В изменениях linstor-csi какая-то странная странность происходит с юнитами systemd. Не могли бы вы подробно описать эти действия ? И +BuildRequires(pre): rpm-macros-systemd надо перенести повыше, в комплект к остальным - непонятно зачем его в подпакете. (In reply to Anton Farygin from comment #59) > В изменениях linstor-csi какая-то странная странность происходит с юнитами > systemd. Не могли бы вы подробно описать эти действия ? > sed -i 's|/usr/bin/chmod|/bin/chmod|' nfs/service/chmod@.service sed -i 's|/usr/bin/umount|/bin/umount|' nfs/service/mount-recovery@.service sed -i 's|/usr/bin/umount|/bin/umount|' nfs/service/mount-export@.service Во время сборки почему-то не может зарезолвить chmod и umount, поэтому sed'нул https://git.altlinux.org/tasks/418219/logs/events.8.1.log При этом в provides эти пути есть: rpm -qpR ~/hasher/repo/x86_64/RPMS.hasher/piraeus-csi-nfs-server-1.11.2-alt1.x86_64.rpm ... mount /usr/bin/chmod /usr/bin/umount ... %post -n piraeus-csi-nfs-server for unit in \ nfs-ganesha@.service \ ... do %post_systemd_postponed $unit done %preun -n piraeus-csi-nfs-server for unit in \ nfs-ganesha@.service \ ... do %preun_systemd $unit done Прогоняю через цикл, так как preun_systemd и post_systemd_postponed ругается на запись вида: %preun_systemd \ nfs-ganesha@.service \ growfs@.service \ mount-export@.service \ Лог: https://git.altlinux.org/tasks/418219/logs/events.10.1.log > И +BuildRequires(pre): rpm-macros-systemd надо перенести повыше, в комплект к остальным - непонятно зачем его в подпакете. Это жесткое требование? Мне показлось это более удобным, так как видно к чему именно логически относится зависимость :) (Ответ для Ivan на комментарий #60) > (In reply to Anton Farygin from comment #59) > > И +BuildRequires(pre): rpm-macros-systemd надо перенести повыше, в комплект к остальным - непонятно зачем его в подпакете. > > Это жесткое требование? Мне показлось это более удобным, так как видно к > чему именно логически относится зависимость :) Нет, требование не жёсткое и так делают в случаях, когда можно эксклюдить подпакет через опции сборки. Но тут такого нет и гораздо удобнее с зависимостями работать в одном месте (Ответ для Ivan на комментарий #60) > (In reply to Anton Farygin from comment #59) > > В изменениях linstor-csi какая-то странная странность происходит с юнитами > > systemd. Не могли бы вы подробно описать эти действия ? > > > sed -i 's|/usr/bin/chmod|/bin/chmod|' nfs/service/chmod@.service > sed -i 's|/usr/bin/umount|/bin/umount|' nfs/service/mount-recovery@.service > sed -i 's|/usr/bin/umount|/bin/umount|' nfs/service/mount-export@.service > Во время сборки почему-то не может зарезолвить chmod и umount, поэтому > sed'нул Это понятно. > %post -n piraeus-csi-nfs-server > for unit in \ > nfs-ganesha@.service \ > ... > do > %post_systemd_postponed $unit > done > > %preun -n piraeus-csi-nfs-server > for unit in \ > nfs-ganesha@.service \ > ... > do > %preun_systemd $unit > done > > Прогоняю через цикл, так как preun_systemd и post_systemd_postponed ругается > на запись вида: > %preun_systemd \ > nfs-ganesha@.service \ > growfs@.service \ > mount-export@.service \ Я не понимаю зачем делать это с темплейтами. (In reply to Anton Farygin from comment #56) > вот в этой конструкции лучше исключить .gear/ что бы в патче было меньше > мусора. > diff: v@version@:. . name=@name@-@version@.patch вы имеете ввиду это? diff: v@version@:. . name=@name@-@version@.patch exclude=.gear/* > вот это выглядит странно. непонятно зачем ? > +ExclusiveArch: x86_64 aarch64 %arm %ix86 Убрал (Ответ для Ivan на комментарий #63) > (In reply to Anton Farygin from comment #56) > > вот в этой конструкции лучше исключить .gear/ что бы в патче было меньше > > мусора. > > diff: v@version@:. . name=@name@-@version@.patch > вы имеете ввиду это? > diff: v@version@:. . name=@name@-@version@.patch exclude=.gear/* Да, только exclude=.gear/** > > > > вот это выглядит странно. непонятно зачем ? > > +ExclusiveArch: x86_64 aarch64 %arm %ix86 > Убрал Спасибо. Пересобрал 412483 (ptcpdump) если бы spec лежал в .gear, то exclude его покрыл бы. а так надо или добавить его отдельно в exclude или перенести в .gear (In reply to Anton Farygin from comment #66) > если бы spec лежал в .gear, то exclude его покрыл бы. а так надо или > добавить его отдельно в exclude или перенести в .gear Перенес в .gear (412483) [00:00:03] + echo 'Patch #0 (ptcpdump-0.37.0.patch):' [00:00:03] Patch #0 (ptcpdump-0.37.0.patch): [00:00:03] + /usr/bin/patch -p1 [00:00:03] patching file bpf/bpf_arm64_bpfel.o [00:00:03] patching file bpf/bpf_arm_bpfel.o [00:00:03] patching file bpf/bpf_legacy_arm64_bpfel.o [00:00:03] patching file bpf/bpf_legacy_arm_bpfel.o [00:00:03] patching file bpf/bpf_legacy_x86_bpfel.o [00:00:03] patching file bpf/bpf_no_tracing_arm64_bpfel.o [00:00:03] patching file bpf/bpf_no_tracing_arm_bpfel.o [00:00:03] patching file bpf/bpf_no_tracing_x86_bpfel.o [00:00:03] patching file bpf/bpf_x86_bpfel.o не пойму зачем бинари ? а, понял - это удаление бинарей. можно конечно патчем, но проще удалять в prep find'ом. (In reply to Anton Farygin from comment #57) > в других пакетах с cozystack по поводу патча аналогичный вопрос, и вендоринг > лучше тарболлить на не гигантским патчем поставлять. пересобрал 418219 (Ответ для Ivan на комментарий #70) > (In reply to Anton Farygin from comment #57) > > в других пакетах с cozystack по поводу патча аналогичный вопрос, и вендоринг > > лучше тарболлить на не гигантским патчем поставлять. > > пересобрал 418219 не вижу изменений - вендоринг всё так же идёт патчем. (In reply to Anton Farygin from comment #71) > > пересобрал 418219 > > не вижу изменений - вендоринг всё так же идёт патчем. piraeus-ha-controller.git 1.3.2-alt1: https://git.altlinux.org/tasks/418219/gears/2100/git?p=git;a=commit;h=5a47033c7484122344436cd7c07fa1f7cc219ea1 linstor-affinity-controller.git 1.4.1-alt1: https://git.altlinux.org/tasks/418219/gears/2000/git?p=git;a=commit;h=68d30f4b01ee624a4dd57e773a00c078950039c5 linstor-csi.git 1.11.2-alt1: https://git.altlinux.org/tasks/418219/gears/2300/git?p=git;a=commit;h=4e115e50649546dab8342e7a00fece18b44fb043 В linstor-csi не делал tar, пакет изначально не мой (In reply to Anton Farygin from comment #69) > а, понял - это удаление бинарей. можно конечно патчем, но проще удалять в > prep find'ом. Пересобрал 412483 Добавил удаление через find Убрал из rules diff (Ответ для Ivan на комментарий #72) > (In reply to Anton Farygin from comment #71) > > > пересобрал 418219 > > > > не вижу изменений - вендоринг всё так же идёт патчем. > > > piraeus-ha-controller.git 1.3.2-alt1: > https://git.altlinux.org/tasks/418219/gears/2100/git?p=git;a=commit; > h=5a47033c7484122344436cd7c07fa1f7cc219ea1 > > linstor-affinity-controller.git 1.4.1-alt1: > https://git.altlinux.org/tasks/418219/gears/2000/git?p=git;a=commit; > h=68d30f4b01ee624a4dd57e773a00c078950039c5 > > linstor-csi.git 1.11.2-alt1: > https://git.altlinux.org/tasks/418219/gears/2300/git?p=git;a=commit; > h=4e115e50649546dab8342e7a00fece18b44fb043 > В linstor-csi не делал tar, пакет изначально не мой Это ошибка, в дерево проекта надо класть vendor в развёрнутом виде, а тарболлить в rules по аналогии с sources. попросите ментора помочь или посмотрите в других проектах как делают. (In reply to Anton Farygin from comment #74) > Это ошибка, в дерево проекта надо класть vendor в развёрнутом виде, а > тарболлить в rules по аналогии с sources. попросите ментора помочь или > посмотрите в других проектах как делают. Я так и сделал сначала :) tar: v@version@:. tar: .:vendor name=vendor spec: .gear/linstor-csi.spec diff: v@version@:. . exclude=./gear/** exclude=vendor/** Не очень понимаю зачем нужен дополнительный tar... в истории ведь все равно будет лежать vendor/... (Ответ для Ivan на комментарий #75) > (In reply to Anton Farygin from comment #74) > > > Это ошибка, в дерево проекта надо класть vendor в развёрнутом виде, а > > тарболлить в rules по аналогии с sources. попросите ментора помочь или > > посмотрите в других проектах как делают. > > Я так и сделал сначала :) > tar: v@version@:. > tar: .:vendor name=vendor > spec: .gear/linstor-csi.spec > diff: v@version@:. . exclude=./gear/** exclude=vendor/** > > Не очень понимаю зачем нужен дополнительный tar... в истории ведь все равно > будет лежать vendor/... tar: .:vendor name=vendor - тут нужно тарболлить только каталог vendor tar: v@version@:. - а тут vendor не будет, т.к. берётся из тэга. Пересобрал 418219 21 %setup 22 23 tar -xf %SOURCE1 -C . что бы так не делать у макроса %setup есть специальные опции. (In reply to Anton Farygin from comment #78) > 21 %setup > 22 > 23 tar -xf %SOURCE1 -C . > > что бы так не делать у макроса %setup есть специальные опции. Поправил 418219 bump В пакетах есть каталог с тестами, но почемуу секция check не используется. Добавил %check в piraeus-ha-controller и linstor-csi [00:00:24] ? github.com/piraeusdatastore/linstor-csi/cmd/linstor-csi [no test files] [00:00:24] ? github.com/piraeusdatastore/linstor-csi/cmd/nfs-helper [no test files] [00:00:24] ok github.com/piraeusdatastore/linstor-csi/pkg/client 0.008s [00:00:24] ? github.com/piraeusdatastore/linstor-csi/pkg/client/mocks [no test files] [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/driver 0.051s [00:00:25] ? github.com/piraeusdatastore/linstor-csi/pkg/linstor [no test files] [00:00:25] ? github.com/piraeusdatastore/linstor-csi/pkg/linstor/highlevelclient [no test files] [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/linstor/util 0.002s [00:00:25] ? github.com/piraeusdatastore/linstor-csi/pkg/topology [no test files] [00:00:25] ? github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler [no test files] [00:00:25] ? github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/autoplace [no test files] [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/autoplacetopology 0.004s [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/balancer 0.008s [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/followtopology 0.003s [00:00:25] ? github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/manual [no test files] [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/utils 0.005s [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/volume 0.004s [00:00:25] ok github.com/piraeusdatastore/linstor-csi/test 0.009s (In reply to Anton Farygin from comment #83) > [00:00:24] ? github.com/piraeusdatastore/linstor-csi/cmd/linstor-csi [no > test files] > [00:00:24] ? github.com/piraeusdatastore/linstor-csi/cmd/nfs-helper [no > test files] > [00:00:24] ok github.com/piraeusdatastore/linstor-csi/pkg/client 0.008s > [00:00:24] ? github.com/piraeusdatastore/linstor-csi/pkg/client/mocks [no > test files] > [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/driver 0.051s > [00:00:25] ? github.com/piraeusdatastore/linstor-csi/pkg/linstor [no test > files] > [00:00:25] ? > github.com/piraeusdatastore/linstor-csi/pkg/linstor/highlevelclient [no test > files] > [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/linstor/util > 0.002s > [00:00:25] ? github.com/piraeusdatastore/linstor-csi/pkg/topology [no > test files] > [00:00:25] ? > github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler [no test > files] > [00:00:25] ? > github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/autoplace [no > test files] > [00:00:25] ok > github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/ > autoplacetopology 0.004s > [00:00:25] ok > github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/balancer > 0.008s > [00:00:25] ok > github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/ > followtopology 0.003s > [00:00:25] ? > github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/manual [no > test files] > [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/utils 0.005s > [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/volume 0.004s > [00:00:25] ok github.com/piraeusdatastore/linstor-csi/test 0.009s Не очень понял в чем проблема... :/ (p.s. заменю go test ./... на %gotest) Большая часть тестов не выполнилась. (In reply to Anton Farygin from comment #85) > Большая часть тестов не выполнилась. У них не все пакеты тестами покрыты find . -type f -name "*_test.go" ./pkg/client/linstor_test.go ./pkg/volume/snapshot_params_test.go ./pkg/volume/remoteaccess_test.go ./pkg/volume/volume_test.go ./pkg/linstor/util/util_test.go ./pkg/driver/driver_test.go ./pkg/utils/rwx_validation_test.go ./pkg/topology/scheduler/autoplacetopology/autoplacetopology_test.go ./pkg/topology/scheduler/followtopology/follow_topology_test.go ./pkg/topology/scheduler/balancer/balancer_test.go ./test/compat_test.go go test -v ./... SUCCESS! -- 76 Passed | 0 Failed | 1 Pending | 15 Skipped ... workflow upstream: https://github.com/piraeusdatastore/linstor-csi/actions/runs/26710718434/job/78823005365 Собрал cozy-proxy #419858 (Ответ для Ivan на комментарий #86) > (In reply to Anton Farygin from comment #85) > > Большая часть тестов не выполнилась. > > У них не все пакеты тестами покрыты > > find . -type f -name "*_test.go" > ./pkg/client/linstor_test.go > ./pkg/volume/snapshot_params_test.go > ./pkg/volume/remoteaccess_test.go > ./pkg/volume/volume_test.go > ./pkg/linstor/util/util_test.go > ./pkg/driver/driver_test.go > ./pkg/utils/rwx_validation_test.go > ./pkg/topology/scheduler/autoplacetopology/autoplacetopology_test.go > ./pkg/topology/scheduler/followtopology/follow_topology_test.go > ./pkg/topology/scheduler/balancer/balancer_test.go > ./test/compat_test.go > > go test -v ./... > SUCCESS! -- 76 Passed | 0 Failed | 1 Pending | 15 Skipped > ... > > workflow upstream: > https://github.com/piraeusdatastore/linstor-csi/actions/runs/26710718434/job/ > 78823005365 там явно же пишет что тесты не выполнялись из-за отсутствия тестовых данных. В логе таска. (Ответ для Ivan на комментарий #87) > Собрал cozy-proxy #419858 спасибо, заапрувил (In reply to Anton Farygin from comment #88) > (Ответ для Ivan на комментарий #86) > > (In reply to Anton Farygin from comment #85) > > > Большая часть тестов не выполнилась. > > > > У них не все пакеты тестами покрыты > > > > find . -type f -name "*_test.go" > > ./pkg/client/linstor_test.go > > ./pkg/volume/snapshot_params_test.go > > ./pkg/volume/remoteaccess_test.go > > ./pkg/volume/volume_test.go > > ./pkg/linstor/util/util_test.go > > ./pkg/driver/driver_test.go > > ./pkg/utils/rwx_validation_test.go > > ./pkg/topology/scheduler/autoplacetopology/autoplacetopology_test.go > > ./pkg/topology/scheduler/followtopology/follow_topology_test.go > > ./pkg/topology/scheduler/balancer/balancer_test.go > > ./test/compat_test.go > > > > go test -v ./... > > SUCCESS! -- 76 Passed | 0 Failed | 1 Pending | 15 Skipped > > ... > > > > workflow upstream: > > https://github.com/piraeusdatastore/linstor-csi/actions/runs/26710718434/job/ > > 78823005365 > > там явно же пишет что тесты не выполнялись из-за отсутствия тестовых данных. > В логе таска. Если речь о [no test files] - это не ошибка, так как тестов просто нет, апстрим их не написал Например linstor-csi и nfs-helper [00:00:24] ? github.com/piraeusdatastore/linstor-csi/cmd/linstor-csi [no test files] [00:00:24] ? github.com/piraeusdatastore/linstor-csi/cmd/nfs-helper [no test files] tree cmd/{linstor-csi,nfs-helper/} cmd/linstor-csi └── linstor-csi.go cmd/nfs-helper/ ├── advertise.go ├── check-socket.go ├── generate-ganesha-config.go ├── growfs.go ├── main.go ├── mount.go ├── prepare-device-links.go └── start-stop-reactor.go Тут например уже апстрим тесты прописал: [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/autoplacetopology 0.003s tree pkg/topology/scheduler/autoplacetopology pkg/topology/scheduler/autoplacetopology ├── autoplacetopology.go └── autoplacetopology_test.go спасибо за пояснение. Иван, мне не хватает демонстрации знаний sharedlibspolicy - мои замечания про нарушающие эти политики пакеты так и не были исправлены. Обновил cosign 414545 (In reply to Anton Farygin from comment #92) > Иван, мне не хватает демонстрации знаний sharedlibspolicy - мои замечания > про нарушающие эти политики пакеты так и не были исправлены. Понял, исправлю имеющиеся (Ответ для Ivan на комментарий #93) > Обновил cosign 414545 Заапрувил. Иван, историю specfile и .gear гораздо легче перетаскивать с одного дерева на другое апстрима когда всё лежит в одном подкаталоге. specfile рекомендую помещать в каталог со всеми артефактами под ALT (я использую .gear/ но можно и другой, например alt - важно что бы апстрим не надумал там что-то разместить ;) ) 425453 goldpinger.git=3.11.2-alt1 423339 clickhouse-operator.git=0.27.1-alt1 +%package data +Summary: goldpinger's static data +Group: Other +BuildArch: noarch + +%description data +%summary. Из specfile непонятно что это и зачем нужно. У clickhouse operator странный выбор homepage, там вообще не найти информацию про operator. https://altinity.com/kubernetes-operator/ можно дать этот URL, например. Поправил: - goldpinger (425453) - clickhouse-operator (423339) Новые: - mariadb-operator (426153) - capi-control-plane-provider-kamaji + cozystack version (426123) - s3manager + cozystack version (426246) - goldpinger (425453) не вижу изменений. вопрос был про data пакет - его description повторяет основной, никаких зависимостей не прописано (пакет висит в воздухе), он или не нужен, или нужен в редких случаях но наверное не может работать сам по себе ? (Ответ для Anton Farygin на комментарий #100) > - goldpinger (425453) > не вижу изменений. вопрос был про data пакет - его description повторяет > основной, никаких зависимостей не прописано (пакет висит в воздухе), он или > не нужен, или нужен в редких случаях но наверное не может работать сам по > себе ? data пакет содержит в себе webui (статику) для goldpinger, который можно заменить на свой goldpinger запускается таким образом (пример из Dockerfile апстрима) ENTRYPOINT ["/goldpinger", "--static-file-path", "/static"] (Ответ для Ivan на комментарий #99) > - clickhouse-operator (423339) Заапрувил, спасибо. > > Новые: > - mariadb-operator (426153) Заапрувил > - capi-control-plane-provider-kamaji + cozystack version (426123) откуда такое взялось ? +Conflicts: cozystack-capi-control-plane-provider-kamaji И в этом пакете не хватает данных для полноценного CI теста: [00:00:25] ? github.com/clastix/cluster-api-control-plane-provider-kamaji [no test files] [00:00:25] ? github.com/clastix/cluster-api-control-plane-provider-kamaji/api/v1alpha2 [no test files] [00:00:26] ok github.com/clastix/cluster-api-control-plane-provider-kamaji/controllers 0.012s [00:00:26] ? github.com/clastix/cluster-api-control-plane-provider-kamaji/pkg/externalclusterreference [no test files] [00:00:26] ? github.com/clastix/cluster-api-control-plane-provider-kamaji/pkg/features [no test files] [00:00:26] ? github.com/clastix/cluster-api-control-plane-provider-kamaji/pkg/indexers [no test files] [00:00:26] + exit 0 > - s3manager + cozystack version (426246) [00:00:10] + go test -compiler gc ./... [00:00:17] ? github.com/cloudlena/s3manager [no test files] [00:00:17] ok github.com/cloudlena/s3manager/internal/app/s3manager 0.006s [00:00:17] ? github.com/cloudlena/s3manager/internal/app/s3manager/mocks [no test files] [00:00:17] + exit 0 нет тестовых файлов, по сути тест почти бесмысленный. может добавить mocks ? (Ответ для Ivan на комментарий #101) > (Ответ для Anton Farygin на комментарий #100) > > - goldpinger (425453) > > не вижу изменений. вопрос был про data пакет - его description повторяет > > основной, никаких зависимостей не прописано (пакет висит в воздухе), он или > > не нужен, или нужен в редких случаях но наверное не может работать сам по > > себе ? > > data пакет содержит в себе webui (статику) для goldpinger, который можно > заменить на свой > > goldpinger запускается таким образом (пример из Dockerfile апстрима) > ENTRYPOINT ["/goldpinger", "--static-file-path", "/static"] data может работать без goldpinger ? goldpinger может работать без data по умолчанию ? > data может работать без goldpinger ? Нет, в нем только статика (html,css,js) для визуализации API > goldpinger может работать без data по умолчанию ? Да, ui опциональный > - capi-control-plane-provider-kamaji + cozystack version (426123) > > откуда такое взялось ? > > +Conflicts: cozystack-capi-control-plane-provider-kamaji cozystack версия и ванильная несовместимы. Если речь о том существовании пакета с префиксом cozystack, то он содержит обязательные (для cozy) патчи, которые нельзя подложить во время сбокри контейнера > - s3manager + cozystack version (426246) > нет тестовых файлов, по сути тест почти бесмысленный. может добавить mocks ? Тестовые файлы только те, которые написал upstream :) Например в mocks только сами mock'и и хранятся: https://github.com/cloudlena/s3manager/tree/main/internal/app/s3manager/mocks Я выше писал, что это нормальное поведение для go test: > Если речь о [no test files] - это не ошибка, так как тестов просто нет, апстрим их не написал > Например linstor-csi и nfs-helper > [00:00:24] ? github.com/piraeusdatastore/linstor-csi/cmd/linstor-csi > [no test files] > [00:00:24] ? github.com/piraeusdatastore/linstor-csi/cmd/nfs-helper > [no test files] > tree cmd/{linstor-csi,nfs-helper/} > cmd/linstor-csi > └── linstor-csi.go > cmd/nfs-helper/ > ├── advertise.go > ├── check-socket.go > ├── generate-ganesha-config.go > ├── growfs.go > ├── main.go > ├── mount.go > ├── prepare-device-links.go > └── start-stop-reactor.go > Тут например уже апстрим тесты прописал: > [00:00:25] ok github.com/piraeusdatastore/linstor-csi/pkg/topology/scheduler/autoplacetopology 0.003s > tree pkg/topology/scheduler/autoplacetopology > pkg/topology/scheduler/autoplacetopology > ├── autoplacetopology.go > └── autoplacetopology_test.go (Ответ для Ivan на комментарий #104) > > data может работать без goldpinger ? > Нет, в нем только статика (html,css,js) для визуализации API > > > goldpinger может работать без data по умолчанию ? > Да, ui опциональный Ну если всё понятно, то жду исправлений для этого пакета. (Ответ для Ivan на комментарий #105) > > > - capi-control-plane-provider-kamaji + cozystack version (426123) > > > > откуда такое взялось ? > > > > +Conflicts: cozystack-capi-control-plane-provider-kamaji > > cozystack версия и ванильная несовместимы. Если речь о том существовании > пакета с префиксом cozystack, то он содержит обязательные (для cozy) патчи, > которые нельзя подложить во время сбокри контейнера > > > - s3manager + cozystack version (426246) > > > нет тестовых файлов, по сути тест почти бесмысленный. может добавить mocks ? > > Тестовые файлы только те, которые написал upstream :) > Например в mocks только сами mock'и и хранятся: > https://github.com/cloudlena/s3manager/tree/main/internal/app/s3manager/mocks > > Я выше писал, что это нормальное поведение для go test: > > > Если речь о [no test files] - это не ошибка, так как тестов просто нет, апстрим их не написал > Точно, всё время про это забываю. Всё заапрувлю. (Ответ для Anton Farygin на комментарий #106) > (Ответ для Ivan на комментарий #104) > > > data может работать без goldpinger ? > > Нет, в нем только статика (html,css,js) для визуализации API > > > > > goldpinger может работать без data по умолчанию ? > > Да, ui опциональный > > Ну если всё понятно, то жду исправлений для этого пакета. Не очень понял :) Убрать подпакет и сделать все в goldpinger? Или лучше переименовать data в goldpinger-webui? (Ответ для Ivan на комментарий #108) > (Ответ для Anton Farygin на комментарий #106) > > (Ответ для Ivan на комментарий #104) > > > > data может работать без goldpinger ? > > > Нет, в нем только статика (html,css,js) для визуализации API > > > > > > > goldpinger может работать без data по умолчанию ? > > > Да, ui опциональный > > > > Ну если всё понятно, то жду исправлений для этого пакета. > > Не очень понял :) > > Убрать подпакет и сделать все в goldpinger? Или лучше переименовать data в > goldpinger-webui? Варианты решения могут быть разными. Я бы всё в одном пакете сделал и сделал так что бы по умолчанию запускался с дефолтным webui. Пакет с data 460 килобайт, экономия совсем небольшая. Но изначальный мой вопрос был про Requires у пакета data на пакет goldpinger - странно что в процессе обсуждения не получилось до этого дойти и хорошо что мы дошли до других изменений. > Но изначальный мой вопрос был про Requires >> никаких зависимостей не прописано Эту ошибку я понял, вы указали на нее выше > Пакет с data 460 килобайт, экономия совсем небольшая. > Варианты решения могут быть разными. Я все-таки возьму вариант с подпакетом (goldpinger-webui), чтобы не патчить, в исходниках нет по умолчанию дефолтного пути, он задается через перменную окружения, либо через флаг во вермя рантайма (Ответ для Ivan на комментарий #110) > > Но изначальный мой вопрос был про Requires > >> никаких зависимостей не прописано > Эту ошибку я понял, вы указали на нее выше > > > Пакет с data 460 килобайт, экономия совсем небольшая. > > Варианты решения могут быть разными. > Я все-таки возьму вариант с подпакетом (goldpinger-webui), чтобы не патчить, > в исходниках нет по умолчанию дефолтного пути, он задается через перменную > окружения, либо через флаг во вермя рантайма Я за то, что бы пакет был работающим сразу после установки, особенно если он не требует никакого дополнительного конфигурирования. если это не сложно сделать - то лучше сделать работающий дефолт. Когда это невозможно технически или не безопасно - то лучше не делать. > Я за то, что бы пакет был работающим сразу после установки, особенно если он
> не требует никакого дополнительного конфигурирования.
>
> если это не сложно сделать - то лучше сделать работающий дефолт. Когда это
> невозможно технически или не безопасно - то лучше не делать.
В случае с goldpinger - это именно опция, запуск без параметров запустит API, WebUI уже можно включить по желанию
Поправил requires, summary и description для *-webui (425453)
Привел к shared libs policy и включил тесты в composefs :) 427036 (Ответ для Ivan на комментарий #113) > Привел к shared libs policy и включил тесты в composefs :) > > 427036 А вот тут ошибка. Provides лишний, не надо добалять Provides в пакет с библиотекой - всё что надо будет предоставляться автоматически в rpmbuild. А вот obsoletes нужный, но я бы не делал его таким широким. > Provides лишний, не надо добалять Provides в пакет с библиотекой - всё что
> надо будет предоставляться автоматически в rpmbuild. А вот obsoletes нужный,
> но я бы не делал его таким широким.
Поправил
Отлично. я заапрувил. |