Bug 50539

Summary: [3.6] join shad@
Product: Team Accounts Reporter: Aleksandr Shamaraev <delphicoder>
Component: joinAssignee: Gleb F-Malinovskiy <glebfm>
Status: ASSIGNED --- QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: armatik, glebfm, grenka, ldv, oleg, ruslandh
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.