Попробовал решить вопрос с метаданными для реполиста. В итоге пока так. Ключ для mkpfs "--mkinfo". С этим ключем mkpfs задает несколько вопросов и формирует файл ${PFSDIR}/INFO, то есть в вашем случае /etc/packages/INFO. Файл нужен только для модулей которые выкладываются в репе, то есть не обязательный. Не сохраняется при склейке модулей. То есть имеет отношение только к самому модулю, а не к его подмодулям, независимо от того контейнер это или атомарный. При наличии этого модуля все нужные данные берутся из него, а не из имени модуля.
Еще раз. Работает и с обычными модулями, но могут быть ошибки в поиске и сравнении версий.
mkpfs папка -o папка.pfs --mkinfo #сборка модуля с созданием INFO
mkpfs папка.pfs -o папка2.pfs --mkinfo #пересборка с внесением изменений в INFO, или перепаковка модуля с добавлением INFO
Как пробовать локально.
Нужна папка с модулями, а лучше две. Модули произвольные.
Одна папка будет подключаться как локальная вторую подключим как удаленную. Для этого одну папку вписываем в файл
/etc/pfsget/mirror.lst. Просто полное имя папки с путем от корня.
Во второй папке создаем реполист:
pfsget -m ./
И запустим сервер. Я обычно питоном
python -m SimpleHTTPServer (это второй питон, у третьего иначе)
и тоже дописываем в миррор.лст
http://127.0.0.1:8000/_REPOLIST.gzПроверяем.
pfsget -u #обновляем списки
И пробуем искать модули
pfsget -s имя_модуля
P.S. После любых изменений в удаленной репе нужно пересоздавать реполист и перечитывать с pfsget -u. При изменениях в локальной репе только pfsget -u.