diff options
author | Vasudev Kamath <vasudev@debian.org> | 2018-05-22 03:34:27 +0000 |
---|---|---|
committer | Vasudev Kamath <vasudev@debian.org> | 2018-05-22 03:34:27 +0000 |
commit | e42deaaf0529132e1181318456e07f46dcc54f6c (patch) | |
tree | e63d461933566dcbe84054c7ab3c78f5aefb407d | |
parent | 6c3c8491baeca7816bb01e0f1b94183a8819225a (diff) | |
parent | b93db817a29cdeecbec5121867263b351e254f78 (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/changelog | 19 | ||||
-rw-r--r-- | debian/install | 5 | ||||
-rw-r--r-- | debian/links | 7 | ||||
-rwxr-xr-x | debian/rules | 7 | ||||
-rw-r--r-- | debian/tests/control | 3 | ||||
-rwxr-xr-x | debian/tests/download | 31 | ||||
l--------- | debian/tests/font-awesome | 1 | ||||
l--------- | debian/tests/v4 | 1 | ||||
-rwxr-xr-x | debian/tests/v4-css-files | 22 | ||||
-rw-r--r-- | debian/tests/v4.html | 45 | ||||
l--------- | debian/tests/v5 | 1 | ||||
-rw-r--r-- | debian/tests/v5.html | 45 | ||||
-rwxr-xr-x | debian/v4-css-build | 46 |
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; +} |