Sign in Join
Wiki copytemporary

Online Package Manager/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Online Package Manager/ru

OldNewLine
1+## О плагине
2+
3+Online Package Manager(OPM) - это инструмент, который автоматизирует процесс установки, обновления и настройки пакетов Lazarus. Пакеты хранятся в главном хранилище (см. столбец хранилища) в виде zip-файлов вместе с файлом [[JSON]]. JSON содержит всю необходимую информацию о пакетах. По запросу пакеты загружаются/извлекаются/компилируются/устанавливаются в IDE. Если доступно, также возможно обновить ранее установленный пакет с веб-страницы разработчика (см. столбец обновления). Здесь также есть веб-версия [репозитория пакетов Lazarus](http://packages.lazarus-ide.org/).
4+
5+<span style="color:red">**Пожалуйста, имейте ввиду:**</span>
6+
7+OPM читает описание пакета из файла lpk. Я могу понять, что описание многих пакетов очень минималистично или вообще отсутствует, но я ничего не могу с этим поделать. Не разрешается изменять описание пакета или любое другое свойство в этом отношении без согласия на то разработчика пакета. Более того протестировать каждый пакет, а затем написать подробное описание просто нереально.
8+
9+### Screenshot
10+
11+<figure>
12+<img src="OPM6.png" title="OPM6.png" />
13+<figcaption>OPM6.png</figcaption>
14+</figure>
15+
16+<figure>
17+<img src="OPM7.png" title="OPM7.png" />
18+<figcaption>OPM7.png</figcaption>
19+</figure>
20+
21+### License
22+
23+[GNU General Public License](https://opensource.org/licenses/gpl-license)
24+
25+### Загрузка
26+
27+Online package manager является частью исходников Lazarus, расположен в каталоге (\$LazarusDir)/components/onlinepackagemanager.
28+
29+### Системные требования / зависимости
30+
31+- FPC 3.0.0 или новее
32+- Lazarus 1.8 или новее
33+- Вы можете скачать старую версию для серии 1.6: [OPM 1.6](https://drive.google.com/open?id=0B9Me_c5onmWobVZOdVlXSlZRRmc)
34+- Эти версии были доступны на момент написания этого обновления.
35+- Проверено на следующем наборе виджетов: win32/64, gtk2, carbon, qt(win)
36+- Менеджер пакетов не имеет зависимости ни от одного внешнего пакета
37+
38+### Установка
39+
40+В окне Lazarus "Install/Uninstall Packages" выберите «OnlinePackageManager» из списка доступных пакетов, нажмите «Install selection» и затем пересоберите IDE.
41+
42+### Страница поддержки
43+
44+<http://forum.lazarus.freepascal.org/index.php/topic,34297.0.html>
45+
46+## Использование менеждера пакетов
47+
48+### Как начать
49+
50+Перейдите в Lazarus Menu⇒Package(Пакет)⇒Online Package Manager(Сетевой диспетчер пакетов) (горячие клавиши: <span class="kbd">Ctrl</span>+<span class="kbd">Alt</span>+<span class="kbd">Shift</span>+<span class="kbd">O</span>). При запуске менеджер пакетов автоматически загрузит список доступных пакетов из репозитория, который отображается в виде дерева (см. скриншоты выше).
51+
52+### Фильтрация дерева/Поиск пакетов
53+
54+<figure>
55+<img src="OPM3.png" title="OPM3.png" />
56+<figcaption>OPM3.png</figcaption>
57+</figure>
58+
59+Вы можете отфильтровать список пакетов по:
60+
61+- имени пакета
62+- файлу пакета(.lpk)⇒пакет репозитория может содержать несколько файлов lpk
63+- категории пакета
64+- статусу пакета
65+- версии
66+- описанию
67+- автору
68+- совместимостью с версией Lazarus
69+- совместимостью с версией FPC
70+- поддерживаемым виджетсетам
71+- типу пакета
72+- зависимостям
73+- виду лицензии
74+
75+### Действия с пакетами
76+
77+<figure>
78+<img src="OPM4.png" title="OPM4.png" />
79+<figcaption>OPM4.png</figcaption>
80+</figure>
81+
82+#### Обновление списка пакетов
83+
84+Нажмите кнопку "Refresh"(Обновить), чтобы обновить список пакетов.
85+
86+#### Загрузка пакета
87+
88+Отметьте один или несколько пакетов, затем нажмите кнопку "Download"(Скачать). Это позволит загрузить/извлечь пакеты в предварительно выбранный каталог. Установлено ничего не будет. Бывает полезно, когда вы хотите установить пакеты вручную или изучить их исходники без установки.
89+
90+#### Установка пакета
91+
92+Отметьте один или несколько пакетов, затем нажмите кнопку "Install"(Установить). Менеджер пакетов автоматически загрузит/извлечет/скомпилирует/установит выбранные пакеты (из основного репозитория), а затем при необходимости пересоберет IDE (пакеты Designtime/Designtime_and_runtime). Подтвердите пересборку среды, нажав кнопку "Yes". Обратите внимание: функция компиляции доступна только начиная с версии Lazarus 1.7+.
93+
94+#### Обновление пакета
95+
96+Пометьте один или несколько пакетов, затем нажмите кнопку "Update"(Обновить). Менеджер пакетов обновит выбранные пакеты с домашней страницы разработчика(если доступно). Пакет сначала должен быть установлен, хотя прямое обновление возможно, но не допускается дабы предотвратить ошибку неразрешенной зависимости.</br> <span style="color:red">**Обратите внимание:**</span> загрузка/установка пакета по внешней ссылке не лишена риска. Обновляйте пакет, только если вы доверяете разработчику пакета.
97+
98+#### Различие между загрузкой/установкой/обновлением
99+
100+Загрузка/установка -\> Операция между вами и основным хранилищем.
101+
102+Обновление -\> Операция между вами и разработчиком пакета.
103+
104+<figure>
105+<img src="OPM10.png" title="OPM10.png" />
106+<figcaption>OPM10.png</figcaption>
107+</figure>
108+
109+Видеоссылка: [Различие между загрузкой/установкой/обновлением](https://www.youtube.com/watch?v=wiN2GoCvgjc)
110+
111+#### Очистка локального хранилища
112+
113+Эта операция удалит все неустановленные пакеты/архивы из локального репозитория. Чтобы очистить локальный репозиторий, нажмите кнопку "Cleanup"(Очистить).
114+
115+#### Создание
116+
117+*Этот раздел предназначен для разработчиков. Сначала вы должны перейти в Options(Параметры)⇒Profiles(Профили) и выбрать package maintainer(сопровождающий/разработчик пакета).*
118+
119+##### Создание репозитория пакета
120+
121+Для создания репозитория пакета нажмите пункт меню "Create repository package"(Создать репозиторий пакета), затем:
122+
123+- выберите основной каталог пакета (менеджер пакетов будет рекурсивно искать все файлы пакета внутри папки)
124+- выберите репозиторий пакета(корневой узел)
125+ - выберите категорию (обязательно)
126+ - введите отображаемое имя (необязательно)
127+ - домашняя страница (необязательно)
128+ - ссылка для обновления (необязательно, подробности см. ниже в разделе [[Online Package Manager/ru|Создание JSON для обновлений]]).
129+ - создайте JSON для обновлений(необязательно), имеет те же функции, что и диалоговое окно [[Online Package Manager/ru|Создание JSON для обновлений]]. Он также был добавлен сюда для ускорения процесса.
130+
131+<figure>
132+<img src="OPM15.png" title="OPM15.png" />
133+<figcaption>OPM15.png</figcaption>
134+</figure>
135+
136+- пометьте каждый пакет, который вы хотите включить, при необходимости измените информацию о пакете (совместимость с lazarus/fpc, поддерживаемый набор виджетов и т.д.)
137+
138+<figure>
139+<img src="OPM16.png" title="OPM16.png" />
140+<figcaption>OPM16.png</figcaption>
141+</figure>
142+
143+- нажмите кнопку "Create"(Создать), если все пойдет хорошо, вы должны получить zip и json файл. Загрузите куда-нибудь файлы и отправьте ссылку на getmem1@gmail.com или
144+- нажмите кнопку "Submit"(Отправить), файлы будут напрямую загружены на удаленный сервер. Каждый пакет будет принят после короткой проверки (вредоносная программа, лицензия и т.д.).
145+
146+Также допускает отправка нескольких версий одного и того же пакета.
147+
148+##### Создание JSON для обновлений
149+
150+Чтобы позволить пользователю обновлять пакет непосредственно с вашей веб-страницы, выполните следующие действия:
151+
152+- Убедитесь, что ваш пакет уже находится в главном хранилище (см. предыдущий раздел)
153+- Вы можете загрузить и использовать [[OPM External Update json Editor|Редактор для внешних обновлений json Сетевого менеждера пакетов]]
154+ - или через OnlinePackageManager:
155+- Отметьте пакет, нажмите пункт меню "Create JSON for upates"(Создать JSON для обновлений), затем создайте JSON.
156+
157+<figure>
158+<img src="OPM11.png" title="OPM11.png" />
159+<figcaption>OPM11.png</figcaption>
160+</figure>
161+
162+- Отредактируйте JSON, загрузите на свою веб-страницу, затем пришлите мне ссылку.
163+
164+JSON будет выглядеть так:
165+
166+<figure>
167+<img src="OPM12.png" title="OPM12.png" />
168+<figcaption>OPM12.png</figcaption>
169+</figure>
170+
171+Редактируемые элементы в JSON:
172+
173+**"DownloadZipURL"** ⇒ Ссылка на ваш новый, обновленный пакет
174+
175+**"DisableInOPM"** ⇒ Если вы хотите временно отключить ваш пакет, установите для этого логического значения true. Это полезно в процессе разработки, пакет будет выделен серым цветом в дереве. Пользователь не сможет загрузить/установить/обновить пакет.
176+
177+**"Version"/"ForceNotify"/"InternalVersion"** ⇒ Чтобы показать сообщение об обновлении на компьютере пользователя, вы можете:
178+
179+- Увеличьте число **"Version"**. Полезно, когда вы хотите выпустить новую версию пакета.
180+- Установите значение **"ForceNotify"** в true. Полезно после незначительного изменения в вашем исходнике, которое не требует изменения версии или в случае версии с транком. Чтобы предотвратить постоянные сообщения об ошибках, необходимо использовать **"ForceNotify"** в сочетании с **"InternalVersion"**. После того, как пользователь обновит пакет, OPM локально сохранит значение **"InternalVersion"**. Если вы хотите показать новое сообщение, увеличьте значение **"InternalVersion"** на одну единицу. Если **"ForceNotify"** имеет значение true, параметр **"Version"** всегда игнорируется.
181+
182+Наиболее распространенный сценарий таков:
183+
184+- генерируется JSON
185+- изменияется **"DownloadZipURL"**
186+- увеличивается номер версии при необходимости.
187+
188+Обратите внимание: после того, как вы отредактировали JSON, изменения будут видны в дереве не сразу. Обычно это занимает 1-2 минуты. Это также зависит от настроек пользователя (Options(Параметры)⇒General(общие)⇒Check for package updates(Проверять наличие обновленных пакетов)).
189+
190+#### Параметры
191+
192+Для отображения диалогового окна параметров нажмите кнопку "Options"(Параметры).
193+
194+### Создание частного репозитория
195+
196+Чтобы создать частный репозиторий, пожалуйста, сделайте следующее:
197+
198+1\. Сначала убедитесь, что выбран профиль «Сопровождающий пакета» в Options(Параметры)⇒Profiles(Профили), а затем откройте форму частного репозитория (см. скриншот ниже).
199+
200+<figure>
201+<img src="OPM17.png" title="OPM17.png" />
202+<figcaption>OPM17.png</figcaption>
203+</figure>
204+
205+2\. Нажмите кнопку "Create"(Создать). Введите имя хранилища, адрес (необязательно), описание (необязательно). Сохраните репозиторий в пустую папку
206+
207+<figure>
208+<img src="OPM18.png" title="OPM18.png" />
209+<figcaption>OPM18.png</figcaption>
210+</figure>
211+
212+- Если все заполнено, адрес хранилища (в данном случае <http://localhost/packages/>) автоматически добавится в список доступных хранилищ (форма параметров)
213+
214+<figure>
215+<img src="OPM19.png" title="OPM19.png" />
216+<figcaption>OPM19.png</figcaption>
217+</figure>
218+
219+3\. Начинайте добавлять/удалять пакеты. У вас есть два варианта:
220+
221+- a\. создать новый пакет через [[Online Package Manager/ru|Создание репозитория пакета]]
222+- b\. добавить ранее сохраненный пакет
223+
224+<figure>
225+<img src="OPM20.png" title="OPM20.png" />
226+<figcaption>OPM20.png</figcaption>
227+</figure>
228+
229+4.Вы также можете открыть ранее сохраненный репозиторий. При запуске автоматически открывается последний репозиторий.
230+
231+5\. Загрузите файлы (packagelist.json, * .zip) на локальный или удаленный сервер.
232+
233+6\. Убедившись, что сервер запущен, измените "Remote repository"(Удаленный репозиторий) в Options(Параметры)⇒General(Общие)
234+
235+## См. также
236+
237+- [Видео о процессе уставноки компонентов в OPM](https://www.youtube.com/watch?v=IRJkyiOn3AA)
238+
239+---
240+*From the Free Pascal wiki, page "Online Package Manager/ru", as it stood on 2019-11-06 after a change by Almuhandis, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history