Bug 1016677 - Review Request: mathjax - JavaScript library to render math in the browser
Review Request: mathjax - JavaScript library to render math in the browser
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Brendan Jones
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 603937 1017213 1017216 1017204 1017209 1017211
  Show dependency treegraph
 
Reported: 2013-10-08 10:01 EDT by Zbigniew Jędrzejewski-Szmek
Modified: 2015-03-13 11:43 EDT (History)
5 users (show)

See Also:
Fixed In Version: mathjax-2.4.0-1.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-06 22:36:18 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
brendan.jones.it: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Zbigniew Jędrzejewski-Szmek 2013-10-08 10:01:55 EDT
Spec URL: http://in.waw.pl/~zbyszek/fedora/mathjax.spec
SRPM URL: http://in.waw.pl/~zbyszek/fedora/mathjax-2.2-1.fc19.src.rpm
Description:
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 10:09:37 EDT
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 11:09:10 EDT
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 01:45:54 EDT
I'll take this on.
Comment 5 Brendan Jones 2013-10-24 04:59:50 EDT
Can you please comment on this? 

http://fedoraproject.org/wiki/Packaging:Web_Assets#Fonts

Woff fonts are prohibited.

The rest looks pretty good.
Comment 6 Zbigniew Jędrzejewski-Szmek 2013-10-24 10:26:19 EDT
(In reply to Brendan Jones from comment #5)
> Can you please comment on this? 
> 
> http://fedoraproject.org/wiki/Packaging:Web_Assets#Fonts
> 
> Woff fonts are prohibited.
I missed this part of the guidelines. It's unfortunate that http://fedoraproject.org/wiki/Packaging:FontsPolicy don't say that, and also doesn't refer to http://fedoraproject.org/wiki/Packaging:Web_Assets in any way.
Will fix.
Comment 7 Zbigniew Jędrzejewski-Szmek 2013-10-26 08:24:16 EDT
Woffs removed:

Spec URL: http://in.waw.pl/~zbyszek/fedora/mathjax.spec
SRPM URL: http://in.waw.pl/~zbyszek/fedora/mathjax-2.2-3.fc19.src.rpm
Comment 8 Brendan Jones 2013-10-26 16:49:23 EDT
No issues here. This package is APPROVED. Good job



Package Review
==============

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



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

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[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
     work.
[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
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[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
     architectures.
[-]: %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
     $RPM_BUILD_ROOT)
[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 =====

Generic:
[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
     arched.
[x]: Spec file according to URL is the same as in SRPM.
Comment 9 Zbigniew Jędrzejewski-Szmek 2013-10-26 19:14:25 EDT
Thank you for the review, much appreciated!
Comment 10 Zbigniew Jędrzejewski-Szmek 2013-10-26 19:15:19 EDT
New Package SCM Request
=======================
Package Name: mathjax
Short Description: JavaScript library to render math in the browser
Owners: zbyszek
Branches: f19 f20
InitialCC:
Comment 11 Gwyn Ciesla 2013-10-28 08:09:06 EDT
Git done (by process-git-requests).
Comment 12 Rex Dieter 2013-10-28 08:13:50 EDT
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 08:44:23 EDT
(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 10:42:19 EDT
mathjax-2.2-3.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/mathjax-2.2-3.fc20
Comment 15 Fedora Update System 2013-10-28 10:43:22 EDT
mathjax-2.2-3.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/mathjax-2.2-3.fc19
Comment 16 Fedora Update System 2013-10-28 15:19:23 EDT
mathjax-2.2-3.fc20 has been pushed to the Fedora 20 testing repository.
Comment 17 Fedora Update System 2013-11-06 22:36:18 EST
mathjax-2.2-3.fc19 has been pushed to the Fedora 19 stable repository.
Comment 18 Fedora Update System 2013-11-10 02:16:46 EST
mathjax-2.2-3.fc20 has been pushed to the Fedora 20 stable repository.
Comment 19 Zbigniew Jędrzejewski-Szmek 2014-09-06 20:55:34 EDT
Package Change Request
======================
Package Name: mathjax
New Branches: epel7
Owners: zbyszek

Requested for IPython (#1138534).
Comment 20 Gwyn Ciesla 2014-09-08 07:56:14 EDT
Git done (by process-git-requests).
Comment 21 Orion Poplawski 2015-02-25 17:04:30 EST
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 17:10:25 EST
Package Change Request
======================
Package Name: mathjax
New Branches: el6
Owners: zbyszek

Requested for IPython.
Comment 23 Gwyn Ciesla 2015-02-26 08:30:35 EST
Git done (by process-git-requests).
Comment 24 Fedora Update System 2015-02-26 09:04:45 EST
mathjax-2.4.0-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/mathjax-2.4.0-1.el6
Comment 25 Orion Poplawski 2015-02-26 12:46:02 EST
Thank you!
Comment 26 Fedora Update System 2015-03-13 11:43:16 EDT
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.