Spec-Zone.ru › Octave 9

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

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

package/CITATION

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

package/COPYING

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

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

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

package/doc

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

package/bin

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

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

© 1996–2026 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/v9.4.0/Creating-Packages.html

Spec-Zone.ru

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