Compare commits

..

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

25 changed files with 5444 additions and 543 deletions

View File

@ -1 +0,0 @@
38e8ce60e29b0e825e04f3ea76af56a53ea8d614 SOURCES/dejavu-fonts-2.35.tar.bz2

9
.gitignore vendored
View File

@ -1 +1,8 @@
SOURCES/dejavu-fonts-2.35.tar.bz2
dejavu-fonts-2.31.tar.bz2
/dejavu-fonts-2.32.tar.bz2
/dejavu-fonts-2.33.tar.bz2
/dejavu-fonts-2.33-20130819-2534.tar.bz2
/dejavu-fonts-2.34.tar.bz2
/dejavu-fonts-2.35.tar.bz2
/dejavu-fonts-2.37.tar.bz2
/dejavu-fonts-version_2_37.tar.gz

30
57-dejavu-sans-fonts.xml Normal file
View File

@ -0,0 +1,30 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<group>
<target>DejaVu Sans</target>
<match>
<family>DejaVu Sans</family>
<change>
<style>Book</style>
<into>Regular</into>
</change>
</match>
<like>
<family>DejaVu LGC Sans</family>
<family>BPG 2017 DejaVu Sans</family>
<family>Arev Sans</family>
<family>Bepa</family>
<family>Hunky Sans</family>
<family>Olwen Sans</family>
<family>SUSE Sans</family>
<family>Verajja</family>
<family>VerajjaPDA</family>
<family>Bitstream Vera Sans</family>
<family>Prima Sans</family>
<family>sans-serif</family>
</like>
</group>
</fontconfig>

View File

@ -0,0 +1,28 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<group>
<target>DejaVu Sans Mono</target>
<match>
<family>DejaVu Sans Mono</family>
<change>
<style>Book</style>
<into>Regular</into>
</change>
</match>
<like>
<family>DejaVu LGC Sans Mono</family>
<family>BPG 2017 DejaVu Sans Mono</family>
<family>Bepa Mono</family>
<family>Olwen Sans Mono</family>
<family>SUSE Sans Mono</family>
<family>Bitstream Vera Sans Mono</family>
<family>Prima Sans Mono</family>
<family>Hack</family>
<family>Menlo</family>
<family>monospace</family>
</like>
</group>
</fontconfig>

28
57-dejavu-serif-fonts.xml Normal file
View File

@ -0,0 +1,28 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<group>
<target>DejaVu Serif</target>
<match>
<family>DejaVu Serif</family>
<change>
<style>Book</style>
<into>Regular</into>
</change>
</match>
<family>DejaVu Math TeX Gyre</family>
<like>
<family>DejaVu LGC Serif</family>
<family>BPG 2017 DejaVu Serif</family>
<family>Hunky Serif</family>
<family>Olwen Serif</family>
<family>SUSE Serif</family>
<family>Verajja Serif</family>
<family>Bitstream Vera Serif</family>
<family>Prima Serif</family>
<family>serif</family>
</like>
</group>
</fontconfig>

View File

@ -0,0 +1,30 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<group>
<target>DejaVu LGC Sans</target>
<match>
<family>DejaVu LGC Sans</family>
<change>
<style>Book</style>
<into>Regular</into>
</change>
</match>
<like>
<family>DejaVu Sans</family>
<family>BPG 2017 DejaVu Sans</family>
<family>Arev Sans</family>
<family>Bepa</family>
<family>Hunky Sans</family>
<family>Olwen Sans</family>
<family>SUSE Sans</family>
<family>Verajja</family>
<family>VerajjaPDA</family>
<family>Bitstream Vera Sans</family>
<family>Prima Sans</family>
<family>sans-serif</family>
</like>
</group>
</fontconfig>

View File

@ -0,0 +1,28 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<group>
<target>DejaVu LGC Sans Mono</target>
<match>
<family>DejaVu LGC Sans Mono</family>
<change>
<style>Book</style>
<into>Regular</into>
</change>
</match>
<like>
<family>DejaVu Sans Mono</family>
<family>BPG 2017 DejaVu Sans Mono</family>
<family>Bepa Mono</family>
<family>Olwen Sans Mono</family>
<family>SUSE Sans Mono</family>
<family>Bitstream Vera Sans Mono</family>
<family>Prima Sans Mono</family>
<family>Hack</family>
<family>Menlo</family>
<family>monospace</family>
</like>
</group>
</fontconfig>

View File

@ -0,0 +1,27 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<group>
<target>DejaVu LGC Serif</target>
<match>
<family>DejaVu LGC Serif</family>
<change>
<style>Book</style>
<into>Regular</into>
</change>
</match>
<like>
<family>DejaVu Serif</family>
<family>BPG 2017 DejaVu Serif</family>
<family>Hunky Serif</family>
<family>Olwen Serif</family>
<family>SUSE Serif</family>
<family>Verajja Serif</family>
<family>Bitstream Vera Serif</family>
<family>Prima Serif</family>
<family>serif</family>
</like>
</group>
</fontconfig>

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<component type="font">
<id>dejavu-sans-mono</id>
<metadata_license>CC0-1.0</metadata_license>
<extends>dejavu</extends>
</component>

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<component type="font">
<id>dejavu-sans</id>
<metadata_license>CC0-1.0</metadata_license>
<extends>dejavu</extends>
</component>

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<component type="font">
<id>dejavu-serif</id>
<metadata_license>CC0-1.0</metadata_license>
<extends>dejavu</extends>
</component>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<component type="font">
<id>dejavu</id>
<metadata_license>CC0-1.0</metadata_license>
<name>DejaVu</name>
<summary>A set of sans-serif font faces</summary>
</component>

View File

