Bug 1835499

Summary: DejaVu font issue
Product: [Fedora] Fedora Reporter: Bruno Wolff III <bruno>
Component: teeworldsAssignee: Gwyn Ciesla <gwync>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: gwync, hdegoede, igor.raits, lkundrak, oliver
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-05-18 21:28:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1806272    

Description Bruno Wolff III 2020-05-13 23:03:52 UTC
It looks like your package uses DejaVu fonts in a way that might be affected by changes to the way DejaVu fonts are packaged. As a temporary measure symlinks were added so that the old paths would still work in f32.  However, they are going to be removed in f33 and you will want to make sure your package will work there. Typically the issue does not result in obvious build errors, but rather problems will show up at run time.

One way to work around this issue is to make finding the font paths more automated at build time. This can be done using fontconfig to search for fonts installed in the build root and use the returned path to create symlinks.

So you might use something like the following to set up the build environment:

%global fonts font(dejavusans)
BuildRequires: fontconfig %{fonts}
Requires: %{fonts}

Then in the install section you might use something like the following to create the symlinks:

pushd $RPM_BUILD_ROOT
ln -f -s $(fc-match -f "%{file}" "sans") \
  $RPM_BUILD_ROOT%{_datadir}/%{name}/data/fonts/sans.ttf
popd

There is additional information in a bug covering the DevaVu change (bug 1806272) and an example fix discussed in a hedgewars bug (bug 1823360).