.SRCINFO (Русский) - ArchWiki

Jump to content
Toggle the table of contents

# .SRCINFO (Русский)

4 languages

- English
- 日本語
- Português
- 中文（简体）

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

Ссылки по теме

- Стандарты создания пакетов для Arch
- Система сборки Arch
- Создание пакетов
- PKGBUILD (Русский)
- Category:Package development (Русский)
- Пользовательский репозиторий Arch
- makepkg (Русский)
- pacman (Русский)
- pacman/Советы и приёмы

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

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

Category:

- Package development (Русский)