Почему?
Потому что спецификацию не просто так писали.
Раз уж эта функция так нужна - пусть будет для "личного" использования, при пересборках и т.д.
Согласно спецификации некоторые скрипты по умолчанию считают что в файлах .pfs сжатие XZ.
При попытке подключить их на старых ядрах будет выведен текст о несовместимости ядра с PFS.
Известные мне утилиты не позволяют узнать тип сжатия в SFS, а непонятные ошибки - это плохо.
Не для всех - только для верхней папки.
Вот этот фрагмент:
find "${tmpdir}/files/${namepack}" -type d | while read chfile; do
chfp="$(echo "${chfile}" | sed 's#'${tmpdir}'/files/'${namepack}'#'${tmpdir}'/pmount#')"
chown "$(ls -ld "${chfp}" | sed -n 's/^[^ ]\+ [^ ]\+ \([^ ]\+\) \([^ ]\+\) .*$/\1:\2/p')" "${chfile}"
chmod "$(ls -ld "${chfp}" | sed -n 's/^.\(...\)\(...\)\(...\).*$/u=\1,g=\2,o=\3/; s/-//g; p')" "${chfile}"
chmod 755 "${chfile}" ###sfs
done
Уже немного забыл, как всё это работает, но попробуем разобраться.
find "${tmpdir}/files/${namepack}" -type d выдает список всех каталогов в конкретном пакете (в т.ч. вложенных).
Дальше цикл, в котором перебираются все каталоги, в теле цикла название каталога - это переменная
${chfile}.
Если в конце делать chmod 755 для
${chfile} - получится что все каталоги внутри пакета получат права 755.
Но код это писал не я, может логика тут была другая?
Чем это лучше?
Вроде - по замыслу, консольные утилиты не должны отличаться по функционалу от их gui...
Обновление меню (раньше использовался скрипт fixmenus) и проч. - это вроде как функции, специфичные для WM.
Но там ещё нужно разобраться, какой код что делает. Универсальные команды можно будет и в утититы добавить.