Skip to content

fontconfig.recipe: Eliminate symlinks on Windows

MSVC builds are failing:

0:04:26.297000 -----> Creating package for gstreamer-1.0
0:04:28.780999 ***** Error running 'package' command:
0:04:28.780999 The following files required by this package are missing:
 etc/fonts/conf.d/10-scale-bitmap-fonts.conf
etc/fonts/conf.d/20-unhint-small-vera.conf
etc/fonts/conf.d/65-nonlatin.conf
etc/fonts/conf.d/45-latin.conf
etc/fonts/conf.d/10-hinting-slight.conf
etc/fonts/conf.d/80-delicious.conf
etc/fonts/conf.d/45-generic.conf
etc/fonts/conf.d/30-metric-aliases.conf
etc/fonts/conf.d/40-nonlatin.conf
etc/fonts/conf.d/49-sansserif.conf
etc/fonts/conf.d/65-fonts-persian.conf
etc/fonts/conf.d/60-generic.conf
etc/fonts/conf.d/50-user.conf
etc/fonts/conf.d/90-synthetic.conf
etc/fonts/conf.d/69-unifont.conf
etc/fonts/conf.d/51-local.conf
etc/fonts/conf.d/60-latin.conf

Because we are creating broken symlinks, possibly due to bsdtar bugs:

10-hinting-slight.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/10-hinting-slight.conf'
10-scale-bitmap-fonts.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf'
20-unhint-small-vera.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/20-unhint-small-vera.conf'
30-metric-aliases.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/30-metric-aliases.conf'
40-nonlatin.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/40-nonlatin.conf'
45-generic.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/45-generic.conf'
45-latin.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/45-latin.conf'
49-sansserif.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/49-sansserif.conf'
50-user.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/50-user.conf'
51-local.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/51-local.conf'
60-generic.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/60-generic.conf'
60-latin.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/60-latin.conf'
65-fonts-persian.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/65-fonts-persian.conf'
65-nonlatin.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/65-nonlatin.conf'
69-unifont.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/69-unifont.conf'
80-delicious.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/80-delicious.conf'
90-synthetic.conf -> '/??/c:/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86_64/share/fontconfig/conf.avail/90-synthetic.conf'

Fix this by always making a copy on Windows instead of a symlink.

Merge request reports