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

Автор Тема: pfsrebuild  (Прочитано 16132 раз)

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 3980
  • Репутация: +121/-1
  • Автор темы
Re: pfsrebuild
« Ответ #90 : 17 Ноябрь 2020, 16:50:22 »
Можно и удалить. Но меня слегка нервирует ответ разработчика выше :):
В каких-то случаях это может быть критичным, но вычислять это вряд ли получится.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31242
  • Репутация: +208/-0
    • PuppyRus-A
Re: pfsrebuild
« Ответ #91 : 18 Ноябрь 2020, 09:07:52 »
Пока зачеркнул

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 3980
  • Репутация: +121/-1
  • Автор темы
Re: pfsrebuild
« Ответ #92 : 15 Июнь 2021, 19:55:24 »
Модуль youtube-dl-2021.05.16_any-au01.pfs в LFD-21.05. При загрузке системы автостартует /etc/xdg/autostart/youtube-dl-update.desktop

Код
live@lfd10 $ cat youtube-dl-update
#!/bin/ash   
#201222 sfs   
#sudo wget --no-check-certificate  https://yt-dl.org/downloads/latest/youtube-dl -O youtube-dl
#sudo chmod 755 youtube-dl   
inet-test 5 || exit 1   
which youtube-dl || exit 1   
head -1 `which youtube-dl` |grep python || exit 1   
   
sudo youtube-dl -U |grep "youtube-dl is up-to-date" && exit   
sudo sed -i  's#!/usr/bin/env python$#!/usr/bin/env python2#' `which youtube-dl`   
   
p="`losetup  |awk '/youtube-dl/ {print $6}'`"   
sudo mv "$p" "$p.old"   
v="`youtube-dl --version`"   
p1="`dirname "$p"`/youtube-dl-${v}_any-au01.pfs"   
sudo pfsrebuild "$p" -o "$p1"   
[ -f "$p1" ] && ntf -i "`basename "$p"`" "обновлен до v.$v" || ntf -a "Проблемы с обновлением" "$p "



live@lfd10 ..on2+youtube-dl-2021.05.16_any-au01.pfs $ find .
.
./etc
./etc/xdg
./etc/xdg/autostart
./etc/xdg/autostart/youtube-dl-update.desktop
./start.sh
./usr
./usr/bin
./usr/bin/youtube-dl
./usr/share
./usr/share/pixmaps
./usr/share/pixmaps/youtube-icon.svg
./var
./var/lib
./var/lib/pacman
./var/lib/pacman/local
./var/lib/pacman/local/youtube-dl-www-2020.11.12-1
./var/lib/pacman/local/youtube-dl-www-2020.11.12-1/desc
./var/lib/pacman/local/youtube-dl-www-2020.11.12-1/files

Проверял данное iso, переходя по всем DE и обновляя модули, и не мог понять, почему youtube-dl требует модуль 035-gtk2 на DE с gtk3. Хотя у него в зависимостях только python2/python.
Оказывается он пересобрался с pfsrebuild и подхватил чужой start.sh с записью "sfs-get-dep 035-gtk2", где-то потеряв родной start.sh с "sfs-get-dep python2".


Причем, в репах лежит правильный крайний youtube-dl-2021.06.06_any-au01.pfs.
« Последнее редактирование: 15 Июнь 2021, 20:07:11 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 3980
  • Репутация: +121/-1
  • Автор темы
Re: pfsrebuild
« Ответ #93 : 15 Июнь 2021, 23:18:31 »
Думаю, здесь не вина pfsrebuild. Скрипт start.sh находится в корне модуля и настроен на срабатывание при горячем подключении.
При обычной же загрузке системы, если эти start.sh присутствуют в нескольких модулях, они перекрывают друг друга. И здесь все будет зависеть от удачи, чей именно start.sh попадет в итоговый модуль, при запуске pfsrebuild.

Так что или править youtube-dl-update, чтобы проверялась запись sfs-get-dep python2 перед окончательной сборкой. Или переносить start.sh в какую-то именную папку для каждого модуля.


Ну, или не знаю, добавить в pfsrebuild ключик, где можно перечислить файлы, которые никогда не меняются, т.е. берутся как есть из bundles.
« Последнее редактирование: 15 Июнь 2021, 23:21:26 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31242
  • Репутация: +208/-0
    • PuppyRus-A
Re: pfsrebuild
« Ответ #94 : 16 Июнь 2021, 09:57:48 »
править youtube-dl-update, чтобы проверялась запись sfs-get-dep python2 перед окончательной сборкой.
Для данного случая самое простое (но самое костыльное) добавить перед pfsrebuild
Код
sudo echo "sfs-get-dep python2" >/start.sh
У меня больше нигде pfsrebuild не используется. Поэтому эту хорошую идею
переносить start.sh в какую-то именную папку для каждого модуля.
использовать не хочется - придется по всем скриптам искать start.sh.
Кстати start.sh не входит в pfs-util. Это наследие PR

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 2816
  • Репутация: +33/-0
    • MagOS linux
Re: pfsrebuild
« Ответ #95 : 16 Июнь 2021, 20:42:40 »
 Мне кажется, что сама логика start.sh не очень удачна. Можно подумать как сделать автостарт скрипта  после подключения модуля для pfs-utils.
В магос такое тоже есть, но слишком магос-специфично и не знаю используется ли сейчас где-то. Идея там такая,  скрипты для автостарта кладутся в папку из которой они будут запущены.при старте системы тоже. То есть если в модуле есть такой скрипт, он будет запущен как при подключении модуля так и при старте системы с таким модулем.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31242
  • Репутация: +208/-0
    • PuppyRus-A
Re: pfsrebuild
« Ответ #96 : 17 Июнь 2021, 10:19:29 »
скрипты для автостарта кладутся в папку из которой они будут запущены.при старте системы тоже
У нас в этих скриптах в основном - подключение зависимых модулей. При старте системы это тоже проверяется парсингом этих же start.sh
Переделывать все модули со start.sh из-за единственной решенной проблемы выше - не вижу смысла
Уж если заморачиваться этим - только вместе с включением GUI компонентов в состав pfs-util. Оттуда, в основном подобные скрипты и запускаются) Менеджера модулей в первую очередь. В теме pfs-get мы к согласию не пришли. Без этого что-то делать каждому свое - смысла нет.