Sign in Join
Wiki copytemporary

How to setup a FPC and Lazarus Ubuntu repository/ru: what changed

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

Title: How to setup a FPC and Lazarus Ubuntu repository/ru

OldNewLine
1+*(Ubuntu only)*
2+
3+## Остерегайтесь загрузчиков!
4+
5+Если вы хотите скачать Lazarus, перейдите по ссылке [[Lazarus release version for Ubuntu|Ubuntu repository]].
6+
7+Эта страница описывает, как настроить хранилище самостоятельно, оно не предназначено для обычных пользователей.
8+
9+## Что такое хранилище?
10+
11+Репозиторий(хранилище) Ubuntu - это каталог. Он может храниться на локальном диске, на веб-сервере или на FTP-сервере. Чтобы использовать его, вы добавляете его путь в ваш /etc/apt/sources.list и устанавливаете ключ pgp. Затем вы можете просто установить lazarus с помощью вашего любимого графического интерфейса (например, synaptic), и fpc, fpc-src и lazarus будут загружены, установлены и обновлены автоматически.
12+
13+## Кому это нужно?
14+
15+Администраторам, которые хотят установить FPC + Lazarus на пул компьютеров. Как в школе. Или новички, которые просто хотят быстро это проверить.
16+
17+## Структура каталогов
18+
19+Предположим, вы хотите создать репозиторий, доступный через веб-сервер apache. Тогда вам нужно настроить каталог, такой как /var/www/lazarus, который будет доступен для публичного чтения и доступен для записи только пользователю root.
20+
21+Создайте подкаталог для каждой цели, которую вы хотите поддерживать:
22+
23+``` bash
24+mkdir -p /var/www/lazarus/dists/lazarus-testing/universe/binary-i386
25+mkdir -p /var/www/lazarus/dists/lazarus-testing/universe/binary-amd64
26+```
27+
28+## Deb-файлы
29+
30+Поместите fpc, fpc-src и lazarus внутрь deb-файлов.
31+
32+### Создание файлов deb самостоятельно
33+
34+Вы можете создать deb-файлы с помощью скриптов в tools/install/ из исходников lazarus.
35+
36+#### Установка пакетов разработки
37+
38+- установите пакеты разработки:
39+
40+``` bash
41+sudo apt-get install libgtk2.0-dev libgtk1.2-dev libgdk-pixbuf-dev libgpmg1-dev fakeroot libncurses5-dev
42+```
43+
44+- Установите последнюю стабильную FPC. Это необходимо для сборки нового FPC и Lazarus:
45+
46+либо deb-файлы с официального сайта, либо tar.gz. например:
47+
48+``` bash
49+sudo apt-get install fp-compiler
50+```
51+
52+- Загрузите исходники FPC. Чтобы получить текущую версию разработки, вы можете использовать команду ниже. Чтобы получить более стабильную версию, см. [[Installing Lazarus|Installing_Lazarus#FPC Sources]]:
53+
54+``` bash
55+svn co http://svn.freepascal.org/svn/fpc/trunk fpc
56+```
57+
58+- Загрузите исходники Lazarus:
59+
60+``` bash
61+svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus
62+```
63+
64+#### Сборка новых deb-файлов
65+
66+- перейдите в каталог установки сценария lazarus:
67+
68+``` bash
69+cd lazarus/tools/install
70+```
71+
72+- соберите deb-файлы FPC. Следующий скрипт создаст один deb-файл fpc, используя дату в качестве версии. В качестве параметра вы должны указать путь к исходникам FPC, которые вы скачали выше:
73+
74+``` bash
75+sudo ./create_fpc_deb.sh fpc /path/to/the/sources/of/fpc/
76+```
77+
78+- установите новый deb-файл fpc. Это необходимо для сборки deb-файла для lazarus, который зависит от нового deb-файла fpc. Не забудьте сначала удалить старую FPC.
79+
80+``` bash
81+sudo dpkg -i fpc_2.2.5-090517_i386.deb
82+```
83+
84+- соберите deb-файл fpc-src. Это работает почти так же, как и \[описано\] выше (параметр fpc-src вместо fpc):
85+
86+``` bash
87+./create_fpc_deb.sh fpc-src /path/to/the/sources/of/fpc/
88+```
89+
90+- соберите deb-файл lazarus. Вы можете собрать нормальный Lazarus, используя gtk2:
91+
92+``` bash
93+./create_lazarus_deb.sh append-revision
94+```
95+
96+или lazarus, используя gtk1:
97+
98+``` bash
99+./create_lazarus_deb.sh gtk1 append-revision
100+```
101+
102+- Для проверки пакета lazarus вы можете установить новый deb-файл fpc-src и новый deb-файл lazarus с помощью:
103+
104+``` bash
105+sudo dpkg -i fpc-src_2.2.5-090517_i386.deb lazarus_0.9.27.20004-0_i386.deb
106+```
107+
108+#### Замена deb-файлов в хранилище
109+
110+Теперь у вас есть 3 deb-файла.
111+
112+Вы можете установить их напрямую, но сначала удалите собранную версию
113+
114+- Если вы установили fp-компилятор, вам необходимо:
115+
116+``` bash
117+dpkg -r fp-compiler fp-units-rtl fp-compiler
118+```
119+
120+- Скопируйте их в свое хранилище:
121+
122+``` bash
123+cp fpc_2.3.1-070726_i386.deb fpc-src_2.3.1-070726_i386.deb lazarus_0.9.23.11636-0_i386.deb \
124+/var/www/lazarus/dists/lazarus-testing/universe/binary-i386/
125+```
126+
127+- Не забудьте удалить старые версии.
128+
129+## PGP-ключи
130+
131+Вам нужно подписать deb-файлы ключом PGP, чтобы целевые системы могли быть уверены, что файлы не заменил злоумышленник.
132+
133+### Создание PGP-ключа
134+
135+Вы можете использовать такие инструменты, как [seahorse](https://ru.wikipedia.org/wiki/Seahorse) или [thunderbird](https://addons.thunderbird.net/ru/thunderbird/addon/enigmail/), чтобы создать ключ PGP.
136+
137+- Установите seahorse
138+- Запустите seahorse
139+- Key(ключ) \> Create new key(Создать новый ключ)
140+- Всплывающее окно запросит тип ключа. Выберите *PGP Key*.
141+- Дайте полное имя и адрес электронной почты и нажмите *Create*(Создать).
142+- Фраза-пароль необходима для шифрования созданных файлов. Таким образом, никто не сможет использовать ключи, кроме вас, даже если им удастся украсть ваши файлы. Если вы думаете, что ваши файлы никогда не будут украдены или прочитаны другими, вы можете оставить их пустыми.
143+- Создание ключей займет несколько минут
144+
145+### Загрузить ключ на сервер открытых ключей
146+
147+Чтобы поделиться ключом, вы можете загрузить ключ на сервер открытых ключей.
148+
149+- запустите seahorse
150+- Edit(Редактировать) \> Preferences(Настройки) \> Key servers(Серверы ключей) \> Publish key to(Опубликовать ключ на): выберите key server. Например: hkp://pgp.mit.edu:11371. Закройте диалоговое окно.
151+- Remote(Удаленно) \> Sync(Синхронизировать) и publish key(опубликовать ключ) \> Sync(Синхронизировать).
152+
153+### Запомнить ID-ключа
154+
155+Вам понадобится идентификатор ключа позже. Идентификатор ключа показывается seahorse. Но вы можете увидеть это посредством:
156+
157+``` bash
158+gpg --list-keys
159+```
160+
161+## Обновление файлов хранилища
162+
163+Поместите следующий скрипт в /var/www/lazarus, отредактируйте его под свои нужды и запустите:
164+
165+``` bash
166+#!/usr/bin/env bash
167+
168+set -x
169+
170+GPGHome=/home/gaertner/.gnupg/
171+MainDir=dists/lazarus-testing
172+
173+for Arch in i386 amd64; do
174+ Dir=$MainDir/universe/binary-$Arch
175+
176+ # create index
177+ apt-ftparchive packages $Dir > $Dir/Packages
178+ cat $Dir/Packages | gzip -9c > $Dir/Packages.gz
179+ cat $Dir/Packages | bzip2 > $Dir/Packages.bz2
180+done
181+
182+# create Release file
183+rm -f $MainDir/Release*
184+Date=`date`
185+echo "Origin: Lazarus" >> $MainDir/Release
186+echo "Label: Lazarus" >> $MainDir/Release
187+echo "Suite: unstable" >> $MainDir/Release
188+echo "Codename: lazarus-testing" >> $MainDir/Release
189+echo "Version: 1.0" >> $MainDir/Release
190+echo "Date: $Date" >> $MainDir/Release
191+echo "Architectures: amd64 i386" >> $MainDir/Release
192+echo "Components: universe" >> $MainDir/Release
193+echo "Description: Lazarus testing 1.0" >> $MainDir/Release
194+
195+apt-ftparchive release $MainDir >> $MainDir/Release
196+
197+# sign Release file
198+gpg --sign --homedir=$GPGHome -ba -o $MainDir/Release.gpg $MainDir/Release
199+
200+# end.
201+```
202+
203+Это создаст индексные файлы *Packages*, *Packages.bz2* и *Packages.gz*. И это создаст файл *Release*, содержащий контрольные суммы deb-пакетов, и подпишет их (*Release.gpg*).
204+
205+## Добавление хранилища на клиента
206+
207+*ВАЖНО*: Если вы пришли сюда только для загрузки Lazarus для Ubuntu/Debian, используйте стабильный репозиторий [[Getting Lazarus|Ubuntu repository]]. Хранилище ниже является нестабильным, тестируемым хранилищем.
208+
209+Следующие шаги должны быть выполнены на каждом компьютере, где вы хотите использовать свой репозиторий.
210+
211+### Добавление ключа
212+
213+Загрузите ключ с сервера открытого ключа:
214+
215+``` bash
216+gpg --keyserver hkp://pgp.mit.edu:11371 --recv-keys 3A5B1204
217+```
218+
219+\[Приведенный для примера ID\] 3A5B1204 следует заменить ID вашего ключа. Проверьте на выходе, что вы получили правильный ключ.
220+
221+Добавьте его в систему apt:
222+
223+``` bash
224+gpg --export 3A5B1204 | sudo apt-key add -
225+```
226+
227+Вы можете увидеть список ключей apt посредством:
228+
229+``` bash
230+sudo apt-key list
231+```
232+
233+### Добавление хранилища
234+
235+Вы можете использовать для этого synaptic или отредактировать /etc/apt/sources.list напрямую. Добавьте строку:
236+
237+``` bash
238+deb http://progprak.scale.uni-koeln.de/lazarus/ lazarus-testing universe
239+```
240+
241+Замените http-путь своим собственным.
242+
243+## Установка Lazarus
244+
245+Например:
246+
247+``` bash
248+sudo apt-get update
249+sudo apt-get install lazarus
250+```
251+
252+---
253+*From the Free Pascal wiki, page "How to setup a FPC and Lazarus Ubuntu repository/ru", as it stood on 2019-03-31 after a change by Zoltanleo, 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).*
254+Category: Ubuntu

Back to history