Сайт | Скачать | Видео | Wiki

Автор Тема: checksfsxzb -функция проверки ядра на совместимость  (Прочитано 3947 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Во многих скриптах есть
Код
checksfsxzb >/dev/null 2>&1
if [ $? -gt 0 ]; then
  echo "Kernel not support PFS!" >&2; exit 1
fi
status=0
В pfslib
Код
function checksfsxzb () {
kerneluname="$(uname -r)"
kernel1ver="$(echo -n "${kerneluname}" | cut -f 1 -d '.' | cut -f 1 -d '-')"
if [ ${kernel1ver} -lt 3 ];then
  kernel2ver="$(echo -n "${kerneluname}" | cut -f 2 -d '.' | cut -f 1 -d '-')"
  if [ ${kernel2ver} -lt 6 ];then
    echo "Kernel does not support SquashFS compressed XZ!" >&2; exit 1
  else
    kernel3ver="$(echo -n "${kerneluname}" | cut -f 3 -d '.' | cut -f 1 -d '-')"
    if [ ${kernel3ver} -lt 38 ]; then
      echo "Kernel does not support SquashFS compressed XZ!" >&2; exit 1
    fi
  fi
fi
return 0
}
1. Почему эта проверка не во всех скриптах... Например в mkpfs нет
2. Надо ли при каждом вызове это проверять... Может это в инсталлятор перенести
3. В каком случае checksfsxzb вернется с ненулевым кодом завершения. Я так понимаю никогда. Пока он был отдельным скриптом - да. Т.е. как минимум echo "Kernel not support PFS!" >&2; exit 1 надо убирать
Как делаем?

Кстати "exit 1" во многих функциях в libpfs. Надо заменить на "return 1" или проанализировать код глубже
« Последнее редактирование: 02 Февраль 2017, 13:14:09 от sfs »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Заменить
    echo "Kernel does not support SquashFS compressed XZ!" >&2; exit 1
на
return 1

Пойдет?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
return 1
Как минимум это надо сделать
Как максимум оптимизировать код - см. п.2

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Может проверять один раз в начале libpfs? А из скриптов вообще убрать.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Может проверять один раз в начале libpfs? А из скриптов вообще убрать.
Ну хотя бы так. Или в инсталлятор - если он будет
Переделаете? Я пока не освоил массовые правки в гит

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Переделаете
Если не срочно, то сделаю.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Ок. Это же не ошибки. Записал в нужник

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
А не поторопились ли? Проверка касается только squashfs. А некоторые скрипты и без него работать могут. pfsload dir например.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Тогда только то что в шапке поправить т. е. убрать где есть
Код
echo "Kernel not support PFS!" >&2; exit 1

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
echo "Kernel not support PFS!" >&2; exit 1
Ок. сейчас запушу.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Вижу изменения. Зпсинхронизировал. Обновил модуль в репе ПРА
Прошу протестировать pfsmerge-dir

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Вижу изменения. Зпсинхронизировал. Обновил модуль в репе ПРА
Прошу протестировать pfsmerge-dir
Прогонял selftest. Все ОК.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
 А чего там проверять то?
Код
# grep squashfs /proc/filesystems 
squashfs
# grep aufs /proc/filesystems     
nodev aufs
А это Simply
Код
[alexander@comp-atom-cpu-257e24 ~]$ grep squashfs /proc/filesystems 
[alexander@comp-atom-cpu-257e24 ~]$ grep aufs /proc/filesystems
nodev aufs
« Последнее редактирование: 02 Февраль 2017, 17:52:28 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
чего там проверять то?
Поддержку ядром squashfs xz по версии ядра
Вашу проверку тоже не помешает добавить. Без этого версия не поможет
« Последнее редактирование: 02 Февраль 2017, 17:53:03 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Код
[alexander@comp-atom-cpu-257e24 optional]$ unsquashfs --help
................
Decompressors available:
gzip
lzo
xz
(это Simply)
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64