On 10 September 2015 at 02:41, Keith Packard <[email protected]> wrote: > Emil Velikov <[email protected]> writes: > >> From a very quick look, only fontstruct.h seems to be used. If truly >> so, one can rework it (rename or fold into libxfont2.h, rename the >> symbols ?) and drop the rest from libXfontinclude_HEADERS. > > fontstruct.h comes from proto/fontsproto > > However, fontutil.h does come from libXfont, and has only a small > handful of functions used by the server. Moving those to libXfont2.h > would be simple. > > None of the other headers from libXfont are used in the X server, but > many are used in the other font utilities (bdftopcf et al). > Had a long hard look at the Archlinux repos and did not see (m)any libxfont users outside of xserver. Would you/others know if they're still a thing or they share the same faith as the print server :-)
>> Additionally it'll be great to sanitise the list of exported symbols, >> as things might go nasty as we end up with both libXfont.so >> libXfont2.so opened at the same time. > > libXfont is used only by the X server, the font server, and the > various font utilities, so I think it's safe to assume that no > application will use both versions. > As usual I'm thinking of various 'smart' moves that users opt for - in particular $LD_PRELOAD=...libXfont.so startx. Obviously the LD_PRELOAD is likely to be set in some crazy script, as it "made app X work" and it won't be immediately obvious. >> As previously this just a suggestion, so feel free to take it or leave it. > > I hadn't changed the common header files, but you are most correct in > asserting that we cannot install them from both versions of the library; > that would cause packaging problems, even if the contents of the files > were identical. > > So, two simple solutions: > > 1) Rename the install target to X11/fonts2/ > 2) Merge all of the library API definitions into the new libxfont2.h > > I'm tempted to select option 2) as I'm not a huge fans of file names > differing only in their directory component, but 1) would be simpler. > Fwiw I'd vote for 2) as it will make it harder for anyone to mix and/or match headers between the two version. Of course it helps nicely with the LD_PRELOAD 'issue'. Namely: - Add the ~10 functions from fontutil.h to libxfont2.h - Change/add a common prefix (break the API) for all - Hide the other ~210 symbols from libXfont.so :-) Admittedly it will be more work, but it sounds like a nice, robust (cough idiot proof :-P) solution. Fwiw I might be able to help a bit, if that's the major concern. -Emil _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
