5.6. Пакет arta-synergy-synergy

Пакет arta-synergy-synergy собирается из готовой сборки synergy. Когда выполняется prepare.sh в соответсвий какая именно ветка собирается, скачивается сборка из ftp://arta.local/pub/synergy/artifacts/trunk|stable/current. Но надо сказать, что скрипт принимает параметр, его значение может быть либо last, либо полный путь до сборки (ftp ссылка). Если указать второй вариант, пакет соберется из указанной сборки.

Во время подготовки еще автоматический обновляется зависимости от других пакетов. Это делается в пункте Depends файла debian/control. Таким образом пакет всегда зависит от последних версий других пакетов. Данный момент в автоматическую подставлений версии, включены пакеты: arta-synergy-deps, arta-synergy-utils, arta-synergy-indexator, arta-synergy-esb. Версия других пакетов берется из репозитория: http://repo.lan.arta.kz/tengri/dists/trunk|stable/non-free/binary-amd64/Packages.

Основная часть версий пакета формируется следующим образом. Сначала обределяется основная версия текущего состояния сборки, мы его условно назовем source upstream version, он берется из файла build scripts/build.properties. Т.е.:

. "../../build scripts/build.properties"
SOURCE_UPSTREAM_VERSION="$milestone.$iteration" (например, 3.4)

Потом определяется последняя версия пакета из changelog (package upstream version). Например, если в changelog запись такая:

arta-synergy-synergy (3.3-r4) testing; urgency=low

  * stable build_2016_01_15_10_44.tar.gz
  * issue #2074, bug #13029 fixed, API69 task added

 -- Mariya Madyarova <mariya@arta.pro>  Fri, 15 Jan 2016 11:27:32 +0600

То нужная нам версия 3.3. И дальше они сравниваются, если source upstream version больше чем package upstream version то debian revision будет «r1», иначе debian revision берется из changelog. Примеры формирования основной версий пакета:

Upstream version = 3.4
Changelog version = 3.3 (r4)

Получим: 3.4-r1~...
Upstream version = 3.3 (либо 3.2, т.е. меньше чем changelog version)
Changelog version = 3.3 (r2)

Получим 3.3-r2~..

Часть версий после символа ~ зависит от версий сборки synergy. Во время подготовки скрипт смотрит на файл Synergy.ear/Synergy.war/synergy.build.properties и оттуда берет версию сборки synergy (например, 160203.075700). Он же используется после символа ~. Так у нас получится что на одну сборку соответствует один пакет. Конечно, если увеличить вручную debian-revision (например, из r1 на r2) в файле changelog, тогда можно получить несколько пакетов с одной сборкой synergy.