Difference between revisions of "Online Package Manager/ru"

From Free Pascal wiki
Jump to navigationJump to search
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Translate}}
+
{{Online Package Manager}}
 +
 
 
__TOC__
 
__TOC__
[[Category:Install]]
+
 
 
== О плагине ==
 
== О плагине ==
 
Online Package Manager(OPM) - это инструмент, который автоматизирует процесс установки, обновления и настройки пакетов Lazarus. Пакеты хранятся в главном хранилище (см. столбец хранилища) в виде zip-файлов вместе с файлом [[JSON]]. JSON содержит всю необходимую информацию о пакетах. По запросу пакеты загружаются/извлекаются/компилируются/устанавливаются в IDE. Если доступно, также возможно обновить ранее установленный пакет с веб-страницы разработчика (см. столбец обновления). Здесь также есть веб-версия [http://packages.lazarus-ide.org/ репозитория пакетов Lazarus].
 
Online Package Manager(OPM) - это инструмент, который автоматизирует процесс установки, обновления и настройки пакетов Lazarus. Пакеты хранятся в главном хранилище (см. столбец хранилища) в виде zip-файлов вместе с файлом [[JSON]]. JSON содержит всю необходимую информацию о пакетах. По запросу пакеты загружаются/извлекаются/компилируются/устанавливаются в IDE. Если доступно, также возможно обновить ранее установленный пакет с веб-страницы разработчика (см. столбец обновления). Здесь также есть веб-версия [http://packages.lazarus-ide.org/ репозитория пакетов Lazarus].
Line 85: Line 86:
 
Эта операция удалит все неустановленные пакеты/архивы из локального репозитория. Чтобы очистить локальный репозиторий, нажмите кнопку "Cleanup"(Очистить).
 
Эта операция удалит все неустановленные пакеты/архивы из локального репозитория. Чтобы очистить локальный репозиторий, нажмите кнопку "Cleanup"(Очистить).
  
==== Create ====
+
==== Создание ====
''This section is for package maintainers. First you must go to Options-->Profiles and select package maintainer.''
+
''Этот раздел предназначен для разработчиков. Сначала вы должны перейти в Options(Параметры)⇒Profiles(Профили) и выбрать package maintainer(сопровождающий/разработчик пакета).''
===== Create repository package =====
+
===== Создание репозитория пакета =====
To create a repository package press "Create repository package" menu item, then:
+
Для создания репозитория пакета нажмите пункт меню "Create repository package"(Создать репозиторий пакета), затем:
* select the package main directory(package manager will recursively search for all package files inside the folder)
+
* выберите основной каталог пакета (менеджер пакетов будет рекурсивно искать все файлы пакета внутри папки)
* select the repository package(root node)
+
* выберите репозиторий пакета(корневой узел)
** choose category(obligatory)
+
** выберите категорию (обязательно)
** type display name(optional)
+
** введите отображаемое имя (необязательно)
** home page(optional)  
+
** домашняя страница (необязательно)
** update link(optional, for more details see "Create JSON for updates"[http://wiki.freepascal.org/Online_Package_Manager#Create_JSON_for_updates]" below)
+
** ссылка для обновления (необязательно, подробности см. ниже в разделе [[Online_Package_Manager/ru#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_JSON_.D0.B4.D0.BB.D1.8F_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B9|Создание JSON для обновлений]]).
** create JSON for updates(optional), has the same functionality as "Create JSON for updates"[http://wiki.freepascal.org/Online_Package_Manager#Create_JSON_for_updates]" dialog. It was also added here to speed up the process.
+
** создайте JSON для обновлений(необязательно), имеет те же функции, что и диалоговое окно [[Online_Package_Manager/ru#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_JSON_.D0.B4.D0.BB.D1.8F_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B9|Создание JSON для обновлений]]. Он также был добавлен сюда для ускорения процесса.
 
[[File:OPM15.png]]
 
[[File:OPM15.png]]
* check each package you wish to include, adjust package info if necessary(lazarus/fpc compatibility, supported widgetset, etc)
+
* пометьте каждый пакет, который вы хотите включить, при необходимости измените информацию о пакете (совместимость с lazarus/fpc, поддерживаемый набор виджетов и т.д.)
 
[[File:OPM16.png]]
 
[[File:OPM16.png]]
* press the create button, if all goes well you should get a zip and a json file. Upload somewhere the files and send the link to getmem1@gmail.com or
+
* нажмите кнопку "Create"(Создать), если все пойдет хорошо, вы должны получить zip и json файл. Загрузите куда-нибудь файлы и отправьте ссылку на getmem1@gmail.com или
* press the submit button, the files are directly uploaded to a remote server.  
+
* нажмите кнопку "Submit"(Отправить), файлы будут напрямую загружены на удаленный сервер. Каждый пакет будет принят после короткой проверки (вредоносная программа, лицензия и т.д.).  
Every package will be accepted after a short check(malware, license, etc). Multiple versions of the same package is also allowed.
+
Также допускает отправка нескольких версий одного и того же пакета.
  
 
===== Создание JSON для обновлений =====
 
===== Создание JSON для обновлений =====
To allow the user to update the package directly form your webpage, follow this steps:
+
Чтобы позволить пользователю обновлять пакет непосредственно с вашей веб-страницы, выполните следующие действия:  
* Make sure your package is already in the main repository(see previous section)
+
* Убедитесь, что ваш пакет уже находится в главном хранилище (см. предыдущий раздел)  
* You can download and use the [[OPM_External_Update_json_Editor|Online Package Manager External Update json Editor]]
+
* Вы можете загрузить и использовать [[OPM_External_Update_json_Editor|Редактор для внешних обновлений json Сетевого менеждера пакетов]]  
** or via OnlinePackageManager:
+
** или через OnlinePackageManager:  
 
+
* Отметьте пакет, нажмите пункт меню "Create JSON for upates"(Создать JSON для обновлений), затем создайте JSON.
* Check the package, press the "Create JSON for upates" menu item then create the JSON.
 
  
 
[[File:OPM11.png]]
 
[[File:OPM11.png]]
  
* Edit the JSON, upload to your webpage, then send me the link.
+
* Отредактируйте JSON, загрузите на свою веб-страницу, затем пришлите мне ссылку.
  
The JSON will look like this:
+
JSON будет выглядеть так:
  
 
[[File:OPM12.png]]
 
[[File:OPM12.png]]
  
Editable items in the JSON:
+
Редактируемые элементы в JSON:
  
'''"DownloadZipURL"''' --> Link to your new, updated package
+
'''"DownloadZipURL"''' ⇒ Ссылка на ваш новый, обновленный пакет
  
'''"DisableInOPM"''' --> If you want to temporary disable your package, set this boolean to true. It's useful for maintenance, the package will be grayed out in the tree. The user cannot download/install/update the package.  
+
'''"DisableInOPM"''' ⇒ Если вы хотите временно отключить ваш пакет, установите для этого логического значения true. Это полезно в процессе разработки, пакет будет выделен серым цветом в дереве. Пользователь не сможет загрузить/установить/обновить пакет.  
  
'''"Version"/"ForceNotify"/"InternalVersion"''' --> To trigger an update message on the users computer, you can either:
+
'''"Version"/"ForceNotify"/"InternalVersion"''' ⇒ Чтобы показать сообщение об обновлении на компьютере пользователя, вы можете:
  
* Increase the '''"Version"''' number. Useful when you want to release a new version of the package.
+
* Увеличьте число '''"Version"'''. Полезно, когда вы хотите выпустить новую версию пакета.  
* Set '''"ForceNotify"''' to true. Useful after a minor change in your source, that does not require a version change or in case of trunk version. To prevent continous error messages, '''"ForceNotify"''' must be used in combination with '''"InternalVersion"'''. After the user updates the package, OPM locally stores the '''"InternalVersion"''' value. If you want to trigger a new message, increase '''"InternalVersion"''' with one. If '''"ForceNotify"''' is true, '''"Version"''' is always ignored.
+
* Установите значение '''"ForceNotify"''' в true. Полезно после незначительного изменения в вашем исходнике, которое не требует изменения версии или в случае версии с транком. Чтобы предотвратить постоянные сообщения об ошибках, необходимо использовать '''"ForceNotify"''' в сочетании с '''"InternalVersion"'''. После того, как пользователь обновит пакет, OPM локально сохранит значение '''"InternalVersion"'''. Если вы хотите показать новое сообщение, увеличьте значение '''"InternalVersion"''' на одну единицу. Если '''"ForceNotify"''' имеет значение true, параметр '''"Version"''' всегда игнорируется.
  
The most common scenario is this:
+
Наиболее распространенный сценарий таков:  
* Generate the JSON
+
* генерируется JSON  
* Modify '''"DownloadZipURL"'''
+
* изменияется '''"DownloadZipURL"'''  
* Increase version number when necessary.
+
* увеличивается номер версии при необходимости.
  
Please note: After you edited the JSON the changes are not immediately visible in the tree. Usually it takes 1-2 min. It also depends on the users setting(Options-->General-->Check for package updates).
+
Обратите внимание: после того, как вы отредактировали JSON, изменения будут видны в дереве не сразу. Обычно это занимает 1-2 минуты. Это также зависит от настроек пользователя (Options(Параметры)⇒General(общие)⇒Check for package updates(Проверять наличие обновленных пакетов)).
  
==== Options ====
+
==== Параметры ====  
To display the options dialog press the "Options" button.
+
Для отображения диалогового окна параметров нажмите кнопку "Options"(Параметры).
  
=== Create a private repository ===
+
=== Создание частного репозитория ===
In order to create a private repository please do the following:
+
Чтобы создать частный репозиторий, пожалуйста, сделайте следующее:  
  
1. First make sure profile "Package maintainer" is enabled in Options-->Profiles, then open the private repository form(see screenshot below)
+
1. Сначала убедитесь, что выбран профиль «Сопровождающий пакета» в Options(Параметры)⇒Profiles(Профили), а затем откройте форму частного репозитория (см. скриншот ниже).
  
 
[[File:OPM17.png]]
 
[[File:OPM17.png]]
Line 149: Line 149:
  
  
2. Press the "Create" button. Enter repository Name, Address(optional), Description(optional). Save the repository to an empty folder
+
2. Нажмите кнопку "Create"(Создать). Введите имя хранилища, адрес (необязательно), описание (необязательно). Сохраните репозиторий в пустую папку
  
 
[[File:OPM18.png]]
 
[[File:OPM18.png]]
  
  
* If filled, the repository address(in this case http://localhost/packages/) is automatically added to available repository list(Options form)
+
* Если все заполнено, адрес хранилища (в данном случае http://localhost/packages/) автоматически добавится в список доступных хранилищ (форма параметров)
  
 
[[File:OPM19.png]]
 
[[File:OPM19.png]]
  
  
 
+
3. Начинайте добавлять/удалять пакеты. У вас есть два варианта:  
3. Start to add/delete packages. You have two choices:
+
*a. создать новый пакет через [[Online_Package_Manager/ru#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D1.80.D0.B5.D0.BF.D0.BE.D0.B7.D0.B8.D1.82.D0.BE.D1.80.D0.B8.D1.8F_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.B0|Создание репозитория пакета]]
 
+
*b. добавить ранее сохраненный пакет
a. Create a new package via http://wiki.freepascal.org/Online_Package_Manager#Create_repository_package
 
 
 
b. Add a previously saved package
 
  
 
[[File:OPM20.png]]
 
[[File:OPM20.png]]
  
  
4.You can also open a previously saved repository. The last repository is automatically opened on startup.
+
4.Вы также можете открыть ранее сохраненный репозиторий. При запуске автоматически открывается последний репозиторий.  
  
5.Upload the files(packagelist.json, *.zip) to your local or remote server.  
+
5. Загрузите файлы (packagelist.json, * .zip) на локальный или удаленный сервер.  
  
6.Make sure the server is running, the change "Remote repository" in Options-->General
+
6. Убедившись, что сервер запущен, измените "Remote repository"(Удаленный репозиторий) в Options(Параметры)⇒General(Общие)
  
== see also ==
+
== См. также ==
* [https://www.youtube.com/watch?v=IRJkyiOn3AA OPM video about the install process]
+
* [https://www.youtube.com/watch?v=IRJkyiOn3AA Видео о процессе уставноки компонентов в OPM]

Latest revision as of 13:42, 6 November 2019

English (en) español (es) русский (ru)

О плагине

Online Package Manager(OPM) - это инструмент, который автоматизирует процесс установки, обновления и настройки пакетов Lazarus. Пакеты хранятся в главном хранилище (см. столбец хранилища) в виде zip-файлов вместе с файлом JSON. JSON содержит всю необходимую информацию о пакетах. По запросу пакеты загружаются/извлекаются/компилируются/устанавливаются в IDE. Если доступно, также возможно обновить ранее установленный пакет с веб-страницы разработчика (см. столбец обновления). Здесь также есть веб-версия репозитория пакетов Lazarus.

Пожалуйста, имейте ввиду:

OPM читает описание пакета из файла lpk. Я могу понять, что описание многих пакетов очень минималистично или вообще отсутствует, но я ничего не могу с этим поделать. Не разрешается изменять описание пакета или любое другое свойство в этом отношении без согласия на то разработчика пакета. Более того протестировать каждый пакет, а затем написать подробное описание просто нереально.

Screenshot

OPM6.png

OPM7.png

License

GNU General Public License

Загрузка

Online package manager является частью исходников Lazarus, расположен в каталоге ($LazarusDir)/components/onlinepackagemanager.

Системные требования / зависимости

  • FPC 3.0.0 или новее
  • Lazarus 1.8 или новее
  • Вы можете скачать старую версию для серии 1.6: OPM 1.6
  • Эти версии были доступны на момент написания этого обновления.
  • Проверено на следующем наборе виджетов: win32/64, gtk2, carbon, qt(win)
  • Менеджер пакетов не имеет зависимости ни от одного внешнего пакета

Установка

В окне Lazarus "Install/Uninstall Packages" выберите «OnlinePackageManager» из списка доступных пакетов, нажмите «Install selection» и затем пересоберите IDE.

Страница поддержки

http://forum.lazarus.freepascal.org/index.php/topic,34297.0.html

Использование менеждера пакетов

Как начать

Перейдите в Lazarus Menu⇒Package(Пакет)⇒Online Package Manager(Сетевой диспетчер пакетов) (горячие клавиши: Ctrl+Alt+ Shift+O). При запуске менеджер пакетов автоматически загрузит список доступных пакетов из репозитория, который отображается в виде дерева (см. скриншоты выше).

Фильтрация дерева/Поиск пакетов

OPM3.png

Вы можете отфильтровать список пакетов по:

  • имени пакета
  • файлу пакета(.lpk)⇒пакет репозитория может содержать несколько файлов lpk
  • категории пакета
  • статусу пакета
  • версии
  • описанию
  • автору
  • совместимостью с версией Lazarus
  • совместимостью с версией FPC
  • поддерживаемым виджетсетам
  • типу пакета
  • зависимостям
  • виду лицензии

Действия с пакетами

OPM4.png

Обновление списка пакетов

Нажмите кнопку "Refresh"(Обновить), чтобы обновить список пакетов.

Загрузка пакета

Отметьте один или несколько пакетов, затем нажмите кнопку "Download"(Скачать). Это позволит загрузить/извлечь пакеты в предварительно выбранный каталог. Установлено ничего не будет. Бывает полезно, когда вы хотите установить пакеты вручную или изучить их исходники без установки.

Установка пакета

Отметьте один или несколько пакетов, затем нажмите кнопку "Install"(Установить). Менеджер пакетов автоматически загрузит/извлечет/скомпилирует/установит выбранные пакеты (из основного репозитория), а затем при необходимости пересоберет IDE (пакеты Designtime/Designtime_and_runtime). Подтвердите пересборку среды, нажав кнопку "Yes". Обратите внимание: функция компиляции доступна только начиная с версии Lazarus 1.7+.

Обновление пакета

Пометьте один или несколько пакетов, затем нажмите кнопку "Update"(Обновить). Менеджер пакетов обновит выбранные пакеты с домашней страницы разработчика(если доступно). Пакет сначала должен быть установлен, хотя прямое обновление возможно, но не допускается дабы предотвратить ошибку неразрешенной зависимости.
Обратите внимание: загрузка/установка пакета по внешней ссылке не лишена риска. Обновляйте пакет, только если вы доверяете разработчику пакета.

Различие между загрузкой/установкой/обновлением

Загрузка/установка -> Операция между вами и основным хранилищем.

Обновление -> Операция между вами и разработчиком пакета.

OPM10.png

Видеоссылка: Различие между загрузкой/установкой/обновлением

Очистка локального хранилища

Эта операция удалит все неустановленные пакеты/архивы из локального репозитория. Чтобы очистить локальный репозиторий, нажмите кнопку "Cleanup"(Очистить).

Создание

Этот раздел предназначен для разработчиков. Сначала вы должны перейти в Options(Параметры)⇒Profiles(Профили) и выбрать package maintainer(сопровождающий/разработчик пакета).

Создание репозитория пакета

Для создания репозитория пакета нажмите пункт меню "Create repository package"(Создать репозиторий пакета), затем:

  • выберите основной каталог пакета (менеджер пакетов будет рекурсивно искать все файлы пакета внутри папки)
  • выберите репозиторий пакета(корневой узел)
    • выберите категорию (обязательно)
    • введите отображаемое имя (необязательно)
    • домашняя страница (необязательно)
    • ссылка для обновления (необязательно, подробности см. ниже в разделе Создание JSON для обновлений).
    • создайте JSON для обновлений(необязательно), имеет те же функции, что и диалоговое окно Создание JSON для обновлений. Он также был добавлен сюда для ускорения процесса.

OPM15.png

  • пометьте каждый пакет, который вы хотите включить, при необходимости измените информацию о пакете (совместимость с lazarus/fpc, поддерживаемый набор виджетов и т.д.)

OPM16.png

  • нажмите кнопку "Create"(Создать), если все пойдет хорошо, вы должны получить zip и json файл. Загрузите куда-нибудь файлы и отправьте ссылку на getmem1@gmail.com или
  • нажмите кнопку "Submit"(Отправить), файлы будут напрямую загружены на удаленный сервер. Каждый пакет будет принят после короткой проверки (вредоносная программа, лицензия и т.д.).

Также допускает отправка нескольких версий одного и того же пакета.

Создание JSON для обновлений

Чтобы позволить пользователю обновлять пакет непосредственно с вашей веб-страницы, выполните следующие действия:

OPM11.png

  • Отредактируйте JSON, загрузите на свою веб-страницу, затем пришлите мне ссылку.

JSON будет выглядеть так:

OPM12.png

Редактируемые элементы в JSON:

"DownloadZipURL" ⇒ Ссылка на ваш новый, обновленный пакет

"DisableInOPM" ⇒ Если вы хотите временно отключить ваш пакет, установите для этого логического значения true. Это полезно в процессе разработки, пакет будет выделен серым цветом в дереве. Пользователь не сможет загрузить/установить/обновить пакет.

"Version"/"ForceNotify"/"InternalVersion" ⇒ Чтобы показать сообщение об обновлении на компьютере пользователя, вы можете:

  • Увеличьте число "Version". Полезно, когда вы хотите выпустить новую версию пакета.
  • Установите значение "ForceNotify" в true. Полезно после незначительного изменения в вашем исходнике, которое не требует изменения версии или в случае версии с транком. Чтобы предотвратить постоянные сообщения об ошибках, необходимо использовать "ForceNotify" в сочетании с "InternalVersion". После того, как пользователь обновит пакет, OPM локально сохранит значение "InternalVersion". Если вы хотите показать новое сообщение, увеличьте значение "InternalVersion" на одну единицу. Если "ForceNotify" имеет значение true, параметр "Version" всегда игнорируется.

Наиболее распространенный сценарий таков:

  • генерируется JSON
  • изменияется "DownloadZipURL"
  • увеличивается номер версии при необходимости.

Обратите внимание: после того, как вы отредактировали JSON, изменения будут видны в дереве не сразу. Обычно это занимает 1-2 минуты. Это также зависит от настроек пользователя (Options(Параметры)⇒General(общие)⇒Check for package updates(Проверять наличие обновленных пакетов)).

Параметры

Для отображения диалогового окна параметров нажмите кнопку "Options"(Параметры).

Создание частного репозитория

Чтобы создать частный репозиторий, пожалуйста, сделайте следующее:

1. Сначала убедитесь, что выбран профиль «Сопровождающий пакета» в Options(Параметры)⇒Profiles(Профили), а затем откройте форму частного репозитория (см. скриншот ниже).

OPM17.png


2. Нажмите кнопку "Create"(Создать). Введите имя хранилища, адрес (необязательно), описание (необязательно). Сохраните репозиторий в пустую папку

OPM18.png


  • Если все заполнено, адрес хранилища (в данном случае http://localhost/packages/) автоматически добавится в список доступных хранилищ (форма параметров)

OPM19.png


3. Начинайте добавлять/удалять пакеты. У вас есть два варианта:

OPM20.png


4.Вы также можете открыть ранее сохраненный репозиторий. При запуске автоматически открывается последний репозиторий.

5. Загрузите файлы (packagelist.json, * .zip) на локальный или удаленный сервер.

6. Убедившись, что сервер запущен, измените "Remote repository"(Удаленный репозиторий) в Options(Параметры)⇒General(Общие)

См. также