summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasudev Kamath <vasudev@debian.org>2018-05-22 03:34:27 +0000
committerVasudev Kamath <vasudev@debian.org>2018-05-22 03:34:27 +0000
commite42deaaf0529132e1181318456e07f46dcc54f6c (patch)
treee63d461933566dcbe84054c7ab3c78f5aefb407d
parent6c3c8491baeca7816bb01e0f1b94183a8819225a (diff)
parentb93db817a29cdeecbec5121867263b351e254f78 (diff)
Merge branch 'fix-and-add-backwards-compat' into 'master'
Fix and add backwards compatibility See merge request fonts-team/fonts-font-awesome!1
-rw-r--r--debian/changelog19
-rw-r--r--debian/install5
-rw-r--r--debian/links7
-rwxr-xr-xdebian/rules7
-rw-r--r--debian/tests/control3
-rwxr-xr-xdebian/tests/download31
l---------debian/tests/font-awesome1
l---------debian/tests/v41
-rwxr-xr-xdebian/tests/v4-css-files22
-rw-r--r--debian/tests/v4.html45
l---------debian/tests/v51
-rw-r--r--debian/tests/v5.html45
-rwxr-xr-xdebian/v4-css-build46
13 files changed, 232 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index 1d21aafe..3669924a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,22 @@
+fonts-font-awesome (5.0.10-4) UNRELEASED; urgency=medium
+
+ * Fix CSS support for v5 and add backwards compatibility for v4.
+ + Upstream provides a Javascript-based compatibility shim, but that
+ requires manual intervention in applications not only to add the
+ Javascript file, but also to point to the actual CSS file which as
+ renamed.
+ + This patch adds back font-awesome.css and font-awesome.min.css, which
+ were the names of the CSS files in FontAwesome v4. These files are a
+ modified version of fontawesome-all.css, which is the new filename in
+ FontAwesome v5, modified to provide all icons that were renamed in v5
+ under the names they were available under in v4. So at least
+ applications using the CSS files should still work.
+ + LESS and SCSS are not handled
+ + Also added some basic autopkgtests to check that all the files are in
+ place forboth v4 compatibility and v5 proper.
+
+ -- Antonio Terceiro <terceiro@debian.org> Mon, 21 May 2018 22:02:03 -0300
+
fonts-font-awesome (5.0.10-3) unstable; urgency=medium
* Fix the symbolic link of /usr/share/fonts-font-awesome to
diff --git a/debian/install b/debian/install
index 449f0c5b..1446bf26 100644
--- a/debian/install
+++ b/debian/install
@@ -8,4 +8,7 @@ advanced-options usr/share/fonts-font-awesome/
web-fonts-with-css/webfonts/*.woff* usr/share/fonts/woff/font-awesome/
web-fonts-with-css/webfonts/*.eot usr/share/fonts/eot/font-awesome/
-web-fonts-with-css/webfonts/*.svg usr/share/fonts/svg/font-awesome/ \ No newline at end of file
+web-fonts-with-css/webfonts/*.svg usr/share/fonts/svg/font-awesome/
+web-fonts-with-css/webfonts/*.ttf usr/share/fonts/truetype/font-awesome/
+
+debian/font-awesome.css usr/share/fonts-font-awesome/css/
diff --git a/debian/links b/debian/links
index b1fb1b34..74560665 100644
--- a/debian/links
+++ b/debian/links
@@ -13,4 +13,11 @@ usr/share/fonts/svg/font-awesome/fa-brands-400.svg usr/share/fonts-font
usr/share/fonts/svg/font-awesome/fa-regular-400.svg usr/share/fonts-font-awesome/fonts/fa-regular-400.svg
usr/share/fonts/svg/font-awesome/fa-solid-900.svg usr/share/fonts-font-awesome/fonts/fa-solid-900.svg
+usr/share/fonts/truetype/font-awesome/fa-brands-400.ttf usr/share/fonts-font-awesome/fonts/fa-brands-400.ttf
+usr/share/fonts/truetype/font-awesome/fa-regular-400.ttf usr/share/fonts-font-awesome/fonts/fa-regular-400.ttf
+usr/share/fonts/truetype/font-awesome/fa-solid-900.ttf usr/share/fonts-font-awesome/fonts/fa-solid-900.ttf
+
/usr/share/fonts-font-awesome /usr/share/javascript/font-awesome
+
+/usr/share/fonts-font-awesome/css/font-awesome.css /usr/share/fonts-font-awesome/css/font-awesome.min.css
+/usr/share/fonts-font-awesome/fonts /usr/share/fonts-font-awesome/webfonts
diff --git a/debian/rules b/debian/rules
index 79215f4d..de176a20 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,6 +3,13 @@
%:
dh "$@"
+override_dh_auto_build:
+ dh_auto_build
+ debian/v4-css-build > debian/font-awesome.css
+
+override_dh_auto_clean:
+ $(RM) debian/font-awesome.css
+
override_dh_link:
dh_link "usr/share/fonts/opentype/font-awesome/Font Awesome 5 Brands-Regular-400.otf" \
"usr/share/fonts-font-awesome/fa-brands-regular-400.otf"
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 00000000..02dc4002
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,3 @@
+Tests: v4-css-files, v4, v5
+Depends: @, busybox, wget
+Restrictions: allow-stderr
diff --git a/debian/tests/download b/debian/tests/download
new file mode 100755
index 00000000..b4edd50a
--- /dev/null
+++ b/debian/tests/download
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+set -eu
+
+testdir=${0%/*}
+
+busybox httpd -h ${testdir} -p 9000
+trap "pkill -f 'busybox httpd'" INT TERM EXIT
+sleep 1
+
+page=${0##*/}
+
+cd "${AUTOPKGTEST_TMP}"
+
+set -x
+wget --recursive --page-requisites http://localhost:9000/${page}.html
+set +x
+
+rc=0
+for ext in css woff woff svg eot ttf; do
+ files=$(find localhost:9000/ -name \*."$ext")
+ for f in $files; do
+ echo "Found $ext: $f"
+ done
+ if [ -z "$files" ]; then
+ echo "E: No $ext found"
+ rc=1
+ fi
+done
+
+exit "$rc"
diff --git a/debian/tests/font-awesome b/debian/tests/font-awesome
new file mode 120000
index 00000000..34373369
--- /dev/null
+++ b/debian/tests/font-awesome
@@ -0,0 +1 @@
+/usr/share/fonts-font-awesome \ No newline at end of file
diff --git a/debian/tests/v4 b/debian/tests/v4
new file mode 120000
index 00000000..8a58e1ae
--- /dev/null
+++ b/debian/tests/v4
@@ -0,0 +1 @@
+download \ No newline at end of file
diff --git a/debian/tests/v4-css-files b/debian/tests/v4-css-files
new file mode 100755
index 00000000..fcb67ddf
--- /dev/null
+++ b/debian/tests/v4-css-files
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+set -eu
+
+echo "Testing CSS backwards compatibility with Font-Awesome v4"
+
+files='
+/usr/share/fonts-font-awesome/css/font-awesome.css
+/usr/share/fonts-font-awesome/css/font-awesome.min.css
+'
+
+rc=0
+for f in $files; do
+ if [ -f "$f" ]; then
+ echo "I: Found $f"
+ else
+ echo "E: Missing: $f"
+ rc=1
+ fi
+done
+
+exit $rc
diff --git a/debian/tests/v4.html b/debian/tests/v4.html
new file mode 100644
index 00000000..4452c625
--- /dev/null
+++ b/debian/tests/v4.html
@@ -0,0 +1,45 @@
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <link rel="stylesheet" href='font-awesome/css/font-awesome.css'/>
+ <title>Font-Awesome v4 test</title>
+ <style type='text/css'>
+body {
+ max-width: 960px;
+ margin: auto;
+ margin-top: 2em;
+}
+table {
+ border-collapse: collapse;
+}
+th, td {
+ padding: 4px;
+ border: 1px solid #babdb6;
+}
+ </style>
+ </head>
+ <body>
+ <h1>Font Awesome v4 test</h1>
+ <p>
+ All the icons in the table below should be visible for compatibility with
+ Font Awesome v4.
+ </p>
+ <table>
+ <tr>
+ <th>icon description</th>
+ <th>icon</th>
+ </tr>
+ <tr><td>plus sign</td><td><i class='fa fa-plus'></i></td></tr>
+ <tr><td>minus sign</td><td><i class='fa fa-minus'></i></td></tr>
+ <tr><td>multiplication sign</td><td><i class='fa fa-times'></i></td></tr>
+ <tr><td>thumbs up</td><td><i class='fa fa-thumbs-up'></i></td></tr>
+ <tr><td>thumbs down</td><td><i class='fa fa-thumbs-down'></i></td></tr>
+ <tr><td>comment balloon</td><td><i class='fa fa-comment'></i></td></tr>
+ <tr><td>area chart</td><td><i class='fa fa-area-chart'></i></td></tr>
+ <tr><td>youtube</td><td><i class='fa fa-youtube'></i></td></tr>
+ <tr><td>down arrow inside circle</td><td><i class='fa fa-arrow-circle-o-down'></i></td></tr>
+ </table>
+ </body>
+ </body>
+</html>
diff --git a/debian/tests/v5 b/debian/tests/v5
new file mode 120000
index 00000000..8a58e1ae
--- /dev/null
+++ b/debian/tests/v5
@@ -0,0 +1 @@
+download \ No newline at end of file
diff --git a/debian/tests/v5.html b/debian/tests/v5.html
new file mode 100644
index 00000000..4627bc29
--- /dev/null
+++ b/debian/tests/v5.html
@@ -0,0 +1,45 @@
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <link rel="stylesheet" href='font-awesome/css/fontawesome-all.css'/>
+ <title>Font-Awesome v5 test</title>
+ <style type='text/css'>
+body {
+ max-width: 960px;
+ margin: auto;
+ margin-top: 2em;
+}
+table {
+ border-collapse: collapse;
+}
+th, td {
+ padding: 4px;
+ border: 1px solid #babdb6;
+}
+ </style>
+ </head>
+ <body>
+ <h1>Font Awesome v5 test</h1>
+ <p>
+ All the icons in the table below should be visible for compatibility with
+ Font Awesome v5.
+ </p>
+ <table>
+ <tr>
+ <th>icon description</th>
+ <th>icon</th>
+ </tr>
+ <tr><td>plus sign</td><td><i class='fa fa-plus'></i></td></tr>
+ <tr><td>minus sign</td><td><i class='fa fa-minus'></i></td></tr>
+ <tr><td>multiplication sign</td><td><i class='fa fa-times'></i></td></tr>
+ <tr><td>thumbs up</td><td><i class='fa fa-thumbs-up'></i></td></tr>
+ <tr><td>thumbs down</td><td><i class='fa fa-thumbs-down'></i></td></tr>
+ <tr><td>comment balloon</td><td><i class='fa fa-comment'></i></td></tr>
+ <tr><td>area chart</td><td><i class='fa fa-chart-area'></i></td></tr>
+ <tr><td>youtube</td><td><i class='fab fa-youtube'></i></td></tr>
+ <tr><td>down arrow inside circle</td><td><i class='fa fa-arrow-alt-circle-down'></i></td></tr>
+ </table>
+ </body>
+ </body>
+</html>
diff --git a/debian/v4-css-build b/debian/v4-css-build
new file mode 100755
index 00000000..ecffe8fd
--- /dev/null
+++ b/debian/v4-css-build
@@ -0,0 +1,46 @@
+#!/usr/bin/perl
+
+use strict;
+
+my $shims_data = `sed -e '/var shims = /!d; s/var shims = //; s/;//' svg-with-js/js/fa-v4-shims.js`;
+$shims_data =~ s/null/undef/g;
+my $shims = eval($shims_data) or die($@);
+
+my %icons; # new icon name -> old icon names
+my %namespaces; # namespace -> old icons that are now in this namespace
+for my $entry (@{$shims}) {
+ my ($old, $namespace, $new) = @{$entry};
+
+ if (defined $namespace) {
+ $namespaces{$namespace} ||= [];
+ push @{$namespaces{$namespace}}, ".fa.fa-$old";
+ }
+
+ if (defined $new) {
+ $icons{$new} ||= [];
+ push @{$icons{$new}}, ".fa-$old:before";
+ }
+}
+
+open INPUT, "<web-fonts-with-css/css/fontawesome-all.css";
+my $found_icons = 0;
+while (<INPUT>) {
+ if (/^\.fa-(.*):before/) {
+ my $icon = $1;
+ my $list = $icons{$icon};
+ if (defined $list) {
+ $list = join(",\n", @$list);
+ s/ \{/,\n$list {/;
+ }
+ $found_icons = 1;
+ } elsif ($found_icons && /^\.(fab|far|fas)/) {
+ my $ns = $1;
+ my $list = $namespaces{$ns};
+ if (defined $list) {
+ $list = join(",\n", @$list);
+ s/ \{/,\n$list {/;
+ }
+ }
+
+ print;
+}