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

Автор Тема: Реализация .PFS (тестирование)  (Прочитано 207011 раз)

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

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Реализация .PFS (тестирование)
« Ответ #315 : 16 Январь 2013, 17:59:05 »
Скрипты обновлены.

Исправление мелких ошибок, оптимизация кода и т.д.
Скрипт open_pfs при необходимости показывает вывод pfsdepends.


Получается необходимы скрипты создающие:
1. pfs.depends
2. libs.lst
Да.

А libs.lst - получается сможет создавать только тот у кого локально все пакеты. Получается - только Pro. Будет он это делать?
Как libs.lst раньше создавался?
Есть идеи как без него обойтись?
Поддерживаю вопросы.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34044
  • Репутация: +232/-0
    • PuppyRus-A
Re:Реализация .PFS (тестирование)
« Ответ #316 : 16 Январь 2013, 20:24:26 »
Написал черновичок
Запуск: dep-find p
p- путь к папке с монтированным (mount -o loop) .pfs модулем
Работает долго.

На выходе:
_lib2 - все зависимости модуля (тут , наверное, надо убрать все что есть в самом модуле; это не проблема)
_lib-no2 - неразрешенные зависимости
Названия файлов подкорочены - отброшено .so*
Не бойтесь запускать - rm mv и т.п. не содержит

Переделел, переименовал mkpfsdep, выложил ниже
« Последнее редактирование: 17 Январь 2013, 11:35:06 от sfs »

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Реализация .PFS (тестирование)
« Ответ #317 : 17 Январь 2013, 09:05:25 »
dep-find01.gz
Похоже файл битый. Размер 31 байт, внутри архива файл пустой.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Реализация .PFS (тестирование)
« Ответ #318 : 17 Январь 2013, 09:22:53 »
dep-find через ldd зависимости парсит? фильтра чтоб к примеру png картинки и т.п. шлак не обрабатывал есть?

а долго это он на pfs какого размера работает? например на модуле gtk+ прям будет сильно долго?
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34044
  • Репутация: +232/-0
    • PuppyRus-A
Re:Реализация .PFS (тестирование)
« Ответ #319 : 17 Январь 2013, 09:34:57 »
dep-find через ldd зависимости парсит?
Да, а какие еще могут быть варианты?
Код
ldd $f | sed 's/\.so/ /' |sed 's/\/lib\///'|awk '{print $1}'
фильтра чтоб к примеру png картинки и т.п. шлак не обрабатывал есть?
Код
i="$ii/bin $ii/usr/bin $ii/usr/local/bin $ii/sbin $ii/usr/sbin $ii/usr/local/sbin $ii/lib $ii/usr/lib $ii/usr/local/lib
find $i -type f -perm 755
[ "`file --brief "$f"  | grep --extended-regexp "LSB executable|shared object"`" ]
i="$ii/lib $ii/usr/lib $ii/usr/local/lib"
для либ без 755
там есть что оптимизировать - помогайте...
а долго это он на pfs какого размера работает? например на модуле gtk+ прям будет сильно долго?
Заснуть я не успеваю  :) Если зависимости модуля будут внутри - будет быстрее
Мерять секундомером наверное смысла нет - пк разные. Или померить?

Про libs.lst (см. выше) ответьте. В это уперлись
« Последнее редактирование: 17 Январь 2013, 09:56:36 от sfs »

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Реализация .PFS (тестирование)
« Ответ #320 : 17 Январь 2013, 10:18:14 »
я думал dep-find только найдет зависимости и сделает список для включения в pfs.depends (ну или в идеале сам перепакует пакет)

А уж поиск наличия в системе нужного это ведь актуально на других этапах жизни пакета.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34044
  • Репутация: +232/-0
    • PuppyRus-A
Re:Реализация .PFS (тестирование)
« Ответ #321 : 17 Январь 2013, 11:34:07 »
_lib2 - все зависимости модуля , т.е. и есть pfs.depends
Такой формат устраивает? Дорабатывать? Сделаю консольную утилиту. В mkpfs лучше автору вставить...
В итоге :
pfs.depends (_lib2) в именно таком формате (обрезание по .so*) будет в каждом модуле
Считаем решение принятым?  На яндексе реально перезалить? В какие сроки?
На переходный период надо сделать скрипт, который ищет pfs.depends и не найдя - перепаковывает

Поиск налиция в системе мне в sfs-get уже актуален
Давайте с libs.lst определяться. Это ключевой вопрос.

Переделал. До выяснения остальных вопросов остановилсмя на создании pfs.depends (_lib2)
В 6 строке надо раскомментировать ii=$1
« Последнее редактирование: 17 Январь 2013, 13:36:50 от sfs »

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Реализация .PFS (тестирование)
« Ответ #322 : 17 Январь 2013, 12:14:53 »
Скрипт mkpfsdep02.gz что кладёт в pfs.depends, названия библиотек или названия пакетов с этими библиотеками?
Надо именно названия пакетов, иначе информация в pfs.depends не самодостаточна (придётся ещё откуда-то брать libs.lst).

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34044
  • Репутация: +232/-0
    • PuppyRus-A
Re:Реализация .PFS (тестирование)
« Ответ #323 : 17 Январь 2013, 12:41:09 »
Укоцанные до .so* поисковые шаблоны
Как без libs.lst перейти от имени файла к пакету не знаю. Думаю - это невозможно.
Поэтому и надо решать с  libs.lst.

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Реализация .PFS (тестирование)
« Ответ #324 : 17 Январь 2013, 12:55:31 »
Как без libs.lst перейти от имени файла к пакету не знаю. Думаю - это невозможно.
Поэтому и надо решать с  libs.lst.
Поддерживаю, надо решать.
Либо писать скрипт, генерирующий libs.lst, либо каждый раз искать по полному списку всех файлов во всех пакетах (его тоже придётся заранее сделать).
Если пакеты с зависимостями есть в системе (у того кто собирает пакет) - можно использовать скрипт checkfilepack.

Список .so лучше не класть в pfs.depends, а просто выводить (т.к. это только исходные данные для поиска по пакетам).

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34044
  • Репутация: +232/-0
    • PuppyRus-A
Re:Реализация .PFS (тестирование)
« Ответ #325 : 17 Январь 2013, 13:11:07 »
Попробовал убрать из выходного файла список либ самого пакета. Скорость < в 8 раз. Пусть уж остаются...
Тестил на gimp*.pfs. 3,5 минуты против 25 сек
Этот скрипт надо оптимизировать до буквы. К-во повторов оч. большое

Написать скрипт создания libs.lst не сложно. Только кто , как и как часто будет это делать. С обновлением репы и так проблемы

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Реализация .PFS (тестирование)
« Ответ #326 : 17 Январь 2013, 15:11:54 »
Только кто , как и как часто будет это делать.
Кроме Pro некому, он собирает почти все пакеты для PR.

Думаю что нужен комплект из двух скриптов:
Первый должен создавать libs.lst и класть в определённое место.
Второй - проверять необходимые зависимости, читать libs.lst и выдавать файл pfs.depends.

Положить полученный pfs.depends в пакет будет не сложно, главное его сформировать.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Реализация .PFS (тестирование)
« Ответ #327 : 17 Январь 2013, 15:18:30 »
libs.lst уже генерируется, нужно только исправить чтобы pfs парсил
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Реализация .PFS (тестирование)
« Ответ #328 : 17 Январь 2013, 15:34:36 »
libs.lst уже генерируется
Каким скриптом?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Реализация .PFS (тестирование)
« Ответ #329 : 17 Январь 2013, 15:55:14 »
вотс
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.