Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1016677 - Review Request: mathjax - JavaScript library to render math in the browser
Summary: Review Request: mathjax - JavaScript library to render math in the browser
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Brendan Jones
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: 603937 1017213 1017216 1017204 1017209 1017211
TreeView+ depends on / blocked
Reported: 2013-10-08 14:01 UTC by Zbigniew Jędrzejewski-Szmek
Modified: 2015-03-13 15:43 UTC (History)
5 users (show)

Fixed In Version: mathjax-2.4.0-1.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2013-11-07 03:36:18 UTC fedora-review+
gwync: fedora-cvs+

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Bugzilla 977125 None None None Never
Red Hat Bugzilla 1014601 None None None Never
Red Hat Bugzilla 1014607 None None None Never

Internal Links: 977125 1014601 1014607

Description Zbigniew Jędrzejewski-Szmek 2013-10-08 14:01:55 UTC
Spec URL:
MathJax is an open-source JavaScript display engine for LaTeX, MathML,
and AsciiMath notation that works in all modern browsers. It requires no
setup on the part of the user (no plugins to download or software to
install), so the page author can write web documents that include
mathematics and be confident that users will be able to view it
naturally and easily. Supports LaTeX, MathML, and AsciiMath notation
in HTML pages.

Fedora Account System Username: zbyszek

Comment 1 Zbigniew Jędrzejewski-Szmek 2013-10-08 14:09:37 UTC
Some notes on the spec file:

I used the name "mathjax", lowercase, because font packages have to be called lowercase, as enforced by %_font_pkg macro. It would be confusing if there was a MathJax package and e.g. mathjax-fraktur-fonts.

Binary mathjax package has /usr/share/javascript/mathjax/fonts/HTML-CSS/TeX/png, which contains a lot of files, and is only used in fallback mode. In principle this could be split out to a separate package, but the main package would have to Require this subpackage anyway, so I don't think there's any point in this.

JavaScript is not minified. For use over the web this is a big drawback, but I think it is acceptable e.g. for IPython. I think we don't have a minifier in Fedora right now, but a few are being packaged, and this can be revisited when they're ready: #977125, #1014607, #1014601.

Comment 3 Zbigniew Jędrzejewski-Szmek 2013-10-08 15:09:10 UTC
To test: go to /usr/share/javascript/mathjax/test/index.html and /usr/share/javascript/mathjax/test/examples.html, and all pages linked from there. They should all display properly.

Comment 4 Brendan Jones 2013-10-24 05:45:54 UTC
I'll take this on.

Comment 5 Brendan Jones 2013-10-24 08:59:50 UTC
Can you please comment on this?

Woff fonts are prohibited.

The rest looks pretty good.

Comment 6 Zbigniew Jędrzejewski-Szmek 2013-10-24 14:26:19 UTC
(In reply to Brendan Jones from comment #5)
> Can you please comment on this? 
> Woff fonts are prohibited.
I missed this part of the guidelines. It's unfortunate that don't say that, and also doesn't refer to in any way.
Will fix.

Comment 7 Zbigniew Jędrzejewski-Szmek 2013-10-26 12:24:16 UTC
Woffs removed:

Spec URL:

Comment 8 Brendan Jones 2013-10-26 20:49:23 UTC
No issues here. This package is APPROVED. Good job

Package Review

[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[x] = Manual review needed

===== MUST items =====

[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. No licenses
     found. Please check the source files for licenses manually.
[x]: License file installed when any subpackage combination is installed.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

[x]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in mathjax-
     ams-fonts , mathjax-caligraphic-fonts , mathjax-fraktur-fonts , mathjax-
     main-fonts , mathjax-math-fonts , mathjax-sansserif-fonts , mathjax-
     script-fonts , mathjax-typewriter-fonts , mathjax-size1-fonts , mathjax-
     size2-fonts , mathjax-size3-fonts , mathjax-size4-fonts , mathjax-
     winie6-fonts , mathjax-winchrome-fonts
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[ ]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
[x]: Spec file according to URL is the same as in SRPM.

Comment 9 Zbigniew Jędrzejewski-Szmek 2013-10-26 23:14:25 UTC
Thank you for the review, much appreciated!

Comment 10 Zbigniew Jędrzejewski-Szmek 2013-10-26 23:15:19 UTC
New Package SCM Request
Package Name: mathjax
Short Description: JavaScript library to render math in the browser
Owners: zbyszek
Branches: f19 f20

Comment 11 Gwyn Ciesla 2013-10-28 12:09:06 UTC
Git done (by process-git-requests).

Comment 12 Rex Dieter 2013-10-28 12:13:50 UTC
could you consider supporting epel-6 too?  (I've a el6 site @work that would greatly benefit from it).  Though it would appear web-assets stuff doesn't support epel-6 (yet, afaict).

Comment 13 Zbigniew Jędrzejewski-Szmek 2013-10-28 12:44:23 UTC
(In reply to Rex Dieter from comment #12)
> could you consider supporting epel-6 too?  (I've a el6 site @work that would
> greatly benefit from it).  Though it would appear web-assets stuff doesn't
> support epel-6 (yet, afaict).

In principle I have nothing against the idea, but I know next to nothing EPEL, I probably wouldn't have any way to test the package. Let's first see if the package works properly in Fedora proper.

Comment 14 Fedora Update System 2013-10-28 14:42:19 UTC
mathjax-2.2-3.fc20 has been submitted as an update for Fedora 20.

Comment 15 Fedora Update System 2013-10-28 14:43:22 UTC
mathjax-2.2-3.fc19 has been submitted as an update for Fedora 19.

Comment 16 Fedora Update System 2013-10-28 19:19:23 UTC
mathjax-2.2-3.fc20 has been pushed to the Fedora 20 testing repository.

Comment 17 Fedora Update System 2013-11-07 03:36:18 UTC
mathjax-2.2-3.fc19 has been pushed to the Fedora 19 stable repository.

Comment 18 Fedora Update System 2013-11-10 07:16:46 UTC
mathjax-2.2-3.fc20 has been pushed to the Fedora 20 stable repository.

Comment 19 Zbigniew Jędrzejewski-Szmek 2014-09-07 00:55:34 UTC
Package Change Request
Package Name: mathjax
New Branches: epel7
Owners: zbyszek

Requested for IPython (#1138534).

Comment 20 Gwyn Ciesla 2014-09-08 11:56:14 UTC
Git done (by process-git-requests).

Comment 21 Orion Poplawski 2015-02-25 22:04:30 UTC
Can we revisit mathjax for EPEL6?  It appears to build and install fine.  Would help with backports of ipython to EL6.

Comment 22 Zbigniew Jędrzejewski-Szmek 2015-02-25 22:10:25 UTC
Package Change Request
Package Name: mathjax
New Branches: el6
Owners: zbyszek

Requested for IPython.

Comment 23 Gwyn Ciesla 2015-02-26 13:30:35 UTC
Git done (by process-git-requests).

Comment 24 Fedora Update System 2015-02-26 14:04:45 UTC
mathjax-2.4.0-1.el6 has been submitted as an update for Fedora EPEL 6.

Comment 25 Orion Poplawski 2015-02-26 17:46:02 UTC
Thank you!

Comment 26 Fedora Update System 2015-03-13 15:43:16 UTC
mathjax-2.4.0-1.el6 has been pushed to the Fedora EPEL 6 stable repository.

Note You need to log in before you can comment on or make changes to this bug.