#1150394 fonts-materialdesignicons-legacy: please add a fonts symlink inside the versioned directories (needed for the fonts-materialdesignicons-webfont removal)

#1150394#5
Date:
2026-10-09 08:37:37 UTC
From:
To:
Hi Julian,

As you know from #1140680, it would be desirable to completely remove
the package fonts-materialdesignicons-webfont in favor of your
fonts-materialdesignicons-legacy package which is much nicer, built
from sources, etc. I'm by the way sorry that it took me so long to
draft a plan on how to do it. I've now come to the conclusiong that
this is the best route. fonts-materialdesignicons-webfont ships a
pre-built font which embeds the brand icons, and it isn't built from
source. Its two consumers will be switched to this package instead:

 - python3-xstatic-mdi (used by Horizon to display its icons), whose
   debianize patch points BASE_DIR at
   /usr/share/fonts-materialdesignicons-webfont/; we will point it at
   /usr/share/fonts-materialdesignicons-webfont/v6.9.96/ instead.
 - searx-admin (see: #1150391), which serves
   css/materialdesignicons.min.css and scss/materialdesignicons.scss
   from the same directory; it will use the versioned paths.

For a consumer to mount a single version directory (as xstatic's
BASE_DIR does), css, scss *and* the font files must all be reachable
inside it. The alternative is to have the xstatic-mdi package to
design a forest of symlink, which isn't desirable at all. Instead,
a small patch into your package will fix it.

The css and scss are already there; what's missing is the fonts. A
top-level symlink wouldn't work: the css references the fonts
as ../../fonts/... (which is correct from within v6.9.96/css/), and URL
resolution follows the path, not the symlink, so it would point at
/usr/share/fonts/ instead.

The attached patch therefore adds a fonts symlink *inside* each
versioned directory, pointing at the existing top-level flat fonts/
directory (which your .links already provides).

I verified this end-to-end in a chroot: the package builds fine with
the patch, and compiling a Horizon-style scss (setting $mdi-font-path
to .../v6.9.96/fonts and importing
.../v6.9.96/scss/materialdesigniconsv6.scss) produces correct font URLs
which resolve through the symlink chain.

For your information, on the consumer side: all eight MDI icons used by
searx-admin exist in v6.9.96, and of the 69 icons mapped in Horizon's
material theme, only "settings" is missing (it was renamed to "cog" in
v5+), which a one-line fix in Horizon's _icons.scss will handle.

Note also that the 7.4.47 font currently in experimental is missing both
"settings" and "desktop-mac", so the v6 font is actually an improvement
there.

Could you please review, and upload the attached patch as -4? It
unblocks the removal of fonts-materialdesignicons-webfont (#1140680),
after which I will switch the consumers (python3-xstatic-mdi,
searx-admin and horizon) in that order.

Thanks a lot for making this package in the first place, it saved us a
lot of work!

Thomas Goirand (zigo)

#1150394#10
Date:
2026-10-09 14:49:18 UTC
From:
To:
Hi Thomas,

Great to hear from you!

I should be able to do this in the week beginning 19th October.

Best wishes,

   Julian

#1150394#15
Date:
2026-10-09 14:49:18 UTC
From:
To:
Hi Thomas,

Great to hear from you!

I should be able to do this in the week beginning 19th October.

Best wishes,

   Julian