Автор Тема: Процесс перехода вуза на ПО Basealt  (Прочитано 112135 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 827
  • UNIX System V init
Re: Процесс перехода вуза на ПО Basealt
« Ответ #135 : 26.04.2020 09:42:09 »
А что за пакет? И почему %buildroot дважды?

Тут:
Тема: Отказ запуска spectrum-fuse
https://forum.altlinux.org/index.php?topic=43866.0

Вчера с полудня начал смотреть с перерывами, утром сегодня закончил.

Там путь специфичный:
по первому %buildroot лежит usr
по второму тоже.


В секции %makeinstall,
%prep
%setup -q -n %name-%version
sed -e "s/=fuse/=spectrum-fuse/" -e "s/=Fuse/=Spectrum Fuse/" -e "/Version/a Encoding=UTF-8" -i data/fuse.desktop.in
find -name "Makefile.am" -exec sed -e "s/fuse_/spectrum_fuse_/" -e "s/= fuse/= spectrum-fuse/" -i {} \;
sed -e "s/\[fuse]/[spectrum-fuse]/g" -i configure.ac
sed -e "s/\(^\|\" \|B \"\?\|IR \|TH \)fuse/\1spectrum\\\\-fuse/" -i man/fuse.1

%build
%autoreconf
%configure --disable-ui-joystick --enable-joystick --with-gtk --enable-desktop-integration
%make_build

%install
export DESTDIR=%buildroot
%makeinstall
install -D -m 0644 %buildroot/%buildroot/%_man1dir/fuse.1 %buildroot/%_man1dir/spectrum-fuse.1
rm %buildroot/%buildroot/%_man1dir/fuse.1
cp -ra %buildroot/%buildroot/%_bindir %buildroot/usr/
mv %buildroot/%_desktopdir/%oname.desktop  %buildroot%_desktopdir/%name.desktop
mv %buildroot/usr/share/mime/packages/fuse.xml %buildroot/usr/share/mime/packages/spectrum-fuse.xml
find %buildroot%buildroot -type f | while read f; do nf=$(sed "s|%buildroot||" <<< "$f"); echo "== $nf"; install -D -m 644 "$f" "$nf"; install -pm0755 %buildroot/%buildroot/%_bindir/%name %buildroot/%_bindir/%name; rm -f "$f"; done
find %buildroot -name 'fuse.png' -type f | while read f; do nf=$(sed "s|fuse.png|spectrum-fuse.png|" <<< "$f"); echo "== $nf"; install -D -m 644 "$f" "$nf"; rm -f "$f"; done

install -pm0644 %{SOURCE3} .

%files
%doc README.z88sdk
%doc README AUTHORS COPYING ChangeLog THANKS
%_bindir/%name
%_man1dir/*
%_desktopdir/*
%_datadir/%name
%_datadir/mime/*
%_iconsdir/hicolor/*/apps/spectrum-fuse.png
%_iconsdir/hicolor/*/mimetypes/application-x-spectrum.png

вторая строка снизу с добавлением в конце строки
install -pm0755 %buildroot/%buildroot/%_bindir/%name %buildroot/%_bindir/%name;

перед
rm -f "$f"; done


Т.е. то что добавлял,
исполняемый ELF
%buildroot/%buildroot/%_bindir/%name
инсталлируется в сборочный каталог
%buildroot/%_bindir/%name
с сохранением прав на запуск.

После чего
rm -f "$f"
убьёт файлы по списку, среди которых будет и исполняемый ELF.
Мне увиделось так.

Но по оригинальному спэку, неисполняемый ELF попадает и попал в rpm пакет:
Ошибка 38352 (spectrum) - В spectrum-fuse отсутствует exec бит
https://bugzilla.altlinux.org/show_bug.cgi?id=38352
Зарегистрирована:    2020-04-14 03:10 MSK

Бажный пакет spectrum-fuse с отказом запуска сейчас в p9.
Оригинальный пакет, который лежит в p9/branch выглядит так:
# rpm -qpvl spectrum-fuse-1.5.7-alt1.x86_64.rpm | grep bin/
-rw-r--r--    1 root    root                  1177296 апр  2  2019 /usr/bin/spectrum-fuse
« Последнее редактирование: 26.04.2020 10:15:09 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 782
    • Домашняя страница
    • Email
Re: Процесс перехода вуза на ПО Basealt
« Ответ #136 : 26.04.2020 11:57:58 »
Посмотрю.
Андрей Черепанов (cas@)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 827
  • UNIX System V init
Re: Процесс перехода вуза на ПО Basealt
« Ответ #137 : 26.04.2020 12:00:31 »
Посмотрю.

Спасибо, Андрей.
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 827
  • UNIX System V init
Re: Процесс перехода вуза на ПО Basealt
« Ответ #138 : 26.04.2020 23:57:27 »
А что за пакет? И почему %buildroot дважды?

Тут:
Тема: Отказ запуска spectrum-fuse
https://forum.altlinux.org/index.php?topic=43866.0

Копипаст из темы дополнением:
Отказ запуска spectrum-fuse
https://forum.altlinux.org/index.php?topic=43866.msg348974#msg348974


В принципе, фикс можно делать не через install, а через chmod:
Секция %makeinstall отличается от оригиального спэка, только строкой 'chmod 755 %buildroot/%_bindir/%name'
$ sed -n '49,64p' ~/RPM/SPECS/spectrum-fuse.bak3.spec

%install
export DESTDIR=%buildroot
%makeinstall
install -D -m 0644 %buildroot/%buildroot/%_man1dir/fuse.1 %buildroot/%_man1dir/spectrum-fuse.1
rm %buildroot/%buildroot/%_man1dir/fuse.1
cp -ra %buildroot/%buildroot/%_bindir %buildroot/usr/
mv %buildroot/%_desktopdir/%oname.desktop  %buildroot%_desktopdir/%name.desktop
mv %buildroot/usr/share/mime/packages/fuse.xml %buildroot/usr/share/mime/packages/spectrum-fuse.xml
find %buildroot%buildroot -type f | while read f; do nf=$(sed "s|%buildroot||" <<< "$f"); echo "== $nf"; install -D -m 644 "$f" "$nf"; rm -f "$f"; done
find %buildroot -name 'fuse.png' -type f | while read f; do nf=$(sed "s|fuse.png|spectrum-fuse.png|" <<< "$f"); echo "== $nf"; install -D -m 644 "$f" "$nf"; rm -f "$f"; done

chmod 755 %buildroot/%_bindir/%name

install -pm0644 %{SOURCE3} .


chmod вернёт spectrum-fuse права на запуск и rpm пакет станет корректным
$ rpm -qpvl ~/RPM/RPMS/x86_64/spectrum-fuse-1.5.7-alt4.x86_64.rpm | grep bin/
-rwxr-xr-x    1 root    root                  1181392 апр 26 23:33 /usr/bin/spectrum-fuse


Суть ошибки в оригинальном спэке пакета spectrum-fuse лежащего в сизифе и p9/branch:
Из %buildroot%buildroot файлы поиском через цикл загонятся в список. Затем из списка файлы инсталлируются с правами 644. Само-собой и исполняемый ELF spectrum-fuse в оригинальном пакете стал неисполняемым. chmod фиксом отдельной строкой, вернёт spectrum-fuse права на запуск.
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 782
    • Домашняя страница
    • Email
Re: Процесс перехода вуза на ПО Basealt
« Ответ #139 : 27.04.2020 09:22:01 »
Жуть какая...
Андрей Черепанов (cas@)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 8 827
  • UNIX System V init
Re: Процесс перехода вуза на ПО Basealt
« Ответ #140 : 28.04.2020 01:34:29 »
Жуть какая...

:-) Меня поразило даже не это. И даже не поразило, а возмутило:
- Как можно было написать в спэке скрипт и не увидеть, что этот скрипт ломает exec на файле. Сделать такое можно только не понимая как работает свой же шелл-код и что он делает. При этом ошибка настолько очевидна...
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Онлайн yaleks

  • Мастер
  • ***
  • Сообщений: 5 440
Re: Процесс перехода вуза на ПО Basealt
« Ответ #141 : 29.04.2020 22:53:44 »
Жуть какая...
а certbot в p9 кто пакетил, что забыл в зависимостях указать python-module-augeas ?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 782
    • Домашняя страница
    • Email
Re: Процесс перехода вуза на ПО Basealt
« Ответ #142 : 01.05.2020 11:10:22 »
Должно автоматом определится по коду. Если нет, то надо указать явно и написать на bugs.altlinux.org.
Андрей Черепанов (cas@)

Оффлайн OlegBB

  • Давно тут
  • **
  • Сообщений: 86
Re: Процесс перехода вуза на ПО Basealt
« Ответ #143 : 16.06.2020 07:35:50 »
На днях Базальт пригласил выступить на вебинаре "Опыт применения ОС Альт Образование в учебном процессе ВУЗа".
С удовольствием дал согласите, хотя я по натуре человек "не публичный".
Часть информации в этой теме освещалась раньше, но на вебинаре есть много нового.

Прошу строго не судить: 
https://www.youtube.com/watch?v=HFzvxOAE5sk

« Последнее редактирование: 16.06.2020 07:38:07 от OlegBB »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 782
    • Домашняя страница
    • Email
Re: Процесс перехода вуза на ПО Basealt
« Ответ #144 : 16.06.2020 09:06:50 »
Спасибо.
Андрей Черепанов (cas@)

Оффлайн OlegBB

  • Давно тут
  • **
  • Сообщений: 86
Re: Процесс перехода вуза на ПО Basealt
« Ответ #145 : 22.06.2020 09:03:12 »
В качестве видео-платформы используется ZOOM
Столкнулся с нюансом - если обновить систему, то  ZOOM может не запуститься. Приходится переустановить ZOOM. Эта проблема/решение обсуждалась на форуме - не буду дублировать.