.SRCINFO (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи .SRCINFO. Дата последней синхронизации: 16 июня 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Файлы .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

Поля с другими именами игнорируются. Пустые строки и строки комментариев, начинающиеся со знака хэша (#), также игнорируются. Строки могут иметь отступы.