Компания Etersoft объявила об открытии публичного сервера системы Korinf. Система по назначению напоминает развиваемую в рамках проекта openSUSE платформу Open Build Service и представляет собой среду сборки пакетов под произвольные операционные системы. Среди поддерживаемых сисем Debian/Ubuntu, SUSE, RHEL/Fedora, Arch Linux, Gentoo и FreeBSD (в будущем ожидается поддержка OpenSolaris, Mac OS X и даже Windows). Используя Korinf, разработчики смогут достаточно легко выпускать свои приложения для различных Linux-дистрибутивов. Одновременно с открытием публичного сервера выходит новый релиз Korinf 2.0 под свободной лицензией AGPLv3.
В режиме публичного доступа разработчики смогут конвертировать пакеты, используя ресурсы сборочного сервера Etersoft. Устанавливать Korinf на собственный сервер не потребуется. Доступ к серверу может быть как платным, так и бесплатным — это определяется степенью социальной значимости и открытости проекта. По вопросам использования публичного сервера Korinf можно обращаться по адресу [email protected]
Проект Korinf развивается из системы, которую в Etersoft используют для создания сборок собственных продуктов (например, WINE@Etersoft) под различные дистрибутивы. До сих пор Korinf разворачивался преимущественно в ALT Linux. В качестве исходных пакетов использовались пакеты из репозитория Sisyphus. Korinf позволил полностью автоматизировать конвертацию пакетов ALT Linux в пакеты других ОС. Систему сборки можно использовать и на других Linux-дистрибутивах, хотя для этого может потребоваться некоторая доработка.
Основное отличие Korinf от Open Build Service состоит в том, что система Open Build Service не привязана к какому-то определенному дистрибутиву и инструкции о сборке пакетов в ней формируются отдельно (параметры сборки уже определены для всех приложений из состава openSUSE). В Korinf используется привязка к src.rpm и spec-файлам из репозитория Sisyphus, позволяя собирать для других ОС только пакеты, оформленные в соответствии с требованиями Sisyphus. Кроме того, Korinf не поддерживает сборку системообразующих пакетов, таких как glibc и rpm.
Работа Korinf сводится к организации взаимодействия с внешними сборочными окружениями, преобразованию исходной спецификации в формат целевой системы, передаче заданий и получению результата. Сборка осуществляется на удаленном сервере или в chroot-окружениях (планируется переход к использованию контейнеров OpenVZ), в которых установлены системы для которых нужно сформировать пакет. Исходный spec-файл преобразуется для использования в заданном сборочном окружении при помощи команды rpmbph, для выполнения сборки в окружениях устанавливается пакет rpm-build-altlinux-compat. Для Debian и Slackware полученный rpm-пакет преобразуется при помощи утилиты alien. Для FreeBSD, Gentoo и других систем, имеющих принципиально другие подходы к формирования пакетов, используются специальные правила сборки и скрипты-трансляторы.