Spec-Zone.ru › Octave 8

37.4 Создание пакетов

Внутренне пакет представляет собой просто сжатый в формате gzip архив tar, содержащий директорию верхнего уровня с произвольным именем. Эта директория в дальнейшем будет обозначаться как package и может содержать следующие файлы:

package/CITATION

Это необязательный файл, описывающий инструкции по цитированию пакета для публикации. Он будет отображен дословно функцией citation.

package/COPYING

Это обязательный файл, содержащий лицензию пакета. В общем случае нет ограничений на лицензию. Однако, если пакет содержит динамически подключаемые функции, лицензия должна быть совместима с Общей публичной лицензией GNU.

package/DESCRIPTION

Это обязательный файл, содержащий информацию о пакете. Подробности об этом файле см. в Файле DESCRIPTION.

package/ChangeLog

Это необязательный файл, описывающий все изменения, внесенные в исходные файлы пакета.

package/INDEX

Это необязательный файл, описывающий функции, предоставляемые пакетом. Если этот файл не указан, он будет автоматически создан из функций пакета и ключевого слова Categories в файле DESCRIPTION. Подробности об этом файле см. в Файле INDEX.

package/NEWS

Это необязательный файл, описывающий все заслуживающие упоминания изменения, видимые пользователю. По мере увеличения размера этого файла старые записи могут быть перемещены в package/ONEWS.

package/ONEWS

Это необязательный файл, описывающий старые записи из файла NEWS.

package/PKG_ADD

Необязательный файл, содержащий команды, которые выполняются при добавлении пакета в путь пользователя. Обратите внимание, что директивы PKG_ADD в исходном коде пакета также будут добавлены в этот файл менеджером пакетов Octave. Обратите внимание, что символические ссылки следует избегать в пакетах, так как символические ссылки отсутствуют в некоторых файловых системах, и поэтому типичное использование этого файла — замена символической ссылки

ln -s foo.oct bar.oct

на директиву автозагрузки, например

autoload ('bar', which ('foo'));

Подробности о директивах PKG_ADD см. в Директивах PKG_ADD и PKG_DEL.

package/PKG_DEL

Необязательный файл, содержащий команды, которые выполняются при удалении пакета из пути пользователя. Обратите внимание, что директивы PKG_DEL в исходном коде пакета также будут добавлены в этот файл менеджером пакетов Octave. Подробности о директивах PKG_DEL см. в Директивах PKG_ADD и PKG_DEL.

package/pre_install.m

Это необязательная функция, которая выполняется перед установкой пакета. Эта функция вызывается с одним аргументом, структурой со свойствами, именами после данных в DESCRIPTION, и путями, где будут установлены функции пакета.

package/post_install.m

Это необязательная функция, которая выполняется после установки пакета. Эта функция вызывается с одним аргументом, структурой со свойствами, именами после данных в DESCRIPTION, и путями, где были установлены функции пакета.

package/on_uninstall.m

Это необязательная функция, которая выполняется перед удалением пакета. Эта функция вызывается с одним аргументом, структурой со свойствами, именами после данных в DESCRIPTION, путями установки функций пакета и значением, указывающим, загружен ли пакет в настоящее время.

Помимо вышеупомянутых файлов, пакет также может содержать одну или несколько следующих директорий:

package/inst

Необязательная директория, содержащая любые файлы, которые устанавливаются пакетом напрямую. Как правило, она будет содержать любые файлы m.

package/src

Необязательная директория, содержащая код, который должен быть скомпилирован перед установкой пакета. Менеджер пакетов Octave выполнит ./configure в этой директории, если такой скрипт существует, и затем вызовет make, если в этой директории существует файл Makefile. make install однако не будет вызван. Переменные среды MKOCTFILE, OCTAVE_CONFIG, и OCTAVE будут установлены в полные пути к программам mkoctfile, octave-config, и octave, соответственно, правильной версии, когда configure и make будут вызваны. Если существует файл с именем FILES, все файлы, перечисленные в нём, будут скопированы в директорию inst, так что они также будут установлены. Если файла FILES нет, src/*.m и src/*.oct будут скопированы в директорию inst.

package/doc

Необязательная директория, содержащая документацию для пакета. Файлы в этой директории будут непосредственно установлены в подкаталоге установленного пакета для дальнейшего использования.

package/bin

Необязательная директория, содержащая файлы, которые будут добавлены в Octave EXEC_PATH при загрузке пакета. Это могут быть внешние скрипты и т. д., вызываемые функциями внутри пакета.

  • Файл DESCRIPTION
  • Файл INDEX
  • Директивы PKG_ADD и PKG_DEL
  • Отсутствующие компоненты

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v7.2.0/Creating-Packages.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API