Пакет 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.