devel@ where you _can_ ask
 help / color / mirror / Atom feed
* [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 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

* 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

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