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

Автор Тема: mkpfs v.3 (pfsmerge-dir v.2) Неудобства перепаковки составного модуля  (Прочитано 61997 раз)

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Неудобства перепаковки составного модуля
« Ответ #15 : 01 Февраль 2017, 12:26:24 »
Не понял.
Что может быть проще простого копирования
Можете допилить pfsextract(merge) ?
В результате от него что-нибудь останется?
Моноблок 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

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Неудобства перепаковки составного модуля
« Ответ #16 : 01 Февраль 2017, 12:36:34 »
В результате от него что-нибудь останется?
Главное не то чей код внутри, а возможности и интерфейс к ним который он предоставляет (API если хотите, не знаю применимо ли это именование  к кучке скриптов).   

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Неудобства перепаковки составного модуля
« Ответ #17 : 01 Февраль 2017, 13:03:34 »
В результате от него что-нибудь останется?
Вот ТЗ. Пишите хоть с нуля. Нужен функциолал. Его нет. Завязок с остальным нет (только структура /etc/packages)
Рас(за)паковать  составной.pfs в /Каталог/каталоги_с_распакованными модулями
Я бы такое активно юзал
« Последнее редактирование: 01 Февраль 2017, 13:09:42 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Неудобства перепаковки составного модуля
« Ответ #18 : 01 Февраль 2017, 14:07:37 »
Рас(за)паковать  составной.pfs в /Каталог/каталоги_с_распакованными модулями
У меня это и руками довольно ловко получается.

Моноблок 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
Re: Неудобства перепаковки составного модуля
« Ответ #19 : 01 Февраль 2017, 14:13:41 »
Значит скриптом вообще идеально будет  ;)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Неудобства перепаковки составного модуля
« Ответ #20 : 01 Февраль 2017, 14:21:57 »
Попробуем начать вот так: "А что внутри?"
Код
# unsquashfs -l /mnt/sda1/219/optional/BlueZ-5.43.pfs -e /etc/packages/mount | awk -F/ '/mount/ {print $5}' | sort -u

bluez-5.43
bluez-firmware-1.2
??
Моноблок 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
Re: Неудобства перепаковки составного модуля
« Ответ #21 : 01 Февраль 2017, 14:51:12 »
pfsextract -d - на выходе папку с распакованными по своим папкам модулям
Сделал
https://github.com/pfs-utils/pfs-utils-cli/blob/master/project-files/usr/bin/pfsextract
один if всего добавил

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Неудобства перепаковки составного модуля
« Ответ #22 : 01 Февраль 2017, 15:16:26 »
А у меня начало вот так работает:
Код
# ./pfsextract1 /mnt/sda1/219/optional/Tetris.sfs 
In module metadata are not
# ./pfsextract1 /mnt/sda1/219/optional/apulse-5.0.xzm
The module is not composite
# ./pfsextract1 /mnt/sda1/219/optional/Bluez-4.101.xzm

bluez-4.101
bluez-tray-0.1
obexd-0.45-i486
obexfs-0.12-i486
obexpushd-0.11
openobex-1.5-i486
# ./pfsextract1 /home/MagOS/base/10-core.lzm           
Can't find a SQUASHFS superblock on /home/MagOS/base/10-core.lzm
Дальше куда лучше извлекать?
Моноблок 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
Re: Неудобства перепаковки составного модуля
« Ответ #23 : 01 Февраль 2017, 15:19:43 »
Извлечение я уже сделал
Теперь надо собрать обратно
Добавил в mkpfs -d - т.е. создать список файлов, но не сжимать
Дальше наверное проще написать с нуля:
циклом mkpfs -d каждую папку модуля
mv все в одну папку + mksquashfs

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Неудобства перепаковки составного модуля
« Ответ #24 : 01 Февраль 2017, 16:45:25 »
Извлечение я уже сделал
Я тоже
Код
#!/bin/sh

msgerr () {
echo $1
exit 1
}

METADIR="etc/packages/mount"
BASEDIR="$(basename $1)"

PACKS=$(unsquashfs -l "$1" -e /$METADIR | awk -F/ '/mount/ {print $5}' | sort -u)
[ "$PACKS" ] || msgerr "In module metadata are not"
[ "$(echo $PACKS | wc -w)" -gt 1 ] || msgerr "The module is not composite"

unsquashfs -d /tmp/$BASEDIR $1

echo "$PACKS" | while read P
do
unsquashfs -d /tmp/$P $1 -ef /$METADIR/$P/*
cat /tmp/$P/$METADIR/$P/pfs.files | while read F
do
mkdir -p /tmp/${P}$(dirname $F)
mv -f /tmp/${BASEDIR}$F /tmp/${P}$F
done
if [ -f /tmp/$P/$METADIR/$P/pfs.dirs.empty ]; then
cat /tmp/$P/$METADIR/$P/pfs.dirs.empty | while read D
do
mkdir -p /tmp/${P}$D
done
fi
done

echo "the files are not in metadata:"
find /tmp/$BASEDIR -type f
Можете сравнить.
Моноблок 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
Re: Неудобства перепаковки составного модуля
« Ответ #25 : 01 Февраль 2017, 17:05:40 »
cp -a moduledir1/* mergedir/
Как бы здесь заюзать mv. Чтобы избежать копирования (время, место). rsync не предлагать
Вылетает с ошибкой etc : Каталог не пуст

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Неудобства перепаковки составного модуля
« Ответ #26 : 01 Февраль 2017, 17:10:56 »
unsquashfs -d /tmp/$BASEDIR $1
Распакует составной модуль в одну папку
А мне надо
pfsextract -d /file.pfs - создать каталог «/file_pfs» с отдельными каталогами, в каждый из которых распакованы отдельные модули из «/file.pfs»

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Неудобства перепаковки составного модуля
« Ответ #27 : 01 Февраль 2017, 17:21:29 »
А мне надо
Вам надо, а мне не обязательно.
Распакует составной модуль в одну папку
Ну да. А как-же его потом на части разбирать?
создать каталог «/file_pfs» с отдельными каталогами
Совершенно не проблема, только зачем?
Моноблок 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
Re: Неудобства перепаковки составного модуля
« Ответ #28 : 01 Февраль 2017, 18:12:16 »
Совершенно не проблема, только зачем?
Перечитайте шапку

Сборка - Сделал все кроме сжатия в сквощ. Завтра надо поколдовать с ключами mkpfs

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Неудобства перепаковки составного модуля
« Ответ #29 : 02 Февраль 2017, 08:17:31 »
Sfs, а что не в гит? Начинайте уже. Пол часа матов и попрет, а потом за уши не оттащишь :)
Для работы достаточно:
git pull
git add
git commit
gi push
Остальное гуглить по необходимости.
Я почти так и делаю :)