https://bitbucket.org/simargl/spkgПакетный менеджер и Builder. Используется в ArchPup,
AlphaosАналогичные идеи и у нас проскакивали, но дальше разговоров не пошло
sh скрипт. Т.е можно доработать.
Функционал:# spkg --help
SPKG Package manager and builder (release-2.0.0)
download|-d Download source code
extract|-x Extract tarball
compile|-c Compile package
ci|-ci Compile and install package
install|-i Install package
remove|-r Remove package
info|-info Show installed package information
file|-file Search for file
repack Repack installed package
pack|-pack Compress package from folder
arch|-a Find and convert ArchLinux PKGBUILD to def
clist|-clist Compile list of packages
cilist|-cilist Compile and install list of packages
e|-e Extract spkg package
web|-web Go to package homepage
report|-report Show system report
ver|-ver Check updates for def scripts inside folder
makesfs|-makesfs Make sfs module from all packages in folder (gzip)
makesfsx|-makesfsx Compress packages to sfs module (xz)
update|-update Get new packages list
-list-all|list-all List all available packages
search|-s Search for packages on the mirror
-gi|gi Download and install package
-g|g Download package to cache directory
-cc|cc Clean the entire package cache
1. Находит в инет PKGBUILD Arch Linux (текст. файл в котором путь на скачку исходников и ключи компиляции), конвертирует в свой формат. Конвертирует, видимо, для того чтобы изменить ключи компиляции (руками) под свои задачи.
2. Компилит c проверкой, но , похоже, не разруливанием зависимостей в /mnt/home/data/spkg
spkg -c mc
Package Name: mc
Version: 4.8.7
Revision: 1
Description: Midnight Commander is a text based filemanager/shell that emulates Norton Commander
Category: development
Source URL: http://www.midnight-commander.org/downloads/mc-4.8.7.tar.bz2
Homepage: http://www.ibiblio.org/mc/
Maintainer: simargl <archpup@gmail.com>
Dependencies: opt
Build Deps: libxt libx11
Downloading mc-4.8.7.tar.bz2... 100%
Extracting mc-4.8.7.tar.bz2... [ok]
>> Checking dependencies...
opt missing
>> Checking build dependencies...
libxt missing
libx11 missing
>> Starting compile...
man, doc удаляет
Все локали пакует в /mnt/home/data/spkg/packages/locale/имя_пакета.tar.xz
dev часть пакета не выделяет. Можно воспользоваться
trim из
AF или
new2dir3. На выходе создает пакет bz2 и PKGBUILD - подобной инфой.
Т.е. вдохновясь ключами компиляции arch или написав свои, и пропатчив, можно скомпилить дистр "своей мечты"
4. В комплекте spkg_gui на gtkdialog. Обновляет список пакетов в репозитории, качает устанавливает с разруливанием зависимостей. Зависимости прописываются вручную или конвертируются из PKGBUILD. Список установленных пакетов и удаление но толи не работает, толи я что-то не понял
5. Список установленных файлов /mnt/rw/var/lib/spkg/installed/files совпадает с pfs_utils
6. Список зависимостей /var/lib/spkg/installed/*/def свой. Дополнительно есть совместимый (судя по archpup) с pacman (пакетный менеджер arch-а) /var/lib/pacman/local/*/desc.
Совместимость с arch спорный функционал. Если это нужно - надо строить дистр на репозитории arch и использовать его ПМ.
Скомпилив pacman можно доставлять готовые пакеты из репы арча. Вероятно, закончится это сломанными зависимостями. Вывод сделан по итогу моих экспериментов и отказа от pacman в alphaos
7. makesfs(x) Может собрать sfs из всего (из части - не нашел) скомпиленного. Аналога pfsextract не нашел
8. Работает со своим репозиторием указанном в конфиге: листинг, скачка, установка с зависимостями
В корне репозитория должен лежать файл pkgs.list.db - это tar.xz. Утилит его создания не нашел.
Работает в любом линуксе. Работу проверил.
Если гибридизировать с нашим pfs может получиться весьма неплохо.
Список ключей компиляции для создания облегченных пакетов может пригодиться в любом линукс
http://cdn.2safe.com/688786033560/spkg-2.1.0-1.spkg