Bug 50539

Summary: [done] join shad@
Product: Team Accounts Reporter: Aleksandr Shamaraev <mr.shad>
Component: joinAssignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED FIXED QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: antohami, armatik, glebfm, grenka, ldv, oleg, rider, ruslandh, shad, x1z53
Version: unspecified   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
gpg
none
ssh
none
gpg.pub
none
gpgkey.pub
none
id_ed25519.pub
none
startwine-launcher none

Description Aleksandr Shamaraev 2024-06-04 03:39:42 MSK
Created attachment 16215 [details]
gpg

Псевдоним: shad

Почта: Aleksandr Shamaraev <shad@altlinux.org>

Адрес пересылки почты: mr.shad@yandex.ru

Имя ментора: Andrew Savchenko
Почта ментора: bircoph@altlinux.org

Цель: Научиться и собирать пакеты
Comment 1 Aleksandr Shamaraev 2024-06-04 03:40:27 MSK
Created attachment 16216 [details]
ssh
Comment 2 Aleksandr Shamaraev 2024-06-18 08:06:29 MSK
Created attachment 16284 [details]
gpg.pub
Comment 3 Gleb F-Malinovskiy 2024-06-18 21:47:28 MSK
(In reply to Aleksandr Shamaraev from comment #2)
> Created attachment 16284 [details]
> gpg.pub
В этом файле 2 ключа, а нужен только один.
Comment 4 Aleksandr Shamaraev 2024-06-19 00:13:56 MSK
Created attachment 16290 [details]
gpgkey.pub
Comment 5 Aleksandr Shamaraev 2024-06-19 00:15:13 MSK
Created attachment 16291 [details]
id_ed25519.pub

Здравствуйте.

Прошу прощения.

Все переделал, проверьте пожалуйста

С уважением
Comment 6 Aleksandr Shamaraev 2024-08-17 13:58:47 MSK
Прошу прощения.
Хотел бы продолжить
Comment 7 Aleksandr Shamaraev 2024-08-17 14:09:04 MSK
То что я насобирал..

- damask
- metadata-cleaner
- msgextract
- python3-module-mat2
- startwine-launcher
- updo
- clicker (уже есть в сизиф)

все спеки и пакеты по ссылке ниже

https://disk.yandex.ru/d/s63KU9NDYhqUQg
Comment 8 Aleksandr Shamaraev 2024-08-28 08:22:10 MSK
Поменял облако 

https://cloud.mail.ru/public/FkKy/xSEPeSPLT
Comment 9 Aleksandr Shamaraev 2024-08-31 02:37:57 MSK
Прошу изменить адрес пересылки почты на: delphicoder@bk.ru
Comment 10 Gleb F-Malinovskiy 2024-09-02 20:21:01 MSK
Ключи, вроде, в порядке, нужно подтверждение от ментора.
Comment 11 Aleksandr Shamaraev 2024-09-19 08:16:11 MSK
Собрал новый Startwine
startwine-launcher-4.0.6-alt1.x86_64.rpm
Comment 12 Aleksandr Shamaraev 2024-09-21 09:51:10 MSK
Собрал новый пакет
gnome-shell-extension-dynamic-panel-2.7-alt1.noarch.rpm
Comment 13 Aleksandr Shamaraev 2024-09-21 10:07:08 MSK
Хотел бы сменить ментора на Hihin Ruslan (ruslandh)
Comment 14 ruslandh 2024-09-21 10:08:02 MSK
Я первый раз меннтором, так что не обессудьте, если что ;-)
Comment 15 Aleksandr Shamaraev 2024-09-21 14:45:32 MSK
Собран обновленный gnome-shell-extension-dynamic-panel-2.8
Comment 16 ruslandh 2024-09-21 23:16:21 MSK
Александр, я так подумал, а ты не можешь выложить свой пакет на какой-нибудь ресурс git
Comment 17 Aleksandr Shamaraev 2024-09-22 03:59:57 MSK
Добрый день.

Форк dynamic-panel у меня есть на github, я добавил туда каталог .gear но не делал git add .gear/rules .gear/dynamic-panel.spec так как я работаю иногда с этим форком и отправляю PR в апстрим

https://github.com/AlexanderShad/dynamic-panel

msgextract также есть на github, собирался в пакет через rpm -ba

https://github.com/AlexanderShad/msgextract

Что ни будь нужно еще добавить?
Comment 18 Aleksandr Shamaraev 2024-09-22 04:12:54 MSK
Created attachment 16881 [details]
startwine-launcher