@ -1,512 +0,0 @@
%global fontname dejavu
%global archivename %{name}-%{archiveversion}
#global alphatag .20130819.2534
#global alphatag .rc1
#global archiveversion 2.33-20130819-2534
%global archiveversion %{version}
# Common description
%global common_desc \
The DejaVu font set is based on the “Bitstream Vera” fonts, release 1.10. Its\
purpose is to provide a wider range of characters, while maintaining the \
original style, using an open collaborative development process.
Name: %{fontname}-fonts
Version: 2.35
Release: 7%{?alphatag}%{?dist}
Summary: DejaVu fonts
Group: User Interface/X
# original bitstream glyphs are Bitstream Vera
# glyphs modifications by dejavu project are Public Domain
# glyphs imported from Arev fonts are under BitStream Vera compatible license
License: Bitstream Vera and Public Domain
URL: http://%{name}.org/
Source0: %{?!alphatag:http://downloads.sourceforge.net/%{fontname}}%{?alphatag:%{fontname}.sourceforge.net/snapshots}/%{archivename}.tar.bz2
Source1: %{fontname}.metainfo.xml
Source2: %{fontname}-sans.metainfo.xml
Source3: %{fontname}-sans-mono.metainfo.xml
Source4: %{fontname}-serif.metainfo.xml
# Older fontforge versions will not work due to sfd format changes
BuildRequires: fontforge >= 20080429
BuildRequires: perl(Font::TTF)
# Needed to compute unicode coverage
BuildRequires: unicode-ucd
BuildArch: noarch
BuildRequires: fontpackages-devel
%description
%common_desc
%package common
Summary: Common files for the Dejavu font set
Requires: fontpackages-filesystem
Obsoletes: dejavu-fonts-doc < 2.26-6
Obsoletes: %{name}-compat < 2.29-3
Obsoletes: %{name}-lgc-compat < 2.29-3
%description common
%common_desc
This package consists of files used by other DejaVu packages.
%package -n %{fontname}-sans-fonts
Summary: Variable-width sans-serif font faces
Requires: %{name}-common = %{version}-%{release}
Obsoletes: %{name}-sans < 2.28-2
%description -n %{fontname}-sans-fonts
%common_desc
This package consists of the DejaVu sans-serif variable-width font faces, in
their unabridged version.
%_font_pkg -n sans -f *-%{fontname}-sans.conf DejaVuSans.ttf DejaVuSans-*.ttf DejaVuSansCondensed*.ttf
%{_datadir}/appdata/%{fontname}-sans.metainfo.xml
%package -n %{fontname}-serif-fonts
Summary: Variable-width serif font faces
Requires: %{name}-common = %{version}-%{release}
Obsoletes: %{name}-serif < 2.28-2
%description -n %{fontname}-serif-fonts
%common_desc
This package consists of the DejaVu serif variable-width font faces, in their
unabridged version.
%_font_pkg -n serif -f *-%{fontname}-serif.conf DejaVuSerif.ttf DejaVuSerif-*.ttf DejaVuSerifCondensed*.ttf
%{_datadir}/appdata/%{fontname}-serif.metainfo.xml
%package -n %{fontname}-sans-mono-fonts
Summary: Monospace sans-serif font faces
Requires: %{name}-common = %{version}-%{release}
Obsoletes: %{name}-sans-mono < 2.28-2
%description -n %{fontname}-sans-mono-fonts
%common_desc
This package consists of the DejaVu sans-serif monospace font faces, in their
unabridged version.
%_font_pkg -n sans-mono -f *-%{fontname}-sans-mono.conf DejaVuSansMono*.ttf
%{_datadir}/appdata/%{fontname}-sans-mono.metainfo.xml
%package -n %{fontname}-lgc-sans-fonts
Summary: Variable-width sans-serif font faces, Latin-Greek-Cyrillic subset
Requires: %{name}-common = %{version}-%{release}
Obsoletes: %{name}-lgc-sans < 2.28-2
%description -n %{fontname}-lgc-sans-fonts
%common_desc
This package consists of the DejaVu sans-serif variable-width font faces, with
unicode coverage restricted to Latin, Greek and Cyrillic.
%_font_pkg -n lgc-sans -f *-%{fontname}-lgc-sans.conf DejaVuLGCSans.ttf DejaVuLGCSans-*.ttf DejaVuLGCSansCondensed*.ttf
%package -n %{fontname}-lgc-serif-fonts
Summary: Variable-width serif font faces, Latin-Greek-Cyrillic subset
Requires: %{name}-common = %{version}-%{release}
Obsoletes: %{name}-lgc-serif < 2.28-2
%description -n %{fontname}-lgc-serif-fonts
%common_desc
This package consists of the DejaVu serif variable-width font faces, with
unicode coverage restricted to Latin, Greek and Cyrillic.
%_font_pkg -n lgc-serif -f *-%{fontname}-lgc-serif.conf DejaVuLGCSerif.ttf DejaVuLGCSerif-*.ttf DejaVuLGCSerifCondensed*.ttf
%package -n %{fontname}-lgc-sans-mono-fonts
Summary: Monospace sans-serif font faces, Latin-Greek-Cyrillic subset
Requires: %{name}-common = %{version}-%{release}
Obsoletes: %{name}-lgc-sans-mono < 2.28-2
%description -n %{fontname}-lgc-sans-mono-fonts
%common_desc
This package consists of the DejaVu sans-serif monospace font faces, with
unicode coverage restricted to Latin, Greek and Cyrillic.
%_font_pkg -n lgc-sans-mono -f *-%{fontname}-lgc-sans-mono.conf DejaVuLGCSansMono*.ttf
%prep
%setup -q -n %{archivename}
%build
make %{?_smp_mflags} VERSION=%{version} FC-LANG="" \
BLOCKS=/usr/share/unicode/ucd/Blocks.txt UNICODEDATA=/usr/share/unicode/ucd/UnicodeData.txt
# Stop the desktop people from complaining this file is too big
bzip2 -9 build/status.txt
%check
make check
%install
rm -fr %{buildroot}
install -m 0755 -d %{buildroot}%{_fontdir}
install -m 0644 -p build/*.ttf %{buildroot}%{_fontdir}
install -m 0755 -d %{buildroot}%{_fontconfig_templatedir} \
%{buildroot}%{_fontconfig_confdir}
cd fontconfig
for fontconf in *conf ; do
install -m 0644 -p $fontconf %{buildroot}%{_fontconfig_templatedir}
ln -s %{_fontconfig_templatedir}/$fontconf \
%{buildroot}%{_fontconfig_confdir}/$fontconf
done
# Add AppStream metadata
install -Dm 0644 -p %{SOURCE1} \
%{buildroot}%{_datadir}/appdata/%{fontname}.metainfo.xml
install -Dm 0644 -p %{SOURCE2} \
%{buildroot}%{_datadir}/appdata/%{fontname}-sans.metainfo.xml
install -Dm 0644 -p %{SOURCE2} \
%{buildroot}%{_datadir}/appdata/%{fontname}-sans-mono.metainfo.xml
install -Dm 0644 -p %{SOURCE3} \
%{buildroot}%{_datadir}/appdata/%{fontname}-serif.metainfo.xml
%clean
rm -fr %{buildroot}
%files common
%defattr(0644,root,root,0755)
%{_datadir}/appdata/%{fontname}.metainfo.xml
%doc AUTHORS BUGS LICENSE NEWS README
%doc build/unicover.txt build/status.txt.bz2
%changelog
* Thu Dec 10 2020 Akira TAGOH <tagoh@redhat.com> - 2.35-7
- Bump a release number to include more sub-packages.
Resolves: rhbz#1857213
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.35-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.35-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.35-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.35-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.35-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat Jun 13 2015 Peter Gordon <peter@thecodergeek.com> - 2.35-1
- Update to new upstream release (2.35).
* Fri Oct 17 2014 Richard Hughes <richard@hughsie.com> - 2.34-4
- Add a MetaInfo file for the software center; this is a font we want to show.
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.34-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Dec 26 2013 Parag Nemade <paragn AT fedoraproject DOT org>
- 2.34-2
- Resolves:rh#880473 - drop Conflicts: lines from spec file
* Sun Sep 01 2013 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.34-1
* Wed Aug 21 2013 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.34-0.1.20130819-2534
first 2.34 release candidate, 2 years worth of fixes and glyph additions
(for example Turkish Lira ₺)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- 2.33-6
Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- 2.33-5
Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- 2.33-4
Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- 2.33-3
Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Nov 29 2011 Paul Flo Williams <paul@frixxon.co.uk>
- 2.33-2
Get Unicode data from unicode-ucd. Fixes FTBFS bug #748522
* Mon Apr 04 2011 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.33-1
Improved Hebrew and Armenian
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- 2.32-2
Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Sep 10 2010 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.32-1
* Thu Jun 3 2010 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.31-1
drop Serif Condensed Italic naming patch
* Mon Sep 7 2009 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.30-2
patch to fix bug #505129 Serif Condensed Italic is not Serif Condensed
* Sun Sep 6 2009 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.30-1
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- 2.29-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Sat May 23 2009 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 1.29-3
remove pre-F11 compatibility metapackage
* Sun Mar 15 2009 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.29-2
Make sure F11 font packages have been built with F11 fontforge
* Sat Mar 14 2009 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.29-1
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- 2.28-6
Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Feb 16 2009 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.28-5
prepare for F11 mass rebuild, new rpm and new fontpackages
drop compatibility provides as announced at F11 alpha time
* Thu Feb 5 2009 <nicolas.mailhot at laposte.net>
- 2.28-4
Test build with new fontpackages and in-rpm auto-font-provides
* Fri Jan 16 2009 <nicolas.mailhot at laposte.net>
- 2.28-3
Fix lgc-serif obsoletes
* Thu Jan 15 2009 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.28-2
Update URL
update for new naming guidelines
warning: provides for the old names will be dropped before F11 beta
* Sun Dec 21 2008 <nicolas.mailhot at laposte.net>
- 2.28-1
Update to latest release
Drop upstreamed fontconfig patch
Remove DejaVu from most summaries
* Sat Dec 6 2008 <nicolas.mailhot at laposte.net>
- 2.27-7
߹ Add explicit conflicts to help yum
* Sun Nov 23 2008 <nicolas.mailhot at laposte.net>
- 2.27-5
rpm-fonts renamed to “fontpackages”
* Wed Nov 12 2008 <nicolas.mailhot at laposte.net>
- 2.27-4
Tweak using new « rpm-fonts »
* Mon Nov 10 2008 <nicolas.mailhot at laposte.net>
- 2.26-7
Rebuild using new « rpm-fonts »
* Sun Nov 9 2008 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.26-6
Package split reorganisation, following font family lines
Create compat packages to ease switchover at F11 time (to be discontinued
for F12)
compress status file
* Wed Sep 3 2008 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.26-2
Rebuild with pre-F10-freeze fontforge
* Sat Jul 26 2008 Nicolas Mailhot <nicolas.mailhot at laposte.net>
- 2.26-1
Բ New release at last
* Wed Jul 16 2008 Tom "spot" Callaway <tcallawa@redhat.com>
- 2.25-4
- note Public Domain contributions
* Wed Jul 16 2008 Tom "spot" Callaway <tcallawa@redhat.com>
- 2.25-3
- fix license tag
* Fri Jul 11 2008 <nicolas.mailhot at laposte.net>
- 2.25-2
Fedora 10 alpha general package cleanup
* Mon May 19 2008 <nicolas.mailhot at laposte.net>
- 2.25-1
2.25 final
* Fri Apr 4 2008 <nicolas.mailhot at laposte.net>
- 2.24-3
Fix source URL
* Tue Mar 18 2008 <nicolas.mailhot at laposte.net>
- 2.24-2
rebuild for new fontforge
* Mon Mar 10 2008 <nicolas.mailhot at laposte.net>
2.24-1
2.24 final
* Tue Mar 4 2008 <nicolas.mailhot at laposte.net>
2.24-0.2.rc1
rc time
* Mon Mar 3 2008 <nicolas.mailhot at laposte.net>
2.24-0.1.20080228svn2189
early 2.24 test build, check new fontforge
* Sun Jan 20 2008 <nicolas.mailhot at laposte.net>
2.23-1
2.23 final
* Sun Dec 9 2007 <nicolas.mailhot at laposte.net>
2.22-1
2.22 final
* Thu Dec 6 2007 <nicolas.mailhot at laposte.net>
2.22-0.1.20071206svn2135
2.22 rc phase started
sync with guidelines
* Sun Oct 28 2007 <nicolas.mailhot at laposte.net>
2.21-1
2.21 final
* Sat Oct 27 2007 <nicolas.mailhot at laposte.net>
2.21-0.4.20071027svn2023
Fedora fontconfig files dropped (merged upstream)
* Thu Oct 25 2007 <nicolas.mailhot at laposte.net>
2.21-0.3.20071025svn2022
Makefile patch dropped (merged upstream)
add -f to fc-cache calls
completely align LGC and FULL fontconfig rules
remove / from directory macros
* Sun Oct 21 2007 <nicolas.mailhot at laposte.net>
2.21-0.2.20071017svn2019
Still very experimental version:
update makefile patch
split lgc hinting file like in the other packages
move lgc to prio 58 as should have been done when liberation was added
* Sun Oct 21 2007 <nicolas.mailhot at laposte.net>
2.21-0.1.20071014svn2016
Very experimental version to test major changes:
new fontforge version
use of a real makefile at last
replacing standalone lgc package with subpackage generated with the rest
* Tue Sep 18 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.20-1
2.20 final
bugfix release (Hebrew fixes mostly)
* Sat Aug 11 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.19-1
2.19 final
expand macro use
* Sun Jul 1 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.18-1
2.18 final
Major new release adding Tifinagh (ⵞⵥⴼⴻ), N'ko (ߝߧߜ) and Georgian (ლფჱႫႿ)
(Georgian created by Besarion Paata Gugushvili ბესარიონ პაატა გუგუშვილი)
* Wed Jun 27 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.18-0.2.rc1
2.18-rc1
* Sun Jun 3 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.18-0.1.20070616svn1889
early snapshot to test new fontforge
* Sun Jun 3 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.17-5
declare DejaVu a valid Bitstream Prima™ substitute
* Thu May 31 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.17-3
small spec cleanups
* Sat May 26 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.17-2
perl-Font-TTF has been fixed upstream, use perl(Font::TTF) BR
remove comment about /etc/fonts/conf.d ownership, as it's now owned
by filesystem
* Sun May 13 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.17-1
rebase scriptlets from guidelines
fontforge broke compat: BR the current version, ask for a version bump
before 2.18 is released
simplify font directory naming
clean up fc5 obsoletes
remove technical mes files from doc
* Fri May 11 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.17-0.3.rc1
fontconfig setup has stabilized and can be marked noreplace now
2.17-0.2.rc1
mimick Vera unhint conf split
2.17-0.1.rc1
2.17 rc1
make room for liberations font conf file
* Mon Apr 2 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.16-1
* Tue Mar 20 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.16-0.1.20070319svn1699
early snapshot to account for F7T3 freeze
* Tue Jan 30 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.14-2
Adds Dejavu Sans Oblique small fixes (by Ben Laenen to address Debian
bug #408311, collected by Davide Viti)
* Sun Jan 21 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
2.14 final

120
dejavu-fonts-urn-dtd.patch Normal file
View File

@ -0,0 +1,120 @@
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-lgc-sans.conf dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-lgc-sans.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-lgc-sans.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-lgc-sans.conf 2020-04-02 20:56:06.341929827 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- /etc/fonts/conf.d/20-unhint-small-dejavu-lgc-sans.conf
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-lgc-sans-mono.conf dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-lgc-sans-mono.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-lgc-sans-mono.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-lgc-sans-mono.conf 2020-04-02 20:56:06.353930041 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- /etc/fonts/conf.d/20-unhint-small-dejavu-lgc-sans-mono.conf
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-lgc-serif.conf dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-lgc-serif.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-lgc-serif.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-lgc-serif.conf 2020-04-02 20:56:06.359930147 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- /etc/fonts/conf.d/20-unhint-small-dejavu-lgc-serif.conf
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-sans.conf dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-sans.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-sans.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-sans.conf 2020-04-02 20:56:06.367930290 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- /etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-sans-mono.conf dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-sans-mono.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-sans-mono.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-sans-mono.conf 2020-04-02 20:56:06.372930379 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- /etc/fonts/conf.d/20-unhint-small-dejavu-sans-mono.conf
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-serif.conf dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-serif.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/20-unhint-small-dejavu-serif.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/20-unhint-small-dejavu-serif.conf 2020-04-02 20:56:06.378930486 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- /etc/fonts/conf.d/20-unhint-small-dejavu-serif.conf
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/57-dejavu-sans.conf dejavu-fonts-version_2_37/fontconfig/57-dejavu-sans.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/57-dejavu-sans.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/57-dejavu-sans.conf 2020-04-02 20:56:06.384930592 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- /etc/fonts/conf.d/57-dejavu-sans.conf
Define aliasing and other fontconfig settings for
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/57-dejavu-sans-mono.conf dejavu-fonts-version_2_37/fontconfig/57-dejavu-sans-mono.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/57-dejavu-sans-mono.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/57-dejavu-sans-mono.conf 2020-04-02 20:56:06.390930699 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- /etc/fonts/conf.d/57-dejavu-sans-mono.conf
Define aliasing and other fontconfig settings for
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/57-dejavu-serif.conf dejavu-fonts-version_2_37/fontconfig/57-dejavu-serif.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/57-dejavu-serif.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/57-dejavu-serif.conf 2020-04-02 20:56:06.396930806 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- /etc/fonts/conf.d/57-dejavu-serif.conf
Define aliasing and other fontconfig settings for
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/58-dejavu-lgc-sans.conf dejavu-fonts-version_2_37/fontconfig/58-dejavu-lgc-sans.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/58-dejavu-lgc-sans.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/58-dejavu-lgc-sans.conf 2020-04-02 20:56:06.401930895 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- /etc/fonts/conf.d/58-dejavu-lgc-sans.conf
Define aliasing and other fontconfig settings for
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/58-dejavu-lgc-sans-mono.conf dejavu-fonts-version_2_37/fontconfig/58-dejavu-lgc-sans-mono.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/58-dejavu-lgc-sans-mono.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/58-dejavu-lgc-sans-mono.conf 2020-04-02 20:56:06.407931001 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- /etc/fonts/conf.d/58-dejavu-lgc-sans-mono.conf
Define aliasing and other fontconfig settings for
diff -uNr dejavu-fonts-version_2_37.orig/fontconfig/58-dejavu-lgc-serif.conf dejavu-fonts-version_2_37/fontconfig/58-dejavu-lgc-serif.conf
--- dejavu-fonts-version_2_37.orig/fontconfig/58-dejavu-lgc-serif.conf 2016-07-30 11:52:54.000000000 +0200
+++ dejavu-fonts-version_2_37/fontconfig/58-dejavu-lgc-serif.conf 2020-04-02 20:56:06.412931090 +0200
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- /etc/fonts/conf.d/58-dejavu-lgc-serif.conf
Define aliasing and other fontconfig settings for

229
dejavu-fonts.spec Normal file
View File

@ -0,0 +1,229 @@
# SPDX-License-Identifier: MIT
BuildArch: noarch
BuildRequires: fontforge
BuildRequires: perl-interpreter
BuildRequires: perl(Font::TTF)
BuildRequires: unicode-ucd
BuildRequires: make
%global forgeurl https://github.com/dejavu-fonts/dejavu-fonts
Version: 2.37
%global tag %{lua:t=string.gsub(rpm.expand("version %{version}"), "[%p%s]+", "_");print(t)}
%forgemeta
%global source_name dejavu-fonts
Release: 18%{?dist}
# original bitstream glyphs are Bitstream Vera
# glyphs modifications by dejavu project are Public Domain
# glyphs imported from Arev fonts are under BitStream Vera compatible license
License: Bitstream Vera and Public Domain
URL: https://dejavu-fonts.github.io/
%global common_description %{expand:
The DejaVu font set is based on the “Bitstream Vera” fonts, release 1.10. Its
purpose is to provide a wider range of characters, while maintaining the
original style, using an open collaborative development process.}
%global foundry DejaVu
%global fontlicenses LICENSE
%global fontdocs AUTHORS BUGS NEWS README.md
%global fontfamily1 DejaVu Sans
%global fontsummary1 DejaVu Sans, a variable-width sans-serif font family
%global fontpkgheader1 %{expand:
Obsoletes: dejavu-fonts-common < %{version}-%{release}
Obsoletes: compat-f32-dejavu-sans-fonts
Suggests: font(dejavusansmono)
}
%global fonts1 DejaVuSans.ttf DejaVuSans-*.ttf DejaVuSansCondensed*.ttf
%global fontconfs1 fontconfig/20*-dejavu-sans.conf
%global fontconfngs1 %{SOURCE11}
%global fontdescription1 %{expand:
%{common_description}
This package consists of the DejaVu sans-serif variable-width font faces, in
their unabridged version.
}
%global fontfamily2 DejaVu Serif
%global fontsummary2 DejaVu Serif, a variable-width serif font family
%global fontpkgheader2 %{expand:
Obsoletes: dejavu-math-tex-gyre-fonts < %{version}-%{release}
Obsoletes: compat-f32-dejavu-serif-fonts
}
%global fonts2 DejaVuSerif.ttf DejaVuSerif-*.ttf DejaVuSerifCondensed*.ttf DejaVuMathTeXGyre.ttf
%global fontconfs2 fontconfig/20*-dejavu-serif.conf
%global fontconfngs2 %{SOURCE12}
%global fontdescription2 %{expand:
%{common_description}
This package consists of the DejaVu serif variable-width font faces, in their
unabridged version.
It includes the Mathematics extension, that was contributed to the project by
B. Jackowski, P. Strzelczyk and P. Pianowski, on behalf of TeX user groups.}
%global fontfamily3 DejaVu Sans Mono
%global fontsummary3 DejaVu Sans Mono, a mono-space sans-serif font family
%global fontpkgheader3 %{expand:
Obsoletes: compat-f32-dejavu-sans-mono-fonts
}
%global fonts3 DejaVuSansMono*.ttf
%global fontconfs3 fontconfig/20*-dejavu-sans-mono.conf
%global fontconfngs3 %{SOURCE13}
%global fontdescription3 %{expand:
%{common_description}
This package consists of the DejaVu sans-serif mono-space font faces, in their
unabridged version.}
%global fontfamily4 DejaVu LGC Sans
%global fontsummary4 A variable-width Latin-Greek-Cyrillic sans-serif font family
%global fontpkgheader4 %{expand:
Suggests: font(dejavusans)
}
%global fonts4 DejaVuLGCSans.ttf DejaVuLGCSans-*.ttf DejaVuLGCSansCondensed*.ttf
%global fontconfs4 fontconfig/20*-dejavu-lgc-sans.conf
%global fontconfngs4 %{SOURCE14}
%global fontdescription4 %{expand:
%{common_description}
This package consists of the DejaVu sans-serif variable-width font faces, with
Unicode coverage restricted to Latin, Greek and Cyrillic.}
%global fontfamily5 DejaVu LGC Serif
%global fontsummary5 A variable-width Latin-Greek-Cyrillic serif font family
%global fontpkgheader5 %{expand:
Suggests: font(dejavuserif)
}
%global fonts5 DejaVuLGCSerif.ttf DejaVuLGCSerif-*.ttf DejaVuLGCSerifCondensed*.ttf
%global fontconfs5 fontconfig/20*-dejavu-lgc-serif.conf
%global fontconfngs5 %{SOURCE15}
%global fontdescription5 %{expand:
%{common_description}
This package consists of the DejaVu serif variable-width font faces, with
Unicode coverage restricted to Latin, Greek and Cyrillic.}
%global fontfamily6 DejaVu LGC Sans Mono
%global fontsummary6 A variable-width Latin-Greek-Cyrillic mono-space font family
%global fontpkgheader6 %{expand:
Suggests: font(dejavusansmono)
}
%global fonts6 DejaVuLGCSansMono*.ttf
%global fontconfs6 fontconfig/20*-dejavu-lgc-sans-mono.conf
%global fontconfngs6 %{SOURCE16}
%global fontdescription6 %{expand:
%{common_description}
This package consists of the DejaVu sans-serif mono-space font faces, with
Unicode coverage restricted to Latin, Greek and Cyrillic.}
Source0: %{forgesource}
Source11: 57-%{fontpkgname1}.xml
Source12: 57-%{fontpkgname2}.xml
Source13: 57-%{fontpkgname3}.xml
Source14: 58-%{fontpkgname4}.xml
Source15: 58-%{fontpkgname5}.xml
Source16: 58-%{fontpkgname6}.xml
Patch0: %{source_name}-urn-dtd.patch
Name: dejavu-fonts
Summary: The DejaVu font families
%description
%wordwrap -v common_description
%fontpkg -a
%fontmetapkg -z 1,2,3
%global lgcmetasummary All the font packages, generated from %{source_name}, Latin-Greek-Cyrillic subset
%global lgcmetadescription %{expand:
This meta-package installs all the font packages, generated from the %{source_name}
source package, in a version restricted to coverage of Latin, Greek and
Cyrillic.
}
%fontmetapkg -n dejavu-lgc-fonts-all -s lgcmetasummary -d lgcmetadescription -z 4,5,6
%package doc
Summary: Optional documentation files of %{source_name}
BuildArch: noarch
%description doc
This package provides optional documentation files shipped with
%{source_name}.
%prep
%forgesetup
%patch0 -p1
%build
make %{?_smp_mflags} VERSION=%{version} FC-LANG="" \
BLOCKS=/usr/share/unicode/ucd/Blocks.txt \
UNICODEDATA=/usr/share/unicode/ucd/UnicodeData.txt \
BUILDDIR=.
xz -9 *.txt
%fontbuild -a
%install
%fontinstall -a
%check
make check
%fontcheck -a
%fontfiles -a
%files doc
%defattr(644, root, root, 0755)
%license LICENSE
%doc *.txt.xz
%changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.37-18.gitversion_2_37
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 2.37-17.gitversion_2_37
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.37-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Sep 04 2020 Parag Nemade <pnemade AT redhat DOT com>
- 2.37-15
- Fix this spec file to build for F33+
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org>
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Apr 27 2020 Nicolas Mailhot <nim@fedoraproject.org>
- 2.37-13
🐞 Workaround Fedora problems created by rpm commit 93604e2
* Thu Apr 02 2020 Nicolas Mailhot <nim@fedoraproject.org>
- 2.37-12
👻 Rebuild with fonts-rpm-macros 2.0.4 to make sure fontconfig files are valid
* Mon Mar 09 2020 Nicolas Mailhot <nim@fedoraproject.org>
- 2.37-7
Remove F32 compatibility packages
* Mon Mar 02 2020 Nicolas Mailhot <nim@fedoraproject.org>
- 2.37-6
Lint, lint, lint and lint again
* Sat Feb 22 2020 Nicolas Mailhot <nim@fedoraproject.org>
- 2.37-5
Rebuild with fonts-rpm-macros 2.0.2
* Sat Feb 15 2020 Nicolas Mailhot <nim@fedoraproject.org>
- 2.27-4
Convert to fonts-rpm-macros use
Merge math extension into serif
* Sat Feb 19 2005 Nicolas Mailhot <nim@fedoraproject.org>
- 1.7-1
initial build using vera as template

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: }

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (dejavu-fonts-version_2_37.tar.gz) = 44908104637b2f10c3c9fa0d0eeacfd109fc2203bba1c07c8b24e5264ead92f41a5bb397fe6c5206c4cc3fde37b8b05e14c61c9ba38893b06b2a5ea6a929ae17

View File

@ -0,0 +1,73 @@
# Ansible role for tests using fontconfig
Put this role in your `tests.yml` playbook. The playbook will first install
package dependencies listed on playbook on your localhost, then it will proceed
to run testing. You can redefine the following variables:
* **artifacts**: An artifacts directory on localhost to store logs
* **remote_artifacts**: The directory on the system under test where the logs
are stored. Note: if this variable is left undefined, it will default to
`/tmp/artifacts`
* **required_packages**: A list of prerequisite packages required by tests.
Please note that for Atomic Host, additional packages will be installed
using the `rpm-ostree` command which is affecting the test subject (it's
similar as rebuilding an rpm package to be tested) so this should be used
with caution on only when necessary.
* **path_prefix**: The directory on the system where fonts are installed.
please use one in coverage sub-parameter if having different path_prefix
per sub-packages.
* **package**: The package name to test. this is used to find out fontconfig
config file. please use one in families sub-parameter if having different
config files per sub-packages.
* **coverage**: A list of languages for language coverage tests.
* **families**: A list of family test cases.
## Language coverage test parameters
Supporting two types of formats. one is a simple list of languages:
coverage:
- en
- fr
Another one is a dictionary that has a language as a key and values as parameters:
coverage:
en:
...
fr:
...
You can redefine the following variables for dictionary format:
* **exclude**: A list of font file names to exclude on this testing. this is
useful to avoid unexpected failures on iterating tests when a package has
multiple font files and has different coverages but you need to prevent
testing for few fonts which has different coverages to them.
Please note that the file name is relative to `path_prefix` parameter. also
good to consider using `include` if non-targeted files is more than targeted.
* **include**: A list of font file names to include on this testing. this is
useful to avoid unexpected failures on iterating tests when a pcakge has
multiple font files and has different coverages but you need to prevent
testing for few fonts which has different coverages to them.
Please note that the file name is relative to `path_prefix` parameter. also
good to consider using `exclude` if targeted files is more than non-targeted.
* **name**: The name to store logs. the test script is trying to make an unique
file names to store logs but not perfectly working in some cases. this is
optional parameter to make it unique by yourself.
* **path_prefix**: A list of directory names where fonts are installed on system.
this is optional parameter and tries to obtain the font paths from installed
packages by `required_packages` if not available.
## Family test parameters
* **lang**: A language to test family name for.
* **alias**: An alias name to test.
* **family**: A family name to test, which is supposed to be assinged to the alias.
* **package**: The package name to test. this is used to find out fontconfig
config file. this is optional. if not specified here, global `package`
parameter will be used.
* **width**: A width to test. the default value is normal. this is the sort of
workaround to avoid the tricky part of implicit behavior in fontconfig.
If a font doesn't support normal(100) width, a test may fails without this
parameter.

View File

@ -0,0 +1,7 @@
---
role_pkgs_req:
- fontconfig
- fontconfig-devel
- pkg-config
- rsync

View File

@ -0,0 +1,169 @@
#! /bin/bash -efu
debug() {
if [ -n "$DEBUG" ]; then
echo "$*" >&2
fi
}
msg_usage() {
cat <<_EOF_
Run family test.
Usage:
$PROG <options>
Options:
-h, --help Display this help and exit
-v, --verbose Turn on debug
-l, --lang=LANG Test LANG language coverage (default: en)
-f, --family=FILE Set a family name supposed to be assigned for alias.
-g, --alias=STR Set an alias name. (default: sans-serif)
-a, --artifactsdir=DIR Set environment dir to store artifacts
-k, --package=NAME Set a package name for fonts.
-w, --width=WIDTH Set a width
_EOF_
}
PROG="${PROG:-${0##*/}}"
DEBUG="${DEBUG:-}"
OPT_LANG="${OPT_LANG:-en}"
OPT_FAMILY="${OPT_FAMILY:-}"
OPT_ARTIFACTS_DIR="${OPT_ARTIFACTS_DIR:-}"
OPT_ALIAS="${OPT_ALIAS:-sans-serif}"
OPT_PACKAGE="${OPT_PACKAGE:-}"
OPT_WIDTH="${OPT_WIDTH:-normal}"
opt=$(getopt -n "$0" --options "hvl:f:t:a:g:k:w:" --longoptions "help,verbose,lang:,family:,test:,artifactsdir:,alias:,package:,width:" -- "$@")
eval set -- "$opt"
while [[ $# -gt 0 ]]; do
case "$1" in
-k|--package)
OPT_PACKAGE="$2"
shift 2
;;
-g|--alias)
OPT_ALIAS="$2"
shift 2
;;
-a|--artifactsdir)
OPT_ARTIFACTS_DIR="$2"
shift 2
;;
-f|--family)
OPT_FAMILY="$2"
shift 2
;;
-l|--lang)
OPT_LANG="$2"
shift 2
;;
-v|--verbose)
DEBUG="-v"
shift
;;
-w|--width)
OPT_WIDTH="$2"
shift 2
;;
-h|--help)
msg_usage
exit 0
;;
--)
shift
;;
*)
msg_usage
exit 1
esac
done
if [ -z "$OPT_ARTIFACTS_DIR" ] || [ -z "$OPT_LANG" ] || [ -z "$OPT_FAMILY" ]; then
echo "Use: $PROG -h for help."
exit 0
fi
debug "Alias: $OPT_ALIAS"
debug "Family: $OPT_FAMILY"
debug "Lang: $OPT_LANG"
debug "Artifacts dir: $OPT_ARTIFACTS_DIR"
debug "Package name: $OPT_PACKAGE"
debug "Width: $OPT_WIDTH"
STR_TEST_DASHED=$(echo "${OPT_PACKAGE}_${OPT_ALIAS}_${OPT_LANG}" | sed -e 's/\//-/g' -e 's/ /-/g')
debug "Log file: $STR_TEST_DASHED.log"
clean_exit() {
rc=$?;
trap - SIGINT SIGTERM SIGABRT EXIT
echo "Run test $OPT_ALIAS: done. Test's exit code: $rc"
for pid in $(ps -o pid --no-headers --ppid $$); do
if [ -n "$(ps -p $pid -o pid=)" ]; then
kill -s HUP $pid
fi
done
local log_file_name="$STR_TEST_DASHED.log"
local log_file_path="$OPT_ARTIFACTS_DIR/$log_file_name"
local status
if [[ $rc -eq 127 ]]; then
status="ERROR"
elif grep -q "RESULT: WARN" "$log_file_path"; then
status="ERROR"
elif grep -q "RESULT: FAIL" "$log_file_path"; then
status="FAIL"
elif grep -q "RESULT: PASS" "$log_file_path"; then
status="PASS"
elif grep -q "FAIL" "$log_file_path"; then
status="FAIL"
elif grep -q "PASS" "$log_file_path"; then
status="PASS"
else
status="ERROR"
fi
echo "$status $OPT_ALIAS" >> "$OPT_ARTIFACTS_DIR/test.log"
mv "$log_file_path" "$OPT_ARTIFACTS_DIR/${status}-${log_file_name}"
local results="$OPT_ARTIFACTS_DIR/results.yml"
local result=$(echo $status | tr '[:upper:]' '[:lower:]')
test -f "$results" || echo 'results:' > "$results"
printf '%s\n' '' \
"- test: $OPT_ALIAS" \
" result: $result" \
" logs:" \
" - ${status}_${log_file_name}" \
>> "$results"
exit 0
}
trap clean_exit SIGINT SIGTERM SIGABRT EXIT
cachedir=`pkg-config --variable cachedir fontconfig`
tmpconfd=`mktemp --tmpdir -d fontsci.XXXXXXXX`
conf=$(for i in `rpm -ql $OPT_PACKAGE | grep conf.d`; do
echo "<include>$i</include>"
done)
cat <<_EOF_> $tmpconfd/fonts.conf
<fontconfig>
<dir>/usr/share/fonts</dir>
$conf
<cachedir>$cachedir</cachedir>
</fontconfig>
_EOF_
debug "Config: `cat $tmpconfd/fonts.conf`"
mkdir -p "$OPT_ARTIFACTS_DIR"
export OUTPUTFILE="$(realpath "$OPT_ARTIFACTS_DIR")/$STR_TEST_DASHED-out.log"
logfile="$OPT_ARTIFACTS_DIR/$STR_TEST_DASHED.log"
logfile="$(realpath "$logfile")"
exec > >(tee -a "$logfile") 2>&1
debug "Check family assignment"
res=`FONTCONFIG_FILE=$tmpconfd/fonts.conf fc-pattern -c -f "%{family}" :family=$OPT_ALIAS:lang=$OPT_LANG:width=$OPT_WIDTH | grep "$OPT_FAMILY"`
ret=0
if [ "x$res" != "x" ]; then
echo "RESULT: PASS: $OPT_FAMILY was assigned to $OPT_ALIAS as expected"
else
echo "RESULT: FAIL: $OPT_FAMILY wasn't assigned to $OPT_ALIAS (actual result: $res)"
ret=1
fi
rm -rf $tmpconfd
exit $ret

