Сборка выполняется в chroot-окружении. Далее приводится пример сборки для Astra Linux Special Edition (архитектура amd64, дистрибутив 1.7_x86_64).

  1. Создать каталог для chroot-окружения, например, DIR.
  2. Выполнить команду:

    sudo debootstrap --variant=minbase --components=main,contrib,non-free --arch=amd64 1.7_x86-64 DIR <путь_к_репозиторию>
    В качестве репозитория могут использоваться Интернет-репозитории, локальные или сетевые репозитории, а также примонтированные диски Astra Linux.

  3. Создать в окружении каталог для размещения собираемого пакета, например:

    sudo mkdir DIR/build

    и скопировать в этот каталог собираемый пакет.

  4. Указать в созданном chroot-окружении репозитории, из которых будет выполняться установка пакетов в окружение (при использовании локальных репозиториев - создать в окружении каталоги для монтирования, смонтировать туда нужные репозитории используя опцию монтирования -o bind)Например:

    echo "deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free" | sudo tee -a DIR/etc/apt/sources.list

  5. Перейти в сroot-окружение:

    chroot DIR
    и выполнить в chroot-окружении команды:

    1. Обновление кеша пакетов, установка пакета build-essential и распаковка собираемого пакета:

      apt update
      apt install build-essential
      cd /build
      dpkg-source -x <имя_пакета>_*.dsc

    2. Перейти в распакованный каталог с исходными текстами пакета и выполнить команды для установки сборочных зависимостей (build-depends) пакета и его сборки:

      apt build-dep ./
      dpkg-buildpackage -us -uc

Проверка установки и работы пакета производится в виртуальной машине с целевой системой.