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

Автор Тема: Разработка спецификации PFS  (Прочитано 39895 раз)

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

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Разработка спецификации PFS
« : 12 Сентябрь 2012, 16:45:50 »
Расширение файла - .pfs
Тип сжатия - xz

Структура одного пакета (от корня "/"):
  - (Каталоги и файлы программы)
  - etc
      - packages
          - mount
              - [название_пакета]
                  - pfs.files   (Список файлов, относящихся к пакету)
                  - pfs.specs   (Название программы, версия и т.д.)
                  - pfs.dirs.empty (Список пустых каталогов в пакете. Необязательный)
                  - pfs.md5sums (Хэш-суммы всех файлов в пакете. Необязательный)
                  - pfs.depends (Список зависимостей. Необязательный)

В одном файле .pfs может быть включено несколько пакетов, в этом случае в каталоге "/.pfs/mount" должно быть несколько каталогов "[название_пакета]".

При установке пакетов соответствующие каталоги [название_пакета] перемещаются из каталога "/.pfs/mount" в каталог "/.pfs/install".
« Последнее редактирование: 18 Март 2013, 16:35:21 от Zay »

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Обсуждение спецификации SFS-пакетов
« Ответ #1 : 12 Сентябрь 2012, 16:57:43 »
поведение при обнаружении что такой пакет уже подключен или установлен?
ведь тот же libnspr может быть засунут в несколько пакетов и причем разных версий.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн andy-voit

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1250
  • Репутация: +60/-0
  • Расту!!!
Re:Обсуждение спецификации SFS-пакетов
« Ответ #2 : 12 Сентябрь 2012, 17:06:13 »
В одном файле .pfs может быть включено несколько пакетов, в этом случае в каталоге "/.pfs/packages/mount" должно быть несколько каталогов "[название_пакета]".
По моему, чем создавать неведомые кому типы файлов - не проще ли не смешивать приложения в один файл, а делать просто несколько модулей (один модуль-одна программа)?
Мне кажется, такой тип файла будет востребован лишь парой человек.

XFCE forever!!!
Перешел на приставку 3vi. Теперь издеваюсь над ней! :)

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Обсуждение спецификации SFS-пакетов
« Ответ #3 : 12 Сентябрь 2012, 17:50:35 »
поведение при обнаружении что такой пакет уже подключен или установлен?
При подключении - наложение файлов. При установке можно действовать так же, как если бы эти пакеты ставились отдельно.

Установка .pfs должна происходить как установка группы отдельных пакетов (а не кучей), в т.ч. с возможностью выбора, какие пакеты из состава конкретного .pfs нужно установить.


