On Mon, Jan 02, 2023 at 04:23:19PM +0100, Thomas Goirand wrote: > On 1/1/23 23:09, Julian Gilbey wrote: > > (1) As I noted earlier in this report, I was a little confused by the > > current Salsa repository, but am becoming less so. There are numerous > > branches there, and none of them match the current version in unstable > > (they only have 1.6.50-2). I'm assuming the branch names match the > > OpenStack release names (except for the debian/unstable and master > > branches). > > That's correct. But you don't need to care. The only thing you need to know, > is that the current default branch is the one you should push to. Currently, > that's debian/zed.
Excellent! > > I would suggest modifying the repository into a > > git-buildpackage (gbp) setup with upstream, pristine-tar and > > debian/unstable branches, with debian/[openstack-code-name] branches > > being used as they are currently. > > There's no such thing as pristine-tar in the OpenStack packaging. The > workflow is described here: > > https://wiki.debian.org/OpenStack/PackageUpdate#Import_upstream_changes_to_the_debian.2FOSRELEASE_branch OK, I'll take a read of that. > > (2) You said that newer versions of MDI break Horizon. I've just > > looked in some detail at python3-xstatic-mdi, which is the only > > package that depends on fonts-materialdesignicons-webfont and is > > maintained by the OpenStack team. Am I correct about this? > > Yes. > > > However, we do need newer versions of MDI for other packages. (I will > > discuss this with the tulip maintainers; their code seems to require > > version 4.9.95 of the icons...; on the other hand, searx-admin is > > fine.) So can I propose the following solution which will (all being > > well!) work for both OpenStack and the other users of the MDI font: > > [...] > > > > The only changes then required to the python-xstatic-mdi package for > > this to work are to modify debianize.patch from > > > > +BASE_DIR = '/usr/share/fonts-materialdesignicons-webfont/' > > > > to > > > > +BASE_DIR = '/usr/share/fonts-materialdesignicons-webfont/1.6.50/' > > > > and to depend on fonts-materialdesignicons-webfont-v1 instead of > > fonts-materialdesignicons. > > I would very much prefer if this could be avoided, for example using > update-alternative (or something similar), to avoid breaking anyone > (changing the path is always disruptive). But I'm ok with this solution if > you think that's the easiest way forward. I think the biggest issue is that there can only be one system font called "materialdesignicons", and to have a version which is ancient and never being updated seems a little un-Debian-like. Since within Debian, only this one package uses this version, I don't think my proposed solution would be bad. But it turns out there is a separate difficulty - see below. I've also been wondering why updating MDI breaks Horizon, and in what way. There is a DFSG issue with version 1.6.50 of the MDI font: it is not distributed in source form, but rather in a compiled form. Various tools were used to generate the different font formats, for example. So if there's a way to drop 1.6.50 from Debian (probably not for bookworm - it's a bit too close, but for bookworm+1), that would be great. It seems that there's only one place in horizon (source) where the MDI fonts are referenced (great encapsulation!!): openstack_dashboard/themes/material/static/horizon/_icons.scss If I understand it correctly, this scss file replaces each FontAwesome 4.7 icon in the icon-swap list (eg "asterisk") with an MDI icon (in this case "star"). My guess is that the problem with upgrading is that two icons in that list no longer appear in the latest version of MDI: "settings" has been replaced by "cog" (version 5.0.45) and "desktop-mac" has recently been removed (version 7.0.96) with "monitor" (already present in 1.6.50) recommended as a replacement. So it might be that the following two-line patch: - cog: 'settings', - desktop: 'desktop-mac', + cog: 'cog', + desktop: 'monitor', would be enough to allow horizon to use the current MDI fonts. But I don't use OpenStack myself, so I would certainly ask you or someone else in the OpenStack team to test such a patch before releasing it into the wild! > > This way, everyone will be happy (I hope!). The only small issue with > > this solution is that the v1.6.50 fonts are not available in > > /usr/share/fonts, but I don't think that is a problem as they are only > > required by this one package (python3-xstatic-mdi), and the v1.6.50 > > fonts are not being provided as general-use fonts. > > Maybe other people are using this package (ie: things not packaged in Debian > from simple Debian users...). You'd be breaking them. But it's probably > ok... True, but we constantly upgrade packages in Debian to "the latest and greatest" upstream versions. And there's this bug report specifically requesting an upgrade.... > > If you're OK with this idea, please could you either give me access to > > the python-xstatic-mdi salsa repository or make these two changes > > yourself once I have made the fonts-materialdesignicons-webfont > > changes? > > I've added you as maintainer, feel free to push directly to this repo. > Please note that on every push, packages are automatically backported to the > current stable. You may join #debian-openstack-commits to see the build > result. Now this may be tricky, because building the proposed new version of the fonts requires the new node-webfont package; would that be backported as well? (BTW, I've just pushed a new version to my experimental repository at https://salsa.debian.org/debian/fonts-materialdesignicons-webfont which generates a version 1.6.50 package as well as the newer ones.) > Thanks Julian, for the work and contribution, > > Cheers, :-) Julian