control: tags -1 + pending control: tags 814844 + pending Hi,
I just pushed all proposed changes to the git stretch branch. This solves the current font issues [font-issues] in wine and wine-development, once a new wine is released (tested with 1.8.2-rc3). But I'm not really happy with them, although I see them as the best solution for now. Therefore this painfully long mail, sorry. Committed changes: ================== These switch the build process to maintainer mode and rebuild the TrueType fonts. Alexandre Julliard told me when I asked about maintainer mode [AJ-fontforge]: There is definitely a risk too, particularly for fonts. They are supposed to be built with our forked version of fontforge (https://source.winehq.org/git/fontforge.git), that contains a couple of fixes compared to the upstream version. Upstream's fontforge (20120731-b) has the following changes: - Don't save the selected state. - Enable the width of individual bitmap strikes to be altered. - Avoid outputting trailing spaces in sfd files. - Various hacks to avoid putting timestamps in generated files. Debian (jessie/stretch/sid) is at the same upstream fontforge version. In the build log there are already some warnings about missing glyphs, but I haven't found real issues (yet). Improving new situation: ======================== If we keep my changes we should try to get some of the forked changes applied upstream, or at least in Debian. At least "width" and "trailing spaces" sound like valid candidates. Not sure what the "timestamps" are relevant for at all, and absolutely no clue about the "selected state". I'd ask the involved parties about that soon. We might also mention in debian/README.source that upstream uses a forked fontforge - but per se this doesn't solve the need to rebuild the Truetype fonts with a tool that is present in Debian. Packaging the forked fontforge additionally in Debian doesn't sound right. Alternatives: ============= Not packaging the TrueType fonts imo is not a way to go. I consider the known issues quite important, that's also why I'm a bit reluctant to push current versions to backports. But distributing them in main violates the DFSG [DFSG-discuss] (although it seems this was the case for the last decade, until they were dropped recently). Instead of rebuilding the fonts in maintainer mode (and ignoring the icons issue, see below), we could introduce a fonts-wine-contrib package with the TrueType fonts, patch attached (todo: breaks/replaces older versions), it replaces my following commits: - Add TrueType fonts to clean to regenerate them. - Don't error out on build warnings. - Build wine in maintainer mode. - Install wine's TrueType fonts. If we could define a set of existing fonts in Debian that fulfill Wine's requirements that would obsolete the font topic (but not the icons). But I doubt there is one. Anyone? Further questions: ================== I haven't found a way yet to rebuild the icons (I'm not sure if some of them are "source"), not even in maintainer mode. Adding all *.ico (and *.bmp) files to clean didn't work. But the icons end up in central apps like e.g. winecfg. So I assume this is an issue which should be solved, and the solution probably includes switching to maintainer mode. Is there anything else not rebuilt from source left in the current packaging? Mike already did an awesome job here lately. Greets jre [font-issues] - Missing glyphs to decorate the window (minimize, windowed/fullscreen, close buttons) in "The Bat!" - Text missing completely in the login window of "Steam". - Depending on what fonts are installed on the system, you may get way too big line heights e.g. in winefile (making dialogs bigger then the screen) The window decoration problem seems to exist only with the upstream fix to take into account the fontdir configured at build time (so not in Wine 1.8). But stretch (freeze in Jan 2017) will most probably have Wine 2.0. So I think we can't ignore that issue for stretch, which is why I propose to use that patch already now in wine 1.8(.2). [AJ-fontforge] https://bugs.winehq.org/show_bug.cgi?id=40391#c3 [DFSG-discuss] The Debian Free Software Guidelines and rules for "Debian main" can be found here: https://www.debian.org/doc/debian-policy/ch-archive.html Similar issues were discussed e.g. in the thread "Security concerns with minified javascript code" starting at: https://lists.debian.org/debian-devel/2015/08/msg00427.html Conclusion of that thread was (as I see it) that Debian should add the required build tools to Debian. Shipping pre-built stuff and assuming that it could be rebuild from source is not valid.
diff --git a/debian/changelog b/debian/changelog index 1c66c93..cecf4a2e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,6 +22,8 @@ wine (1.8.1-3) UNRELEASED; urgency=medium - Set fontdir /usr/share/wine/fonts. - Add fontdir.patch to take into account the build time configuration (closes: #814844). + - Install wine's TrueType fonts in package fonts-wine-contrib + (closes: #818925). -- Jens Reyer <jre.wine...@gmail.com> Sun, 13 Mar 2016 02:40:12 +0100 diff --git a/debian/control.in b/debian/control.in index 53cc10a..e9bf708 100644 --- a/debian/control.in +++ b/debian/control.in @@ -210,13 +210,15 @@ Description: Windows API implementation - 64-bit developer tools . This package provides wine's 64-bit developer tools. -Package: fonts-wineVERSION +Package: fonts-wine Section: fonts Architecture: all Multi-Arch: foreign Built-Using: ${built:Using} Depends: ${misc:Depends}, +Suggests: + fonts-wine-contrib, Replaces: libwineVERSION (<< 1.7.41-2~), Breaks: @@ -227,6 +229,24 @@ Description: Windows API implementation - fonts . This package provides the fonts used by wine. +Package: fonts-wine-contrib +Section: contrib/fonts +Architecture: all +Multi-Arch: foreign +Built-Using: ${built:Using} +Depends: + ${misc:Depends}, +Replaces: + libwineVERSION (<< 1.7.41-2~), +Breaks: + libwineVERSION (<< 1.7.41-2~), +Description: Windows API implementation - fonts (contrib) + Wine is a free MS-Windows API implementation. + This is still a work in progress and many applications may still not work. + . + This package provides the fonts used by wine that require special build + tools. + Package: libwineVERSION Section: libs Architecture: amd64 any-i386 any-powerpc armel armhf arm64 diff --git a/debian/fonts-wine-contrib.docs b/debian/fonts-wine-contrib.docs new file mode 100644 index 0000000..3470255 --- /dev/null +++ b/debian/fonts-wine-contrib.docs @@ -0,0 +1 @@ +debian/tmp/changelog diff --git a/debian/fonts-wine-contrib.install b/debian/fonts-wine-contrib.install new file mode 100644 index 0000000..8833d78 --- /dev/null +++ b/debian/fonts-wine-contrib.install @@ -0,0 +1,5 @@ +fonts/symbol.ttf usr/share/wine/fonts +fonts/tahoma.ttf usr/share/wine/fonts +fonts/marlett.ttf usr/share/wine/fonts +fonts/tahomabd.ttf usr/share/wine/fonts +fonts/wingding.ttf usr/share/wine/fonts