Sign in Join
Wiki copytemporary

fppkg/ru: what changed

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

OldNewLine
11## Вступление
22
33Fppkg - менеджер пакетов Free Pascal. С помощью этого инструмента вы можете создавать и устанавливать пакеты Free Pascal в своей системе. Вы можете устанавливать пакеты из локальных источников или загружать их из центрального хранилища. Пакеты должны быть сделаны с \[помощью\] [[FPMake/ru|FPMake]].
44
55## Руководство по началу работы
66
77> **Note:** этот раздел действителен только для fppkg от fpc версии 2.5.1 или выше.
88
99### Настройка
1010
1111Когда вы запускаете fppkg в первый раз, он создаст новые файлы конфигурации со значениями по умолчанию. Чтобы проверить, что эти значения в порядке, запустите 'fppkg list' в окне консоли. Вы должны увидеть что-то вроде этого:
1212
1313``` bash
1414 Name Installed Available
1515 a52 2.5.1-1 -
1616 aspell 2.5.1-1 -
1717 bfd 2.5.1-1 -
1818 lnet - 0.6.3-0
1919```
2020
2121Появится список всех установленных пакетов и пакетов, доступных для загрузки. Вы можете увидеть, какая версия каждого пакета доступна и/или установлена.
2222
2323Если fppkg показывает только доступные пакеты, но не какие-либо установленные пакеты, вы должны адаптировать свою конфигурацию fppkg. Запустите 'fppkg listsettings', чтобы увидеть текущие настройки и расположение файлов конфигурации. Найдите файл конфигурации компилятора и откройте его в текстовом редакторе. Теперь измените настройку 'GlobalPrefix' на место, где установлен fpc. Например:'GlobalPrefix=/usr/lib/fpc' или 'c:\pp'. Сохраните файл и снова запустите 'fppkg list'.
2424
2525Если у вас все еще есть проблемы, пожалуйста, прочитайте раздел по [[fppkg/ru|настройке]] fppkg.
2626
2727#### Конфигурирование компилятора
2828
2929Последний шаг - это настройка компилятора Free Pascal таким образом, чтобы он обнаруживал установленные пакеты. По умолчанию пакеты устанавливаются в определенном для пользователя месте, и это местоположение по умолчанию не ищется компилятором. Запустите 'fppkg listsettings', чтобы увидеть, где fppkg устанавливает пользовательские пакеты. Это местоположение указано как 'LocalInstallDir'.
3030
3131Теперь добавьте эту строку в ваш файл конфигурации компилятора Free Pascal fpc.cfg:
3232
3333``` bash
3434 -Fu<LocalInstallDir>/units/$fpctarget/*
3535```
3636
3737Замените \<LocalInstallDir\> значением параметра 'LocalInstallDir', как показано в 'fppkg list'. Например:
3838
3939Linux: (/etc/fpc.cfg or ~/.fpc.cfg)
4040
4141``` bash
4242-Fu~/.fppkg/lib/fpc/$fpcversion/units/$fpctarget/*
4343```
4444
4545Windows: (fpc.cfg)
4646
4747``` bash
4848-Fuc:\users\username\AppData\Local\FreePascal\fppkg\units\$fpctarget*
4949```
5050
5151Теперь вы можете использовать модули из установленных пакетов во всех ваших программах. Если вы разместите строку в нижней части fpc.cfg, вы уверены, что компилятор предпочтет (локально) установленные пакеты выше глобально установленных. Таким образом, вы можете устанавливать новые версии пакетов локально (специально для одного пользователя), не изменяя глобальные настройки.
5252
5353### Установка пакета
5454
5555Установить пакет так же просто, как 'fppkg install \[packagename\]'. Это загрузит, скомпилирует и установит пакет. Если ошибки не появляются, используйте 'fppkg list', чтобы проверить, правильно ли установлен пакет. По умолчанию пакет устанавливается только для текущего пользователя. Если вы хотите принудительно сделать общесистемную установку, используйте параметр '-g'. Обратите внимание, что в этом случае вам необходимо иметь соответствующие права.
5656
5757## Аргументы командной строки
5858
5959Вывод fppkg -h
6060
6161 использование: fppkg [опции] <действие> <пакет>
6262 Опции:
6363 -c --config Устанавливать конфигурацию компилятора для использования
6464 -h --help Эта справка
6565 -v --verbose Показывать больше информации
6666 -d --debug Показывать отладочную информацию
6767 -g --global Принудительная установка в глобальный (общесистемный) каталог
6868 -f --force Принудительная установка также, если пакет уже установлен
6969 -r --recovery Режим восстановления, всегда использовать внутренний fpmkunit
7070 -b --broken Не останавливаться на поврежденных пакетах
7171 -l --showlocation Показывать, установлены ли пакеты глобально или локально
7272 -o --options=value Передать дополнительные параметры компилятору
7373 -n Не читать файлы конфигурации по умолчанию
7474 -p --prefix=value Указать префикс
7575 -s --skipbroken Пропустить пересборку зависимых пакетов после установки
7676 --compiler=value Указать исполняемый компилятором
7777 --cpu=value Указать целевой процессор для компиляции
7878 --os=value Указать целевую операционную систему для компиляции
7979
8080 Действия:
8181 update Обновить список пакетов
8282 list Список доступных и установленных пакетов
8383 build Сборка пакета
8484 compile Скомпилировать пакет
8585 install Установить пакет
8686 clean Очистить пакет
8787 archive Создать архив пакета
8888 download Скачать пакет
8989 convertmk Конвертировать Makefile.fpc в fpmake.pp
9090 fixbroken Перекомпилировать все (поврежденные) пакеты с измененными зависимостями
9191 listsettings Показать значения для всех настроек fppkg
9292
9393Все действия описаны ниже.
9494
9595Параметр пакета может означать следующее:
9696
9797- *Packagename:* Имя пакета в том виде, в котором оно указано в используемом хранилище. Все доступные имена пакетов перечислены в 'fppkg list'.
9898- *Zipfile:* Полное имя zip-файла (включая расширение .zip), содержащего пакет.
9999- *Current directory:* Когда нет параметра пакета, fppkg ищет файл с именем 'fpmake.pp' в текущем каталоге, и, если он найден, использует пакет, определенный этим файлом. В этом случае скомпилированные файлы не размещаются в другом месте (см. [[fppkg/ru|настройка 'BuildDir']]), но находятся в каталоге 'units' в текущем каталоге.
100100
101101## Действия
102102
103103### Update
104104
105105Обновляет список пакетов
106106
107107### List
108108
109109\[Выводит\] список доступных и установленных пакетов
110110
111111### Build
112112
113113Сборка пакетов
114114
115115### Install
116116
117117Установка пакетов
118118
119119### Download
120120
121121Загрузка пакетов
122122
123123### Convertmk
124124
125125Конвертация Makefile.fpc в fpmake.pp
126126
127127## Конфигурация
128128
129129### Общая конфигурация
130130
131131При запуске fppkg считывает свои настройки из fppkg.cfg. Если он не может найти его, он попытается создать его с некоторыми значениями по умолчанию. В этом файле конфигурации указывается местоположение локального репозитория. Обычно он \[находится\] в домашнем каталоге пользователя. Также возможно добавить пользовательские параметры, которые всегда передаются при вызове fpmake. Это может быть использовано \[с помощью\] fpmake-addins. Для всех других опций см. [[fppkg/ru|глобальный файл конфигурации]].
132132
133133Помимо файла глобальной конфигурации, есть также файл, специфичный для версии компилятора. Вы можете добавить столько файлов, сколько захотите, используя разные версии компилятора или опции компилятора. Обычно используется для кросс-компиляции. Вы можете указать, какой файл конфигурации использовать в командной строке fppkg с опцией '-c'. Расположение этих файлов конфигурации указывается в файле fppkg.cfg. если файл конфигурации не указан, используется файл с именем 'default'. (Это может быть установлено в fppkg.cfg)
134134
135135Наиболее важные настройки в этих файлах конфигурации - это места, где должны быть установлены пакеты. Fppkg поддерживает два разных расположения для установленных пакетов. Одно «глобальное» местоположение, которое обычно может использоваться всеми пользователями компьютера. И «локальное» местоположение, которое в большинстве случаев находится в домашнем каталоге пользователя. Эти местоположения могут быть установлены с помощью настроек 'globalprefix' и 'globalprefix'. Если вы хотите, чтобы fppkg определял, какие пакеты установлены самим fpc, необходимо установить 'globalprefix' в соответствии с префиксом вашей fpc-установки. Обычно в качестве настройки для локального префикса используется местоположение локального репозитория (задано в fppkg.cfg). Для лучшего объяснения всех опций смотрите [[fppkg/ru|Конфигурационные файлы компилятора]].
136136
137137Команда 'fppkg listsettings' покажет значения для всех настроек и имена используемых файлов конфигурации. Из настроек, которые разрешают макросы, показывается как значение, заданное пользователем, так и значение, когда оцениваются все макросы.
138138
139139### Глобальный файл конфигурации
140140
141141Глобальный файл конфигурации содержит общую информацию для fppkg, например, хранилище для загрузки и место для размещения временных файлов. Типичный файл глобальной конфигурации выглядит следующим образом: (Linux)
142142
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`
143+```text
144+[Defaults]
145+ConfigVersion=4
146+LocalRepository={UserDir}.fppkg/
147+BuildDir={LocalRepository}build/
148+ArchivesDir={LocalRepository}archives/
149+CompilerConfigDir={LocalRepository}config/
150+RemoteMirrors=http://www.freepascal.org/repository/mirrors.xml
151+RemoteRepository=auto
152+CompilerConfig=default
153+FPMakeCompilerConfig=default
154+Downloader=lnet
155+```
154156
155157Когда запускается fppkg, он сначала пытается загрузить fppkg.cfg из определенного пользователем места. Если пользовательская версия не может быть найдена, fppkg ищет общесистемный файл fppkg.cfg. Смотрите таблицу для точного расположения этих файлов. Если оба файла не существуют, создается файл конфигурации. Когда текущий пользователь является суперпользователем, создается файл конфигурации для всей системы, в противном случае - для конкретного пользователя. При создании файла конфигурации fppkg пытается использовать разумные значения по умолчанию для всех настроек. Когда вы устанавливаете местоположение установки fpc в параметре окружения - FPCDIR, fppkg будет использовать это местоположение в сгенерированных файлах конфигурации.
156158
157159Когда вы имеете уже инсталированные пакеты совместно с FPC или с Lazarus сборкой, то вам необходимо также создать \[Repository\] секции описания в конфигурационном файле. Типичный глобальный конфигурационный файл для Lazarus сборки выглядит следующим образом: (Windows)
158160
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`\
161+```text
162+[Global]
163+ConfigVersion=5
164+RemoteMirrors=https://www.freepascal.org/repository/mirrors.xml
165+LocalRepository=C:\Users\UserName\AppData\Local\FreePascal\fppkg\
166+BuildDir={LocalRepository}build\
167+ArchivesDir={LocalRepository}archives\
168+CompilerConfigDir={LocalRepository}config\
169+CompilerConfig=default
170+FPMakeCompilerConfig=default
171+RemoteRepository=auto
172+FPMakeOptions=--lazarusdir=C:\lazarus
173+Downloader=FPC
174+InstallRepository=user
172175
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`\
176+[Repository]
177+Name=lazarus_fpc
178+Description=Packages which are installed along with the Lazarus Free Pascal Compiler
179+Path=C:\lazarus\fpc\3.2.0
180+Prefix=C:\lazarus\fpc\3.2.0
178181
179-`[Repository]`\
180-`Name=user`\
181-`Description=User-installed packages`\
182-`Path={LocalRepository}units/{CompilerVersion}`\
183-`Prefix={LocalRepository}`
182+[Repository]
183+Name=user
184+Description=User-installed packages
185+Path={LocalRepository}units/{CompilerVersion}
186+Prefix={LocalRepository}
187+```
184188
185189Если вы хотите точно знать, какие файлы конфигурации использует fppkg, используйте действие 'listsettings'. Он перечислит, какие файлы конфигурации используются, а также значения для всех настроек.
186190
187191| ОС | Пользовательский файл конфигурации | Общесистемный файл конфигурации |
188192|----|----|----|
189193| Unix/Linux | ~/.config/fppkg.cfg | /etc/fppkg.cfg |
190194| Windows | %localsettings%\FreePascal\fppkg\fppkg.cfg | |
191195
192196Расположение файлов конфигурации на разных ОС
193197
194198Доступны следующие настройки:
195199
196200LocalRepository
197201Место хранения информации о локальном хранилище. Поддерживает [[fppkg/ru|макросы]].
198202
199203BuildDir
200204Место, где создаются пакеты, когда пакет поставляется. Когда используется [[fppkg/ru|пакет в текущем каталоге]], этот параметр игнорируется. Поддерживает [[fppkg/ru|макросы]].
201205
202206ArchivesDir
203207Место хранения пакетов, загруженных из удаленного хранилища. Поддерживает [[fppkg/ru|макросы]].
204208
205209CompilerConfigDir
206210Место, где можно найти файлы конфигурации компилятора. Поддерживает [[fppkg/ru|макросы]].
207211
208212RemoteMirrors
209213URL-адрес файла, который содержит все зеркала для удаленного хранилища.
210214
211215RemoteRepository
212216Содержит репозиторий, который должен быть использован. Выбор 'auto' приведет к случайному хранилищу, выбранному из списка зеркал.
213217
214218Compilerconfig
215219Имя файла конфигурации компилятора, который должен использоваться по умолчанию.
216220
217221FPMakeCompilerconfig
218222Имя файла конфигурации компилятора, который должен использоваться по умолчанию для компиляции файлов fpmake.pp.
219223
220224Downloader
221225Выбирает механизм загрузки. По умолчанию используется lnet.
222226
223227FPMakeOptions
224228Определяет параметры, которые должны быть добавлены к каждому вызову fpmake. Используйте это, если у вас установлены fpmake-addons, которые нуждаются в определенных настройках. Примером является lazmkunit-addin, для которого требуется настройка lazarusdir. (FPMakeOptions=--lazarusdir=/path/to/lazarus)
225229
226230ConfigVersion
227231Номер версии используемого формата файла конфигурации. Используется для проверки того, находится ли файл конфигурации в формате, ожидаемом fppkg. Не изменяйте.
228232
229233InstallRepository
230234Имя репозитария, куда будут устанавливаться новые пакеты и обновления.
231235
232236#### Конфигурация для использования с Lazarus
233237
234238Некоторые пакеты используют lazmkunit для интеграции с Lazarus. Когда эти пакеты установлены, им нужно знать, где установлен Lazarus. Добавьте следующую строку с путем к вашей установке lazarus в fppkg.cfg:
235239
236-`FPMakeOptions=--lazarusdir=/path/to/lazarus`
240+```text
241+FPMakeOptions=--lazarusdir=/path/to/lazarus
242+```
237243
238244### Конфигурационные файлы компилятора
239245
240246Файл конфигурации компилятора содержит всю информацию, необходимую для выбора используемого компилятора fpc. Типичный файл конфигурации компилятора выглядит следующим образом:
241247
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`
248+```text
249+[Defaults]
250+ConfigVersion=4
251+GlobalPrefix=/usr/local/lib/fpc
252+LocalPrefix={LocalRepository}
253+Compiler=/usr/local/bin/fpc
254+OS=linux
255+CPU=i386
256+Version=2.5.1
257+```
250258
251259Доступны следующие настройки:
252260
253261GlobalPrefix
254262Префикс, который должен использоваться при установке глобальных пакетов. Обычно это префикс того места, где установлен fpc, чтобы пакеты, установленные с помощью fpc, были распознаны. Поддерживает [[fppkg/ru|макросы]].
255263
256264LocalPrefix
257265Поддерживает [[fppkg/ru|макросы]].
258266
259267GlobalInstallDir
260268Это место, где установлены глобальные пакеты. Значением по умолчанию является {GlobalPrefix}lib/fpc/{compilerversion}/ для никсов и {globalprefix} для других операционных систем. Поддерживает [[fppkg/ru|макросы]].
261269
262270LocalInstallDir
263271Это место, где установлены пользовательские (локальные) пакеты. Добавьте этот путь к пути поиска компилятора, если вы хотите использовать один из пакетов, установленных в этом месте. Значением по умолчанию является {LocalPrefix}lib/fpc/{compilerversion}/ в unix и {LocalPrefix} в других операционных системах. Поддерживает [[fppkg/ru|макросы]].
264272
265273Compiler
266274Имя исполняемого \[файла\] компилятора, которое должно быть использовано.
267275
268276OS
269277Целевая OS.
270278
271279CPU
272280Целевое семейство процессоров.
273281
274282Version
275283Версия используемого компилятора.
276284
277285ConfigVersion
278286Номер версии используемого формата файла конфигурации. Используется для проверки того, находится ли файл конфигурации в формате, ожидаемом fppkg.
279287
280288### Использование макросов в файлах конфигурации
281289
282290Чтобы упростить жизнь, вы можете использовать макросы в файлах конфигурации. Макросы находятся между знаками '{}' и заменяются некоторыми динамическими значениями. Доступны следующие макросы:
283291
284292AppConfigDir
285293Возвращает место, где fppkg хранит свои пользовательские файлы конфигурации. На самом деле, он вызывает [GetAppConfigDir](http://www.freepascal.org/docs-html/rtl/sysutils/getappconfigdir.html) с Global=false.
286294
287295UserDir
288296Возвращает местоположение домашнего каталога пользователя. ([GetUserDir](http://www.freepascal.org/docs-html/rtl/sysutils/getuserdir.html))
289297
290298LocalRepository
291299Значение LocalRepository в файле глобальной конфигурации.
292300
293301CompilerVersion
294302Версия компилятора, указанная в файле конфигурации компиляции, или версия, обнаруженная в исполняемом файле компилятора. Этот макрос недоступен в файле глобальной конфигурации.
295303
296304## Обновление
297305
298306После обновления компилятора ваш старый каталог fppkg устаревает.
299307
300308- Если вы используете только одну версию компилятора, удалите папку **~/.fppkg/config/default** и выполните **fppkg update**.
301309- Если вы используете несколько версий компилятора, скопируйте **~/.fppkg/config/default** в **~/.fppkg/config/3.1.1** и затем выполните **fppkg -c 3.1.1**.
302310
303311---
304312*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).*
305313Category: FPC
306314Category: Packages

Back to history