Копия викизеркало

Это зеркало вики с pascal.chat. Правка, история и вход — там.

How to setup a FPC and Lazarus Ubuntu repository/ru

English · Français · Português · Slovenčina · Русский · 日本語

(Ubuntu only)

Остерегайтесь загрузчиков!

Если вы хотите скачать Lazarus, перейдите по ссылке Ubuntu repository.

Эта страница описывает, как настроить хранилище самостоятельно, оно не предназначено для обычных пользователей.

Что такое хранилище?

Репозиторий(хранилище) Ubuntu - это каталог. Он может храниться на локальном диске, на веб-сервере или на FTP-сервере. Чтобы использовать его, вы добавляете его путь в ваш /etc/apt/sources.list и устанавливаете ключ pgp. Затем вы можете просто установить lazarus с помощью вашего любимого графического интерфейса (например, synaptic), и fpc, fpc-src и lazarus будут загружены, установлены и обновлены автоматически.

Кому это нужно?

Администраторам, которые хотят установить FPC + Lazarus на пул компьютеров. Как в школе. Или новички, которые просто хотят быстро это проверить.

Структура каталогов

Предположим, вы хотите создать репозиторий, доступный через веб-сервер apache. Тогда вам нужно настроить каталог, такой как /var/www/lazarus, который будет доступен для публичного чтения и доступен для записи только пользователю root.

Создайте подкаталог для каждой цели, которую вы хотите поддерживать:

bash
mkdir -p /var/www/lazarus/dists/lazarus-testing/universe/binary-i386
mkdir -p /var/www/lazarus/dists/lazarus-testing/universe/binary-amd64

Deb-файлы

Поместите fpc, fpc-src и lazarus внутрь deb-файлов.

Создание файлов deb самостоятельно

Вы можете создать deb-файлы с помощью скриптов в tools/install/ из исходников lazarus.

Установка пакетов разработки

bash
sudo apt-get install libgtk2.0-dev libgtk1.2-dev libgdk-pixbuf-dev libgpmg1-dev fakeroot libncurses5-dev

либо deb-файлы с официального сайта, либо tar.gz. например:

bash
sudo apt-get install fp-compiler
bash
svn co http://svn.freepascal.org/svn/fpc/trunk fpc
bash
svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

Сборка новых deb-файлов

bash
cd lazarus/tools/install
bash
sudo ./create_fpc_deb.sh fpc /path/to/the/sources/of/fpc/
bash
sudo dpkg -i fpc_2.2.5-090517_i386.deb
bash
./create_fpc_deb.sh fpc-src /path/to/the/sources/of/fpc/
bash
./create_lazarus_deb.sh append-revision

или lazarus, используя gtk1:

bash
./create_lazarus_deb.sh gtk1 append-revision
bash
sudo dpkg -i fpc-src_2.2.5-090517_i386.deb lazarus_0.9.27.20004-0_i386.deb

Замена deb-файлов в хранилище

Теперь у вас есть 3 deb-файла.

Вы можете установить их напрямую, но сначала удалите собранную версию

bash
dpkg -r fp-compiler fp-units-rtl fp-compiler
bash
cp fpc_2.3.1-070726_i386.deb fpc-src_2.3.1-070726_i386.deb lazarus_0.9.23.11636-0_i386.deb \
/var/www/lazarus/dists/lazarus-testing/universe/binary-i386/

PGP-ключи

Вам нужно подписать deb-файлы ключом PGP, чтобы целевые системы могли быть уверены, что файлы не заменил злоумышленник.

Создание PGP-ключа

Вы можете использовать такие инструменты, как seahorse или thunderbird, чтобы создать ключ PGP.

Загрузить ключ на сервер открытых ключей

Чтобы поделиться ключом, вы можете загрузить ключ на сервер открытых ключей.

Запомнить ID-ключа

Вам понадобится идентификатор ключа позже. Идентификатор ключа показывается seahorse. Но вы можете увидеть это посредством:

bash
gpg --list-keys

Обновление файлов хранилища

Поместите следующий скрипт в /var/www/lazarus, отредактируйте его под свои нужды и запустите:

bash
#!/usr/bin/env bash

set -x

GPGHome=/home/gaertner/.gnupg/
MainDir=dists/lazarus-testing

for Arch in i386 amd64; do
  Dir=$MainDir/universe/binary-$Arch

  # create index
  apt-ftparchive packages $Dir > $Dir/Packages
  cat $Dir/Packages | gzip -9c > $Dir/Packages.gz
  cat $Dir/Packages | bzip2 > $Dir/Packages.bz2
done

# create Release file
rm -f $MainDir/Release*
Date=`date`
echo "Origin: Lazarus" >> $MainDir/Release
echo "Label: Lazarus" >> $MainDir/Release
echo "Suite: unstable" >> $MainDir/Release
echo "Codename: lazarus-testing" >> $MainDir/Release
echo "Version: 1.0" >> $MainDir/Release
echo "Date: $Date" >> $MainDir/Release
echo "Architectures: amd64 i386" >> $MainDir/Release
echo "Components: universe" >> $MainDir/Release
echo "Description: Lazarus testing 1.0" >> $MainDir/Release

apt-ftparchive release $MainDir >> $MainDir/Release

# sign Release file
gpg --sign --homedir=$GPGHome -ba -o $MainDir/Release.gpg $MainDir/Release

# end.

Это создаст индексные файлы Packages, Packages.bz2 и Packages.gz. И это создаст файл Release, содержащий контрольные суммы deb-пакетов, и подпишет их (Release.gpg).

Добавление хранилища на клиента

ВАЖНО: Если вы пришли сюда только для загрузки Lazarus для Ubuntu/Debian, используйте стабильный репозиторий Ubuntu repository. Хранилище ниже является нестабильным, тестируемым хранилищем.

Следующие шаги должны быть выполнены на каждом компьютере, где вы хотите использовать свой репозиторий.

Добавление ключа

Загрузите ключ с сервера открытого ключа:

bash
gpg --keyserver hkp://pgp.mit.edu:11371 --recv-keys 3A5B1204

[Приведенный для примера ID] 3A5B1204 следует заменить ID вашего ключа. Проверьте на выходе, что вы получили правильный ключ.

Добавьте его в систему apt:

bash
gpg --export 3A5B1204 | sudo apt-key add -

Вы можете увидеть список ключей apt посредством:

bash
sudo apt-key list

Добавление хранилища

Вы можете использовать для этого synaptic или отредактировать /etc/apt/sources.list напрямую. Добавьте строку:

bash
deb http://progprak.scale.uni-koeln.de/lazarus/ lazarus-testing universe

Замените http-путь своим собственным.

Установка Lazarus

Например:

bash
sudo apt-get update
sudo apt-get install lazarus

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.

Версия 1, последнее изменение: WikiArchive, .