Sign in Join
Wiki copytemporary

fppkg/ru: what changed

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

Title: fppkg/ru

OldNewLine
1+## Вступление
2+
3+Fppkg - менеджер пакетов Free Pascal. С помощью этого инструмента вы можете создавать и устанавливать пакеты Free Pascal в своей системе. Вы можете устанавливать пакеты из локальных источников или загружать их из центрального хранилища. Пакеты должны быть сделаны с \[помощью\] [[FPMake/ru|FPMake]].
4+
5+## Руководство по началу работы
6+
7+> **Note:** этот раздел действителен только для fppkg от fpc версии 2.5.1 или выше.
8+
9+### Настройка
10+
11+Когда вы запускаете fppkg в первый раз, он создаст новые файлы конфигурации со значениями по умолчанию. Чтобы проверить, что эти значения в порядке, запустите 'fppkg list' в окне консоли. Вы должны увидеть что-то вроде этого:
12+
13+``` bash
14+ Name Installed Available
15+ a52 2.5.1-1 -
16+ aspell 2.5.1-1 -
17+ bfd 2.5.1-1 -
18+ lnet - 0.6.3-0
19+```
20+
21+Появится список всех установленных пакетов и пакетов, доступных для загрузки. Вы можете увидеть, какая версия каждого пакета доступна и/или установлена.
22+
23+Если fppkg показывает только доступные пакеты, но не какие-либо установленные пакеты, вы должны адаптировать свою конфигурацию fppkg. Запустите 'fppkg listsettings', чтобы увидеть текущие настройки и расположение файлов конфигурации. Найдите файл конфигурации компилятора и откройте его в текстовом редакторе. Теперь измените настройку 'GlobalPrefix' на место, где установлен fpc. Например:'GlobalPrefix=/usr/lib/fpc' или 'c:\pp'. Сохраните файл и снова запустите 'fppkg list'.
24+
25+Если у вас все еще есть проблемы, пожалуйста, прочитайте раздел по [[fppkg/ru|настройке]] fppkg.
26+
27+#### Конфигурирование компилятора
28+
29+Последний шаг - это настройка компилятора Free Pascal таким образом, чтобы он обнаруживал установленные пакеты. По умолчанию пакеты устанавливаются в определенном для пользователя месте, и это местоположение по умолчанию не ищется компилятором. Запустите 'fppkg listsettings', чтобы увидеть, где fppkg устанавливает пользовательские пакеты. Это местоположение указано как 'LocalInstallDir'.
30+
31+Теперь добавьте эту строку в ваш файл конфигурации компилятора Free Pascal fpc.cfg:
32+
33+``` bash
34+ -Fu<LocalInstallDir>/units/$fpctarget/*
35+```
36+
37+Замените \<LocalInstallDir\> значением параметра 'LocalInstallDir', как показано в 'fppkg list'. Например:
38+
39+Linux: (/etc/fpc.cfg or ~/.fpc.cfg)
40+
41+``` bash
42+-Fu~/.fppkg/lib/fpc/$fpcversion/units/$fpctarget/*
43+```
44+
45+Windows: (fpc.cfg)
46+
47+``` bash
48+-Fuc:\users\username\AppData\Local\FreePascal\fppkg\units\$fpctarget*
49+```
50+
51+Теперь вы можете использовать модули из установленных пакетов во всех ваших программах. Если вы разместите строку в нижней части fpc.cfg, вы уверены, что компилятор предпочтет (локально) установленные пакеты выше глобально установленных. Таким образом, вы можете устанавливать новые версии пакетов локально (специально для одного пользователя), не изменяя глобальные настройки.
52+
53+### Установка пакета
54+
55+Установить пакет так же просто, как 'fppkg install \[packagename\]'. Это загрузит, скомпилирует и установит пакет. Если ошибки не появляются, используйте 'fppkg list', чтобы проверить, правильно ли установлен пакет. По умолчанию пакет устанавливается только для текущего пользователя. Если вы хотите принудительно сделать общесистемную установку, используйте параметр '-g'. Обратите внимание, что в этом случае вам необходимо иметь соответствующие права.
56+
57+## Аргументы командной строки
58+
59+Вывод fppkg -h
60+
61+ использование: fppkg [опции] <действие> <пакет>
62+ Опции:
63+ -c --config Устанавливать конфигурацию компилятора для использования
64+ -h --help Эта справка
65+ -v --verbose Показывать больше информации
66+ -d --debug Показывать отладочную информацию
67+ -g --global Принудительная установка в глобальный (общесистемный) каталог
68+ -f --force Принудительная установка также, если пакет уже установлен
69+ -r --recovery Режим восстановления, всегда использовать внутренний fpmkunit
70+ -b --broken Не останавливаться на поврежденных пакетах
71+ -l --showlocation Показывать, установлены ли пакеты глобально или локально
72+ -o --options=value Передать дополнительные параметры компилятору
73+ -n Не читать файлы конфигурации по умолчанию
74+ -p --prefix=value Указать префикс
75+ -s --skipbroken Пропустить пересборку зависимых пакетов после установки
76+ --compiler=value Указать исполняемый компилятором
77+ --cpu=value Указать целевой процессор для компиляции
78+ --os=value Указать целевую операционную систему для компиляции
79+
80+ Действия:
81+ update Обновить список пакетов
82+ list Список доступных и установленных пакетов
83+ build Сборка пакета
84+ compile Скомпилировать пакет
85+ install Установить пакет
86+ clean Очистить пакет
87+ archive Создать архив пакета
88+ download Скачать пакет
89+ convertmk Конвертировать Makefile.fpc в fpmake.pp
90+ fixbroken Перекомпилировать все (поврежденные) пакеты с измененными зависимостями
91+ listsettings Показать значения для всех настроек fppkg
92+
93+Все действия описаны ниже.
94+
95+Параметр пакета может означать следующее:
96+
97+- *Packagename:* Имя пакета в том виде, в котором оно указано в используемом хранилище. Все доступные имена пакетов перечислены в 'fppkg list'.
98+- *Zipfile:* Полное имя zip-файла (включая расширение .zip), содержащего пакет.
99+- *Current directory:* Когда нет параметра пакета, fppkg ищет файл с именем 'fpmake.pp' в текущем каталоге, и, если он найден, использует пакет, определенный этим файлом. В этом случае скомпилированные файлы не размещаются в другом месте (см. [[fppkg/ru|настройка 'BuildDir']]), но находятся в каталоге 'units' в текущем каталоге.
100+
101+## Действия
102+
103+### Update
104+
105+Обновляет список пакетов
106+
107+### List
108+
109+\[Выводит\] список доступных и установленных пакетов
110+
111+### Build
112+
113+Сборка пакетов
114+
115+### Install
116+
117+Установка пакетов
118+
119+### Download
120+
121+Загрузка пакетов
122+
123+### Convertmk
124+
125+Конвертация Makefile.fpc в fpmake.pp
126+
127+## Конфигурация
128+
129+### Общая конфигурация
130+
131+При запуске fppkg считывает свои настройки из fppkg.cfg. Если он не может найти его, он попытается создать его с некоторыми значениями по умолчанию. В этом файле конфигурации указывается местоположение локального репозитория. Обычно он \[находится\] в домашнем каталоге пользователя. Также возможно добавить пользовательские параметры, которые всегда передаются при вызове fpmake. Это может быть использовано \[с помощью\] fpmake-addins. Для всех других опций см. [[fppkg/ru|глобальный файл конфигурации]].
132+
133+Помимо файла глобальной конфигурации, есть также файл, специфичный для версии компилятора. Вы можете добавить столько файлов, сколько захотите, используя разные версии компилятора или опции компилятора. Обычно используется для кросс-компиляции. Вы можете указать, какой файл конфигурации использовать в командной строке fppkg с опцией '-c'. Расположение этих файлов конфигурации указывается в файле fppkg.cfg. если файл конфигурации не указан, используется файл с именем 'default'. (Это может быть установлено в fppkg.cfg)
134+
135+Наиболее важные настройки в этих файлах конфигурации - это места, где должны быть установлены пакеты. Fppkg поддерживает два разных расположения для установленных пакетов. Одно «глобальное» местоположение, которое обычно может использоваться всеми пользователями компьютера. И «локальное» местоположение, которое в большинстве случаев находится в домашнем каталоге пользователя. Эти местоположения могут быть установлены с помощью настроек 'globalprefix' и 'globalprefix'. Если вы хотите, чтобы fppkg определял, какие пакеты установлены самим fpc, необходимо установить 'globalprefix' в соответствии с префиксом вашей fpc-установки. Обычно в качестве настройки для локального префикса используется местоположение локального репозитория (задано в fppkg.cfg). Для лучшего объяснения всех опций смотрите [[fppkg/ru|Конфигурационные файлы компилятора]].
136+
137+Команда 'fppkg listsettings' покажет значения для всех настроек и имена используемых файлов конфигурации. Из настроек, которые разрешают макросы, показывается как значение, заданное пользователем, так и значение, когда оцениваются все макросы.
138+
139+### Глобальный файл конфигурации
140+
141+Глобальный файл конфигурации содержит общую информацию для fppkg, например, хранилище для загрузки и место для размещения временных файлов. Типичный файл глобальной конфигурации выглядит следующим образом: (Linux)
142+
143+`[Defaults]`\
144+`ConfigVersion=4`\
145+`LocalRepository={UserDir}.fppkg/`\
146+`BuildDir={LocalRepository}build/`\
147+`ArchivesDir={LocalRepository}archives/`\
148+`CompilerConfigDir={LocalRepository}config/`\
149+`RemoteMirrors=`[`http://www.freepascal.org/repository/mirrors.xml`](http://www.freepascal.org/repository/mirrors.xml)\
150+`RemoteRepository=auto`\
151+`CompilerConfig=default`\
152+`FPMakeCompilerConfig=default`\
153+`Downloader=lnet`
154+
155+Когда запускается fppkg, он сначала пытается загрузить fppkg.cfg из определенного пользователем места. Если пользовательская версия не может быть найдена, fppkg ищет общесистемный файл fppkg.cfg. Смотрите таблицу для точного расположения этих файлов. Если оба файла не существуют, создается файл конфигурации. Когда текущий пользователь является суперпользователем, создается файл конфигурации для всей системы, в противном случае - для конкретного пользователя. При создании файла конфигурации fppkg пытается использовать разумные значения по умолчанию для всех настроек. Когда вы устанавливаете местоположение установки fpc в параметре окружения - FPCDIR, fppkg будет использовать это местоположение в сгенерированных файлах конфигурации.
156+
157+Когда вы имеете уже инсталированные пакеты совместно с FPC или с Lazarus сборкой, то вам необходимо также создать \[Repository\] секции описания в конфигурационном файле. Типичный глобальный конфигурационный файл для Lazarus сборки выглядит следующим образом: (Windows)
158+
159+`[Global]`\
160+`ConfigVersion=5`\
161+`RemoteMirrors=`[`https://www.freepascal.org/repository/mirrors.xml`](https://www.freepascal.org/repository/mirrors.xml)\
162+`LocalRepository=C:\Users\UserName\AppData\Local\FreePascal\fppkg\`\
163+`BuildDir={LocalRepository}build\`\
164+`ArchivesDir={LocalRepository}archives\`\
165+`CompilerConfigDir={LocalRepository}config\`\
166+`CompilerConfig=default`\
167+`FPMakeCompilerConfig=default`\
168+`RemoteRepository=auto`\
169+`FPMakeOptions=--lazarusdir=C:\lazarus`\
170+`Downloader=FPC`\
171+`InstallRepository=user`\
172+
173+`[Repository]`\
174+`Name=lazarus_fpc`\
175+`Description=Packages which are installed along with the Lazarus Free Pascal Compiler `\
176+`Path=C:\lazarus\fpc\3.2.0`\
177+`Prefix=C:\lazarus\fpc\3.2.0`\
178+
179+`[Repository]`\
180+`Name=user`\
181+`Description=User-installed packages`\
182+`Path={LocalRepository}units/{CompilerVersion}`\
183+`Prefix={LocalRepository}`
184+
185+Если вы хотите точно знать, какие файлы конфигурации использует fppkg, используйте действие 'listsettings'. Он перечислит, какие файлы конфигурации используются, а также значения для всех настроек.
186+
187+| ОС | Пользовательский файл конфигурации | Общесистемный файл конфигурации |
188+|----|----|----|
189+| Unix/Linux | ~/.config/fppkg.cfg | /etc/fppkg.cfg |
190+| Windows | %localsettings%\FreePascal\fppkg\fppkg.cfg | |
191+
192+Расположение файлов конфигурации на разных ОС
193+
194+Доступны следующие настройки:
195+
196+LocalRepository
197+Место хранения информации о локальном хранилище. Поддерживает [[fppkg/ru|макросы]].
198+
199+BuildDir
200+Место, где создаются пакеты, когда пакет поставляется. Когда используется [[fppkg/ru|пакет в текущем каталоге]], этот параметр игнорируется. Поддерживает [[fppkg/ru|макросы]].
201+
202+ArchivesDir
203+Место хранения пакетов, загруженных из удаленного хранилища. Поддерживает [[fppkg/ru|макросы]].
204+
205+CompilerConfigDir
206+Место, где можно найти файлы конфигурации компилятора. Поддерживает [[fppkg/ru|макросы]].
207+
208+RemoteMirrors
209+URL-адрес файла, который содержит все зеркала для удаленного хранилища.
210+
211+RemoteRepository
212+Содержит репозиторий, который должен быть использован. Выбор 'auto' приведет к случайному хранилищу, выбранному из списка зеркал.
213+
214+Compilerconfig
215+Имя файла конфигурации компилятора, который должен использоваться по умолчанию.
216+
217+FPMakeCompilerconfig
218+Имя файла конфигурации компилятора, который должен использоваться по умолчанию для компиляции файлов fpmake.pp.
219+
220+Downloader
221+Выбирает механизм загрузки. По умолчанию используется lnet.
222+
223+FPMakeOptions
224+Определяет параметры, которые должны быть добавлены к каждому вызову fpmake. Используйте это, если у вас установлены fpmake-addons, которые нуждаются в определенных настройках. Примером является lazmkunit-addin, для которого требуется настройка lazarusdir. (FPMakeOptions=--lazarusdir=/path/to/lazarus)
225+
226+ConfigVersion
227+Номер версии используемого формата файла конфигурации. Используется для проверки того, находится ли файл конфигурации в формате, ожидаемом fppkg. Не изменяйте.
228+
229+InstallRepository
230+Имя репозитария, куда будут устанавливаться новые пакеты и обновления.
231+
232+#### Конфигурация для использования с Lazarus
233+
234+Некоторые пакеты используют lazmkunit для интеграции с Lazarus. Когда эти пакеты установлены, им нужно знать, где установлен Lazarus. Добавьте следующую строку с путем к вашей установке lazarus в fppkg.cfg:
235+
236+`FPMakeOptions=--lazarusdir=/path/to/lazarus`
237+
238+### Конфигурационные файлы компилятора
239+
240+Файл конфигурации компилятора содержит всю информацию, необходимую для выбора используемого компилятора fpc. Типичный файл конфигурации компилятора выглядит следующим образом:
241+
242+`[Defaults]`\
243+`ConfigVersion=4`\
244+`GlobalPrefix=/usr/local/lib/fpc`\
245+`LocalPrefix={LocalRepository}`\
246+`Compiler=/usr/local/bin/fpc`\
247+`OS=linux`\
248+`CPU=i386`\
249+`Version=2.5.1`
250+
251+Доступны следующие настройки:
252+
253+GlobalPrefix
254+Префикс, который должен использоваться при установке глобальных пакетов. Обычно это префикс того места, где установлен fpc, чтобы пакеты, установленные с помощью fpc, были распознаны. Поддерживает [[fppkg/ru|макросы]].
255+
256+LocalPrefix
257+Поддерживает [[fppkg/ru|макросы]].
258+
259+GlobalInstallDir
260+Это место, где установлены глобальные пакеты. Значением по умолчанию является {GlobalPrefix}lib/fpc/{compilerversion}/ для никсов и {globalprefix} для других операционных систем. Поддерживает [[fppkg/ru|макросы]].
261+
262+LocalInstallDir
263+Это место, где установлены пользовательские (локальные) пакеты. Добавьте этот путь к пути поиска компилятора, если вы хотите использовать один из пакетов, установленных в этом месте. Значением по умолчанию является {LocalPrefix}lib/fpc/{compilerversion}/ в unix и {LocalPrefix} в других операционных системах. Поддерживает [[fppkg/ru|макросы]].
264+
265+Compiler
266+Имя исполняемого \[файла\] компилятора, которое должно быть использовано.
267+
268+OS
269+Целевая OS.
270+
271+CPU
272+Целевое семейство процессоров.
273+
274+Version
275+Версия используемого компилятора.
276+
277+ConfigVersion
278+Номер версии используемого формата файла конфигурации. Используется для проверки того, находится ли файл конфигурации в формате, ожидаемом fppkg.
279+
280+### Использование макросов в файлах конфигурации
281+
282+Чтобы упростить жизнь, вы можете использовать макросы в файлах конфигурации. Макросы находятся между знаками '{}' и заменяются некоторыми динамическими значениями. Доступны следующие макросы:
283+
284+AppConfigDir
285+Возвращает место, где fppkg хранит свои пользовательские файлы конфигурации. На самом деле, он вызывает [GetAppConfigDir](http://www.freepascal.org/docs-html/rtl/sysutils/getappconfigdir.html) с Global=false.
286+
287+UserDir
288+Возвращает местоположение домашнего каталога пользователя. ([GetUserDir](http://www.freepascal.org/docs-html/rtl/sysutils/getuserdir.html))
289+
290+LocalRepository
291+Значение LocalRepository в файле глобальной конфигурации.
292+
293+CompilerVersion
294+Версия компилятора, указанная в файле конфигурации компиляции, или версия, обнаруженная в исполняемом файле компилятора. Этот макрос недоступен в файле глобальной конфигурации.
295+
296+## Обновление
297+
298+После обновления компилятора ваш старый каталог fppkg устаревает.
299+
300+- Если вы используете только одну версию компилятора, удалите папку **~/.fppkg/config/default** и выполните **fppkg update**.
301+- Если вы используете несколько версий компилятора, скопируйте **~/.fppkg/config/default** в **~/.fppkg/config/3.1.1** и затем выполните **fppkg -c 3.1.1**.
302+
303+---
304+*From the Free Pascal wiki, page "fppkg/ru", as it stood on 2020-11-13 after a change by SeniorAndre, 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).*
305+Category: FPC
306+Category: Packages

Back to history