Bug 50539 - [4.0] join shad@
Summary: [4.0] join shad@
Status: ASSIGNED
Alias: None
Product: Team Accounts
Classification: Development
Component: join (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 normal
Assignee: Gleb F-Malinovskiy
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-04 03:39 MSK by Aleksandr Shamaraev
Modified: 2025-02-16 11:50 MSK (History)
7 users (show)

See Also:


Attachments
gpg (3.01 KB, application/vnd.apple.keynote)
2024-06-04 03:39 MSK, Aleksandr Shamaraev
no flags Details
ssh (96 bytes, application/vnd.ms-publisher)
2024-06-04 03:40 MSK, Aleksandr Shamaraev
no flags Details
gpg.pub (5.93 KB, application/vnd.ms-publisher)
2024-06-18 08:06 MSK, Aleksandr Shamaraev
no flags Details
gpgkey.pub (3.01 KB, application/vnd.ms-publisher)
2024-06-19 00:13 MSK, Aleksandr Shamaraev
no flags Details
id_ed25519.pub (101 bytes, application/vnd.ms-publisher)
2024-06-19 00:15 MSK, Aleksandr Shamaraev
no flags Details
startwine-launcher (5.34 KB, application/x-xz)
2024-09-22 04:12 MSK, Aleksandr Shamaraev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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