View File

@ -0,0 +1,252 @@
#! /bin/bash -efu
debug() {
if [ -n "$DEBUG" ]; then
echo "$*" >&2
fi
}
msg_usage() {
cat <<_EOF_
Run language coverage test.
Usage:
$PROG <options>
Options:
-h, --help Display this help and exit
-v, --verbose Turn on debug
-l, --lang=LANG Test LANG language coverage (default: en)
-p, --path=PATH Test fonts on PATH
-k, --package=PACKAGE Specify PACKAGE to obtain some information
-n, --name=NAME Set NAME to store a log file.
-a, --artifactsdir=DIR test environment dir to store artifacts
-e, --exclude=FILE Exclude FILE to check.
-i, --include=FILE Include File to check.
_EOF_
}
PROG="${PROG:-${0##*/}}"
DEBUG="${DEBUG:-}"
OPT_LANG="${OPT_LANG:-en}"
OPT_PATH=()
OPT_PACKAGE=()
OPT_ARTIFACTS_DIR="${OPT_ARTIFACTS_DIR:-}"
OPT_EXCLUDE=()
OPT_INCLUDE=()
OPT_NAME="${OPT_NAME:-}"
opt=$(getopt -n "$0" --options "hvl:p:k:n:a:e:i:" --longoptions "help,verbose,lang:,path:,package:,name:,artifactsdir:,exclude:,include:" -- "$@")
eval set -- "$opt"
while [[ $# -gt 0 ]]; do
case "$1" in
-n|--name)
OPT_NAME="$2"
shift 2
;;
-i|--include)
OPT_INCLUDE+=("$2")
shift 2
;;
-e|--exclude)
OPT_EXCLUDE+=("$2")
shift 2
;;
-a|--artifactsdir)
OPT_ARTIFACTS_DIR="$2"
shift 2
;;
-p|--path)
OPT_PATH+=("$2")
shift 2
;;
-k|--package)
OPT_PACKAGE+=("$2")
shift 2
;;
-l|--lang)
OPT_LANG="$2"
shift 2
;;
-v|--verbose)
DEBUG="-v"
shift
;;
-h|--help)
msg_usage
exit 0
;;
--)
shift
;;
*)
msg_usage
exit 1
esac
done
if [ -z "$OPT_ARTIFACTS_DIR" ] || [ -z "$OPT_LANG" ] || [ ! -v OPT_PATH ] && [ ! -v OPT_PACKAGE ]; then
echo "Use: $PROG -h for help."
exit 0
fi
STR_TEST_DASHED=$(echo "${OPT_NAME:-$OPT_LANG}" | sed -e 's/\//-/g')
clean_exit() {
rc=$?;
trap - SIGINT SIGTERM SIGABRT EXIT
echo "Run test $OPT_LANG: done. Test's exit code: $rc"
for pid in $(ps -o pid --no-headers --ppid $$); do
if [ -n "$(ps -p $pid -o pid=)" ]; then
kill -s HUP $pid
fi
done
local log_file_name="$STR_TEST_DASHED.log"
local log_file_path="$OPT_ARTIFACTS_DIR/$log_file_name"
local status
if [[ $rc -eq 127 ]]; then
status="ERROR"
elif grep -q "RESULT: WARN" "$log_file_path"; then
status="ERROR"
elif grep -q "RESULT: FAIL" "$log_file_path"; then
status="FAIL"
elif grep -q "RESULT: PASS" "$log_file_path"; then
status="PASS"
elif grep -q "WARN" "$log_file_path"; then
status="ERROR"
elif grep -q "FAIL" "$log_file_path"; then
status="FAIL"
elif grep -q "PASS" "$log_file_path"; then
status="PASS"
else
status="ERROR"
fi
echo "$status $OPT_LANG" >> "$OPT_ARTIFACTS_DIR/test.log"
mv "$log_file_path" "$OPT_ARTIFACTS_DIR/${status}-${log_file_name}"
local results="$OPT_ARTIFACTS_DIR/results.yml"
local result=$(echo $status | tr '[:upper:]' '[:lower:]')
test -f "$results" || echo 'results:' > "$results"
printf '%s\n' '' \
"- test: $OPT_LANG" \
" result: $result" \
" logs:" \
" - ${status}_${log_file_name}" \
>> "$results"
exit 0
}
trap clean_exit SIGINT SIGTERM SIGABRT EXIT
mkdir -p "$OPT_ARTIFACTS_DIR"
export OUTPUTFILE="$(realpath "$OPT_ARTIFACTS_DIR")/$STR_TEST_DASHED-out.log"
logfile="$OPT_ARTIFACTS_DIR/$STR_TEST_DASHED.log"
logfile="$(realpath "$logfile")"
exec > >(tee -a "$logfile") 2>&1
for pkg in ${OPT_PACKAGE[@]}; do
if ! rpm -q ${pkg} > /dev/null 2>&1; then
echo "Package isn't installed or maybe a typo: ${pkg}"
exit 127
fi
d=$(for d in $(rpm -ql ${pkg}|grep /usr/share/fonts); do
dirname $d
done | sort | uniq | grep /usr/share/fonts/)
if [[ ! " ${OPT_PATH[@]} " =~ " ${d} " ]]; then
OPT_PATH+=("$d")
fi
done
expand_regex() {
local p ret=()
local regex="$1"
shift
debug "Expanding $regex"
for p; do
set +f
debug "$p: $regex"
(cd $p;
local x=$(find -regextype posix-egrep -regex "./$regex" -print|sed -e 's,^\./,,g')
debug "$x"
ret+=($x)
set -f
echo -n ${ret[@]}
)
done
echo -n ${ret[@]}
}
iv=()
ev=()
x=()
for p in ${OPT_INCLUDE[@]}; do
x=$(expand_regex $p ${OPT_PATH[@]})
if [ "x$x" == "x" ]; then
echo "RESULT: WARN: No matches on \"$p\". maybe typo or something changed?"
continue
fi
iv=("${iv[@]}" "${x[@]}")
done
for p in ${OPT_EXCLUDE[@]}; do
x=$(expand_regex $p ${OPT_PATH[@]})
if [ "x$x" == "x" ]; then
echo "RESULT: WARN: No matches on \"$p\". maybe typo or something changed?"
continue
fi
ev=("${ev[@]}" "${x[@]}")
done
OPT_EXCLUDE=(${ev[@]})
OPT_INCLUDE=(${iv[@]})
debug "Path: ${OPT_PATH[@]}"
debug "Lang: $OPT_LANG"
debug "Artifacts dir: $OPT_ARTIFACTS_DIR"
debug "Exclude: ${#OPT_EXCLUDE[@]}: ${OPT_EXCLUDE[@]}"
debug "Include: ${#OPT_INCLUDE[@]}: ${OPT_INCLUDE[@]}"
contains() {
local e match="$1"
shift
for e; do [[ "$e" == "$match" ]] && return 1; done
return 0
}
debug "Check language coverage"
ret=0
set +f
for p in ${OPT_PATH[@]}; do
for i in `find $p -regex '.*/*\.\(t1\)?\(ttf\)?\(otf\)?\(ttc\)?\(pcf.*\)?\(pfa\)?'`; do
set -f
debug "$i"
if test -f $i; then
n=`basename $i`
set +e
contains "$n" "${OPT_EXCLUDE[@]}"
r=$?
set -e
if [ $r -eq 1 ]; then
debug "ignoring $i"
continue
fi
if [ ${#OPT_INCLUDE[@]} -ne 0 ]; then
set +e
contains "$n" "${OPT_INCLUDE[@]}"
r=$?
set -e
if [ $r -eq 0 ]; then
debug "$i isn't targeted file"
continue
fi
NOT_MATCHED=("${NOT_MATCHED[@]/$n}")
fi
debug " $i"
res=`fc-validate -l $OPT_LANG $i || :`
if echo $res | grep -q Missing; then
echo "RESULT: FAIL: $i doesn't satisfy $OPT_LANG language coverage."
ret=1
else
echo "RESULT: PASS: $i satisfy $OPT_LANG language coverage."
fi
fi
done
done
exit $ret

View File

@ -0,0 +1,4 @@
---
dependencies:
- role: str-common-init

View File

@ -0,0 +1,52 @@
---
- block:
- name: language coverage
environment:
LANG: "en_US.UTF-8"
script: run-lang-coverage-test --lang "{{ item }}" {% if path_prefix is defined %} --path {{ path_prefix }} {% elif coverage.values is not defined or coverage[item].path_prefix is not defined %} {% else %} {{ '--path "' + (coverage[item].path_prefix | join('" --path "')) + '"' }} {% endif %} --artifactsdir "{{ remote_artifacts }}" {% if coverage.values is not defined or coverage[item].name is not defined %} {% else %} {{ "--name " + coverage[item].name }} {% endif %} {% if coverage.values is not defined or coverage[item].exclude is not defined %} {% else %} {{ '--exclude "' + (coverage[item].exclude | join('" --exclude "')) + '"' }} {% endif %} {% if coverage.values is not defined or coverage[item].include is not defined %} {% else %} {{ '--include "' + (coverage[item].include | join('" --include "')) + '"' }} {% endif %} {% if path_prefix is defined or coverage.values is defined and coverage[item].path_prefix is defined %} {% else %} {{ '--package "' + (required_packages|join('" --package "')) + '"' }} {% endif %}
with_items:
- "{{ coverage if coverage.keys is not defined else coverage.keys()|list }}"
- name: generic family assignment
environment:
LANG: "en_US.UTF-8"
when: families is defined
script: run-family-test --lang {{ item.lang }} --family '{{ item.family }}' --alias {{ item.alias }} --artifactsdir {{ remote_artifacts }} --package {{ package if item.package is not defined else item.package }} {% if item.width is defined %} --width {{ item.width }} {% endif %}
with_items:
- "{{ families }}"
- name: Collect all of failures into one file
shell: |
grep -v PASS "{{ remote_artifacts }}"/FAIL_*.log > "{{ remote_artifacts }}"/FAIL-all.log || :
- name: Check the results
shell: |
log="{{ remote_artifacts }}/test.log"
if [ ! -f "$log" ]; then
echo ERROR
echo "Test results not found." 1>&2
elif grep ^ERROR "$log" 1>&2; then
echo ERROR
elif grep ^FAIL "$log" 1>&2; then
echo FAIL
elif grep -q ^PASS "$log"; then
echo PASS
else
echo ERROR
echo "No test results found." 1>&2
fi
register: test_results
- name: Set role result
set_fact:
role_result: "{{ test_results.stdout }}"
role_message: "{{ test_results.stderr|d('test execution error.') }}"
role_result_failed: "{{ test_results.stdout != 'PASS' }}"
role_result_msg: "{{ test_results.stderr|d('test execution error.') }}"
- include_role:
name: str-common-final
- name: Validate the result
shell: echo "test_results.stdout"
failed_when: test_results.stdout != 'PASS'

View File

@ -0,0 +1,7 @@
---
role_pkgs_req:
- fontconfig
- fontconfig-devel
- pkg-config
- rsync

4345
tests/tests.yml Normal file

File diff suppressed because it is too large Load Diff