.SRCINFO (Русский)
Файлы .SRCINFO
содержат метаданные пакета в простом, однозначном формате, так что такие инструменты, как веб бэкэнд AUR или AUR helpers могут получить метаданные пакета, не разбирая PKGBUILD напрямую. См. FS#25210, FS#15043 и FS#16394 для примеров проблем, которые могут возникнуть при попытке разобрать сценарии оболочки.
PKGBUILD
, такие как обновления pkgver(), не распространяются автоматически на .SRCINFO
. Отправка отредактированного PKGBUILD
в AUR без обновления его .SRCINFO
приведет к тому, что AUR будет обслуживать устаревшие метаданные.Создание
Файлы .SRCINFO
могут быть созданы с помощью makepkg:
$ makepkg --printsrcinfo > .SRCINFO
Синтаксис
Файлы .SRCINFO
представляют собой списки пар key = value
, разделенные на секции.
Ключи берут свои имена и значения из переменных PKGBUILD; см. PKGBUILD(5) § OPTIONS AND DIRECTIVES. Ни ключи, ни значения не заключаются в кавычки. Данные, которые в PKGBUILD
были бы представлены массивом, вместо этого указываются несколько раз. Например, эквивалентными являются следующие:
# PKGBUILD arch=(i686 x86_64)
# .SRCINFO arch = i686 arch = x86_64
Основной раздел файла находится под объявлением pkgbase и содержит данные, применимые к пакету в целом. В стандартном PKGBUILD
, описывающем один пакет, это будет единственная секция, за которой следует объявление pkgname, содержащее то же значение, что и предыдущее pkgbase
:
pkgbase = foo pkgdesc = An example package. ... md5sums = SKIP pkgname = foo
В разделенном PKGBUILD
каждый раздел обозначается pkgname
, за которым следуют любые данные, специфичные для этого пакета.
Спецификация
Приведенные ниже поля могут появляться только один раз в каждом файле .SRCINFO
, в секции pkgbase
:
pkgver
,pkgrel
,epoch
Следующие поля могут появляться не более одного раза в любом разделе.
pkgdesc
,url
,install
,changelog
Указанные ниже поля могут повторяться в разделе для указания нескольких значений:
arch
groups
license
noextract
options
backup
validpgpkeys
(может быть только в pkgbase)
Следующие поля могут дополнительно указывать несколько архитектур, как показано ниже:
source_x86_64 = https://foo.bar/file.tar.gz source_i686 = https://foo.bar/file_i686_patch.tar.gz
source
depends
,checkdepends
,makedepends
,optdepends
provides
,conflicts
,replaces
md5sums
,sha1sums
,sha224sums
,sha256sums
,sha384sums
,sha512sums
Поля с другими именами игнорируются. Пустые строки и строки комментариев, начинающиеся со знака хэша (#
), также игнорируются. Строки могут иметь отступы.