не проще ли не смешивать приложения в один файл, а делать просто несколько модулей (один модуль-одна программа)?
Это уже обсуждалость в соседней теме подробно.
Если кратко - "многопакетные" .pfs - альтернатива "большим" SFS-модулям.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Обсуждение спецификации SFS-пакетов
« Ответ #4 : 13 Сентябрь 2012, 03:49:02 »
я думал мы уже на sfs готовимся переходить :(
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:Обсуждение спецификации SFS-пакетов
« Ответ #5 : 13 Сентябрь 2012, 11:37:30 »
Начать бы с целесообразности , плана перехода и подбора желающих его выполнять...
В gaff все упрется. Его , насколько мне известно, никто кроме Pro не осилил даже использовать (или не пробовал) . Не то что переделывать

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Обсуждение спецификации SFS-пакетов
« Ответ #6 : 13 Сентябрь 2012, 17:56:16 »
я думал мы уже на sfs готовимся переходить :(
А что не так?

Начать бы с целесообразности , плана перехода и подбора желающих его выполнять...
О целесообразности много уже говорили в соседней теме.

Сначала надо продумать полноценную спецификацию, с вариантами поведения в разных случаях и т.д. Чтобы потом не менять принцип, теряя совместимость.
Пока не будет полной спецификации - за реализацию никто не возьмётся, т.к. подводных камней много.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Обсуждение спецификации SFS-пакетов
« Ответ #7 : 14 Сентябрь 2012, 02:39:31 »
Вы знаете, вот что хотите говорите, но для меня принципиально есть разница между sfs и pfs, мне название привычнее sfs.

Список подключённых пакетов = список каталогов вложенных в "/.pfs/packages/mount".
а сейчас тоже самое просто в /mnt видим и обрабатываем, чем не устраивает?

Список установленных пакетов = список каталогов вложенных в "/.pfs/packages/install".
а что сейчас установленные пакеты никуда не прописываются? /root/.packages или куда там еще.

Чтобы соединить несколько .pfs в один большой можно просто объединить каталоги, пакеты не смешаются.
это несомненно плюс, учитывая что захочется его разобрать на отдельные.

Таким образом, все предложение сводится к тому, чтобы:
1. скрипт build_sfs (а я другого пока не знаю) при создании sfs делал список файлов модуля (по меньшим модулям конечно) в /root/.packages Существующий список пакетов в корне sfs становится не нужен.
2. gaff (скрипт createpets и createpets-usoft) при создании репозитария должны делать не pet а sfs пакеты, скрипты gaff для распаковки пакетов должны поддерживать распаковку sfs
3. скрипт dir2pet должен быть переделан на dir2sfs
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:Обсуждение спецификации SFS-пакетов
« Ответ #8 : 14 Сентябрь 2012, 10:14:31 »
1,2,3 - это уже конкретика
2 - насколько будет сложно и без побочных эффектов?
Я так понимаю, еще get_pet надо переписать и всю репу перепаковать

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Обсуждение спецификации SFS-пакетов
« Ответ #9 : 14 Сентябрь 2012, 10:22:19 »
2 - насколько будет сложно и без побочных эффектов?
Я так понимаю, еще get_pet надо переписать и всю репу перепаковать
это уже конкретика. обсуждайте спецификацию тогда.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:Обсуждение спецификации SFS-пакетов
« Ответ #10 : 14 Сентябрь 2012, 10:33:16 »
Zay, может сделаете пример двухпакетного .pfs для упрощения понимания идеи

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Обсуждение спецификации SFS-пакетов
« Ответ #11 : 14 Сентябрь 2012, 10:39:33 »
sfs, вы помимо моей конкретики прочитайте откоментированные строки, там получается что шило на шило меняем.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Обсуждение спецификации SFS-пакетов
« Ответ #12 : 14 Сентябрь 2012, 10:46:29 »
Вы знаете, вот что хотите говорите, но для меня принципиально есть разница между sfs и pfs, мне название привычнее sfs.
Преимущество от изменения расширения на .pfs - сразу ясно с чем имеем дело. SFS может быть от другой системы, может быть SFS3 и т.д. Если оставить расширение .sfs - то при каждом подключении/установке надо будет проверять что там внутри, есть ли список пакетов и т.д.
В то время как на .pfs можно прописать отдельную ассоциацию. Да и пользователям понятнее: .pfs это точно пакет, совместимый с PuppyRus, а .sfs - вообще любая сжатая файловая система.

а что сейчас установленные пакеты никуда не прописываются? /root/.packages или куда там еще.
ИМХО, при таком размещении проще писать установочные скрипты. Если обратной совместимости не планируется - то почему не поменять местоположение и формат хранения на более оптимальный? Есть и другой вариант - попробовать оставить обратную совместимость, тогда менять расположение не нужно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Обсуждение спецификации SFS-пакетов
« Ответ #13 : 14 Сентябрь 2012, 10:56:52 »
Если оставить расширение .sfs - то при каждом подключении/установке надо будет проверять что там внутри, есть ли список пакетов и т.д.
но ведь возможность подключать sfs все равно придется оставить, смысл делать "вилку"? ну нету этих списков пакетов, ну и ладно, программе подключения это безразлично, а в программе "разборки" пакета sfs на отдельные составляющие все равно ведь придется делать проверку наличия нужной информации о составлящих, вот на этом этапе и вывести окошко "Фиг вам у вас sfs паленый"
   
ИМХО, при таком размещении проще писать установочные скрипты.
вот именно, установочные скрипты надо еще написать, а так они уже есть, тот же get_pet
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:Обсуждение спецификации SFS-пакетов
« Ответ #14 : 14 Сентябрь 2012, 10:57:14 »
Если я правильно понял идею - на выходе получим:
a.Отсутствие .pet: лучшая компрессия , универсальность (ставь или монтируй), 1 , а не 2 стандарта
b.Вместо build_sfs - mount_sfs : на входе список формата
Код
приложение: модуль1.sfs модуль2.sfs ...
Выбираем приложение- mount_sfs качает или идет локально, монтирует
b. Может быть и весь дистр получится свести к набору модулей. Или хотя бы ументшить базу до минимума
---
Оно стоит того