* [newbies] Vcs, Source, Url fields
@ 2025-09-13 10:38 Alexander Lubyagin
2025-09-13 11:58 ` Anton Farygin
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Alexander Lubyagin @ 2025-09-13 10:38 UTC (permalink / raw)
To: devel-newbies
Добрый день.
По теме предыдущей лекции вспомнился такой вопрос.
В чём назначение и различие полей в SPEC:
Url
Source
Source*
Vcs (например, admsasha/libxml2:sisyphus)
Какими опциями gear/hasher/rpm они "подхватываются"?
И ещё, второй вопрос.
Если при сборке "в песочнице" (gear+hasher), configure+make ругается
в процессе сборки на отсутствие команды git ... очевидно, хочет во время
сборки
что-то динамически "скачать". Но, по итогу, пакет успешно собирается,
т.е. эти downloads были опциональными.
То как принято поступать? Игнорировать, или где-то вести журнал таких
попыток?
Александр Лубягин
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [newbies] Vcs, Source, Url fields 2025-09-13 10:38 [newbies] Vcs, Source, Url fields Alexander Lubyagin @ 2025-09-13 11:58 ` Anton Farygin 2025-09-15 9:23 ` Paul Wolneykien 2025-09-13 13:17 ` Leonid Znamenok 2025-09-13 18:24 ` Leonid Krivoshein 2 siblings, 1 reply; 6+ messages in thread From: Anton Farygin @ 2025-09-13 11:58 UTC (permalink / raw) To: devel-newbies On 9/13/25 13:38, Alexander Lubyagin wrote: > Добрый день. > > По теме предыдущей лекции вспомнился такой вопрос. > > В чём назначение и различие полей в SPEC: > Url Информационный тэг. Служит основным способом определения апстрима > Source > Source* Source* используются для распаковки исходников > Vcs (например, admsasha/libxml2:sisyphus) Vcs информационный тэг, пока используется только на packages.altlinux.org тоже служит способом определения апстрима (git'а). ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [newbies] Vcs, Source, Url fields 2025-09-13 11:58 ` Anton Farygin @ 2025-09-15 9:23 ` Paul Wolneykien 2025-09-15 11:22 ` Anton Farygin 0 siblings, 1 reply; 6+ messages in thread From: Paul Wolneykien @ 2025-09-15 9:23 UTC (permalink / raw) To: devel-newbies В Sat, 13 Sep 2025 14:58:11 +0300 Anton Farygin <rider@altlinux.org> пишет: > On 9/13/25 13:38, Alexander Lubyagin wrote: > > Добрый день. > > > > По теме предыдущей лекции вспомнился такой вопрос. > > > > В чём назначение и различие полей в SPEC: > > Url > > Информационный тэг. Служит основным способом определения апстрима Смотря, что понимать под апстримом. К сожалению, у нас сложилась нехорошая, на мой взгляд, практика, когда в тег "Url:" помещают непосредственно адрес исходников (к примеру, github или gitlab), который может не совпадать с главной страницей проекта и документацией к нему. В то же время, в руководстве к RPM сказано вот как: "The url tag is used to define a Uniform Resource Locator that can be used to obtain additional information about the packaged software". Поэтому я думаю, что данный тег предназначается, в первую очередь, для пользователя пакета, а не для сопровождающих: когда пользователю не вполне ясно, что представляет собой данный пакет, его назначение и т. д., (а %description и упакованного README не достаточно), пользователь может открыть сайт проекта, взяв адрес из поля "Url" (это поле отображается в информации о пакете в apt, synaptic и "магазинах приложений"). А если по данному Url откроется не сайт проекта, а его исходники, то часть пользователей просто не пойдёт искать дальше. > > > Source > > Source* > Source* используются для распаковки исходников > > Vcs (например, admsasha/libxml2:sisyphus) > > Vcs информационный тэг, пока используется только на packages.altlinux.org > > тоже служит способом определения апстрима (git'а). Другое дело --- тег "Vcs:". Вот туда, действительно, имеет смысл помещать именно прямую ссылку на исходный код. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [newbies] Vcs, Source, Url fields 2025-09-15 9:23 ` Paul Wolneykien @ 2025-09-15 11:22 ` Anton Farygin 0 siblings, 0 replies; 6+ messages in thread From: Anton Farygin @ 2025-09-15 11:22 UTC (permalink / raw) To: devel-newbies On 9/15/25 12:23, Paul Wolneykien wrote: > В Sat, 13 Sep 2025 14:58:11 +0300 > Anton Farygin <rider@altlinux.org> пишет: > >> On 9/13/25 13:38, Alexander Lubyagin wrote: >>> Добрый день. >>> >>> По теме предыдущей лекции вспомнился такой вопрос. >>> >>> В чём назначение и различие полей в SPEC: >>> Url >> Информационный тэг. Служит основным способом определения апстрима > Смотря, что понимать под апстримом. К сожалению, у нас сложилась > нехорошая, на мой взгляд, практика, когда в тег "Url:" помещают > непосредственно адрес исходников (к примеру, github или gitlab), > который может не совпадать с главной страницей проекта и > документацией к нему. В то же время, в руководстве к RPM сказано > вот как: "The url tag is used to define a Uniform Resource Locator > that can be used to obtain additional information about the packaged > software". Поэтому я думаю, что данный тег предназначается, в первую > очередь, для пользователя пакета, а не для сопровождающих: когда > пользователю не вполне ясно, что представляет собой данный пакет, > его назначение и т. д., (а %description и упакованного README не > достаточно), пользователь может открыть сайт проекта, взяв адрес > из поля "Url" (это поле отображается в информации о пакете в apt, > synaptic и "магазинах приложений"). А если по данному Url откроется > не сайт проекта, а его исходники, то часть пользователей просто > не пойдёт искать дальше. Я же и написал, что для апстрима. Да, это HOMEPAGE проекта, он часто совпадает с github/gitlab > >>> Source >>> Source* >> Source* используются для распаковки исходников >>> Vcs (например, admsasha/libxml2:sisyphus) >> Vcs информационный тэг, пока используется только на packages.altlinux.org >> >> тоже служит способом определения апстрима (git'а). > Другое дело --- тег "Vcs:". Вот туда, действительно, имеет смысл > помещать именно прямую ссылку на исходный код. Да ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [newbies] Vcs, Source, Url fields 2025-09-13 10:38 [newbies] Vcs, Source, Url fields Alexander Lubyagin 2025-09-13 11:58 ` Anton Farygin @ 2025-09-13 13:17 ` Leonid Znamenok 2025-09-13 18:24 ` Leonid Krivoshein 2 siblings, 0 replies; 6+ messages in thread From: Leonid Znamenok @ 2025-09-13 13:17 UTC (permalink / raw) To: devel-newbies Alexander, 13.09.2025 13:38, Alexander Lubyagin пишет: > Добрый день. > > По теме предыдущей лекции вспомнился такой вопрос. > > В чём назначение и различие полей в SPEC: > Url > Source > Source* > Vcs (например, admsasha/libxml2:sisyphus) > > Какими опциями gear/hasher/rpm они "подхватываются"? > RPM: Это часть spec файла. Spec файл обрабатывает rpmbuild. Следовательно, эти поля "подхватываются" rpmbuild'ом и попадают в метаинформацию rpm и srpm файлов. Значительную часть это метаинформации можно посмотреть при помощи команды `rpm -qpi` направленной на rpm/srpm файл. Здесь: - q - query, запрос информации о пакете - p - package_file, указание на обработку файла, а не установленного пакета - i - info, вывод информации -i выводит не всю метаинформацию. Полный список хранящихся тегов можно посмотреть при помощи `rpm --querytags`. Эти теги используются с опцией `--queryformat`. Например, команда `rpm -qp --queryformat "%{NAME}: %{VCS}\n" some-package.rpm` выведет имя пакета и значение его поля VCS. Подробнее можно прочитать в `man rpm` GEAR: Gear так же умеет читать и парсить (до некоторой степени) spec файлы. Так, в gear-rules можно использовать ключевые слова @name@, @version@, @release@, значение которых будет взято из spec файла. См. `man gear-rules` > И ещё, второй вопрос. > Если при сборке "в песочнице" (gear+hasher), configure+make ругается > в процессе сборки на отсутствие команды git ... очевидно, хочет во > время сборки > что-то динамически "скачать". Но, по итогу, пакет успешно собирается, > т.е. эти downloads были опциональными. > То как принято поступать? Игнорировать, или где-то вести журнал таких > попыток? В общем случае - необязательно. Часть пакетов пытается сделать `git describe` для того, чтобы сформировать свою версию. Лучшим решением будет почитать make файлы, и смотреть зачем нужен (и нужен ли вообще) там бинарник git'а. И исходя из этого уже действовать. > Александр Лубягин > _______________________________________________ > devel-newbies mailing list > devel-newbies@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel-newbies -- --- WBR, Leonid (respublica@altlinux.org) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [newbies] Vcs, Source, Url fields 2025-09-13 10:38 [newbies] Vcs, Source, Url fields Alexander Lubyagin 2025-09-13 11:58 ` Anton Farygin 2025-09-13 13:17 ` Leonid Znamenok @ 2025-09-13 18:24 ` Leonid Krivoshein 2 siblings, 0 replies; 6+ messages in thread From: Leonid Krivoshein @ 2025-09-13 18:24 UTC (permalink / raw) To: devel-newbies Доброго времени! On 9/13/25 13:38, Alexander Lubyagin wrote: > Добрый день. > > По теме предыдущей лекции вспомнился такой вопрос. > > В чём назначение и различие полей в SPEC: > Url > Source > Source* > Vcs (например, admsasha/libxml2:sisyphus) > Хорошее начало здесь: https://www.altlinux.org/Join Там при рекурсивном изучении матчасти обязательно попадутся такие странички: https://www.altlinux.org/Spec https://www.altlinux.org/Spec/Предопределенные_макросы > Какими опциями gear/hasher/rpm они "подхватываются"? > Всё же это метаданные RPM/SRPM. Source довольно тесно связан с .gear/rules (.gear-rules). Url нужен для идентификации исходного проекта, это поле сравнимо с Unique ID и его наличие проверяется repocop'ом (https://www.altlinux.org/Repocop), отчёты repocop'а выводятся по каждому SRPM: https://packages.altlinux.org/ru/sisyphus/srpms/partclone/repocop/ > И ещё, второй вопрос. > Если при сборке "в песочнице" (gear+hasher), configure+make ругается > в процессе сборки на отсутствие команды git ... Значит, проверяйте сборочные зависимости. > очевидно, хочет во время сборки > что-то динамически "скачать". Но, по итогу, пакет успешно собирается, > т.е. эти downloads были опциональными. > То как принято поступать? Игнорировать, или где-то вести журнал таких > попыток? Предметно нужно смотреть логи и исходники. -- WBR, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-09-15 11:22 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-09-13 10:38 [newbies] Vcs, Source, Url fields Alexander Lubyagin 2025-09-13 11:58 ` Anton Farygin 2025-09-15 9:23 ` Paul Wolneykien 2025-09-15 11:22 ` Anton Farygin 2025-09-13 13:17 ` Leonid Znamenok 2025-09-13 18:24 ` Leonid Krivoshein
devel@ where you _can_ ask This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel-newbies/0 devel-newbies/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel-newbies devel-newbies/ http://lore.altlinux.org/devel-newbies \ devel-newbies@lists.altlinux.org devel-newbies@lists.altlinux.ru devel-newbies@lists.altlinux.com public-inbox-index devel-newbies Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel-newbies AGPL code for this site: git clone https://public-inbox.org/public-inbox.git