startwine-launcher также собираю через rpm -ba
также в самом апстрим коде я убираю все что связано с curl, так как на версии 4.0.5 я заметил что curl на Альте почему-то плохо отрабатывал на Сизиф, поразмыслив я его выпилил. По факту лаунчер при первом запуске и при обновлении работает через wget 
Также со спека создается ярлык, который запускает данный лаунчер. По логике апстрима если все компоненты загружены и нет обновления, то скрипт запускает сам СтартВайн.. 
То есть по факту получается с апстрим я беру только скрипт лаунчера и картинку для ярлычка, выпиливаю curl и создаю ярлык
Архив во вложении
Ссылка на апстрим
https://github.com/RusNor/StartWine-Launcher
файл измененного апстрим во вложении
Comment 19 ruslandh 2024-09-22 17:05:32 MSK
(Ответ для Aleksandr Shamaraev на комментарий #17)
> Добрый день.
> 
> Форк dynamic-panel у меня есть на github, я добавил туда каталог .gear но не
> делал git add .gear/rules .gear/dynamic-panel.spec так как я работаю иногда
> с этим форком и отправляю PR в апстрим
> 
> https://github.com/AlexanderShad/dynamic-panel
> 
> msgextract также есть на github, собирался в пакет через rpm -ba
> 
> https://github.com/AlexanderShad/msgextract
> 
> Что ни будь нужно еще добавить?

Так ты сделай рабочую ветку (бренч)  для сборки и бренч именно для работы с апстримом.

Это в принципе так и задумано было
Comment 20 Aleksandr Shamaraev 2024-09-22 17:26:41 MSK
Сделал отдельную для сборки 
https://github.com/AlexanderShad/dynamic-panel/tree/altlinux
Comment 21 Aleksandr Shamaraev 2024-09-23 05:30:11 MSK
собран новый msgextract

msgextract-0.2-alt1.noarch.rpm
Comment 22 ruslandh 2024-09-23 06:45:12 MSK
Я скопирую сюда разговоры из телеграмма:

Один нюанс  сам каталог не должен входить в tar, поэтому надо откорректировать правила  gear, добавив параметр  exclude

https://www.altlinux.org/Руководство_по_gear

https://bugzilla.altlinux.org/39804

Например, у меня в palemoon есть:

В .gear/rules:

tar: . name=palemoon-source-@version@-@release@ base=. exclude=.*/** exclude=*.spec
spec: .altlinux/palemoon.spec
Comment 23 ruslandh 2024-09-23 06:51:58 MSK
И ещё:

Личная просьба - у нас на altwiki инфоормация по работе с gear очень распылена, было-бы неплохо если-бы вы Александр, написали-бы свою статью на основе личного опыта работы с gear.

Указав-бы кроме всего прочего ссылки на другие статьи на wiki. С тем, чтобы тем кто будет за вами изучать работу с Gear было-бы попроще ;-)
Comment 24 ruslandh 2024-09-25 01:38:42 MSK
Подтверждаю, что согласился быть ментором.
Псевдоним shad свободен.
Ключи выглядят нормально.
Прошу предоставить кандидату доступ к git.alt
Comment 25 Aleksandr Shamaraev 2024-09-26 16:42:15 MSK
Собран новый gnome-shell-extension-dynamic-panel
С учетом замечаний ментора
gnome-shell-extension-dynamic-panel-3.0-alt1.noarch.rpm
Comment 26 Aleksandr Shamaraev 2024-09-27 05:18:26 MSK
Собран новый gnome-shell-extension-dynamic-panel

gnome-shell-extension-dynamic-panel-3.3-alt1.noarch.rpm
Comment 27 Aleksandr Shamaraev 2024-09-27 07:37:44 MSK
Собран новый пакет pyradio

pyradio-0.9.3.11-alt1.noarch.rpm
Comment 28 Aleksandr Shamaraev 2024-09-27 10:34:42 MSK
Собран новый gnome-shell-extension-dynamic-panel

gnome-shell-extension-dynamic-panel-3.4-alt1.noarch.rpm
Comment 29 Aleksandr Shamaraev 2024-09-28 10:59:43 MSK
Собран новый gnome-shell-extension-dynamic-panel

gnome-shell-extension-dynamic-panel-3.5-alt1.noarch.rpm
Comment 30 ruslandh 2024-09-28 22:09:04 MSK
Прошу предоставить кандидату доступ к сборочнице 
Локально пакеты он умеет собирать пакеты.
Comment 31 Aleksandr Shamaraev 2024-09-29 13:56:51 MSK
Пересобран пакет с учетом измененной лицензии
gnome-shell-extension-dynamic-panel-3.5-alt2.noarch.rpm
Comment 32 Aleksandr Shamaraev 2024-09-30 01:53:55 MSK
Собран новый пакет для gnome 47 

gnome-shell-extension-netspeedsimplified-43-alt1.noarch.rpm
Comment 33 Aleksandr Shamaraev 2024-09-30 08:53:05 MSK
обновлен пакет
gnome-shell-extension-dynamic-panel-4.0-alt1.noarch.rpm
Comment 34 Aleksandr Shamaraev 2024-10-01 07:03:59 MSK
обновлен пакет

gnome-shell-extension-dynamic-panel-4.1-alt1.noarch.rpm
Comment 35 Aleksandr Shamaraev 2024-10-02 09:08:22 MSK
Вернул код апстрим и пересобрал startwine-launcher-4.0.6-alt1.1.x86_64.rpm
Comment 36 Aleksandr Shamaraev 2024-10-07 03:38:58 MSK
Собран новый пакет 
gnome-shell-extension-gnome-runcat-28-alt1.noarch.rpm
Comment 37 Gleb F-Malinovskiy 2024-10-07 19:11:32 MSK
ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -> 2.3.
Comment 38 Aleksandr Shamaraev 2024-10-08 05:26:42 MSK
закинул свои пакеты на gitery
Comment 39 Aleksandr Shamaraev 2024-10-09 04:19:41 MSK
Переделал, пересобрал и перезалил pyRadio в соответствии с замечаниям ментора
python3-module-pyradio-0.9.3.11-alt1.3.noarch.rpm
Comment 40 Grigory Ustinov 2024-10-09 13:22:53 MSK
(Ответ для Aleksandr Shamaraev на комментарий #39)
> Переделал, пересобрал и перезалил pyRadio в соответствии с замечаниям ментора
> python3-module-pyradio-0.9.3.11-alt1.3.noarch.rpm

https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary

Какой жуткий мрак. Надеюсь, в таком виде это не попадёт даже близко к сизифу.
Comment 41 Grigory Ustinov 2024-10-09 13:26:08 MSK
И ещё у меня вопрос. Что тут вообще происходит? Зачем собирать все эти дополнения, если они прекрасно устанавливаются в один клик из менеджера дополнений?
Comment 42 Aleksandr Shamaraev 2024-10-09 13:32:34 MSK
(Ответ для Grigory Ustinov на комментарий #40)
> (Ответ для Aleksandr Shamaraev на комментарий #39)
> > Переделал, пересобрал и перезалил pyRadio в соответствии с замечаниям ментора
> > python3-module-pyradio-0.9.3.11-alt1.3.noarch.rpm
> 
> https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary
> 
> Какой жуткий мрак. Надеюсь, в таком виде это не попадёт даже близко к сизифу.

Добрый день, а можно больше конкретики?
Comment 43 Aleksandr Shamaraev 2024-10-09 13:35:16 MSK
(Ответ для Grigory Ustinov на комментарий #41)
> И ещё у меня вопрос. Что тут вообще происходит? Зачем собирать все эти
> дополнения, если они прекрасно устанавливаются в один клик из менеджера
> дополнений?

Не сочтите за грубость, а почему нет? Мне действительно любопытно, учитывая, что в репозитории по факту есть 
gnome-shell-extension-gsconnect
gnome-shell-extension-appindicator
gnome-shell-extension-blur-my-shell
gnome-shell-extension-caffeine
и так далее
Comment 44 ruslandh 2024-10-09 13:52:48 MSK
(Ответ для Grigory Ustinov на комментарий #40)
> (Ответ для Aleksandr Shamaraev на комментарий #39)
> > Переделал, пересобрал и перезалил pyRadio в соответствии с замечаниям ментора
> > python3-module-pyradio-0.9.3.11-alt1.3.noarch.rpm
> 
> https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary
> 
> Какой жуткий мрак. Надеюсь, в таком виде это не попадёт даже близко к сизифу.

Спасибо за замечание. Хотелось-бы поменьше эмоций, побольше технических замечаний.
Буду рад, если вы их конкретизируйте.
Comment 45 Grigory Ustinov 2024-10-09 14:08:57 MSK
(Ответ для Aleksandr Shamaraev на комментарий #42)
> (Ответ для Grigory Ustinov на комментарий #40)
> > (Ответ для Aleksandr Shamaraev на комментарий #39)
> > > Переделал, пересобрал и перезалил pyRadio в соответствии с замечаниям ментора
> > > python3-module-pyradio-0.9.3.11-alt1.3.noarch.rpm
> > 
> > https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary
> > 
> > Какой жуткий мрак. Надеюсь, в таком виде это не попадёт даже близко к сизифу.
> 
> Добрый день, а можно больше конкретики?

Я не подписывался быть вашим ментором или рецензентом, но так уж и быть один пакет разберу детально.

1. На каждый коммит у вас новый релиз. Пакет ещё не попал в Сизиф, а уже имеет релиз alt1.4. Ещё и имя ментора в ченджлоге.
2. Исходники отдельно изменения спека должны быть отдельно. В нынешнем виде гит-история не читабельна.
3. Зачем переименовывать каталог с исходниками вообще не понятно, в оригинальном названии тарболы импортятся проще.
4. Вы совершенно не понимаете как работает gear-rules, что он архивирует и как. Почитайте man gear-rules. base не нужен exclude тем более.
5. Из предыдущего вытекает ещё и непонимание работы макроса %setup
6. Тэги Requires в альте используются в крайне редких случаях, когда по каким-то причинам не срабатывает автоматический поиск рантайм-зависимостей.
7. В сборочных зависимостях мусор, как минимум бросается в глаза лишние зависимости на python3-devel и python3-module-pip. Что в общем-то тоже показывает непонимание процесса сборки.
8. Зачем секция check и ручка для неё, если у пакета в принципе нет тестов?
9. Ну и самое главное, что пакет с гитхаба, можно было бы собрать из тэга с помощью того же github2spec и результат генерата может был бы даже и получше.

Это только критические ошибки, каждая из которых сама по себе является для меня поводом не пропускать пакет в сизиф.
Есть и мелкие неточности, которые вам тоже не объяснили.
1. Например то, что после макроса bindir плохо ставить квантор общности *, потому что в каком-то из релизов может поменяться список исполняемых файлов и первыми об этом узнают пользователи, а не вы.
2. На счёт текстов лицензий ведутся споры, включать их или нет, но текст MIT явно в себе содержит требование прилагать конкретно указанный копирайт во всех распространяемых копиях ПО.
3. Поле packager признано устаревшим и по рекомендациям альт вики его не стоит включать в спек.
4. Оформление ченджлога тоже страдает. Почитайте статью на вики. Предложения начинающиеся с большой буквы принято заканчивать точкой.
5. В спеке присутствуют неиспользуемый макрос nameU. Зачем?
6. То что вы указали в Url на самом деле нужно указывать в тэге VCS. А в поле URL обычно пишут адрес пакета на pypi.org.
7. Крайне непрозрачная работа с макросом pypi_name. Где-то вы пишете его, а где-то просто pyradio.
8. Вместо макроса %__subst я бы использовал просто sed. Обычно делают так.
9. cat > %_builddir/%name-%version/%name.desktop можно было бы сократить до cat > %name.desktop с тем же результатом.
Comment 46 Grigory Ustinov 2024-10-09 14:27:33 MSK
Вы бы для начала хоть посмотрели какой-нибудь другой python3-модуль, для референса так сказать. Как вообще люди делают. Процесс принятия в тим - это обучение сборке ожидаемым и понятным для сообщества способом. Ваша задача освоить альт-специфику сборки пакетов. Большая часть информации и требований к пакетам описана на вики. Для остального есть ментор.
Comment 47 Aleksandr Shamaraev 2024-10-09 14:53:57 MSK
(Ответ для Grigory Ustinov на комментарий #45)
> (Ответ для Aleksandr Shamaraev на комментарий #42)
> > (Ответ для Grigory Ustinov на комментарий #40)
> > > (Ответ для Aleksandr Shamaraev на комментарий #39)
> > > > Переделал, пересобрал и перезалил pyRadio в соответствии с замечаниям ментора
> > > > python3-module-pyradio-0.9.3.11-alt1.3.noarch.rpm
> > > 
> > > https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary
> > > 
> > > Какой жуткий мрак. Надеюсь, в таком виде это не попадёт даже близко к сизифу.
> > 
> > Добрый день, а можно больше конкретики?
> 
> Я не подписывался быть вашим ментором или рецензентом, но так уж и быть один
> пакет разберу детально.
> 

Большое спасибо за детальный развернутый ответ. 

Если позволите, постараюсь дать ответы по пунктно

1. в настоящий момент я учился работать с gitery, прав на сборку пакетов у меня нет, следовательно исправить и привести к alt1 я смогу когда будет ментором решено, что я могу собирать пакеты в сизиф
2. к сожалению после изменения spec файла и выгрузки в gitery формируется так как вы видете
3. Изначально назывался пакет просто pyradio, но учитывая замечания я его переделал в python3-module-***
4. Я собираю пакеты локально, через хешер либо по rpm -ba, потом проверяю работоспособность на виртуальных машинах и разных de, после чего делаю локально gear-srpmimport и уже выгрузку в getery, согласно литературы с альтлинукс.орг. Мне данный метод ближе и интереснее. По этому я использую данную конструкцию в rules, а не просто tar: . Spec: .gear/pyradio.spec. 
5. Макрос setup разворачивает табло из исходника в каталог для сборки
6. Теги реквайрес сделаны исходя из инструкции апстрима
Install the requirements for the installation script:
sudo apt-get install \
    python3-full \
    python3-pip \
    python3-rich \
    python3-requests \
    python3-dnspython \
    python3-psutil \
    python3-netifaces \
    python3-dateutil
7. по пип модулю указано в п. 6, девел был добавлен как зависимость через github2spec
8. Изначально ее не было, она была добавлена в процессе консультаций
9. изначально спек так и был собран, а потом переделан
…
д.1. Большое спасибо за наставление
д.2. Лицензию не приложил, спасибо учту
д.3. Спасибо учту
д.4. Спасибо учту
д.5. Спасибо
д.6. Спасибо учту
д.7. Спасибо учту
д.8. К сожалению много раз сталкивался с тем, что при локальной сборке почему-то конструкция через sed не отрабатывает, и по рекомендации некоторых мантейнеров стал использовать конструкцию  %__subst
д.9. Спасибо, проверю. 

В любом случае еще раз большое спасибо за развернутый ответ.
С уважением
Comment 48 ruslandh 2024-10-09 14:54:47 MSK
Спасибо за замечания ;-)
Comment 49 Aleksandr Shamaraev 2024-10-09 14:56:11 MSK
(Ответ для Grigory Ustinov на комментарий #46)
> Вы бы для начала хоть посмотрели какой-нибудь другой python3-модуль, для
> референса так сказать. Как вообще люди делают. Процесс принятия в тим - это
> обучение сборке ожидаемым и понятным для сообщества способом. Ваша задача
> освоить альт-специфику сборки пакетов. Большая часть информации и требований
> к пакетам описана на вики. Для остального есть ментор.

Большое спасибо. 
Я буду Вам признателен, если Вы мельком гляните на еще один пакет, если Вас конечно это не затруднит 
https://git.altlinux.org/people/shad/packages/?p=mat2.git;a=summary

Заранее спасибо.

С уважением
Comment 50 Grigory Ustinov 2024-10-09 15:36:57 MSK
А какой смысл смотреть другой пакет, если там все те же самые ошибки не исправлены?
Comment 51 Aleksandr Shamaraev 2024-10-09 15:39:08 MSK
(Ответ для Grigory Ustinov на комментарий #50)
> А какой смысл смотреть другой пакет, если там все те же самые ошибки не
> исправлены?

Я Вас понял, завтра поправлю с учетом Ваших замечаний и рекомендаций, сейчас у меня почти ночь уже

Еще раз большое спасибо

С уважением
Comment 52 Aleksandr Shamaraev 2024-10-10 06:38:04 MSK
Добрый день.

Я переделал spec файлы по pyradio и mat2, пересобрал локально, проверил работоспособность, сделал локальный gear-srpmimport *.src.rpm и выгрузил в gitery

https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary

https://git.altlinux.org/people/shad/packages/?p=mat2.git;a=summary

По правилам... локально я использую следующую конструкцию

tar: . name=@name@-@version@ base=. exclude=.*/** exclude=*.spec
spec: .gear/mat2.spec

тем самым в спеке использую 

%setup -n %name-%version -c

Фактически тарбол создается с файлами каталога без самого каталога внутри, также из тарбола выкидываются каталоги вида .git .github, для уменьшения "веса". Данная секция setup при сборке в хешере создает каталог внутри RPM/BUILD и разворачивает в него файлы.

При сборке, допустим, Startwine-Launcher я не использую хешер и собираю через rpm -ba startwine-launcher.spec где предварительно делаю startwine-launcher-4.0.6.tar содержащий уже каталог с файлами и закидываю его в RPM/SOURCES

файлы правил на gitery создаются после выгрузки из локальных связанных папок, назовём их так, куда импортируются *.src.rpm

Григорий (прошу прощения не знаю как Вас по отчеству), если Вас не затруднит, взгляните пожалуйста на pyradio.

Заранее Вас благодарю.

С уважением
Comment 53 Grigory Ustinov 2024-10-10 14:23:15 MSK
https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary

Стало уже лучше. Вы всё равно проигнорировали часть моих замечаний, видимо придётся повторить их по второму разу более детально.

1. Десктоп-файл вообще по-хорошему создать отдельным файлом и прикрепить через rules в виде copy: *.desktop а в спеке как Source2. Посмотрите как это делается в других пакетах. Десктоп-файл очень редко редактируется и в спеке он выглядит довольно лишним, я считаю.
2. В секции install остался %_builddir/%name-%version который по-прежнему не нужен. Мы и так в этом каталоге.
3. У макроса setup флаг -n означает особое имя тарбола. Имя %name-%version считается дефолтным и поэтому можно опустить.
4. Вы по-прежнему исходники и спек пихаете в один коммит в лучших традициях srpm. Для успешного прохождения джойн вам нужно научиться использовать гит. Подавляющее большинство пакетов в сизифе собирается через гит.
5. Тэг Requires надо убрать. Сборочница автоматически выявляет зависимости. То есть эта строчка мало того что лишняя, она может ещё и вызвать проблемы при обновлении пакета.
Comment 54 Grigory Ustinov 2024-10-10 14:26:05 MSK
6. desktop файл наверное логичнее переименовать в pyradio.desktop. Ведь он относится к бинарю, а не к модулю.
Comment 55 Aleksandr Shamaraev 2024-10-10 14:34:49 MSK
(Ответ для Grigory Ustinov на комментарий #53)
> 5. Тэг Requires надо убрать. Сборочница автоматически выявляет зависимости.
> То есть эта строчка мало того что лишняя, она может ещё и вызвать проблемы
> при обновлении пакета.

Здравствуйте, спасибо за замечания и наставления. 

Буду разбираться с использованием гит, а не srmp.

По поводу Requires, проблема в том, что я в Requires оставил только то, что не подхватывается автоматически, и пакет после сборки просто не работает. Сначала ругается на то что нет подходящего плеера, апстрим гарантирует работу с тремя на выбор, я взял mpv как самый легкий, после подстановки плеера он начинает ругаться на зависимости которых не хватает.
Comment 56 Aleksandr Shamaraev 2024-10-10 14:37:09 MSK
Я просто не могу проверить, тестовая сборка в сборочнице подтянет все зависимости или нет, локально нет, к сожалению
Comment 57 Grigory Ustinov 2024-10-10 14:41:14 MSK
Тогда ждите, когда выдадут доступ к сборочнице.
Comment 58 ruslandh 2024-10-10 18:19:01 MSK
Ну, тестовую сборку я могу для тебя провести, что-бы ты смог проверить, что всё работает, это не проблема.
Comment 59 ruslandh 2024-10-10 18:20:13 MSK
Если что, предыдущее обращение к Александру ;-)
Comment 60 ruslandh 2024-10-10 18:23:19 MSK
Но, странно, если не хватаются зависимости. Посмотри, Александр в коде как вызываются нужные программы, возможно они вызываются через какие-то переменные, неявно , и поэтому хэшер их не ловит.
Comment 61 Aleksandr Shamaraev 2024-10-11 05:41:13 MSK
Добрый день.

По поводу зависимостей. 

По факту, как уже говорил, при локальной сборке не хватает двух пакетов по зависимостям python3-module-psutil python3-module-dns (в спеке они заремарены)

python3-module-psutil - нужен для запуска как такового, радио запускается, но говорит, что ему это нужно
python3-module-dns - нужен для доступа к онлайн картотеки радио, назовем ее так, по shift+o, локальный список будет и без нее играть.

Вызываются они конструкцией, к примеру 
try:
    import psutil
    HAVE_PSUTIL = True
except:
    HAVE_PSUTIL = False

ну и по флагу уже дальше обрабатываются, есть нет.

Также убрал плеер из зависимостей. Радио работает с mpv vlc и mplayer, по факту если у пользователя будет что-то, то радио подхватит, если нет, будет написано с какими плеерами работает радио, и соответственно человек сам выберет, что хочет. На мой лично взгляд, самое адекватное поведение с mpv, также vlc играет.. 

Дальше, пока смотрел код выпилил install.py из пакета, насколько понимаю данный файл нужен для установки самого себя, обновления самого себя, удаления самого себя...

Также выставил флаг самостоятельной проверки обновлений пакета откуда-то там в положение false и выпилил обработчик флага

Файл install.py физически отсутствует в тарболе согласно правила исключения данного файла при локальной сборке в хешере
exclude=pyradio/install.py

Согласно рекомендации вынес файл desktop из спека.

Все это дело выгрузил на gitery, но только также через srmp, пока еще не разбирался как сростить мне git каталог с gitery


Руслан, не могли бы Вы сделать тестовое задание, проверить, найдет ли сборочница зависимости двух пакетов питон.

С уважением
Comment 62 Aleksandr Shamaraev 2024-10-16 07:34:15 MSK
собрал новый пакет для работы с маркдавн для кедов klevernotes
Comment 63 Aleksandr Shamaraev 2024-10-18 02:32:23 MSK
(Ответ для Grigory Ustinov на комментарий #53)
> https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary

> 4. Вы по-прежнему исходники и спек пихаете в один коммит в лучших традициях
> srpm. Для успешного прохождения джойн вам нужно научиться использовать гит.
> Подавляющее большинство пакетов в сизифе собирается через гит.

Григорий, добрый день.

Я разобрался как работает гит ну и в целом как работает gitery,
- создание db в gitery
- удаление db в gitery
- поиск и клонирование db в gitery, работа с данным db
- выгрузка в gitery через гит
- выгрузка в gitery через srmp
- обновление в gitery через git
- обновление в gitery через srpm
- работа с тегами

По факту, свои пакеты я выгрузил в gitery с учетом Ваших замечаний, за исключением Startwine-launcher, так как его я собираю через rpm -ba без хешер

> 5. Тэг Requires надо убрать. Сборочница автоматически выявляет зависимости.
> То есть эта строчка мало того что лишняя, она может ещё и вызвать проблемы
> при обновлении пакета.

К сожалению, если я уберу Reauires: python3-module-psutil python3-module-dns , то как уже писал выше, радио работать не будет.

Единственное, хотел у Вас спросить Ваше мнение, я делаю 

Provides: %pypi_name-mpv = %EVR
Requires: %pypi_name-mpv = mpv

Provides: %pypi_name-vlc = %EVR
Requires: %pypi_name-vlc = vlc

для того, чтобы пользователь мог установить пакет по имени pyradio-плеер, а не puthon3-module-* и так далее, здесь я конкретно указываю в зависимости плеер, либо-либо, которые работают адекватно с пакетом, хотя можно ограничится и просто
 
Provides: %pypi_name = %EVR
Requires: %pypi_name = mpv

так как он лучше работает судя по моим тестам, но решил оставить выбор если можно так сказать, по моему скромному мнению, не каждый пользователь установив пакет и увидев, что он не работает и требует доустановки нужных ему плееров будет разбираться что да как, а не просто удалит его.

Может мне тогда перенести в данную секцию Requires эти два модуля?
Comment 64 Grigory Ustinov 2024-10-18 04:25:31 MSK
(Ответ для Aleksandr Shamaraev на комментарий #63)
> Григорий, добрый день.
> Единственное, хотел у Вас спросить Ваше мнение, я делаю 
> 
> Provides: %pypi_name-mpv = %EVR
> Requires: %pypi_name-mpv = mpv
> 
> Provides: %pypi_name-vlc = %EVR
> Requires: %pypi_name-vlc = vlc

Идея понятна и хороша. Страдает реализация. В нынешнем варианте пользователь получит весь набор зависимостей. Наверное вы хотели сделать это отдельными мета-пакетами, которые не содержали бы секции files, а содержали только зависимости.

1. Круто, что вы почитали про buildreq, но он сделан для плюсовых решений, в пайтоне он скорее вреден.
2. Именование патчей ужасное. У нас на эту тему есть полиси.
3. Как работает gear вы точно не поняли на том уровне, который хотелось бы видеть от участника тим=)
4. Выглядит так как будто про опцию -p у patch вы тоже не знаете.
5. Заодно почитайте про рекомендуемый порядок тэгов в спек-файле.

Мне кажется, что мы идём не туда и стало только хуже. Изначально я хотел поправить только вашу питоновскую часть, а сейчас приходится быть соментором и описывать базовые вещи, касающиеся вообще любых пакетов.
Comment 65 Aleksandr Shamaraev 2024-10-21 11:09:36 MSK
(Ответ для Grigory Ustinov на комментарий #64)

> Идея понятна и хороша. Страдает реализация. В нынешнем варианте пользователь
> получит весь набор зависимостей. Наверное вы хотели сделать это отдельными
> мета-пакетами, которые не содержали бы секции files, а содержали только
> зависимости.

> 2. Именование патчей ужасное. У нас на эту тему есть полиси.

> 4. Выглядит так как будто про опцию -p у patch вы тоже не знаете.
> 5. Заодно почитайте про рекомендуемый порядок тэгов в спек-файле.
> 

Григорий, добрый день.

Я переделал спек, переименовал патчи, перезалил на gitery.

Поразмыслив, как на лично мой взгляд лучше, я распили радио на два пакета:
1. python3-module-pyradio-0.9.3.11.1-alt1.noarch.rpm - сам модуль питона и ничего больше
2. pyradio-0.9.3.11.1-alt1.noarch.rpm - пакет радио, с зависимостями на недостающие модули питона + сам модуль питона радио + mpv + ярлык

также в спеке переписал на 

%autopatch -p0


Если будет у Вас время, взгляните пожалуйста.

https://git.altlinux.org/people/shad/packages/?p=pyradio.git;a=summary

> 3. Как работает gear вы точно не поняли на том уровне, который хотелось бы
> видеть от участника тим=)

Вот это если честно не понял
Comment 66 Grigory Ustinov 2024-10-21 21:16:35 MSK
(Ответ для Aleksandr Shamaraev на комментарий #65)
> > 3. Как работает gear вы точно не поняли на том уровне, который хотелось бы
> > видеть от участника тим=)
> 
> Вот это если честно не понял

Если вы указываете архивирование тэга, то никакие .gear в хэшер не попадают и эксклюдить их не нужно.
Comment 67 ruslandh 2024-10-23 05:51:31 MSK
Кандидат готов собирать пакеты . Прошу предоставить кандидату доступ к сборочнице.
Comment 68 Aleksandr Shamaraev 2024-10-27 12:15:11 MSK
(Ответ для Grigory Ustinov на комментарий #66)
> Если вы указываете архивирование тэга, то никакие .gear в хэшер не попадают
> и эксклюдить их не нужно.

Спасибо, понял
Comment 69 Gleb F-Malinovskiy 2024-11-19 17:21:21 MSK
ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

T/J/S -> 3.6.
Comment 70 ruslandh 2025-01-22 22:16:49 MSK
1 Александр сейчас поддерживает 19 пакетов 

https://packages.altlinux.org/ru/sisyphus/maintainers/shad/srpms?by_acl=leader_group&o=name.-buildtime

2.Александр ознакомился с разными типами сборки различных пакетов и с разными типами gear.
Изучил как возможности git, так и сборки из тарболов.

3.Александр вполне освоился с ролью  Legacу в cборке различных типов пакетов в ALT Team.

4 Александр вполне способен через рассылки и Wiki получать необходимую для мантейнера информацию, в случае, если у него нет готового ответа на вопрос о том, как решить ту или иную проблему.

Александру пора переходить на самостоятельную сборку пакетов.

Прошу рассмотреть возможность получения ему прав для самостоятельной сборки пакетов.
Готов и дальше его консультировать в сложных вопросов, но я думаю, что ему пора пройти "котёл" рецензирования.

PS. Александр, я думаю вам стоит представить все собранные вами пакеты, их особенности и краткое описание, что-бы рецензенту было проще познакомиться с ними.
Comment 71 Aleksandr Shamaraev 2025-01-23 03:16:10 MSK
Добрый день.

Тезисно по собранным пакетам:

1. python3-module-pyradio – онлайн радио.
https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-pyradio/3166489154999543255

Онлайн радио с возможностью проигрывания радио как с локального списка станций, так и с глобального. 
Собирается два под пакета: pyradio и сам модуль python3-module-pyradio
Подробно был разобран выше в баге

Собирается через %pyproject_build

2. gnome-shell-extension-dynamic-panel – расширение для кастомизации верхней панели в DE Gnome
https://packages.altlinux.org/ru/sisyphus/srpms/gnome-shell-extension-dynamic-panel/3167540289931129827

3. metadata-cleaner - Очиститель метаданных

Пакет собирается через meson

4. python3-module-mat2 – питон пакет для необходимый для работы metadata-cleaner

https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-mat2/3166546234718158319

Собирается через %pyproject_build

5 damask – пакет для смены фона рабочего стола в DE Gnome 

https://packages.altlinux.org/ru/sisyphus/srpms/damask/3148080147519962822

Пакет собирается через meson

6 klevernotes - приложение для создания и управления заметками

https://packages.altlinux.org/ru/sisyphus/srpms/klevernotes/3145700118847756984

Пакет работает на kf6-kirigami , собирается через cmake

7. btrfsmaintenance – это пакет который уже был в репозитории

https://packages.altlinux.org/ru/sisyphus/srpms/btrfsmaintenance/3145768308546978991

В данном ситуации было любопытно попробовать обновить пакет уже имеющийся в репозитории. 

Также я сравнил %systemd_post и %systemd_preun из пакета rpm-macros-fedora-compat и rpm-macros-systemd , пришел к выводу, что оно одинаково и посоветовавшись с ментором поменял в спеке на BuildRequires(Pre): rpm-macros-systemd

8. gnome-shell-extension-gnome-runcat – расширение для Гном показывающее загрузку ЦП в виде котика

https://packages.altlinux.org/ru/sisyphus/srpms/gnome-shell-extension-gnome-runcat/3145742452597788822

9. sticky -  липкие заметки для Гном

https://packages.altlinux.org/ru/sisyphus/srpms/sticky/

пакет похож на виндусовские липкие заметки
собирается через месон rpm-macros-meson rpm-build-nodejs
ограничено ExclusiveArch: x86_64 так как фактически сборочница собирает только под эту архитектуру

10. startwine-launcher – запуск виндус приложений и игр 
https://packages.altlinux.org/ru/sisyphus/srpms/startwine-launcher/

Пакет собирается через rpm -ba и в gitey закидывается src.rpm 
такое решение выбрано из-за того, что собирается файлик установщик/запускатор из релиза, а не само гит

Ну для меня в данном пакете такое решение удобно и правильно, дабы не тащить лишнее в гитери

11. gnome-shell-extension-netspeedsimplified – расширение для гном показывает работу с сетью

https://packages.altlinux.org/ru/sisyphus/srpms/gnome-shell-extension-netspeedsimplified/3148384349467984718

12. mpack 
https://packages.altlinux.org/ru/sisyphus/srpms/mpack/3151071979740535209

данный пакет его мантейнером был удален из репозитория, но он был необходим для извлечения содержимого файлов электронной почты MSG
По этому я спросил разрешение у мантейнера не будет ли он против если я его восстановлю в Сизиф, посоветовался с ментором и собрал обратно.
Единственно, что бы его собрать, пришлось подглядеть в спек пакета на Gentoo , так как с изначальным спеком он не собирался, что в хешере, что в сборочнице.

13. msgextract – простенький скрипт для извлечения содержимого файлов MSG для которого был нужен mpack

https://packages.altlinux.org/ru/sisyphus/srpms/msgextract/3151365926168296396

14. somefetch – простенький фетч

https://packages.altlinux.org/ru/sisyphus/srpms/somefetch/3152915219773028119

написан на раст и собирается через rpm-build-rust и имеет вендоринг

также пропатчен исходник, из-за того что в альте есть и rpm  и apt-get, и что бы не было лишнего и путаницы, сделал так

15. nautilus-admin-gtk4 – разделы меню по правой кнопе мыши в наутилусе открыть с помощью Администратора, редактировать с помощью администратора.

https://packages.altlinux.org/ru/sisyphus/srpms/nautilus-admin-gtk4/

изначально пакет был собран, потом скорректирован Юрием Николаевичем, но учитывая что русский язык так и не завелся, посидев по разбиравшись я пропатчил исходник дабы заработали все переведенные локали.

16.  input-leap – программный КВМ

https://packages.altlinux.org/ru/sisyphus/srpms/input-leap/

собирается через cmake и имеет субмодули

17. climage – питон пакет конвертации изображений в коды ASCII в консоли

https://packages.altlinux.org/ru/sisyphus/srpms/climage/3164601824924998994

собирался как зависимость для пакета который я еще не собрал (в процессе)

18. adaptix – питон пакет собираемый как зависимость для пакета который я еще не собрал (в процессе)

https://packages.altlinux.org/ru/sisyphus/srpms/adaptix/3164645361361538855

19. python3-module-shazamio питон пакет собираемый как зависимость для пакета который я еще не собрал (в процессе)

https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-shazamio/3165380802936092503

20. python3-module-shazamio-core питон пакет собираемый как зависимость для пакета который я еще не собрал (в процессе)

https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-shazamio-core/3165415483229836070

данный пакет интересен тем, что в нем еще компилируется so файл написанный на раст + содержит вендоринг, хоть и собирается через %pyproject_build


21. python3-module-dataclass-factory  питон пакет собираемый как зависимость для пакета который я еще не собрал (в процессе)

https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-dataclass-factory/3165419925363494995

данный пакет собран из dataclass_factory-2.16-py3-none-any.whl взятом на https://pypi.org/project/dataclass-factory/

так как у апстрима в гитхабе старая версия лежит... по факту он, пакет, является частичным форком от адаптикса, ну это я уже понял потом, потому что адаптикс не подошел

22. python3-module-kdtree – pyp модуль для работу с kdtree 
https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-kdtree/3167546239666555035

тут ситуация следующая... climage цеплял по зависимостям пакет python3-module-libkdtree++  что является подпактом  libkdtree++ который провайдерил python3(kdtree), но в процессе выяснилось, что это не тот, либо обрезанный, питон модуль, подробнее:
https://bugzilla.altlinux.org/52768
ну собрать pyp модуль я собрал, но была проблема двойного провайдеринга, по этому проконсультировавшись с мантейнером работающим с питон пакетами, как выйти из этой ситуации, я отключил python3-module-libkdtree++  в  libkdtree++

23. libkdtree++ – собственно ситуация описана выше
https://packages.altlinux.org/ru/sisyphus/srpms/libkdtree++/3167576556498028878

---

в заключении могу добавить, что как работать с патчами, с субмодулями и вендорингом мне понятно, ну собственно я и работаю с ними.

Возможно я выше не во всем описании указал где используется патчи, субмодули и вендоринг.

С уважением.
Comment 72 Aleksandr Shamaraev 2025-01-24 06:00:41 MSK
Здравствуйте

24. python3-module-soundcard питон пакет собираемый как зависимость для пакета который я еще не собрал (в процессе)

https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-soundcard/3168291129802418329
Comment 73 Aleksandr Shamaraev 2025-01-25 08:20:29 MSK
Здравствуйте

25. pyzam питон пакет для распознавания музыки, как с колонок (к примеру с радио) так и из файлов, собственно для него собирались все выше зависимости, которых не было в Сизифе.

также я не мог понять почему он не видит провайдеринг от climage ... поднял логи сборки climage... и немного исправил вызов в pyzam в спеке через subst , по факту это нужно для картинке в терминале, когда он определит что за композиция играет.

https://packages.altlinux.org/ru/sisyphus/srpms/pyzam/3168727780685646059
Comment 74 Aleksandr Shamaraev 2025-02-07 14:39:36 MSK
Исправлена ошибка пересборки пано
https://bugzilla.altlinux.org/52804
Comment 75 Aleksandr Shamaraev 2025-02-08 10:47:04 MSK
также хотел дополнить, что из-за моих экспериментов, назовем это так, была найдена ошибка в пакете python3-module-pydub , которую потом поправили
https://bugzilla.altlinux.org/52814

и также найдена еще одна интересная ситуация с провайдерингами, которую быстро поправили коллеги пере собрав мой пакет, и python3-module-pikepdf
В любом случае опыт хороший для меня. Спасибо Григорию за наставления.
Comment 76 Aleksandr Shamaraev 2025-02-12 11:39:23 MSK
Здравствуйте

26. python3-module-sphinx-better-subsection модуль для сфинкса, собран как зависимость для сборки документации

https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-sphinx-better-subsection/3175429278219669364
Comment 77 Aleksandr Shamaraev 2025-02-13 08:04:21 MSK
Здравствуйте

27. python3-module-sphinx-reredirects модуль для сфинкса, собран как зависимость для сборки документации

https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-sphinx-reredirects/3175713112724118914
Comment 78 Aleksandr Shamaraev 2025-02-16 11:50:08 MSK
Здравствуйте

28/29. игрушка unvanquished и данные от нее unvanquished-data

https://packages.altlinux.org/ru/sisyphus/srpms/unvanquished/3176793834902624942

https://packages.altlinux.org/ru/sisyphus/srpms/unvanquished-data/3176813112145042377
Comment 79 Aleksandr Shamaraev 2025-07-16 12:58:10 MSK
Доброго дня.

Прошу не счесть за наглость, а можно ли мне как-то получить возможность писать вопросы в рассылку devel ?

просто есть одна проблемка, которую хотелось вынести на обсуждение, так как я не пойму глюк сборочницы это, или глюк апстрима, но после пересборки пакета (rebuild) ничего в нем не меняя, происходит магия... FTBFS улетучивается и жизнь прекрасна... по этому возникает вопрос к возможному глюку сборочницы

Или пока я закончу процедуру принятия, devel рассылки мне тоже не видать? :)

заранее благодарю за ответ

С уважением.
Comment 80 Aleksandr Shamaraev 2025-07-16 13:00:39 MSK
прошу прощения, не допечатал.

"Или пока я не закончу процедуру принятия, devel рассылки мне тоже не видать? :)"
Comment 81 Grigory Ustinov 2025-07-16 13:41:15 MSK
(Ответ для Aleksandr Shamaraev на комментарий #79)
> Доброго дня.
> 
> Прошу не счесть за наглость, а можно ли мне как-то получить возможность
> писать вопросы в рассылку devel ?
> 
> просто есть одна проблемка, которую хотелось вынести на обсуждение, так как
> я не пойму глюк сборочницы это, или глюк апстрима, но после пересборки
> пакета (rebuild) ничего в нем не меняя, происходит магия... FTBFS
> улетучивается и жизнь прекрасна... по этому возникает вопрос к возможному
> глюку сборочницы
> 
> Или пока я закончу процедуру принятия, devel рассылки мне тоже не видать? :)
> 
> заранее благодарю за ответ
> 
> С уважением.

К сожалению, у вас есть возможность задавать в девел такие вопросы. Но на этапе джойна лучше сначала спрашивать у ментора.

Да, сборочницу глючит. Каждый день некоторые пакеты не собираются в зависимости от положения звёзд. Часто так бывает, что какому-то пакету не хватило ресурсов на пересборочнице. Поэтому приходится исправлять только те пакеты, которые уже неделю не пересобираются.
Comment 82 Dmitry V. Levin 2025-07-16 13:53:54 MSK
Если пакет не пересобирается с вероятностью выше 0 но ниже 1, это почти всегда из-за кривизны пакета.
Comment 83 Aleksandr Shamaraev 2025-07-16 13:56:08 MSK
Я понял.

Большое спасибо за ответы.

С уважением.
Comment 84 Grigory Ustinov 2025-07-16 15:23:30 MSK
(Ответ для Dmitry V. Levin на комментарий #82)
> Если пакет не пересобирается с вероятностью выше 0 но ниже 1, это почти
> всегда из-за кривизны пакета.

Пользуясь случаем, привлеку внимание к этой идее: https://bugzilla.altlinux.org/50306
Comment 85 Aleksandr Shamaraev 2025-10-23 08:17:55 MSK
Доброго времени суток. 

Прошу не счесть за дерзость, но все же хочу спросить, что на счет моего джоина?

Через 3 месяца будет год как запросили рецензента, и полтора как база создана.
Comment 86 ruslandh 2026-01-21 15:54:44 MSK
Мне неудобно спрашивать, но всё-же, у кого-то есть притензии к Александру, или ко мне ?

Уже скоро год как ждём рецензента.
Comment 87 Gleb F-Malinovskiy 2026-01-21 18:09:35 MSK
Призван рецензент (rider@) для независимой оценки готовности кандидата.

T/J/S -> 4.2.
Comment 88 Anton Farygin 2026-01-21 19:39:59 MSK
Этот пакет надо исправить для соответствия SharedLibsPolicy:
https://packages.altlinux.org/ru/sisyphus/srpms/pdf4qt/3301869017402687601
и этот:
https://packages.altlinux.org/ru/sisyphus/srpms/libzmf/3301270729374154684

Остальное выборочно посмотрел, выглядит неплохо. Но с SharedLibsPolicy вы не разобрались.
Comment 90 Anton Farygin 2026-01-22 07:19:41 MSK
(Ответ для Aleksandr Shamaraev на комментарий #89)
> Добрый день.
> 
> Подсмотрите пожалуйста.
> 
> > https://packages.altlinux.org/ru/sisyphus/srpms/pdf4qt/3301869017402687601
> 
> https://packages.altlinux.org/ru/tasks/405791/
-%package -n libpdf4qtlibcore
+%package -n libpdf4qtlibcore%soname
 Group: System/Libraries
 Summary: %name library
-%description -n libpdf4qtlibcore
+Conflicts: libpdf4qtlibcore
+%description -n libpdf4qtlibcore%soname
 %name library.
 
-%package -n libpdf4qtlibwidgets
+%package -n libpdf4qtlibwidgets%soname
 Group: System/Libraries
 Summary: %name library
-%description -n libpdf4qtlibwidgets
+Conflicts: libpdf4qtlibwidgets
+%description -n libpdf4qtlibwidgets%soname
 %name library.
Тут не конфликт нужен а Obsolete.

> 
> > https://packages.altlinux.org/ru/sisyphus/srpms/libzmf/3301270729374154684
> 
> https://packages.altlinux.org/ru/tasks/405792/

 
-%files
-%doc AUTHORS NEWS COPYING
-%_libdir/%name-%apiversion.so.*
+%files 
+%_libdir/%name-%apiversion.so.%soname
+%_libdir/%name-%apiversion.so.%{soname}*
 
тут недоделано - пакет не переименован. Но сейчас (т.к. есть уже клиенты у библиотеки) переименовать можно только с расстановкой Obsoletes.

> 
> С уважением.
Comment 91 Aleksandr Shamaraev 2026-01-22 07:29:51 MSK
> -%files
> -%doc AUTHORS NEWS COPYING
> -%_libdir/%name-%apiversion.so.*
> +%files 
> +%_libdir/%name-%apiversion.so.%soname
> +%_libdir/%name-%apiversion.so.%{soname}*
>  
> тут недоделано - пакет не переименован. Но сейчас (т.к. есть уже клиенты у
> библиотеки) переименовать можно только с расстановкой Obsoletes.
> 

Вот тут можно у Вас уточнить, я не стал его переименовывать потому-что в полиси написано

 Имя исходного пакета

    Имя **исходного пакета (SRPM)** желательно сохранять таким же, как у апстрима — это упрощает отслеживание обновлений, использование автоматических инструментов (`repology.or`, `repocop`) и повышает предсказуемость.

    Однако, при обновлении библиотеки с ломкой ABI, когда требуется сохранить в репозитории старую версию библиотеки:

 * исходный пакет со старой версией нужно **сохранять под отдельным именем** (например, `libfoo1`, `libfoo0`, `libfoo3.2`);
 * новый ABI собирается уже из SRPM с апстримным именем (`libfoo`), а старый SRPM остаётся в репозитории под переименованным именем.

Учитывая это я подумал, что правильно оставить как есть, так как имя апстримное.

Или его все же нужно переименовать?
Comment 92 Aleksandr Shamaraev 2026-01-22 07:42:45 MSK
хотя мне кажется я сейчас возможно сказал глупость..

поправлю все
Comment 93 Aleksandr Shamaraev 2026-01-22 09:05:53 MSK
> -%package -n libpdf4qtlibcore
> +%package -n libpdf4qtlibcore%soname
>  Group: System/Libraries
>  Summary: %name library
> -%description -n libpdf4qtlibcore
> +Conflicts: libpdf4qtlibcore
> +%description -n libpdf4qtlibcore%soname
>  %name library.
>  
> -%package -n libpdf4qtlibwidgets
> +%package -n libpdf4qtlibwidgets%soname
>  Group: System/Libraries
>  Summary: %name library
> -%description -n libpdf4qtlibwidgets
> +Conflicts: libpdf4qtlibwidgets
> +%description -n libpdf4qtlibwidgets%soname
>  %name library.
> Тут не конфликт нужен а Obsolete.

Прошу прощения, переделал

https://packages.altlinux.org/ru/tasks/405791/


> -%files
> -%doc AUTHORS NEWS COPYING
> -%_libdir/%name-%apiversion.so.*
> +%files 
> +%_libdir/%name-%apiversion.so.%soname
> +%_libdir/%name-%apiversion.so.%{soname}*
>  
> тут недоделано - пакет не переименован. Но сейчас (т.к. есть уже клиенты у
> библиотеки) переименовать можно только с расстановкой Obsoletes.

Спасибо, переделал

https://packages.altlinux.org/ru/tasks/405792/

Посмотрите пожалуйста, когда у Вас будет время.
Comment 94 Anton Farygin 2026-01-22 11:33:19 MSK
(Ответ для Aleksandr Shamaraev на комментарий #93)
> > -%package -n libpdf4qtlibcore
> > +%package -n libpdf4qtlibcore%soname
> >  Group: System/Libraries
> >  Summary: %name library
> > -%description -n libpdf4qtlibcore
> > +Conflicts: libpdf4qtlibcore
> > +%description -n libpdf4qtlibcore%soname
> >  %name library.
> >  
> > -%package -n libpdf4qtlibwidgets
> > +%package -n libpdf4qtlibwidgets%soname
> >  Group: System/Libraries
> >  Summary: %name library
> > -%description -n libpdf4qtlibwidgets
> > +Conflicts: libpdf4qtlibwidgets
> > +%description -n libpdf4qtlibwidgets%soname
> >  %name library.
> > Тут не конфликт нужен а Obsolete.
> 
> Прошу прощения, переделал
> 
> https://packages.altlinux.org/ru/tasks/405791/
+Obsoletes: libpdf4qtlibwidgets

Obsoletes лучше делать на версию, иначе не получится никогда никому собрать пакет с именем, которое заменяется.
> 
> 
> > -%files
> > -%doc AUTHORS NEWS COPYING
> > -%_libdir/%name-%apiversion.so.*
> > +%files 
> > +%_libdir/%name-%apiversion.so.%soname
> > +%_libdir/%name-%apiversion.so.%{soname}*
> >  
> > тут недоделано - пакет не переименован. Но сейчас (т.к. есть уже клиенты у
> > библиотеки) переименовать можно только с расстановкой Obsoletes.
> 
> Спасибо, переделал
> 
> https://packages.altlinux.org/ru/tasks/405792/
> 
> Посмотрите пожалуйста, когда у Вас будет время.
+%_libdir/%name-%apiversion.so.%{soname}*
лучше заменить на 
+%_libdir/%name-%apiversion.so.%{soname}.*
что бы под эту маску не попало лишнего

И в нём такая же проблема с Obsoletes.
Непонятно, зачем нужен common пакет с информацией о пакете в docs ? может быть раскидать его содержимое по devel/lib ?
Comment 95 Aleksandr Shamaraev 2026-01-22 13:33:41 MSK
> +Obsoletes: libpdf4qtlibwidgets
> 
> Obsoletes лучше делать на версию, иначе не получится никогда никому собрать
> пакет с именем, которое заменяется.

Спасибо, по Obsoletes, в моем случае, получится по одному пакету:

Obsoletes: libpdf4qtlibcore <= 1.5.3.0-alt1
Obsoletes: libpdf4qtlibwidgets <= 1.5.3.0-alt1

и по другому:
 
Obsoletes: %name <= 0.0.2-alt3

> +%_libdir/%name-%apiversion.so.%{soname}*
> лучше заменить на 
> +%_libdir/%name-%apiversion.so.%{soname}.*
> что бы под эту маску не попало лишнего

Понял, спасибо.

> Непонятно, зачем нужен common пакет с информацией о пакете в docs ? может
> быть раскидать его содержимое по devel/lib ?

Почитав полиси я так понял, что в devel содержаться только файлы *.so, заголовочные файлы и другие материалы, необходимые для сборки программ, lib содержит .so.* , а все что к этому не относится можно разместить в common, учитывая формулировку  "и т.п.", в данном случае это получился COPYING AUTHORS NEWS ChangeLog

Также я посмотрел как делают другие люди, перебрал разные спеки и увидел, что, к примеру, в udisks2-qt6 тоже вынесено отдельно в common в %doc LICENSE.txt README.md debian/changelog

посмотрев разные кде пакеты с библиотеками я вижу, что в них также в lib размещается в основном только .so.*, в devel то, что относится к devel, а в common %doc LICENSES/* и т.д. 

по этому, опираясь на опыт старших товарищей, и полиси, я решил вынести файлы COPYING AUTHORS NEWS ChangeLog в отдельный common пакет, посчитав, что так будет правильно.

Сами задания, если Вы не против, я завтра пересоберу с учетом исправлений Obsoletes и маски, сейчас уже поздний вечер у меня.

как будет готово, сразу отпишу
Comment 96 Aleksandr Shamaraev 2026-01-23 02:42:24 MSK
Добрый день.

Переделал.

Посмотрите пожалуйста, когда у Вас будет время.

https://packages.altlinux.org/ru/tasks/405791/

https://packages.altlinux.org/ru/tasks/405792/

С уважением.
Comment 97 Aleksandr Shamaraev 2026-01-23 09:50:04 MSK
Также прошу Вас рассмотреть обновление пакета SongRec и если Вы не против, заапрувить

https://packages.altlinux.org/ru/tasks/405887/
Comment 98 Aleksandr Shamaraev 2026-01-24 04:08:29 MSK
Добрый день.

Прошу Вас рассмотреть обновление пакета alt-mirror-switcher  с исправлением зарегистрированной ошибки ALT #57565 и если Вы не против, заапрувить

https://packages.altlinux.org/ru/tasks/405964/
Comment 99 Aleksandr Shamaraev 2026-01-26 04:32:14 MSK
Добрый день.

Прошу Вас рассмотреть обновление пакета pyradio и если Вы не против, заапрувить

https://packages.altlinux.org/ru/tasks/406208/

также пересборал заново собираться PDF4QT с учетом выхода новой версии

https://packages.altlinux.org/ru/tasks/405791/
Comment 100 Aleksandr Shamaraev 2026-01-26 04:34:59 MSK
> также пересборал заново собираться PDF4QT с учетом выхода новой версии
> 
Прошу прощение, опечатка

также пересборал заново PDF4QT*
Comment 101 Anton Farygin 2026-01-26 10:12:44 MSK
(Ответ для Aleksandr Shamaraev на комментарий #98)
> Добрый день.
> 
> Прошу Вас рассмотреть обновление пакета alt-mirror-switcher  с исправлением
> зарегистрированной ошибки ALT #57565 и если Вы не против, заапрувить
> 
> https://packages.altlinux.org/ru/tasks/405964/


К самому пакету (как он собран) вопросов не возникло. Непонятно с листами - зависимости на листы у пакетов нет, но при этом если пакет switcher-lists-* не установлен, команда rpm -qa | grep switcher-lists- возвращает пустую строку (значение определено), поэтому условие !defined не срабатывает и check_ams_list падает в 0. В результате ams всегда сообщает о различии веток и отказывается переключать зеркало даже при отсутствии дополнительных списков.

Я бы вообще сделал по другому и все листы сразу упаковал в основной пакет, а в зависимости от используемой ветки брал те или иные данные.
Comment 102 Anton Farygin 2026-01-26 10:14:04 MSK
(Ответ для Aleksandr Shamaraev на комментарий #100)
> > также пересборал заново собираться PDF4QT с учетом выхода новой версии
> > 
> Прошу прощение, опечатка
> 
> также пересборал заново PDF4QT*

  74 %_libdir/libPdf4QtLibGui.so.*
  75 %_libdir/libPdf4QtLibGui.so

не соответсвует SharedLibsPolicy
Comment 103 Aleksandr Shamaraev 2026-01-26 10:59:40 MSK
(Ответ для Anton Farygin на комментарий #102)
>   74 %_libdir/libPdf4QtLibGui.so.*
>   75 %_libdir/libPdf4QtLibGui.so
> 
> не соответсвует SharedLibsPolicy

Если позволите, я объясню почему я не вынес это сразу в отдельный пакет и решил эту библиотеку оставить в составе основного пакета.

Дело в том, что если бы, к примеру, приложение для просмотра PDF, для сравнения разницы (diff) между  PDF, компоновщик (назовем его так) PDF и сам редактор PDF были бы вынесены в отдельные пакеты, тогда было бы логично эту сошку вытаскивать в соответствии с политикой, но учитывая, что есть общий лаунчер этих приложений, я все это дело завернул в один пакет + в самом devel в include насколько я понимаю она не используется, там именно те две другие so которые вынесены согласно полиси, и насколько я понимаю libPdf4QtLibGui нужно для работы всех вышеуказанных приложений, для них она общая, да, но они все физически в одном пакете... 

в любом случае, замечание я понял, пере соберу с выносом в отдельный пакет согласно политики

как сделаю, отпишусь Вам
Comment 104 Anton Farygin 2026-01-26 11:24:37 MSK
можно оставить в основном, но тогда сделать так что бы с ней нельзя было слинковаться.
Comment 105 Aleksandr Shamaraev 2026-01-26 11:30:07 MSK
(Ответ для Anton Farygin на комментарий #101)
> К самому пакету (как он собран) вопросов не возникло. Непонятно с листами -
> зависимости на листы у пакетов нет, 

Учитывая, что это дополнительные списки зеркал, не системные, я принял решение дать пользователю самому решать нужны ли они ему или нет. 

Сама по себе задумка переключателя была в том, чтоб он мог работать с системными списками зеркал, которые идут сразу, а в процессе уже "выросли" дополнительные зеркала, который пользователь сам ставит, если они ему нужны, по этому нет зависимости на них, но если пользователь попробует поставить дополнительное зеркало ему прилетит GUI переключатель.

> но при этом если пакет switcher-lists-*
> не установлен, команда rpm -qa | grep switcher-lists- возвращает пустую
> строку (значение определено), поэтому условие !defined не срабатывает и
> check_ams_list падает в 0. В результате ams всегда сообщает о различии веток
> и отказывается переключать зеркало даже при отсутствии дополнительных
> списков.

не совсем так, в коммите
https://altlinux.space/aleksandershad/alt-mirror-switcher/commit/2c7e0797c8a2e51e3a5e163575dc3d3f71c0effa

я как раз исправил $ams_list_package eq '' на !defined $ams_list_package так как my $ams_list_package = trim(`rpm -qa | grep switcher-lists-`); не возвращало пустую строку и при выполнении выводило

Use of uninitialized value $ams_list_package in string eq ad /usr/bin/ams line 148

хотя по логике должна была быть пустая строка... ну это я уже не знаю почему так

на самом деле, я думаю в перспективе вообще отказаться от trim() и убрать use String::Util 'trim'; но это надо все перепроверять... тут еще проблема в том что trim() ломает вывод, к примеру `rpm -qa | grep apt-conf-`, то есть если выводятся несколько пакетов, как в Альт Рабочая станция К, то после trim остается только первый, собственно почему и произошла эта ошибка, так как в списке вышел другой пакет первым.

> Я бы вообще сделал по другому и все листы сразу упаковал в основной пакет, а
> в зависимости от используемой ветки брал те или иные данные.

мне показалось удобнее разбить
Comment 106 Anton Farygin 2026-01-26 11:33:53 MSK
mirror switcher заапрувил - у меня нет задачи в рамках JOIN делать ревью этому проекту, я смотрю только сборку.

С точки зрения сборки вопросов не возникло.
Comment 107 Anton Farygin 2026-01-26 11:36:16 MSK
про проекту https://altlinux.space/aleksandershad/alt-mirror-switcher - т.к. это Python, то рекомендую покрыть весь код CI тестами и добавить в пакет секцию check. Тогда будет проще сопровождать.
Comment 108 Aleksandr Shamaraev 2026-01-26 11:37:11 MSK
(Ответ для Anton Farygin на комментарий #107)
> про проекту https://altlinux.space/aleksandershad/alt-mirror-switcher - т.к.
> это Python, то рекомендую покрыть весь код CI тестами и добавить в пакет
> секцию check. Тогда будет проще сопровождать.

Сам проект Python

консольная утилита Perl
Comment 109 Aleksandr Shamaraev 2026-01-26 11:38:42 MSK
(Ответ для Anton Farygin на комментарий #106)
> mirror switcher заапрувил - у меня нет задачи в рамках JOIN делать ревью
> этому проекту, я смотрю только сборку.
> 
> С точки зрения сборки вопросов не возникло.

Спасибо
Comment 110 Anton Farygin 2026-01-26 11:41:37 MSK
(Ответ для Aleksandr Shamaraev на комментарий #108)
> (Ответ для Anton Farygin на комментарий #107)
> > про проекту https://altlinux.space/aleksandershad/alt-mirror-switcher - т.к.
> > это Python, то рекомендую покрыть весь код CI тестами и добавить в пакет
> > секцию check. Тогда будет проще сопровождать.
> 
> Сам проект Python
> 
> консольная утилита Perl

Это не важно - perl точно так же как и python лучше обвязывать тестами. На самом деле тестами лучше всё обвязывать, но если в случае с компилируемыми языками крайней мере есть какие-то проверки на этапе компиляции, то в скриптовых совсем плохо.
Comment 111 Aleksandr Shamaraev 2026-01-26 13:19:31 MSK
(Ответ для Anton Farygin на комментарий #102)
> 
>   74 %_libdir/libPdf4QtLibGui.so.*
>   75 %_libdir/libPdf4QtLibGui.so
> 
> не соответсвует SharedLibsPolicy

Переделал, посмотрите пожалуйста, как у Вас будет время

https://packages.altlinux.org/ru/tasks/405791/

в спеке в devel оставил расписанное
%_libdir/libPdf4QtLibCore.so
%_libdir/libPdf4QtLibWidgets.so
%_libdir/libPdf4QtLibGui.so

не стал делать
%_libdir/*.so

подумал, что пусть лучше будет так, чтоб потом было видно при обновлениях, что новое не упаковалось, если вдруг, что появилось
Comment 112 Aleksandr Shamaraev 2026-01-26 23:39:39 MSK
Большое спасибо за разъяснения и апрув.

На данный момент в EPERM я собрал обновление следующих пакетов:

songrec

https://packages.altlinux.org/ru/tasks/405887/

pyradio

https://packages.altlinux.org/ru/tasks/406208/

fastfetch (пакет Artyom Bystrov, но я у него спрашивал разрешение на продолжение обновлений пакета, после того как исправил ошибку вывода на KDE, он не возражает)

https://packages.altlinux.org/ru/tasks/406216/

spruce (в данной версии апстрим наконец выставил теги, я упал на последний тег версии, поправил лицензию и по обсуждению с Kirill Unitsaev я убрал отдельный модуль, так как по сути оно является телом пакета.. если можно так сказать)

https://packages.altlinux.org/ru/tasks/406218/

gnome-shell-extension-hanabi (когда пакет не работал на Gnome 49 я спросил у Vladimir Romanov будет ли он исправлять, или можно мне поправить, он мне сказал, что не возражает если я исправлю, я поправил, а в данной версии пакета я вижу, что апстрим внес изменения в основную ветку по работе на Gnome 49, по этому я прыгнул на последний тег и пересобрал его, убрав патч, который делал до этого)

https://packages.altlinux.org/ru/tasks/406219/

cdogs-sdl (пакет Igor Vlasenko, в июне 2025 я поправил ему FTBS, так как он стоял на удаление роботом в EPERM, в октябре 2025 я его обновил и исправил ошибку сегментации, приложение падало при старте во время инициализации звука, буквально на днях вышла новая версия, правда апстрим так и не исправил ошибку сегметации, ну я обновли пакет)

https://packages.altlinux.org/ru/tasks/406223/
Comment 113 Aleksandr Shamaraev 2026-01-28 03:42:50 MSK
Добрый день.

Я тут нашел в Сизиф сломанный @nobody пакет monado

Я его обновил и привел в соответствие с SharedLibsPolicy, ну и так, по спеку пробежался немного.

Единственное сразу хочу сказать по %_libdir/libopenxr_monado.so

Согласно разъяснений апстрим, изложенных в doc/packaging-notes.md данная библиотека не имеет soname и не должна, тезисно:

Monado (а также слои API OpenXR) похожи на драйверы Vulkan (технически ICD) и слои API в том смысле, что они используются только за загрузчиком, выполняющим динамическую компоновку/отложенную загрузку во время выполнения. Версионированное SONAME для них не имеет особого смысла, но иногда они необходимы в пути динамической загрузки библиотек по умолчанию. Вы никогда не связываетесь напрямую с интерфейсом среды выполнения OpenXR Monado, он загружается динамически во время выполнения загрузчиком OpenXR после чтения конфигурационных файлов и файлов манифеста. Загрузчик OpenXR имеет версионированное SONAME в Linux, где он может быть установлен в системе. Именно поэтому нет смысла иметь SONAME для SONAME среды выполнения: совместимость этого SONAME определяется установленным манифестом и самой спецификацией OpenXR. В какой-то момент мы, возможно, откажемся от этой идеи и установим версионированное SONAME для libopenxr_monado, но это не улучшит ничего в программном обеспечении, кроме его соответствия внешним правилам, которые не учитывают, как программное обеспечение спроектировано или используется. Более того, это, вероятно, приведет к увеличению недопонимания того, как разработчики предполагают использовать OpenXR и Monado.

От себя могу также добавить, что в разных файлах исходника проекта прописано жестко libopenxr_monado.so

Исходя из вышеизложенного, я оставил ее в основном пакете, так как посчитал, что она относится к разделу посили

Не попадает `libplugin_mytask.so`, загружаемый только одним приложением как модуль (plugin).

Посмотрите пожалуйста задание, и если Вы не против, можно апрув?

https://packages.altlinux.org/ru/tasks/406469/
Comment 114 Aleksandr Shamaraev 2026-01-28 07:04:30 MSK
Также прошу Вас рассмотреть добавление нового пакета proxsave в Сизиф

https://packages.altlinux.org/ru/tasks/406478/
Comment 115 Anton Farygin 2026-01-28 10:14:20 MSK
(Ответ для Aleksandr Shamaraev на комментарий #113)
> https://packages.altlinux.org/ru/tasks/406469/

отличная работа, спасибо.
Comment 116 Anton Farygin 2026-01-28 10:15:30 MSK
(Ответ для Aleksandr Shamaraev на комментарий #114)
> Также прошу Вас рассмотреть добавление нового пакета proxsave в Сизиф
> 
> https://packages.altlinux.org/ru/tasks/406478/

https://git.altlinux.org/tasks/406478/gears/200/git в этом проекте очистку вендоринга от политики лучше делать не отдельным коммитом, а ещё до коммита.

Иначе нам придётся закрывать доступ к его гиту.
Comment 117 Anton Farygin 2026-01-28 10:22:03 MSK
(Ответ для Aleksandr Shamaraev на комментарий #112)
> fastfetch (пакет Artyom Bystrov, но я у него спрашивал разрешение на
> продолжение обновлений пакета, после того как исправил ошибку вывода на KDE,
> он не возражает)
> 
> https://packages.altlinux.org/ru/tasks/406216/

Тут Packager лишнее - он только вводит в заблуждение. Проект реально сопровождается вами, зачем там Артём указан непонятно.

Плюс у проекта хороший гит в апстриме, зачем его надо собирать из тарболла непонятно. попробуйте переехать на схему сборки из git.
ну и по спеку стоит пройтись и самому его заревьювить, там есть что поправить - например
%_man1dir/%name.1.xz лучше указывать как 5 %_man1dir/%name.1.*
Comment 118 Anton Farygin 2026-01-28 10:24:30 MSK
(Ответ для Aleksandr Shamaraev на комментарий #112)
> spruce (в данной версии апстрим наконец выставил теги, я упал на последний
> тег версии, поправил лицензию и по обсуждению с Kirill Unitsaev я убрал
> отдельный модуль, так как по сути оно является телом пакета.. если можно так
> сказать)
> 
> https://packages.altlinux.org/ru/tasks/406218/

+* Mon Jan 26 2026 Aleksandr Shamaraev <shad@altlinux.org> 0.1.6-alt2
+- update to git.e8a4f030
+- changed license tag

Тут в changelog не указано основное изменение + время в одном случае past simple, в другом 
present simple. Надо однообразно и лучше всегда в past simple.
Comment 119 Anton Farygin 2026-01-28 10:28:31 MSK
(Ответ для Aleksandr Shamaraev на комментарий #112)
> spruce (в данной версии апстрим наконец выставил теги, я упал на последний
> тег версии, поправил лицензию и по обсуждению с Kirill Unitsaev я убрал
> отдельный модуль, так как по сути оно является телом пакета.. если можно так
> сказать)
> 
> https://packages.altlinux.org/ru/tasks/406218/

+* Mon Jan 26 2026 Aleksandr Shamaraev <shad@altlinux.org> 0.1.6-alt2
+- update to git.e8a4f030
+- changed license tag

Тут в changelog не указано основное изменение + время в одном случае past simple, в другом 
present simple. Надо однообразно и лучше всегда в past simple. И вы в сообщении написали много ценной информации про сделанное изменение, но лучше эту информацию дать в commit message или specfile или и там и там. 
Хотя бы в commit message.
Comment 120 Anton Farygin 2026-01-28 10:30:57 MSK
(Ответ для Aleksandr Shamaraev на комментарий #112)
> cdogs-sdl (пакет Igor Vlasenko, в июне 2025 я поправил ему FTBS, так как он
> стоял на удаление роботом в EPERM, в октябре 2025 я его обновил и исправил
> ошибку сегментации, приложение падало при старте во время инициализации
> звука, буквально на днях вышла новая версия, правда апстрим так и не
> исправил ошибку сегметации, ну я обновли пакет)
> 
> https://packages.altlinux.org/ru/tasks/406223/


С этим пакетом всё просто - если он от роботов Игоря уходит к человеческому сопровождению, то его надо приводить в порядок - зачищать спек от мусора, собирать из гита и делать остальные телодвижения как будто пакет собираете с нуля, но сохраняя старую историю изменений.
Comment 121 Aleksandr Shamaraev 2026-01-28 10:47:44 MSK
Большое спасибо за апрувы.

По замечаниям я понял, буду работать. Потом Вам отпишусь.
Comment 122 Aleksandr Shamaraev 2026-01-29 03:20:53 MSK
(Ответ для Anton Farygin на комментарий #116)
> https://git.altlinux.org/tasks/406478/gears/200/git в этом проекте очистку
> вендоринга от политики лучше делать не отдельным коммитом, а ещё до коммита.
> 
> Иначе нам придётся закрывать доступ к его гиту.

Добрый день.

Пересобрал, вычистил вендоринг до коммита. Прошу Вас рассмотреть

https://packages.altlinux.org/ru/tasks/406478/
Comment 123 Aleksandr Shamaraev 2026-01-29 03:29:13 MSK
(Ответ для Anton Farygin на комментарий #119)
> +* Mon Jan 26 2026 Aleksandr Shamaraev <shad@altlinux.org> 0.1.6-alt2
> +- update to git.e8a4f030
> +- changed license tag
> 
> Тут в changelog не указано основное изменение + время в одном случае past
> simple, в другом 
> present simple. Надо однообразно и лучше всегда в past simple. И вы в
> сообщении написали много ценной информации про сделанное изменение, но лучше
> эту информацию дать в commit message или specfile или и там и там. 
> Хотя бы в commit message.

Пересобрал пакеты spruce и gnome-shell-extension-hanabi

исправил время, также сделал расширенные коммиты

https://git.altlinux.org/tasks/406218/gears/200/git?p=git;a=commit;h=3c562ab3ef7a072818c563c8d7ea0de72699bbd5

https://git.altlinux.org/tasks/406219/gears/200/git?p=git;a=commit;h=7602f496ede56aab0313e09c8f514822d52ae2bc

прошу Вас рассмотреть

spruce

https://packages.altlinux.org/ru/tasks/406218/

gnome-shell-extension-hanabi

https://packages.altlinux.org/ru/tasks/406219/
Comment 124 Aleksandr Shamaraev 2026-01-29 04:46:30 MSK
(Ответ для Anton Farygin на комментарий #117)
> Тут Packager лишнее - он только вводит в заблуждение. Проект реально
> сопровождается вами, зачем там Артём указан непонятно.
> 
> Плюс у проекта хороший гит в апстриме, зачем его надо собирать из тарболла
> непонятно. попробуйте переехать на схему сборки из git.
> ну и по спеку стоит пройтись и самому его заревьювить, там есть что
> поправить - например
> %_man1dir/%name.1.xz лучше указывать как 5 %_man1dir/%name.1.*

я перевез fastfetch на сборку из git, немного поправил спец, как мне думается было бы логично. 

вроде все нормально, все собралось

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

посмотрите пожалуйста

https://packages.altlinux.org/ru/tasks/406216/
Comment 125 Anton Farygin 2026-01-29 09:40:29 MSK
(Ответ для Aleksandr Shamaraev на комментарий #124)
> (Ответ для Anton Farygin на комментарий #117)
> > Тут Packager лишнее - он только вводит в заблуждение. Проект реально
> > сопровождается вами, зачем там Артём указан непонятно.
> > 
> > Плюс у проекта хороший гит в апстриме, зачем его надо собирать из тарболла
> > непонятно. попробуйте переехать на схему сборки из git.
> > ну и по спеку стоит пройтись и самому его заревьювить, там есть что
> > поправить - например
> > %_man1dir/%name.1.xz лучше указывать как 5 %_man1dir/%name.1.*
> 
> я перевез fastfetch на сборку из git, немного поправил спец, как мне
> думается было бы логично. 
> 
> вроде все нормально, все собралось
> 
> я там постарался максимально прокомментировать свои действия, чтоб опять
> потом не переделывать :)
> 
> посмотрите пожалуйста
> 
> https://packages.altlinux.org/ru/tasks/406216/

79b360ada9fc6ab21027640d3ad6d0042707dc61 - вот этот коммит не нужен. 
Вместо этого можно сделать так:
- в старом пакете переместить всё что нужно для сборки пакета в один каталог (в тот же .gear) и закоммитить изменения.
- очистить git (git reset --hard HEAD && git clean -d -f)
- добавить в ~/.gitconfig вот такую запись:

[alias]
    up-merge = "!f(){ \
      base=\"$1\"; \
      git merge --no-commit --allow-unrelated-histories -s ours \"$base\" && \
      git restore --source=\"$base\" --staged --worktree -- . ':(exclude).gear/' && \
      git commit -m \"Merge $base (preserve .gear/)\"; \
    }; f"

Далее выполнить git up-merge на апстримный tag нужной версии - .gear со всей историей переедет на git дерево upstream и далее останется только поправить спекфайл и .gear/rules, сделать gear-update-tag -a -c

т.е. - вот эти коммиты в пакете не нужны:

commit 84fa48e4cb4c40a34c52fac77dad013e5ef2158f
Author: Aleksandr Shamaraev <shad@altlinux.org>
Date:   Thu Jan 29 12:28:30 2026 +1100

    - removed *.orig files
    
    Remnants of the conflict merge were removed

commit ddade1e465a3470e34ec8f7a910bfec65f900e25
Author: Aleksandr Shamaraev <shad@altlinux.org>
Date:   Thu Jan 29 12:22:25 2026 +1100

    - spec file changed

commit 9ebb9c0f89872ba616561144d5b5161de353d599
Author: Aleksandr Shamaraev <shad@altlinux.org>
Date:   Thu Jan 29 12:02:19 2026 +1100

    - fixed conflicts

commit e90e6c1a3ec251218c80dd8bd59df33f9077586d
Merge: 0689a5b6 b81c4a04
Author: Aleksandr Shamaraev <shad@altlinux.org>
Date:   Thu Jan 29 12:01:10 2026 +1100

    Merge tag '2.58.0' into sisyphus

commit 0689a5b66d8dc4cd6a8e575d239f2ba1d274d675
Author: Aleksandr Shamaraev <shad@altlinux.org>
Date:   Thu Jan 29 11:47:11 2026 +1100

    - mooved spec file and changed rules

commit 79b360ada9fc6ab21027640d3ad6d0042707dc61
Author: Aleksandr Shamaraev <shad@altlinux.org>
Date:   Thu Jan 29 11:45:30 2026 +1100

    - removed upstream tarball

По спекфайлу:
%check
pushd %_cmake__builddir
ctest
popd

есть макрос для ctest

И зачем нужно %define fetch fetch я вообще не понял.

Всё остальное нормально.
Comment 126 Aleksandr Shamaraev 2026-01-30 01:38:55 MSK
(Ответ для Anton Farygin на комментарий #125)
> 79b360ada9fc6ab21027640d3ad6d0042707dc61 - вот этот коммит не нужен. 
> Вместо этого можно сделать так:
> - в старом пакете переместить всё что нужно для сборки пакета в один каталог
> (в тот же .gear) и закоммитить изменения.
> - очистить git (git reset --hard HEAD && git clean -d -f)
> - добавить в ~/.gitconfig вот такую запись:
> 
> [alias]
>     up-merge = "!f(){ \
>       base=\"$1\"; \
>       git merge --no-commit --allow-unrelated-histories -s ours \"$base\" &&
> \
>       git restore --source=\"$base\" --staged --worktree -- .
> ':(exclude).gear/' && \
>       git commit -m \"Merge $base (preserve .gear/)\"; \
>     }; f"
> 
> Далее выполнить git up-merge на апстримный tag нужной версии - .gear со всей
> историей переедет на git дерево upstream и далее останется только поправить
> спекфайл и .gear/rules, сделать gear-update-tag -a -c
> 

Добрый день.

Большое спасибо за разъяснения, взял на вооружение.

> 
> По спекфайлу:
> %check
> pushd %_cmake__builddir
> ctest
> popd
> 
> есть макрос для ctest
> 
> И зачем нужно %define fetch fetch я вообще не понял.
> 
> Всё остальное нормально.

Переделал задание с учетом замечаний, посмотрите пожалуйста.

https://packages.altlinux.org/ru/tasks/406216/
Comment 127 Aleksandr Shamaraev 2026-01-30 03:17:58 MSK
(Ответ для Anton Farygin на комментарий #120)
> С этим пакетом всё просто - если он от роботов Игоря уходит к человеческому
> сопровождению, то его надо приводить в порядок - зачищать спек от мусора,
> собирать из гита и делать остальные телодвижения как будто пакет собираете с
> нуля, но сохраняя старую историю изменений.

Я перевел cdogs-sdl на сборку из git, выправил спек,Обновил до последней версии, собрал проверил, все работает.

Прошу посмотрите пожалуйста

https://packages.altlinux.org/ru/tasks/406223/
Comment 128 Aleksandr Shamaraev 2026-01-30 06:29:48 MSK
Прошу Вас рассмотреть обновление пакета nuclei и если Вы не против заапрувить.

данный пакет я взял на сопровождение в Сизиф с ноября 2025 как сломанный и ноубоди

https://packages.altlinux.org/ru/tasks/406679/
Comment 129 Anton Farygin 2026-01-30 10:14:58 MSK
(Ответ для Aleksandr Shamaraev на комментарий #126)
> 
> Переделал задание с учетом замечаний, посмотрите пожалуйста.
> 
> https://packages.altlinux.org/ru/tasks/406216/
https://git.altlinux.org/tasks/406216/gears/300/git?p=git;a=commitdiff;h=142450f6ed8ffdccd610e532983b200f664d7e3b

Удалять каталог fastfetch не нужно в этом коммите. git справится сам в следующем.
Comment 130 Anton Farygin 2026-01-30 10:17:50 MSK
(Ответ для Aleksandr Shamaraev на комментарий #127)
> (Ответ для Anton Farygin на комментарий #120)
> > С этим пакетом всё просто - если он от роботов Игоря уходит к человеческому
> > сопровождению, то его надо приводить в порядок - зачищать спек от мусора,
> > собирать из гита и делать остальные телодвижения как будто пакет собираете с
> > нуля, но сохраняя старую историю изменений.
> 
> Я перевел cdogs-sdl на сборку из git, выправил спек,Обновил до последней
> версии, собрал проверил, все работает.
> 
> Прошу посмотрите пожалуйста
> 
> https://packages.altlinux.org/ru/tasks/406223/

https://git.altlinux.org/tasks/406223/gears/200/git?p=git;a=commitdiff;h=9363739e844afb4840b77e2bb90f9434ab261b71

Тут такая же история - каталог со старыми исходниками удалять не нужно.

По спеку - если не используете, то эта строка лишняя (осталось от робота):
+%define _localstatedir %_var

Всё остальное нормально.
Comment 131 Aleksandr Shamaraev 2026-01-30 12:57:46 MSK
(Ответ для Anton Farygin на комментарий #129)
> > https://packages.altlinux.org/ru/tasks/406216/
> https://git.altlinux.org/tasks/406216/gears/300/git?p=git;a=commitdiff;
> h=142450f6ed8ffdccd610e532983b200f664d7e3b
> 
> Удалять каталог fastfetch не нужно в этом коммите. git справится сам в
> следующем.

Спасибо за апрув.

Задание пересобрал, посмотрите пожалуйста.

https://packages.altlinux.org/ru/tasks/406216/
Comment 132 Aleksandr Shamaraev 2026-01-30 13:01:46 MSK
(Ответ для Anton Farygin на комментарий #130)
> https://git.altlinux.org/tasks/406223/gears/200/git?p=git;a=commitdiff;
> h=9363739e844afb4840b77e2bb90f9434ab261b71
> 
> Тут такая же история - каталог со старыми исходниками удалять не нужно.
> 
> По спеку - если не используете, то эта строка лишняя (осталось от робота):
> +%define _localstatedir %_var
> 
> Всё остальное нормально.

Пересобрал задание, посмотрите пожалуйста.

https://packages.altlinux.org/ru/tasks/406223/
Comment 133 Anton Farygin 2026-01-30 13:26:27 MSK
отличная работа. 
Кандидат готов к самостоятельному сопровождению пакетов и освоил все необходимые для этого базовые навыки.

@shad: если что-то надо будет поревьювить присылайте в почту.
Comment 134 Aleksandr Shamaraev 2026-01-30 13:30:35 MSK
(Ответ для Anton Farygin на комментарий #133)
> отличная работа. 
> Кандидат готов к самостоятельному сопровождению пакетов и освоил все
> необходимые для этого базовые навыки.
> 
> @shad: если что-то надо будет поревьювить присылайте в почту.

Больше Вам спасибо.

С уважением.
Comment 135 Gleb F-Malinovskiy 2026-01-31 20:00:52 MSK
Пользователь добавлен в группу мейнтейнеров.

Желаю удачного мейнтейнерства!
Comment 136 ruslandh 2026-01-31 20:20:10 MSK
Поздравляю Александра :-)
Comment 137 X1Z53 2026-01-31 20:25:20 MSK
?
Comment 138 Grigory Ustinov 2026-01-31 21:10:01 MSK
Примите мои поздравления тоже!
Comment 139 Aleksandr Shamaraev 2026-02-01 02:13:45 MSK
Большое спасибо