Created attachment 16215 [details] gpg Псевдоним: shad Почта: Aleksandr Shamaraev <shad@altlinux.org> Адрес пересылки почты: mr.shad@yandex.ru Имя ментора: Andrew Savchenko Почта ментора: bircoph@altlinux.org Цель: Научиться и собирать пакеты
Created attachment 16216 [details] ssh
Created attachment 16284 [details] gpg.pub
(In reply to Aleksandr Shamaraev from comment #2) > Created attachment 16284 [details] > gpg.pub В этом файле 2 ключа, а нужен только один.
Created attachment 16290 [details] gpgkey.pub
Created attachment 16291 [details] id_ed25519.pub Здравствуйте. Прошу прощения. Все переделал, проверьте пожалуйста С уважением
Прошу прощения. Хотел бы продолжить
То что я насобирал.. - damask - metadata-cleaner - msgextract - python3-module-mat2 - startwine-launcher - updo - clicker (уже есть в сизиф) все спеки и пакеты по ссылке ниже https://disk.yandex.ru/d/s63KU9NDYhqUQg
Поменял облако https://cloud.mail.ru/public/FkKy/xSEPeSPLT
Прошу изменить адрес пересылки почты на: delphicoder@bk.ru
Ключи, вроде, в порядке, нужно подтверждение от ментора.
Собрал новый Startwine startwine-launcher-4.0.6-alt1.x86_64.rpm
Собрал новый пакет gnome-shell-extension-dynamic-panel-2.7-alt1.noarch.rpm
Хотел бы сменить ментора на Hihin Ruslan (ruslandh)
Я первый раз меннтором, так что не обессудьте, если что ;-)
Собран обновленный gnome-shell-extension-dynamic-panel-2.8
Александр, я так подумал, а ты не можешь выложить свой пакет на какой-нибудь ресурс git
Добрый день. Форк 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 Что ни будь нужно еще добавить?
Created attachment 16881 [details] startwine-launcher startwine-launcher также собираю через rpm -ba также в самом апстрим коде я убираю все что связано с curl, так как на версии 4.0.5 я заметил что curl на Альте почему-то плохо отрабатывал на Сизиф, поразмыслив я его выпилил. По факту лаунчер при первом запуске и при обновлении работает через wget Также со спека создается ярлык, который запускает данный лаунчер. По логике апстрима если все компоненты загружены и нет обновления, то скрипт запускает сам СтартВайн.. То есть по факту получается с апстрим я беру только скрипт лаунчера и картинку для ярлычка, выпиливаю curl и создаю ярлык Архив во вложении Ссылка на апстрим https://github.com/RusNor/StartWine-Launcher файл измененного апстрим во вложении
(Ответ для 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 > > Что ни будь нужно еще добавить? Так ты сделай рабочую ветку (бренч) для сборки и бренч именно для работы с апстримом. Это в принципе так и задумано было
Сделал отдельную для сборки https://github.com/AlexanderShad/dynamic-panel/tree/altlinux
собран новый msgextract msgextract-0.2-alt1.noarch.rpm
Я скопирую сюда разговоры из телеграмма: Один нюанс сам каталог не должен входить в 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
И ещё: Личная просьба - у нас на altwiki инфоормация по работе с gear очень распылена, было-бы неплохо если-бы вы Александр, написали-бы свою статью на основе личного опыта работы с gear. Указав-бы кроме всего прочего ссылки на другие статьи на wiki. С тем, чтобы тем кто будет за вами изучать работу с Gear было-бы попроще ;-)
Подтверждаю, что согласился быть ментором. Псевдоним shad свободен. Ключи выглядят нормально. Прошу предоставить кандидату доступ к git.alt
Собран новый gnome-shell-extension-dynamic-panel С учетом замечаний ментора gnome-shell-extension-dynamic-panel-3.0-alt1.noarch.rpm
Собран новый gnome-shell-extension-dynamic-panel gnome-shell-extension-dynamic-panel-3.3-alt1.noarch.rpm
Собран новый пакет pyradio pyradio-0.9.3.11-alt1.noarch.rpm
Собран новый gnome-shell-extension-dynamic-panel gnome-shell-extension-dynamic-panel-3.4-alt1.noarch.rpm
Собран новый gnome-shell-extension-dynamic-panel gnome-shell-extension-dynamic-panel-3.5-alt1.noarch.rpm
Прошу предоставить кандидату доступ к сборочнице Локально пакеты он умеет собирать пакеты.
Пересобран пакет с учетом измененной лицензии gnome-shell-extension-dynamic-panel-3.5-alt2.noarch.rpm
Собран новый пакет для gnome 47 gnome-shell-extension-netspeedsimplified-43-alt1.noarch.rpm
обновлен пакет gnome-shell-extension-dynamic-panel-4.0-alt1.noarch.rpm
обновлен пакет gnome-shell-extension-dynamic-panel-4.1-alt1.noarch.rpm
Вернул код апстрим и пересобрал startwine-launcher-4.0.6-alt1.1.x86_64.rpm
Собран новый пакет gnome-shell-extension-gnome-runcat-28-alt1.noarch.rpm
ssh ключ на gitery.alt зарегистрирован. Адрес для пересылки создан. T/J/S -> 2.3.
закинул свои пакеты на gitery
Переделал, пересобрал и перезалил pyRadio в соответствии с замечаниям ментора python3-module-pyradio-0.9.3.11-alt1.3.noarch.rpm
(Ответ для 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 Какой жуткий мрак. Надеюсь, в таком виде это не попадёт даже близко к сизифу.
И ещё у меня вопрос. Что тут вообще происходит? Зачем собирать все эти дополнения, если они прекрасно устанавливаются в один клик из менеджера дополнений?
(Ответ для 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 > > Какой жуткий мрак. Надеюсь, в таком виде это не попадёт даже близко к сизифу. Добрый день, а можно больше конкретики?
(Ответ для Grigory Ustinov на комментарий #41) > И ещё у меня вопрос. Что тут вообще происходит? Зачем собирать все эти > дополнения, если они прекрасно устанавливаются в один клик из менеджера > дополнений? Не сочтите за грубость, а почему нет? Мне действительно любопытно, учитывая, что в репозитории по факту есть gnome-shell-extension-gsconnect gnome-shell-extension-appindicator gnome-shell-extension-blur-my-shell gnome-shell-extension-caffeine и так далее
(Ответ для 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 > > Какой жуткий мрак. Надеюсь, в таком виде это не попадёт даже близко к сизифу. Спасибо за замечание. Хотелось-бы поменьше эмоций, побольше технических замечаний. Буду рад, если вы их конкретизируйте.
(Ответ для 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 с тем же результатом.
Вы бы для начала хоть посмотрели какой-нибудь другой python3-модуль, для референса так сказать. Как вообще люди делают. Процесс принятия в тим - это обучение сборке ожидаемым и понятным для сообщества способом. Ваша задача освоить альт-специфику сборки пакетов. Большая часть информации и требований к пакетам описана на вики. Для остального есть ментор.
(Ответ для 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. Спасибо, проверю. В любом случае еще раз большое спасибо за развернутый ответ. С уважением
Спасибо за замечания ;-)
(Ответ для Grigory Ustinov на комментарий #46) > Вы бы для начала хоть посмотрели какой-нибудь другой python3-модуль, для > референса так сказать. Как вообще люди делают. Процесс принятия в тим - это > обучение сборке ожидаемым и понятным для сообщества способом. Ваша задача > освоить альт-специфику сборки пакетов. Большая часть информации и требований > к пакетам описана на вики. Для остального есть ментор. Большое спасибо. Я буду Вам признателен, если Вы мельком гляните на еще один пакет, если Вас конечно это не затруднит https://git.altlinux.org/people/shad/packages/?p=mat2.git;a=summary Заранее спасибо. С уважением
А какой смысл смотреть другой пакет, если там все те же самые ошибки не исправлены?
(Ответ для Grigory Ustinov на комментарий #50) > А какой смысл смотреть другой пакет, если там все те же самые ошибки не > исправлены? Я Вас понял, завтра поправлю с учетом Ваших замечаний и рекомендаций, сейчас у меня почти ночь уже Еще раз большое спасибо С уважением
Добрый день. Я переделал 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. Заранее Вас благодарю. С уважением
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 надо убрать. Сборочница автоматически выявляет зависимости. То есть эта строчка мало того что лишняя, она может ещё и вызвать проблемы при обновлении пакета.
6. desktop файл наверное логичнее переименовать в pyradio.desktop. Ведь он относится к бинарю, а не к модулю.
(Ответ для Grigory Ustinov на комментарий #53) > 5. Тэг Requires надо убрать. Сборочница автоматически выявляет зависимости. > То есть эта строчка мало того что лишняя, она может ещё и вызвать проблемы > при обновлении пакета. Здравствуйте, спасибо за замечания и наставления. Буду разбираться с использованием гит, а не srmp. По поводу Requires, проблема в том, что я в Requires оставил только то, что не подхватывается автоматически, и пакет после сборки просто не работает. Сначала ругается на то что нет подходящего плеера, апстрим гарантирует работу с тремя на выбор, я взял mpv как самый легкий, после подстановки плеера он начинает ругаться на зависимости которых не хватает.
Я просто не могу проверить, тестовая сборка в сборочнице подтянет все зависимости или нет, локально нет, к сожалению
Тогда ждите, когда выдадут доступ к сборочнице.
Ну, тестовую сборку я могу для тебя провести, что-бы ты смог проверить, что всё работает, это не проблема.
Если что, предыдущее обращение к Александру ;-)
Но, странно, если не хватаются зависимости. Посмотри, Александр в коде как вызываются нужные программы, возможно они вызываются через какие-то переменные, неявно , и поэтому хэшер их не ловит.
Добрый день. По поводу зависимостей. По факту, как уже говорил, при локальной сборке не хватает двух пакетов по зависимостям 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 Руслан, не могли бы Вы сделать тестовое задание, проверить, найдет ли сборочница зависимости двух пакетов питон. С уважением
собрал новый пакет для работы с маркдавн для кедов klevernotes
(Ответ для 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 эти два модуля?
(Ответ для 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. Заодно почитайте про рекомендуемый порядок тэгов в спек-файле. Мне кажется, что мы идём не туда и стало только хуже. Изначально я хотел поправить только вашу питоновскую часть, а сейчас приходится быть соментором и описывать базовые вещи, касающиеся вообще любых пакетов.
(Ответ для 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 вы точно не поняли на том уровне, который хотелось бы > видеть от участника тим=) Вот это если честно не понял
(Ответ для Aleksandr Shamaraev на комментарий #65) > > 3. Как работает gear вы точно не поняли на том уровне, который хотелось бы > > видеть от участника тим=) > > Вот это если честно не понял Если вы указываете архивирование тэга, то никакие .gear в хэшер не попадают и эксклюдить их не нужно.
Кандидат готов собирать пакеты . Прошу предоставить кандидату доступ к сборочнице.
(Ответ для Grigory Ustinov на комментарий #66) > Если вы указываете архивирование тэга, то никакие .gear в хэшер не попадают > и эксклюдить их не нужно. Спасибо, понял
ssh ключ на gyle.alt зарегистрирован. Пакет alt-gpgkeys обновлён. Адрес подписан на devel@. T/J/S -> 3.6.
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. Александр, я думаю вам стоит представить все собранные вами пакеты, их особенности и краткое описание, что-бы рецензенту было проще познакомиться с ними.
Добрый день. Тезисно по собранным пакетам: 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 --- в заключении могу добавить, что как работать с патчами, с субмодулями и вендорингом мне понятно, ну собственно я и работаю с ними. Возможно я выше не во всем описании указал где используется патчи, субмодули и вендоринг. С уважением.
Здравствуйте 24. python3-module-soundcard питон пакет собираемый как зависимость для пакета который я еще не собрал (в процессе) https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-soundcard/3168291129802418329
Здравствуйте 25. pyzam питон пакет для распознавания музыки, как с колонок (к примеру с радио) так и из файлов, собственно для него собирались все выше зависимости, которых не было в Сизифе. также я не мог понять почему он не видит провайдеринг от climage ... поднял логи сборки climage... и немного исправил вызов в pyzam в спеке через subst , по факту это нужно для картинке в терминале, когда он определит что за композиция играет. https://packages.altlinux.org/ru/sisyphus/srpms/pyzam/3168727780685646059
Исправлена ошибка пересборки пано https://bugzilla.altlinux.org/52804
также хотел дополнить, что из-за моих экспериментов, назовем это так, была найдена ошибка в пакете python3-module-pydub , которую потом поправили https://bugzilla.altlinux.org/52814 и также найдена еще одна интересная ситуация с провайдерингами, которую быстро поправили коллеги пере собрав мой пакет, и python3-module-pikepdf В любом случае опыт хороший для меня. Спасибо Григорию за наставления.
Здравствуйте 26. python3-module-sphinx-better-subsection модуль для сфинкса, собран как зависимость для сборки документации https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-sphinx-better-subsection/3175429278219669364
Здравствуйте 27. python3-module-sphinx-reredirects модуль для сфинкса, собран как зависимость для сборки документации https://packages.altlinux.org/ru/sisyphus/srpms/python3-module-sphinx-reredirects/3175713112724118914
Здравствуйте 28/29. игрушка unvanquished и данные от нее unvanquished-data https://packages.altlinux.org/ru/sisyphus/srpms/unvanquished/3176793834902624942 https://packages.altlinux.org/ru/sisyphus/srpms/unvanquished-data/3176813112145042377
Доброго дня. Прошу не счесть за наглость, а можно ли мне как-то получить возможность писать вопросы в рассылку devel ? просто есть одна проблемка, которую хотелось вынести на обсуждение, так как я не пойму глюк сборочницы это, или глюк апстрима, но после пересборки пакета (rebuild) ничего в нем не меняя, происходит магия... FTBFS улетучивается и жизнь прекрасна... по этому возникает вопрос к возможному глюку сборочницы Или пока я закончу процедуру принятия, devel рассылки мне тоже не видать? :) заранее благодарю за ответ С уважением.
прошу прощения, не допечатал. "Или пока я не закончу процедуру принятия, devel рассылки мне тоже не видать? :)"
(Ответ для Aleksandr Shamaraev на комментарий #79) > Доброго дня. > > Прошу не счесть за наглость, а можно ли мне как-то получить возможность > писать вопросы в рассылку devel ? > > просто есть одна проблемка, которую хотелось вынести на обсуждение, так как > я не пойму глюк сборочницы это, или глюк апстрима, но после пересборки > пакета (rebuild) ничего в нем не меняя, происходит магия... FTBFS > улетучивается и жизнь прекрасна... по этому возникает вопрос к возможному > глюку сборочницы > > Или пока я закончу процедуру принятия, devel рассылки мне тоже не видать? :) > > заранее благодарю за ответ > > С уважением. К сожалению, у вас есть возможность задавать в девел такие вопросы. Но на этапе джойна лучше сначала спрашивать у ментора. Да, сборочницу глючит. Каждый день некоторые пакеты не собираются в зависимости от положения звёзд. Часто так бывает, что какому-то пакету не хватило ресурсов на пересборочнице. Поэтому приходится исправлять только те пакеты, которые уже неделю не пересобираются.
Если пакет не пересобирается с вероятностью выше 0 но ниже 1, это почти всегда из-за кривизны пакета.
Я понял. Большое спасибо за ответы. С уважением.
(Ответ для Dmitry V. Levin на комментарий #82) > Если пакет не пересобирается с вероятностью выше 0 но ниже 1, это почти > всегда из-за кривизны пакета. Пользуясь случаем, привлеку внимание к этой идее: https://bugzilla.altlinux.org/50306
Доброго времени суток. Прошу не счесть за дерзость, но все же хочу спросить, что на счет моего джоина? Через 3 месяца будет год как запросили рецензента, и полтора как база создана.
Мне неудобно спрашивать, но всё-же, у кого-то есть притензии к Александру, или ко мне ? Уже скоро год как ждём рецензента.
Призван рецензент (rider@) для независимой оценки готовности кандидата. T/J/S -> 4.2.
Этот пакет надо исправить для соответствия SharedLibsPolicy: https://packages.altlinux.org/ru/sisyphus/srpms/pdf4qt/3301869017402687601 и этот: https://packages.altlinux.org/ru/sisyphus/srpms/libzmf/3301270729374154684 Остальное выборочно посмотрел, выглядит неплохо. Но с SharedLibsPolicy вы не разобрались.
Добрый день. Подсмотрите пожалуйста. > https://packages.altlinux.org/ru/sisyphus/srpms/pdf4qt/3301869017402687601 https://packages.altlinux.org/ru/tasks/405791/ > https://packages.altlinux.org/ru/sisyphus/srpms/libzmf/3301270729374154684 https://packages.altlinux.org/ru/tasks/405792/ С уважением.
(Ответ для 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. > > С уважением.
> -%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 остаётся в репозитории под переименованным именем. Учитывая это я подумал, что правильно оставить как есть, так как имя апстримное. Или его все же нужно переименовать?
хотя мне кажется я сейчас возможно сказал глупость.. поправлю все
> -%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/ Посмотрите пожалуйста, когда у Вас будет время.
(Ответ для 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 ?
> +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 и маски, сейчас уже поздний вечер у меня. как будет готово, сразу отпишу
Добрый день. Переделал. Посмотрите пожалуйста, когда у Вас будет время. https://packages.altlinux.org/ru/tasks/405791/ https://packages.altlinux.org/ru/tasks/405792/ С уважением.
Также прошу Вас рассмотреть обновление пакета SongRec и если Вы не против, заапрувить https://packages.altlinux.org/ru/tasks/405887/
Добрый день. Прошу Вас рассмотреть обновление пакета alt-mirror-switcher с исправлением зарегистрированной ошибки ALT #57565 и если Вы не против, заапрувить https://packages.altlinux.org/ru/tasks/405964/
Добрый день. Прошу Вас рассмотреть обновление пакета pyradio и если Вы не против, заапрувить https://packages.altlinux.org/ru/tasks/406208/ также пересборал заново собираться PDF4QT с учетом выхода новой версии https://packages.altlinux.org/ru/tasks/405791/
> также пересборал заново собираться PDF4QT с учетом выхода новой версии > Прошу прощение, опечатка также пересборал заново PDF4QT*
(Ответ для 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 всегда сообщает о различии веток и отказывается переключать зеркало даже при отсутствии дополнительных списков. Я бы вообще сделал по другому и все листы сразу упаковал в основной пакет, а в зависимости от используемой ветки брал те или иные данные.
(Ответ для Aleksandr Shamaraev на комментарий #100) > > также пересборал заново собираться PDF4QT с учетом выхода новой версии > > > Прошу прощение, опечатка > > также пересборал заново PDF4QT* 74 %_libdir/libPdf4QtLibGui.so.* 75 %_libdir/libPdf4QtLibGui.so не соответсвует SharedLibsPolicy
(Ответ для Anton Farygin на комментарий #102) > 74 %_libdir/libPdf4QtLibGui.so.* > 75 %_libdir/libPdf4QtLibGui.so > > не соответсвует SharedLibsPolicy Если позволите, я объясню почему я не вынес это сразу в отдельный пакет и решил эту библиотеку оставить в составе основного пакета. Дело в том, что если бы, к примеру, приложение для просмотра PDF, для сравнения разницы (diff) между PDF, компоновщик (назовем его так) PDF и сам редактор PDF были бы вынесены в отдельные пакеты, тогда было бы логично эту сошку вытаскивать в соответствии с политикой, но учитывая, что есть общий лаунчер этих приложений, я все это дело завернул в один пакет + в самом devel в include насколько я понимаю она не используется, там именно те две другие so которые вынесены согласно полиси, и насколько я понимаю libPdf4QtLibGui нужно для работы всех вышеуказанных приложений, для них она общая, да, но они все физически в одном пакете... в любом случае, замечание я понял, пере соберу с выносом в отдельный пакет согласно политики как сделаю, отпишусь Вам
можно оставить в основном, но тогда сделать так что бы с ней нельзя было слинковаться.
(Ответ для 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 остается только первый, собственно почему и произошла эта ошибка, так как в списке вышел другой пакет первым. > Я бы вообще сделал по другому и все листы сразу упаковал в основной пакет, а > в зависимости от используемой ветки брал те или иные данные. мне показалось удобнее разбить
mirror switcher заапрувил - у меня нет задачи в рамках JOIN делать ревью этому проекту, я смотрю только сборку. С точки зрения сборки вопросов не возникло.
про проекту https://altlinux.space/aleksandershad/alt-mirror-switcher - т.к. это Python, то рекомендую покрыть весь код CI тестами и добавить в пакет секцию check. Тогда будет проще сопровождать.
(Ответ для Anton Farygin на комментарий #107) > про проекту https://altlinux.space/aleksandershad/alt-mirror-switcher - т.к. > это Python, то рекомендую покрыть весь код CI тестами и добавить в пакет > секцию check. Тогда будет проще сопровождать. Сам проект Python консольная утилита Perl
(Ответ для Anton Farygin на комментарий #106) > mirror switcher заапрувил - у меня нет задачи в рамках JOIN делать ревью > этому проекту, я смотрю только сборку. > > С точки зрения сборки вопросов не возникло. Спасибо
(Ответ для Aleksandr Shamaraev на комментарий #108) > (Ответ для Anton Farygin на комментарий #107) > > про проекту https://altlinux.space/aleksandershad/alt-mirror-switcher - т.к. > > это Python, то рекомендую покрыть весь код CI тестами и добавить в пакет > > секцию check. Тогда будет проще сопровождать. > > Сам проект Python > > консольная утилита Perl Это не важно - perl точно так же как и python лучше обвязывать тестами. На самом деле тестами лучше всё обвязывать, но если в случае с компилируемыми языками крайней мере есть какие-то проверки на этапе компиляции, то в скриптовых совсем плохо.
(Ответ для 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 подумал, что пусть лучше будет так, чтоб потом было видно при обновлениях, что новое не упаковалось, если вдруг, что появилось
Большое спасибо за разъяснения и апрув. На данный момент в 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/
Добрый день. Я тут нашел в Сизиф сломанный @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/
Также прошу Вас рассмотреть добавление нового пакета proxsave в Сизиф https://packages.altlinux.org/ru/tasks/406478/
(Ответ для Aleksandr Shamaraev на комментарий #113) > https://packages.altlinux.org/ru/tasks/406469/ отличная работа, спасибо.
(Ответ для Aleksandr Shamaraev на комментарий #114) > Также прошу Вас рассмотреть добавление нового пакета proxsave в Сизиф > > https://packages.altlinux.org/ru/tasks/406478/ https://git.altlinux.org/tasks/406478/gears/200/git в этом проекте очистку вендоринга от политики лучше делать не отдельным коммитом, а ещё до коммита. Иначе нам придётся закрывать доступ к его гиту.
(Ответ для Aleksandr Shamaraev на комментарий #112) > fastfetch (пакет Artyom Bystrov, но я у него спрашивал разрешение на > продолжение обновлений пакета, после того как исправил ошибку вывода на KDE, > он не возражает) > > https://packages.altlinux.org/ru/tasks/406216/ Тут Packager лишнее - он только вводит в заблуждение. Проект реально сопровождается вами, зачем там Артём указан непонятно. Плюс у проекта хороший гит в апстриме, зачем его надо собирать из тарболла непонятно. попробуйте переехать на схему сборки из git. ну и по спеку стоит пройтись и самому его заревьювить, там есть что поправить - например %_man1dir/%name.1.xz лучше указывать как 5 %_man1dir/%name.1.*
(Ответ для 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.
(Ответ для 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.
(Ответ для Aleksandr Shamaraev на комментарий #112) > cdogs-sdl (пакет Igor Vlasenko, в июне 2025 я поправил ему FTBS, так как он > стоял на удаление роботом в EPERM, в октябре 2025 я его обновил и исправил > ошибку сегментации, приложение падало при старте во время инициализации > звука, буквально на днях вышла новая версия, правда апстрим так и не > исправил ошибку сегметации, ну я обновли пакет) > > https://packages.altlinux.org/ru/tasks/406223/ С этим пакетом всё просто - если он от роботов Игоря уходит к человеческому сопровождению, то его надо приводить в порядок - зачищать спек от мусора, собирать из гита и делать остальные телодвижения как будто пакет собираете с нуля, но сохраняя старую историю изменений.
Большое спасибо за апрувы. По замечаниям я понял, буду работать. Потом Вам отпишусь.
(Ответ для Anton Farygin на комментарий #116) > https://git.altlinux.org/tasks/406478/gears/200/git в этом проекте очистку > вендоринга от политики лучше делать не отдельным коммитом, а ещё до коммита. > > Иначе нам придётся закрывать доступ к его гиту. Добрый день. Пересобрал, вычистил вендоринг до коммита. Прошу Вас рассмотреть https://packages.altlinux.org/ru/tasks/406478/
(Ответ для 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/
(Ответ для Anton Farygin на комментарий #117) > Тут Packager лишнее - он только вводит в заблуждение. Проект реально > сопровождается вами, зачем там Артём указан непонятно. > > Плюс у проекта хороший гит в апстриме, зачем его надо собирать из тарболла > непонятно. попробуйте переехать на схему сборки из git. > ну и по спеку стоит пройтись и самому его заревьювить, там есть что > поправить - например > %_man1dir/%name.1.xz лучше указывать как 5 %_man1dir/%name.1.* я перевез fastfetch на сборку из git, немного поправил спец, как мне думается было бы логично. вроде все нормально, все собралось я там постарался максимально прокомментировать свои действия, чтоб опять потом не переделывать :) посмотрите пожалуйста https://packages.altlinux.org/ru/tasks/406216/
(Ответ для 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 я вообще не понял. Всё остальное нормально.
(Ответ для 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/
(Ответ для Anton Farygin на комментарий #120) > С этим пакетом всё просто - если он от роботов Игоря уходит к человеческому > сопровождению, то его надо приводить в порядок - зачищать спек от мусора, > собирать из гита и делать остальные телодвижения как будто пакет собираете с > нуля, но сохраняя старую историю изменений. Я перевел cdogs-sdl на сборку из git, выправил спек,Обновил до последней версии, собрал проверил, все работает. Прошу посмотрите пожалуйста https://packages.altlinux.org/ru/tasks/406223/
Прошу Вас рассмотреть обновление пакета nuclei и если Вы не против заапрувить. данный пакет я взял на сопровождение в Сизиф с ноября 2025 как сломанный и ноубоди https://packages.altlinux.org/ru/tasks/406679/
(Ответ для 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 справится сам в следующем.
(Ответ для 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 Всё остальное нормально.
(Ответ для 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/
(Ответ для 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/
отличная работа. Кандидат готов к самостоятельному сопровождению пакетов и освоил все необходимые для этого базовые навыки. @shad: если что-то надо будет поревьювить присылайте в почту.
(Ответ для Anton Farygin на комментарий #133) > отличная работа. > Кандидат готов к самостоятельному сопровождению пакетов и освоил все > необходимые для этого базовые навыки. > > @shad: если что-то надо будет поревьювить присылайте в почту. Больше Вам спасибо. С уважением.
Пользователь добавлен в группу мейнтейнеров. Желаю удачного мейнтейнерства!
Поздравляю Александра :-)
?
Примите мои поздравления тоже!
Большое спасибо