По зависимостям сейчас в PFS-utils ситуация следующая.
Информация о необходимых пакетах хранится в файле
pfs.depends.
Формат файла - построчный список пакетов. В случае когда возможны альтернативы, они перечисляются через "/" в одной строке. Допустимы сокращённые названия.
Получить информацию об отсутствующих зависимостях можно с помощью скрипта
pfsdepends.
pfsdepends (без параметров) - выводит список неудовлетворенных зависимостей всех подключённых / установленных пакетов в системе.
pfsdepends -f /file.pfs - выводит список неудовлетворенных зависимостей пакетов в указанном файле PFS.
Скрипт
open_pfs при подключении пакета проверяет неудовлетворённые зависимости, и если они есть - показывает их список пользователю.
Автоматизация создания списка зависимостей:
Скрипт
pfsfindlibs выводит список зависимостей в формате, совместимом с форматом
pfs.depends (можно перенаправлять вывод скрипта в этот файл).
При необходимости список в файле
pfs.depends, созданный скриптом
pfsfindlibs можно исправить руками перед созданием пакета.
Или же создать файл
pfs.depends с нуля и заполнить вручную (соблюдая формат).
Про остальное хочется совсем простого и универсального:
1. В пакете прописаны зависимости (перечислены нужные .pfs). Создание этого - отдельным скриптом или руками
Это уже есть, см. выше. Либо скриптом
pfsfindlibs, либо руками.
2. Скрипт скачки и подключения по этому списку.
А вот этого пока нет, к сожалению...
![Грустный :(](https://forum.puppyrus.org/Smileys/LightB/sad.gif)
Упоминание pfs.depends - текстовым поиском нашел только в pfsdepends
Т.е. скрипты почищены от старой реализации и пытаемся сделать новую?
Старая реализация как была, так и осталась.
Все скрипты, читающие файл
pfs.depends, делают это не напрямую, а через обращение к скрипту
pfsdepends. По принципу - не дублировать код.
Единственное, что изменилось - из mkpfs убрано всё, что имеет отношение к зависимостям (вынесено в отдельные скрипты).Сборка в стиле ПМ с полным разбором зависимостей актуальна только в PR.
Это одна из задач разработки PFS-utils, в любом случае.
Причем для этого надо будет создавать базу файлов всей репы.
Нет, не надо. Достаточно при сборке пакетов создавать (автоматом или руками) корректный файл
pfs.depends.
pfsextract баг с правами:
1. pfsmerge home.pfs 2.pfs out.pfs , где в home.pfs есть права на файлы не root. В out.pfs все ок
2. pfsextract out.pfs : в home.pfs пропали права. Везде root
Да, я помню про это, но как исправить - не знаю.
![Грустный :(](https://forum.puppyrus.org/Smileys/LightB/sad.gif)
Права не должны пропадать...
А если попробовать unpfs out.pfs -p home, что происходит с правами?