В прошлую пятницу состоялся первый публичный релиз менеджера пакетов deck — 0.1.0.
Отличительная особенность deck заключается в том, что работает не с бинарными пакетами, а непосредственно с исходниками в классических архивах (при условии наличии Makefile). Он предназначен для использования в Linux-дистрибутивах типа LFS (Linux From Scratch). Новый инструмент хранит информацию об устанавливаемых файлах в базе данных и сверяет при соответствующих запросах. В целом deck решает следующие задачи:
установка пакета с помощью ./configure, make, make install;
сканирование системы для понимания, какие файлы были установлены, изменены или удалены (deck scan);
запоминание текущего состояния изменений (deck commit) или их отмена (deck reset);
удаление установленного пакета (deck uninstall).
Пакетный менеджер deck написан на языке Go, использует NoSQL-СУБД Bolt (тоже написана на Go), статически слинкован и не имеет внешних зависимостей. Исходный код доступен на GitHub (релиз 0.1.0) и распространяется на условиях Unlicense (отказ от авторских прав и отказа от гарантий из свободной лицензии MIT).