Добавил возможность сборки deb-пакетов для предоставления пользователю GNU/Linux более удобного способа установки транслятора.
Текущая сборка разбивается на 2-е части - исполняемый файл транслятора и первоначальная библиотека поддержки. Из-за того, что библиотека на текущем уровне развития доступна только на уровне исходного кода, то она не зависит от процессорной платформы. Транслятор же для повышения универсальности собирается для i386 со статическим связыванием со стандартной библиотекой. Если для этого вместо glibc использовать musl-libc или dietlibc, то размер выходного файла получается вполне приемлемым.
Для такой сборки я использовал следующую команду в каталоге проекта из 32-битной Ubuntu 18.04:
$ result/bs-ost run 'make.UseCC("musl-gcc -Os -flto -static"); make.Build; make.Deb' -infr . -m sourceПредварительно нужно установить вспомогательные утилиты:
$ /usr/bin/sudo apt install hashdeep musl-toolsИ собрать раскруточную версию транслятора:
$ ./init.shПод командой make.Deb скрываются команды оболочки sh:
для сборки vostok-deflib.deb
rm -r result/vostok-deflib mkdir -p result/vostok-deflib result/vostok-deflib/DEBIAN result/vostok-deflib/usr/share/doc/vostok-deflib result/vostok-deflib/usr/share/vostok cp -r library result/vostok-deflib/usr/share/vostok/ cp -r singularity result/vostok-deflib/usr/share/vostok/ cp package/DEBIAN/control-deflib result/vostok-deflib/DEBIAN/control gzip -9cn package/DEBIAN/changelog-deflib > result/vostok-deflib/usr/share/doc/vostok-deflib/changelog.gz cp package/DEBIAN/copyright-deflib result/vostok-deflib/usr/share/doc/vostok-deflib/copyright cd result/vostok-deflib md5deep -rl usr > DEBIAN/md5sums cd .. fakeroot dpkg-deb --build vostok-deflib
для сборки vostok-bin.deb
rm -r result/vostok-bin mkdir -p result/vostok-bin/DEBIAN result/vostok-bin/usr/share/doc/vostok-bin result/vostok-bin/usr/bin cp result/ost result/vostok-bin/usr/bin/ cp package/DEBIAN/control-bin result/vostok-bin/DEBIAN/control gzip -9cn package/DEBIAN/changelog-bin > result/vostok-bin/usr/share/doc/vostok-bin/changelog.gz cp package/DEBIAN/copyright-bin result/vostok-bin/usr/share/doc/vostok-bin/copyright cp package/DEBIAN/ost.1 result/vostok-bin/DEBIAN/ost.1 cd result/vostok-bin md5deep -rl usr > DEBIAN/md5sums cd .. fakeroot dpkg-deb --build vostok-bin
В результате сотрудничества с другими проектами на Обероне, deb-пакеты и их обновления доступны в общем репозитории https://wiki.oberon.org/repo
Комментариев нет:
Отправить комментарий