Github Issue #9343 - (Debian) Minimal templates are missing distro-info-data package by default
This is a long thread with 23 posts. The original title was entirely different. It took many queries with user to find the exact cause of the issue. Finally Marek diagnosed the bug.
To sum it up, TNTBOMBOM writes yesterday:
Actually what i have discovered is that this feature (os-eol) doesnt show anything for debian minimal even installed freshly, so this is not an issue of previous debians not showing any output but even new one (only minimal, full/standard does show an output).
Marek Diagnosis
Even though you said it several times, we missed this partā¦
The EOL date is retrieved usingdistro-info-data
package, and I guess this package is not installed in minimal templateā¦
Technical background
Qubes Updater uses a special feature for templates to determine their end-of-life date. After the template reaches EOL, the GUI will show a special message, advising users to download new templates (or do in-place upgrade).
The EOL date is is communicated & updated from Template to dom0 after each template update. This is done via "/etc/qubes-rpc/qubes.PostInstall"
by executing "/etc/qubes/post-install.d/10-qubes-core-agent-features.sh"
bash script.
On most modern Distro, the script could look into "/etc/os-release"
and it should contain "SUPPORT_END="
key according to Freedesktop specifications. Most Distro comply with the specifications. Regretfully Debian is an exception in this case. A Canonical employee (Benjamin Drung) packages Debian & Ubuntu release data as JSON files within "distro-info-data"
package. The JSON files are expected to be available at "/usr/share/distro-info"
.
Full Debian templates has this package by pure chance (sine it is pulled in via a dependency). But minimal templates miss it. Without it, os-eol
is not set properly and Qubes Update GUI reverts to another mechanism to determine the end-of-life date of Debian templates which fails if you did in-place upgrade.
Solution
Before Marek does the fix himself. Find the repository containing the default packages for Debian templates and add "distro-info-data"
to the list of default packages for Debian minimal template.
Bonous
In addition to the above, build the template and test it to see if os-eol could be properly set for minimal template.