Стенды: Alt Server 11.0 x86_64 - обновлен до sisyphus Alt Workstation 11.0 x86_64 - обновлен до sisyphus Версия пакета: ravada-2.3.1-alt1.noarch Шаги воспроизведения: 1. Установить пакет: # apt-get install ravada 2. Выполнить настройку до момента включения служб rvd_back и rvd_front https://www.altlinux.org/VDI/Ravada 3. Запустить службы: # systemctl enable --now rvd_back # systemctl enable --now rvd_front 4. Перейти в веб интерфейс: http://<ip>:8081 5. Залогиниться под созданным пользователем на этапе настройки Ожидаемый результат: Открылся веб интерфейс Реальный результат: Белый экран. В f12 есть ошибки 404 на ресурсы по адресу: http://localhost:8081/fallback/* Пример: http://localhost:8081/fallback/angular-1.8.2/angular-resource.min.js Сравнение # curl http://localhost:8081/fallback Версия ravada-2.3.1-alt1 <script src="/fallback/angular-1.8.2/angular-resource.min.js"></script> Версия ravada-1.7.2-alt1 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular-resource.min.js"></script> fallback отключен в /usr/sbin/rvd_front ,fallback => 0 В гите ravada https://github.com/UPC/ravada/blob/main/script/rvd_front ,fallback => $CONFIG_FRONT->{fallback} Чинится исправлением строки в /etc/rvd_front.conf ,fallback => 1 на ,fallback => 0 Или сборкой пакета с файлом fallback.conf и правильно заданными переменными
Пожалуйста, проверьте из задания #361186
(Ответ для Andrew Vasilyev на комментарий #1) > Пожалуйста, проверьте из задания #361186 Файл fallback.conf появился, но эффекта не возымело. Может поэтому? https://github.com/UPC/ravada/blob/main/etc/get_fallback.pl my $DIR_FALLBACK = getcwd.'/public/fallback'; mkdir $DIR_FALLBACK or die "Error: $! $DIR_FALLBACK" if ! -e $DIR_FALLBACK; Скрипт опирается на ссылки из fallback.conf и скачивает эти файлы в определенные директории внутри директории /usr/share/ravada/public/fallback Данной директории нет в пакете # rpm -ql ravada | grep fallback /etc/fallback.conf
(Ответ для Pavel Sivolapov на комментарий #2) > https://github.com/UPC/ravada/blob/main/etc/get_fallback.pl > > my $DIR_FALLBACK = getcwd.'/public/fallback'; > > mkdir $DIR_FALLBACK or die "Error: $! $DIR_FALLBACK" > if ! -e $DIR_FALLBACK; Но этот скрипт не пакуется и нигде не вызывается в коде ravada :( > Скрипт опирается на ссылки из fallback.conf и скачивает эти файлы в В скрипте явная ошибка, конфиг он ищет в текущем каталоге: my $FILE_CONFIG = 'etc/fallback.conf'; ... open my $in,'<',$FILE_CONFIG or die "$! $FILE_CONFIG"; Т.е. нужно искать другой способ решения проблемы :(
(Ответ для Andrew Vasilyev на комментарий #3) > Но этот скрипт не пакуется и нигде не вызывается в коде ravada :( https://github.com/UPC/ravada/blob/main/deb/debianize.pl#L372C1-L372C16 get_fallback(); Принтит всё что в get_fallback.pl и выполняет, то что в нём Доп: https://github.com/UPC/ravada/issues/1968 https://ravada.readthedocs.io/en/latest/docs/local_resources.html Разработчики не стали бы мерджить fallback просто так... https://github.com/UPC/ravada/pull/1124/commits/7e9797a586bc533f0db57c9518afbaf7ed7cc430 > В скрипте явная ошибка, конфиг он ищет в текущем каталоге: > > my $FILE_CONFIG = 'etc/fallback.conf'; > ... > open my $in,'<',$FILE_CONFIG or die "$! $FILE_CONFIG"; > > Т.е. нужно искать другой способ решения проблемы :( Используют /etc для файлов не входящих в итоговый пакет, звучит логично.
(Ответ для Pavel Sivolapov на комментарий #4) > (Ответ для Andrew Vasilyev на комментарий #3) > > Но этот скрипт не пакуется и нигде не вызывается в коде ravada :( > > https://github.com/UPC/ravada/blob/main/deb/debianize.pl#L372C1-L372C16 > > get_fallback(); > > Принтит всё что в get_fallback.pl и выполняет, то что в нём Этот скрипт выполняется при сборке в Debian, у нас он отсутствует. И именно ему нужен локальный etc/fallback.conf из дерева исходников. В систему этот конфиг не ставится и никем не используется. > Доп: > https://github.com/UPC/ravada/issues/1968 > https://ravada.readthedocs.io/en/latest/docs/local_resources.html > > Разработчики не стали бы мерджить fallback просто так... > https://github.com/UPC/ravada/pull/1124/commits/ > 7e9797a586bc533f0db57c9518afbaf7ed7cc430 > > > В скрипте явная ошибка, конфиг он ищет в текущем каталоге: > > > > my $FILE_CONFIG = 'etc/fallback.conf'; > > ... > > open my $in,'<',$FILE_CONFIG or die "$! $FILE_CONFIG"; > > > > Т.е. нужно искать другой способ решения проблемы :( > > Используют /etc для файлов не входящих в итоговый пакет, звучит логично. Ещё раз: не /etc,
Уехал битый комментарий :( > (Ответ для Andrew Vasilyev на комментарий #3) > > Но этот скрипт не пакуется и нигде не вызывается в коде ravada :( > > https://github.com/UPC/ravada/blob/main/deb/debianize.pl#L372C1-L372C16 > > get_fallback(); > > Принтит всё что в get_fallback.pl и выполняет, то что в нём Этот скрипт выполняется при сборке в Debian, у нас он отсутствует. И именно ему нужен локальный etc/fallback.conf из дерева исходников. В систему этот конфиг не ставится и никем не используется. > Доп: > https://github.com/UPC/ravada/issues/1968 > https://ravada.readthedocs.io/en/latest/docs/local_resources.html > > Разработчики не стали бы мерджить fallback просто так... > https://github.com/UPC/ravada/pull/1124/commits/ > 7e9797a586bc533f0db57c9518afbaf7ed7cc430 > > > В скрипте явная ошибка, конфиг он ищет в текущем каталоге: > > > > my $FILE_CONFIG = 'etc/fallback.conf'; > > ... > > open my $in,'<',$FILE_CONFIG or die "$! $FILE_CONFIG"; > > > > Т.е. нужно искать другой способ решения проблемы :( > > Используют /etc для файлов не входящих в итоговый пакет, звучит логично. Ещё раз: не /etc, а etc/..., т.е. тот etc/, что в дереве исходников.
Видится 2 варианта решения: 1. Отключить fallback в /etc/rvd_front.conf при начальной установке. 2. Запаковать содержимое указанных в etc/fallback.conf сайтов в /usr/share/ravada/public/fallback и тащить его с собой. IMHO, 2-й вариант так себе :(
(Ответ для Andrew Vasilyev на комментарий #7) > Видится 2 варианта решения: > > 1. Отключить fallback в /etc/rvd_front.conf при начальной установке. > > 2. Запаковать содержимое указанных в etc/fallback.conf сайтов в > /usr/share/ravada/public/fallback и тащить его с собой. > > IMHO, 2-й вариант так себе :( Второй вариант сработает, если будет правильное дерево директорий, чтобы обращения были на нужные файлы, и если будут изменения версий используемых ресурсов, то и содержимое файлов придется обновлять. Первый вариант хорош тем, что дефолтное значение fallback и так 0 в /usr/sbin/rvd_front
(Ответ для Pavel Sivolapov на комментарий #8) > Первый вариант хорош тем, что дефолтное значение fallback и так 0 в > /usr/sbin/rvd_front Сделал fallback = 0, то же задание.
(Ответ для Andrew Vasilyev на комментарий #9) > Сделал fallback = 0, то же задание. Не воспроизводится.
По-хорошему нужно будет добавить get_fallback.pl и конфиг к нему в пакет, чтобы админ мог заполнить /usr/share/ravada/public/fallback/ на работающей системе.
(Ответ для Andrew Vasilyev на комментарий #1) > Пожалуйста, проверьте из задания #361186 (Ответ для Pavel Sivolapov на комментарий #10) > (Ответ для Andrew Vasilyev на комментарий #9) > > > Сделал fallback = 0, то же задание. > > Не воспроизводится. А коммит в репозиторий планируется? Задание 361186 удалено.
(Ответ для Alexander Makeenkov на комментарий #12) > А коммит в репозиторий планируется? > Задание 361186 удалено. #361427 AWAITING #1.2 sisyphus/andy ravada.git=2.3.1-alt2
ravada-2.3.1-alt2 -> sisyphus: Thu Oct 31 2024 Andrew A. Vasilyev <andy@altlinux> 2.3.1-alt2 - change fallback in config to default=0 (ALT #51894) - add sysusers support
В задании #361460 упакован скрипт get_fallback.pl, который, по идее, должен скачать что-то в public/fallback, после чего можно попробовать сделать fallback => 1 в /etc/rvd_front.conf
Ошибка всё ещё воспроизводится в p11. [p11] ALT Server 11.0 beta20250213 x86_64 ravada-2.2.2-alt1.noarch
(Ответ для Artem Varaksa на комментарий #16) > Ошибка всё ещё воспроизводится в p11. > > [p11] ALT Server 11.0 beta20250213 x86_64 > ravada-2.2.2-alt1.noarch Пожалуйста, проверьте из задания #380713
Created attachment 18160 [details] Скриншот Проверил с test-only try 1 TESTED 380713. Возникают другие ошибки уже на экране авторизации. Поля для ввода логина/пароля появляются, но потом сразу исчезают (см. скриншот). Ошибки в консоли бразуера: > GET http://<ip>:8081/ 401 (Unauthorized) > > booking.module.js?v=2.3.3:10 Uncaught SyntaxError: The requested module './booking.services.js' does not provide an export named 'svcLocal' (at booking.module.js?v=2.3.3:10:42) > > jquery-3.5.1.slim.min.js:2 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.8.2/$injector/modulerr?p0=ravada.app&p1=Error%3A%20%5B%24injector%3Amodulerr%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.8.2%2F%24injector%2Fmodulerr%3Fp0%3Dravada.booking%26p1%3DError%253A%2520%255B%2524injector%253Anomod%255D%2520http%253A%252F%252Ferrors.angularjs.org%252F1.8.2%252F%2524injector%252Fnomod%253Fp0%253Dravada.booking%250A%2520%2520%2520%2520at%2520https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A7%253A168%250A%2520%2520%2520%2520at%2520https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A26%253A503%250A%2520%2520%2520%2520at%2520b%2520(https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A26%253A25)%250A%2520%2520%2520%2520at%2520https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A26%253A277%250A%2520%2520%2520%2520at%2520https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A43%253A201%250A%2520%2520%2520%2520at%2520r%2520(https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A8%253A76)%250A%2520%2520%2520%2520at%2520g%2520(https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A43%253A49)%250A%2520%2520%2520%2520at%2520https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A43%253A233%250A%2520%2520%2520%2520at%2520r%2520(https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A8%253A76)%250A%2520%2520%2520%2520at%2520g%2520(https%253A%252F%252Fajax.googleapis.com%252Fajax%252Flibs%252Fangularjs%252F1.8.2%252Fangular.min.js%253A43%253A49)%0A%20%20%20%20at%20https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A7%3A168%0A%20%20%20%20at%20https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A43%3A491%0A%20%20%20%20at%20r%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A8%3A76)%0A%20%20%20%20at%20g%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A43%3A49)%0A%20%20%20%20at%20https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A43%3A233%0A%20%20%20%20at%20r%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A8%3A76)%0A%20%20%20%20at%20g%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A43%3A49)%0A%20%20%20%20at%20fb%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A47%3A153)%0A%20%20%20%20at%20c%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A22%3A57)%0A%20%20%20%20at%20Wc%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.8.2%2Fangular.min.js%3A22%3A370) > at angular.js:99:1 > at angular.js:5127:15 > at r (angular.js:388:11) > at g (angular.js:5087:5) > at fb (angular.js:5004:19) > at c (angular.js:1963:20) > at Wc (angular.js:1984:12) > at Ee (angular.js:1869:5) > at HTMLDocument.<anonymous> (angular.js:36595:5) > at e (jquery-3.5.1.slim.min.js:2:30211) > (anonymous) @ angular.js:99 > (anonymous) @ angular.js:5127 > r @ angular.js:388 > g @ angular.js:5087 > fb @ angular.js:5004 > c @ angular.js:1963 > Wc @ angular.js:1984 > Ee @ angular.js:1869 > (anonymous) @ angular.js:36595 > e @ jquery-3.5.1.slim.min.js:2 > t @ jquery-3.5.1.slim.min.js:2 > setTimeout (async) > E.readyException @ jquery-3.5.1.slim.min.js:2 > (anonymous) @ jquery-3.5.1.slim.min.js:2 > e @ jquery-3.5.1.slim.min.js:2 > t @ jquery-3.5.1.slim.min.js:2 > setTimeout (async) > (anonymous) @ jquery-3.5.1.slim.min.js:2 > c @ jquery-3.5.1.slim.min.js:2 > fireWith @ jquery-3.5.1.slim.min.js:2 > fire @ jquery-3.5.1.slim.min.js:2 > c @ jquery-3.5.1.slim.min.js:2 > fireWith @ jquery-3.5.1.slim.min.js:2 > t @ jquery-3.5.1.slim.min.js:2 > setTimeout (async) > (anonymous) @ jquery-3.5.1.slim.min.js:2 > c @ jquery-3.5.1.slim.min.js:2 > fireWith @ jquery-3.5.1.slim.min.js:2 > fire @ jquery-3.5.1.slim.min.js:2 > c @ jquery-3.5.1.slim.min.js:2 > fireWith @ jquery-3.5.1.slim.min.js:2 > ready @ jquery-3.5.1.slim.min.js:2 > F @ jquery-3.5.1.slim.min.js:2 > > Third-party cookie is blocked in Chrome as part of Privacy Sandbox.
> Проверил с test-only try 1 TESTED 380713. ravada-2.3.3-alt1.noarch
(Ответ для Artem Varaksa на комментарий #18) > Создано вложение 18160 [details] [подробности] > Скриншот > > Проверил с test-only try 1 TESTED 380713. > > Возникают другие ошибки уже на экране авторизации. Поля для ввода > логина/пароля появляются, но потом сразу исчезают (см. скриншот). > > Ошибки в консоли бразуера: > > > GET http://<ip>:8081/ 401 (Unauthorized) > > > > booking.module.js?v=2.3.3:10 Uncaught SyntaxError: The requested module './booking.services.js' does not provide an export named 'svcLocal' (at booking.module.js?v=2.3.3:10:42) А точно js в браузере обновился? В booking.services.js вижу: export { ... svcLocal ... svcLocal.$inject = ["$resource"]; function svcLocal($resource) { ...
Попробовал в sisyphus, а также c Disable cache в DevTools в p11+380713.1. Вход и страницы веб-интерфейса на первый взгляд работают. Однако не уверен, что данное поведение можно считать корректным, при изменении версии со стороны браузеры должны корректно загружаться все новые файлы без необходимости force refresh / использования DevTools. Также странно, что в ошибке выше упоминается явно `booking.module.js?v=2.3.3`, т. е. по идее браузер должен был загрузить корректную новую версию, т. к. путь изменился за счёт изменения версии.