Difference between revisions of "How to setup a FPC and Lazarus Ubuntu repository/ru"

From Lazarus wiki
Jump to navigationJump to search
Line 79: Line 79:
 
* Не забудьте удалить старые версии.
 
* Не забудьте удалить старые версии.
  
== PGP Key ==
+
== PGP-ключи ==
  
You need to sign the debs with a PGP key, so that the target systems can be sure, that no evil-doer replaced the files.
+
Вам нужно подписать deb-файлы ключом PGP, чтобы целевые системы могли быть уверены, что файлы не заменил злодей.
  
=== Creating a PGP key ===
+
=== Создание PGP-ключа ===
  
You can use tools like seahorse or thunderbird to create the PGP key.
+
Вы можете использовать такие инструменты, как [https://ru.wikipedia.org/wiki/Seahorse seahorse] или [https://addons.thunderbird.net/ru/thunderbird/addon/enigmail/ thunderbird], чтобы создать ключ PGP.
  
* Install seahorse
+
* Установите seahorse
* start seahorse
+
* Запустите seahorse
* Key > Create new key
+
* Key(ключ) > Create new key(Создать новый ключ)
* A window popup up asking for the type. Choose ''PGP Key''.
+
* Всплывающее окно запросит тип ключа. Выберите ''PGP Key''.
* Give a full name and an email adress and click ''Create''.
+
* Дайте полное имя и адрес электронной почты и нажмите ''Create''(Создать).
* The passphrase is needed to encrypt the created files. This way no one can use the keys but you, even if they manage to steal your files. If you think, your files will never stolen or read by others you can leave them empty.
+
* Фраза-пароль необходима для шифрования созданных файлов. Таким образом, никто не сможет использовать ключи, кроме вас, даже если им удастся украсть ваши файлы. Если вы думаете, что ваши файлы никогда не будут украдены или прочитаны другими, вы можете оставить их пустыми.
* Creating the keys will take some minutes
+
* Создание ключей займет несколько минут
  
 
=== Upload the key to a public key server ===
 
=== Upload the key to a public key server ===

Revision as of 13:23, 31 March 2019

Logo-ubuntu cof-orange-hex.svg

Эта статья относится только к Ubuntu.

См. также: Multiplatform Programming Guide

English (en) français (fr) 日本語 (ja) português (pt) русский (ru) slovenčina (sk)

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

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

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

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

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

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

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

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

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

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

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.

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

  • установите пакеты разработки:
sudo apt-get install libgtk2.0-dev libgtk1.2-dev libgdk-pixbuf-dev libgpmg1-dev fakeroot libncurses5-dev
  • Установите последнюю стабильную FPC. Это необходимо для сборки нового FPC и Lazarus:

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

sudo apt-get install fp-compiler
  • Загрузите исходники FPC. Чтобы получить текущую версию разработки, вы можете использовать команду ниже. Чтобы получить более стабильную версию, см. Installing_Lazarus#FPC Sources:
svn co http://svn.freepascal.org/svn/fpc/trunk fpc
  • Загрузите исходники Lazarus:
svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

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

  • перейдите в каталог установки сценария lazarus:
cd lazarus/tools/install
  • соберите deb-файлы FPC. Следующий скрипт создаст один deb-файл fpc, используя дату в качестве версии. В качестве параметра вы должны указать путь к исходникам FPC, которые вы скачали выше:
sudo ./create_fpc_deb.sh fpc /path/to/the/sources/of/fpc/
  • установите новый deb-файл fpc. Это необходимо для сборки deb-файла для lazarus, который зависит от нового deb-файла fpc. Не забудьте сначала удалить старую FPC.
sudo dpkg -i fpc_2.2.5-090517_i386.deb
  • соберите deb-файл fpc-src. Это работает почти так же, как и [описано] выше (параметр fpc-src вместо fpc):
./create_fpc_deb.sh fpc-src /path/to/the/sources/of/fpc/
  • соберите deb-файл lazarus. Вы можете собрать нормальный Lazarus, используя gtk2:
./create_lazarus_deb.sh append-revision

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

./create_lazarus_deb.sh gtk1 append-revision
  • Для проверки пакета lazarus вы можете установить новый deb-файл fpc-src и новый deb-файл lazarus с помощью:
sudo dpkg -i fpc-src_2.2.5-090517_i386.deb lazarus_0.9.27.20004-0_i386.deb

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

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

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

  • Если вы установили fp-компилятор, вам необходимо:
dpkg -r fp-compiler fp-units-rtl fp-compiler
  • Скопируйте их в свое хранилище:
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.

  • Установите seahorse
  • Запустите seahorse
  • Key(ключ) > Create new key(Создать новый ключ)
  • Всплывающее окно запросит тип ключа. Выберите PGP Key.
  • Дайте полное имя и адрес электронной почты и нажмите Create(Создать).
  • Фраза-пароль необходима для шифрования созданных файлов. Таким образом, никто не сможет использовать ключи, кроме вас, даже если им удастся украсть ваши файлы. Если вы думаете, что ваши файлы никогда не будут украдены или прочитаны другими, вы можете оставить их пустыми.
  • Создание ключей займет несколько минут

Upload the key to a public key server

In order to share the key you can upload the key to a public key server.

  • start seahorse
  • Edit > Preferences > Key servers > Publish key to: choose a key server. For example: hkp://pgp.mit.edu:11371. Close the dialog.
  • Remote > Sync and publish key > Sync.

Remember the key ID

You need the key ID later. The key ID is shown in seahorse. But you can see it also via:

gpg --list-keys

Updating repository files

Put the following script into /var/www/lazarus, edit it for your needs and run it:

#!/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.

This will create index files Packages, Packages.bz2 and Packages.gz. And it will create the Release file containing the checksums of the deb packages and sign it (Release.gpg).

Adding the repository to a client

IMPORTANT: If you only came here to download lazarus for ubuntu/debian then use the stable repository Ubuntu repository. The repository below is an unstable, testing repository.

The following steps must be done on each computer, you want to use your repository.

Add the key

Download the key from the public key server:

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

The 3A5B1204 should be replaced with your key id. Check the output, that you got the right key.

Add it to the apt system:

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

You can see the list of apt keys with:

sudo apt-key list

Add the repository

You can use synaptic for this or edit the /etc/apt/sources.list directly. Add the line:

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

Replace the http path with your own.

Install Lazarus

For example:

sudo apt-get update
sudo apt-get install lazarus