Bug 48432 - Не загружаются образы операционных систем, для cоздания загрузочной флешки.
Summary: Не загружаются образы операционных систем, для cоздания загрузочной флешки.
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: impression (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-14 07:17 MSK by Олег Щавелев
Modified: 2024-03-20 15:58 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Олег Щавелев 2023-11-14 07:17:45 MSK
Стенды с ошибкой:
=================
* ALT Regular Sisyphus x86_64
* Kernel: 6.5.11-un-def-alt1 
* GNOME 45.0 
* AMD Ryzen 7 4800HS with Radeon Graphics (16) @ 4.300GHz 
* AMD ATI 04:00.0 Renoir 
* 1: 1920x1080~144Hz 2: 1280x720~60Hz
* Wayland

Версия программы:
=================
impression-3.0.1-alt1.x86_64

Шаги, приводящие к ошибке:
=================
Открыть impression

Результат:
==========
Отсутствует список дистубутивов. Вечная загрузка.

[oleg@alt-gnome ~]$ impression
thread '<unnamed>' panicked at src/online.rs:37:71:
called `Result::unwrap()` on an `Err` value: NotPresent
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Ожидаемый результат:
====================
Список дистубутивов загружается.

Дополнительно:
====================
https://disk.yandex.ru/d/7J6ITgwmzqaQIw
Comment 1 Yuri N. Sedunov 2023-11-14 09:13:48 MSK
Видно, что
1) лезем сразу в сеть за последней osinfo-db, хотя у нас есть своя.

src/online.rs:

34     let latest_file_stem = latest_file[..(latest_file.len() - ".tar.xz".len())].to_string();
     35     let latest_url = format!("https://releases.pagure.org/libosinfo/{}", latest_file);
     36 

2) Пытаемся распаковать базу в $XDG_CACHE_HOME/tmp, но переменная XDG_CACHE_HOME не установлена, и на этом обламываемся.

Хотя по спецификации:
"$XDG_CACHE_HOME defines the base directory relative to which user-specific non-essential data files should be stored. If $XDG_CACHE_HOME is either not set or empty, a default equal to $HOME/.cache should be used."
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3) Если создать $HOME/.cache/tmp (поскольку сам он её не создает) и запустить impression так:

$ XDG_CACHE_HOME=$HOME/.cache/ impression

увидим вожделенный список, но ...


     37     let temp_dir = format!("{}/tmp/", std::env::var("XDG_CACHE_HOME").unwrap());
     38     let result_file = format!("{}db.tar.xz", temp_dir);
     39     let result_directory = format!("{}{}/os/", temp_dir, latest_file_stem);

4) он будет сильно урезанный потому, что не все дистрибутивы по мнению автора одинаково хороши, скорее хороших очень мало.

     40     let good_distros = [
     41         ("archlinux.org", "Arch Linux"),
     42         ("endlessos.com", "Endless OS"),
     43         ("fedoraproject.org", "Fedora"),
     44         ("manjaro.org", "Manjaro"),
     45         ("opensuse.org", "OpenSUSE"),
     46         ("ubuntu.com", "Ubuntu"),
     47     ];

Обо всем этом вы можете повесить багу в апстрим.
Comment 2 Yuri N. Sedunov 2024-03-20 15:58:48 MSK
Давно исправлено.
Кто-то хвалился позакрывать наши с Антоном старые баги, но даже за своими не следит.