Bug 877651

Summary: Review Request: sagemath - A free open-source mathematics software system
Product: [Fedora] Fedora Reporter: Paulo Andrade <paulo.cesar.pereira.de.andrade>
Component: Package ReviewAssignee: Jerry James <loganjerry>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: alexl, bugsgentoo, chillermillerlong, germano.massullo, i, jamatos, loganjerry, ndbecker2, notting, package-review, rdieter, samuel-rhbugs, vbraun.name, vedran
Target Milestone: ---Flags: loganjerry: fedora‑review+
limburgher: fedora‑cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: sagemath-5.9-5.fc18 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-27 23:51:07 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On: 905420    
Bug Blocks:    
Attachments:
Description Flags
sage-memcheck
none
Crash report of sage
none
Comment none

Description Paulo Andrade 2012-11-17 12:17:22 EST
Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.4-1.fc19.src.rpm
Description: Sage is a free open-source mathematics software system licensed
under the GPL. It combines the power of many existing open-source
packages into a common Python-based interface.
Fedora Account System Username: pcpa
Comment 1 Paulo Andrade 2012-11-17 12:26:14 EST
  Major know issue is that it builds an "internal" version
of cython, ipython and pexpect; does not work with system
version of those.

  I have been working on packaging sagemath in Fedora for
over 6 months, so I have intested quite some time on it.
But I have been packaging sagemath in Mandriva since 2009,
so, while it is very tough to package, I managed to work
on it for quite some time.

  To make it a bit easier to have an idea of a review, here
is a review before a few extra corrections:

---%<---

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

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


Issues:
=======
[!]: Package installs properly.
     Note: Installation errors (see attachment)
See: https://fedoraproject.org/wiki/Packaging:Guidelines
[!]: Packages have proper BuildRequires/Requires on jpackage-utils
See: https://fedoraproject.org/wiki/Packaging:Java
[!]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink)
     Note: No javadoc subpackage present
See: https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation
[!]: Fully versioned dependency in subpackages, if present.
     Note: Missing: 'Requires: %%{name} =' in: %package devel
See: http://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage
[!]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files directly in %_libdir.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
[!]: 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.
     Note: Cannot find COPYING.txt in rpm(s)
See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text
[!]: Javadoc documentation files are generated and included in -javadoc
     subpackage
     Note: No javadoc subpackage present
See: https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation
[!]: Javadoc subpackages have Requires: jpackage-utils
See: https://fedoraproject.org/wiki/Packaging:Java


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

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[ ]: Package does not contain kernel modules.
[ ]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[!]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files directly in %_libdir.

Generic:
[ ]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[ ]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[ ]: Package contains no bundled libraries.
[ ]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[ ]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[ ]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install if there is
     such a file.
[ ]: Development files must be in a -devel package
[ ]: Package requires other packages for directories it uses.
[ ]: Package uses nothing in %doc for runtime.
[ ]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[ ]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     devel
[ ]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[!]: 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.
     Note: Cannot find COPYING.txt in rpm(s)
[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Apache (v2.0)", "GPL (v2 or later)", "Unknown or generated", "MIT/X11
     (BSD like)", "*No copyright* PSF (v2.)", "GPL (v2 or later) (with
     incorrect FSF address)", "BSD (3 clause)", "BSD (2 clause)", "LGPL (v2.1
     or later)". 9 files have unknown license. Detailed output of licensecheck
     in /home/pcpa/review-sagemath/licensecheck.txt
[ ]: License file installed when any subpackage combination is installed.
[ ]: Package consistently uses macro is (instead of hard-coded directory
     names).
[ ]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: Package is named using only allowed ASCII characters.
[ ]: Package is named according to the Package Naming Guidelines.
[ ]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[ ]: Package obeys FHS, except libexecdir and /usr/target.
[ ]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[ ]: Package must own all directories that it creates.
[ ]: Package does not own files or directories owned by other packages.
[!]: Package installs properly.
     Note: Installation errors (see attachment)
[ ]: Package is not relocatable.
[ ]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[ ]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[ ]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[ ]: Useful -debuginfo package or justification otherwise.
[ ]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 409600 bytes in 2 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Java:
[!]: Packages have proper BuildRequires/Requires on jpackage-utils
[!]: Fully versioned dependency in subpackages, if present.
     Note: Missing: 'Requires: %%{name} =' in: %package devel
[!]: Javadoc documentation files are generated and included in -javadoc
     subpackage
     Note: No javadoc subpackage present
[!]: Javadoc subpackages have Requires: jpackage-utils
[!]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink)
     Note: No javadoc subpackage present
[x]: Bundled jar/class files should be removed before build

Maven:
[x]: Old add_to_maven_depmap macro is not being used
[ ]: If package contains pom.xml files install it (including depmaps) even
     when building with ant

Python:
[x]: Package contains BR: python2-devel or python3-devel
[ ]: Binary eggs must be removed in %prep
     Note: Cannot find sources under BUILD (using prebuilt sources?)
[ ]: Python eggs must not download any dependencies during the build process.
[ ]: A package which is used by another package via an egg interface should
     provide egg info.
[ ]: Package meets the Packaging Guidelines::Python

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

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[ ]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[ ]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[ ]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[ ]: Package functions as described.
[ ]: Latest version is packaged.
[ ]: Package does not include license text files separate from upstream.
[ ]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[ ]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source2 (makecmds.sty) Source3 (Jmol.js) Source0 (sage-5.4.tar)
     Source1 (gprc.expect) Source4 (JmolHelp.html) Source5 (testjava.sh)
     Patch16 (trac_12822_pt_translation_of_tutorial.patch) Patch17
     (trac_12822_pt_translation_of_tutorial_rev1.patch) Patch15
     (trac_12502_pt_translation_of_a_tour_of_sage_rebase1.patch)
[x]: SourceX is a working URL.
[ ]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[ ]: Package should compile and build into binary rpms on all supported
     architectures.
[ ]: %check is present and all tests pass.
[ ]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

Java:
[ ]: Package has BuildArch: noarch (if possible)
[ ]: Package uses upstream build method (ant/maven/etc.)

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

Generic:
[!]: Rpmlint is run on all installed packages.
     Note: Mock build failed
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Installation errors
-------------------
INFO: mock.py version 1.1.28 starting...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Mock Version: 1.1.28
INFO: Mock Version: 1.1.28
Start: lock buildroot
INFO: installing package(s): /home/pcpa/review-sagemath/results/sagemath-debuginfo-5.4-1.fc19.x86_64.rpm /home/pcpa/review-sagemath/results/sagemath-devel-5.4-1.fc19.x86_64.rpm /home/pcpa/review-sagemath/results/sagemath-5.4-1.fc19.x86_64.rpm
ERROR: Command failed: 
 # ['/usr/bin/yum', '--installroot', '/var/lib/mock/fedora-rawhide-x86_64/root/', 'install', '/home/pcpa/review-sagemath/results/sagemath-debuginfo-5.4-1.fc19.x86_64.rpm', '/home/pcpa/review-sagemath/results/sagemath-devel-5.4-1.fc19.x86_64.rpm', '/home/pcpa/review-sagemath/results/sagemath-5.4-1.fc19.x86_64.rpm', '--setopt=tsflags=nocontexts']
Error: Package: python-cvxopt-1.1.5-5.fc19.x86_64 (fedora)
           Requires: libcholmod.so.1()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest



Rpmlint
-------
Checking: sagemath-5.4-1.fc19.src.rpm
          sagemath-debuginfo-5.4-1.fc19.x86_64.rpm
          sagemath-devel-5.4-1.fc19.x86_64.rpm
          sagemath-5.4-1.fc19.x86_64.rpm
sagemath.src: W: strange-permission testjava.sh 0755L
sagemath.src:353: W: rpm-buildroot-usage %prep rm -rf %{buildroot}
sagemath.src:356: W: rpm-buildroot-usage %prep export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
sagemath.src:357: W: rpm-buildroot-usage %prep export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
sagemath.src:358: W: rpm-buildroot-usage %prep export SAGE_DEVEL=%{buildroot}%{SAGE_DEVEL}
sagemath.src:379: W: rpm-buildroot-usage %build export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
sagemath.src:380: W: rpm-buildroot-usage %build export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
sagemath.src:381: W: rpm-buildroot-usage %build export SAGE_DEVEL=%{buildroot}%{SAGE_DEVEL}
sagemath.src:384: W: rpm-buildroot-usage %build export DESTDIR=%{buildroot}
sagemath.src:389: W: rpm-buildroot-usage %build export PATH=%{buildroot}%{_bindir}:$PATH
sagemath.src:390: W: rpm-buildroot-usage %build export PYTHONPATH=%{buildroot}%{python_sitearch}:$PYTHONPATH
sagemath.src:394: W: rpm-buildroot-usage %build %__python setup.py install --root=%{buildroot}
sagemath.src:400: W: rpm-buildroot-usage %build %__python setup.py install --root=%{buildroot}
sagemath.src:294: W: mixed-use-of-spaces-and-tabs (spaces: line 294, tab: line 3)
sagemath.src: W: invalid-url Source0: http://www.sagemath.org/src/sage-5.4.tar HTTP Error 404: Not Found
sagemath-devel.x86_64: W: summary-not-capitalized C sagemath development files
sagemath-devel.x86_64: W: no-documentation
sagemath.x86_64: W: no-soname /usr/lib64/libcsage.so
sagemath.x86_64: W: shared-lib-calls-exit /usr/lib64/libcsage.so exit@GLIBC_2.2.5
sagemath.x86_64: W: dangling-symlink /usr/lib64/sagemath/local/bin/sage_pari /usr/bin/gp
sagemath.x86_64: E: zero-length /usr/lib64/python2.7/site-packages/sage/misc/test_cpickle_sage.py
sagemath.x86_64: W: dangling-symlink /usr/lib64/python2.7/site-packages/sagenb/data/jmol/JmolApplet.jar /usr/share/java/JmolApplet.jar
sagemath.x86_64: W: dangling-symlink /usr/lib64/sagemath/share/extcode/sage /usr/lib64/python2.7/site-packages
sagemath.x86_64: W: dangling-symlink /usr/lib64/sagemath/local/include /usr/include
sagemath.x86_64: W: dangling-symlink /usr/lib64/sagemath/devel/sage /usr/lib64/python2.7/site-packages
sagemath.x86_64: E: zero-length /usr/lib64/sagemath/share/extcode/notebook/javascript/jquery/starterkit/ratings.dat
sagemath.x86_64: W: dangling-symlink /usr/lib64/sagemath/local/share /usr/share
sagemath.x86_64: W: dangling-symlink /usr/lib64/sagemath/local/lib /usr/lib64
sagemath.x86_64: E: zero-length /usr/lib64/python2.7/site-packages/sage/server/notebook/compress/all.py
sagemath.x86_64: E: zero-length /usr/lib64/python2.7/site-packages/sage/libs/pari/to_gen.pxi
sagemath.x86_64: W: dangling-symlink /usr/lib64/sagemath/local/bin/gap_stamp /usr/bin/gap
sagemath.x86_64: W: dangling-symlink /usr/lib64/python2.7/site-packages/sagenb/data/jmol/vecmath.jar /usr/share/java/vecmath.jar
sagemath.x86_64: W: no-manual-page-for-binary sage
sagemath.x86_64: W: no-manual-page-for-binary cygdb
sagemath.x86_64: W: file-not-in-%lang /usr/lib64/python2.7/site-packages/sagenb/translations/cs_CZ/LC_MESSAGES/messages.mo
sagemath.x86_64: W: file-not-in-%lang /usr/lib64/python2.7/site-packages/sagenb/translations/de_AT/LC_MESSAGES/messages.mo
sagemath.x86_64: W: file-not-in-%lang /usr/lib64/python2.7/site-packages/sagenb/translations/pt_BR/LC_MESSAGES/messages.mo
sagemath.x86_64: W: file-not-in-%lang /usr/lib64/python2.7/site-packages/sagenb/translations/ru_RU/LC_MESSAGES/messages.mo
sagemath.x86_64: W: one-line-command-in-%post /usr/bin/mktexlsr
4 packages and 0 specfiles checked; 4 errors, 35 warnings.




Requires
--------
sagemath-debuginfo-5.4-1.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    

sagemath-devel-5.4-1.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    sagemath(x86-64) = 5.4-1.fc19

sagemath-5.4-1.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /bin/bash
    /bin/sh
    /usr/bin/env
    /usr/bin/python
    4ti2
    GAPDoc
    R
    Singular
    apache-commons-cli
    cddlib-tools
    ecl
    firefox
    gap
    gap-character-tables
    gap-prim-groups
    gap-small-groups
    gap-table-of-marks
    gap-trans-groups
    genus2reduction
    gfan
    jmol
    jsmath-fonts
    ld-linux-x86-64.so.2()(64bit)
    libLfunction.so.1.23()(64bit)
    libc.so.6()(64bit)
    libcliquer.so.1()(64bit)
    libcsage.so()(64bit)
    libcudd.so.2()(64bit)
    libecl.so.12.7()(64bit)
    libecm.so.0()(64bit)
    libflint.so.1()(64bit)
    libfplll.so.0()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_4.0.0)(64bit)
    libgd.so.2()(64bit)
    libgivaro.so.0()(64bit)
    libglpk.so.0()(64bit)
    libgmp.so.10()(64bit)
    libgmpxx.so.4()(64bit)
    libgsl.so.0()(64bit)
    libgslcblas.so.0()(64bit)
    libiml.so.0()(64bit)
    libjc.so.0()(64bit)
    liblinbox.so.0()(64bit)
    liblinboxsage.so.0()(64bit)
    libm.so.6()(64bit)
    libm4ri-0.0.20111203.so()(64bit)
    libm4rie-0.0.20111203.so()(64bit)
    libmpc.so.2()(64bit)
    libmpfi.so.0()(64bit)
    libmpfr.so.4()(64bit)
    libntl.so.0()(64bit)
    libpari-gmp.so.3()(64bit)
    libpng15.so.15()(64bit)
    libpolybori-0.8.2.so.0()(64bit)
    libpolybori_groebner-0.8.2.so.0()(64bit)
    libppl.so.9()(64bit)
    libpthread.so.0()(64bit)
    libpynac.so.4()(64bit)
    libpython2.7.so.1.0()(64bit)
    libratpoints.so.0()(64bit)
    libreadline.so.6()(64bit)
    libsingular.so()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libsymmetrica.so.0()(64bit)
    libz.so.1()(64bit)
    libzn_poly-0.9.so()(64bit)
    maxima-gui
    maxima-runtime-ecl
    palp
    pari-gp
    python(abi) = 2.7
    python-ZODB3
    python-crypto
    python-cvxopt
    python-flask-autoindex
    python-flask-babel
    python-flask-openid
    python-flask-silk
    python-networkx
    python-polybori
    python-twisted-web
    python-twisted-web2
    rpy
    rtld(GNU_HASH)
    sympow
    sympy
    tachyon
    texlive
    vecmath



Provides
--------
sagemath-debuginfo-5.4-1.fc19.x86_64.rpm:
    
    sagemath-debuginfo = 5.4-1.fc19
    sagemath-debuginfo(x86-64) = 5.4-1.fc19

sagemath-devel-5.4-1.fc19.x86_64.rpm:
    
    sagemath-devel = 5.4-1.fc19
    sagemath-devel(x86-64) = 5.4-1.fc19

sagemath-5.4-1.fc19.x86_64.rpm:
    
    libcsage.so()(64bit)
    sagemath = 5.4-1.fc19
    sagemath(x86-64) = 5.4-1.fc19



Unversioned so-files
--------------------
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/libcsage.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/algebras/quatalg/quaternion_algebra_cython.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/algebras/quatalg/quaternion_algebra_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/calculus/interpolators.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/calculus/riemann.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/calculus/var.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/categories/action.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/categories/category_singleton.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/categories/examples/semigroups_cython.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/categories/functor.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/categories/map.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/categories/morphism.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/coding/binary_code.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/combinat_cython.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/debruijn_sequence.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/degree_sequences.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/dict_addition.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/enumeration_mod_permgroup.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/expnums.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/matrices/dancing_links.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/partitions.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/permutation_cython.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/combinat/words/word_datatypes.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/crypto/boolean_function.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/c_lib.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/fast_callable.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/fast_eval.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/interactive_constructors_c.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/interpreters/wrapper_cdf.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/interpreters/wrapper_el.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/interpreters/wrapper_py.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/interpreters/wrapper_rdf.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/interpreters/wrapper_rr.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/ext/multi_modular.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/finance/fractal.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/finance/markov_multifractal_cython.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/finance/time_series.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/functions/prime_pi.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/games/sudoku_backtrack.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/geometry/integral_points.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/geometry/point_collection.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/geometry/toric_lattice_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/geometry/triangulation/base.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/base/c_graph.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/base/dense_graph.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/base/sparse_graph.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/base/static_sparse_graph.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/chrompoly.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/cliquer.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/comparability.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/convexity_properties.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/distances_all_pairs.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/generic_graph_pyx.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/genus.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/graph_decompositions/graph_products.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/graph_decompositions/rankwidth.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/graph_decompositions/vertex_separation.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/graph_generators_pyx.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/matchpoly.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/modular_decomposition/modular_decomposition.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/planarity.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/spanning_tree.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/trees.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/graphs/weakly_chordal.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/group.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/partn_ref/double_coset.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/partn_ref/refinement_binary.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/partn_ref/refinement_graphs.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/partn_ref/refinement_lists.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/partn_ref/refinement_matrices.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/partn_ref/refinement_python.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/permgroup_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/gsl/callback.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/gsl/dwt.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/gsl/fft.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/gsl/gsl_array.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/gsl/integration.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/gsl/interpolation.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/gsl/ode.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/gsl/probability_distribution.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/interacts/library_cython.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/cremona/homspace.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/cremona/mat.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/cremona/newforms.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ecl.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/flint/flint.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/flint/fmpz_poly.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/fplll/fplll.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/lcalc/lcalc_Lfunction.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/libecm.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/linbox/linbox.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/mpmath/ext_impl.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/mpmath/ext_libmp.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/mpmath/ext_main.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/mpmath/utils.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/mwrank/mwrank.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_GF2.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_GF2E.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_GF2EContext.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_GF2EX.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_GF2X.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZ.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZX.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZ_p.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZ_pContext.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZ_pE.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZ_pEContext.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZ_pEX.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_ZZ_pX.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_lzz_p.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_lzz_pContext.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_lzz_pX.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_mat_GF2.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_mat_GF2E.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ntl/ntl_mat_ZZ.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/pari/gen.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ppl.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/ratpoints.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/singular/function.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/singular/groebner_strategy.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/singular/option.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/singular/polynomial.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/singular/ring.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/singular/singular.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/libs/symmetrica/symmetrica.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/action.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/change_ring.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix0.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix1.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix2.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_complex_double_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_cyclo_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_double_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_generic_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_generic_sparse.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_integer_2x2.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_integer_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_integer_sparse.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_mod2_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_mod2e_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_modn_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_modn_dense_double.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_modn_dense_float.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_modn_sparse.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_mpolynomial_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_rational_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_rational_sparse.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_real_double_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_sparse.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_symbolic_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_window.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/matrix_window_modn_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/misc.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/matrix/strassen.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/media/channels.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/allocator.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/binary_tree.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/bitset.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/c3.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/cachefunc.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/citation.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/classcall_metaclass.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/constant_function.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/cython_c.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/derivative.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/fpickle.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/function_mangling.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/lazy_import.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/misc_c.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/nested_class.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/parser.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/pickle_old.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/randstate.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/readline_extra_commands.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/refcount.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/reset.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/sage_timeit_class.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/search.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/session.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/misc/stopgap.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modular/arithgroup/congroup_pyx.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modular/arithgroup/farey_symbol.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modular/modform/eis_series_cython.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modular/modsym/apply.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modular/modsym/heilbronn.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modular/modsym/p1list.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modular/modsym/relation_matrix_pyx.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/free_module_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/module.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/vector_complex_double_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/vector_double_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/vector_integer_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/vector_mod2_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/vector_modn_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/vector_rational_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/modules/vector_real_double_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/numerical/backends/generic_backend.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/numerical/backends/glpk_backend.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/numerical/mip.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/plot/complex_plot.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/plot/plot3d/base.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/plot/plot3d/implicit_surface.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/plot/plot3d/index_face_set.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/plot/plot3d/parametric_surface.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/plot/plot3d/shapes.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/plot/plot3d/transform.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/quadratic_forms/count_local_2.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/quadratic_forms/quadratic_form__evaluate.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/bernmm.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/bernoulli_mod_p.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/complex_double.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/complex_interval.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/complex_mpc.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/complex_number.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/factorint.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/fast_arith.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/finite_rings/element_base.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/finite_rings/element_givaro.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/finite_rings/element_ntl_gf2e.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/finite_rings/finite_field_base.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/finite_rings/integer_mod.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/fraction_field_FpT.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/fraction_field_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/function_field/function_field_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/integer.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/integer_ring.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/laurent_series_ring_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/morphism.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/noncommutative_ideals.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/number_field/number_field_base.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/number_field/number_field_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/number_field/number_field_element_quadratic.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/number_field/number_field_morphisms.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/number_field/totallyreal.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/number_field/totallyreal_data.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/local_generic_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_ZZ_pX_CA_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_ZZ_pX_CR_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_ZZ_pX_FM_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_ZZ_pX_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_base_coercion.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_base_generic_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_capped_absolute_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_capped_relative_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_ext_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_fixed_mod_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_generic_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_printing.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/pow_computer.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/padics/pow_computer_ext.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/cyclotomic.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/laurent_polynomial.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/multi_polynomial.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_ideal_libsingular.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_libsingular.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_ring_generic.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/pbori.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/plural.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polydict.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_compiled.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_gf2x.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_integer_dense_flint.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_integer_dense_ntl.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_modn_dense_ntl.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_rational_flint.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_real_mpfr_dense.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_zmod_flint.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/polynomial_zz_pex.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/real_roots.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/polynomial/symmetric_reduction.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/power_series_mpoly.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/power_series_poly.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/power_series_ring_element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/rational.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/real_double.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/real_interval_absolute.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/real_lazy.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/real_mpfi.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/real_mpfr.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/residue_field.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/rings/ring.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/sat/solvers/satsolver.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/schemes/elliptic_curves/descent_two_isogeny.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/schemes/hyperelliptic_curves/hypellfrob.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/schemes/toric/divisor_class.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/sets/disjoint_set.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/sets/finite_set_map_cy.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/stats/hmm/chmm.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/stats/hmm/distributions.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/stats/hmm/hmm.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/stats/hmm/util.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/stats/intlist.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/category_object.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/coerce.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/coerce_actions.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/coerce_dict.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/coerce_maps.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/element.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/factory.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/generators.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/list_clone.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/list_clone_timings_cy.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/misc.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/mutability.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/parent.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/parent_base.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/parent_gens.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/parent_old.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/sage_object.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/structure/wrapper_parent.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/symbolic/constants_c.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/symbolic/expression.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/symbolic/function.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/symbolic/getitem.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/symbolic/pynac.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/symbolic/ring.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/tests/cython.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/tests/interrupt.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/sage/tests/stl_vector.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Compiler/Code.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Compiler/FlowControl.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Compiler/Lexicon.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Compiler/Parsing.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Compiler/Scanning.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Compiler/Visitor.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Plex/Actions.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Plex/Scanners.so
sagemath-5.4-1.fc19.x86_64.rpm: /usr/lib64/sagemath/site-packages/Cython/Runtime/refnanny.so

MD5-sum check
-------------


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -v -r -n sagemath
---%<---

  Source0 is known to be wrong, but left that way for
now to avoid downloading it again for every test, also,
that link used to work and redirect to a proper mirror,
need to bug report about it.

  The package is mean't for rawhide, but if successful
in adding it to rawhide, a f18 build requires very few
updates (3 new packages, and 2 updates, other issues
can be worked around in the sagemath package itself).
Comment 2 Alex Lancaster 2012-11-17 19:16:24 EST
This is great!  I'm so glad somebody is getting around to packaging this.  It would be great if you could make this bug dependent on the package reviews for the 3 new packages (assuming they're not yet included in Fedora) so they can be tracked.

I notice you've also updated the wiki:

https://fedoraproject.org/wiki/SIGs/SciTech/SAGE

It would be good if you could add a link to this review there, as some folks might not know about it.  (I only found out about it because I happened across the archives for the scitech list, which I'm not a member of right now).
Comment 3 Alex Lancaster 2012-11-17 19:40:31 EST
PS.  I'm willing to help review this when the time comes.
Comment 4 Paulo Andrade 2012-11-18 08:48:23 EST
I made some new branch requests for a possible f18
backport (my initial plan was to have a private
repository like I do for f17):

https://bugzilla.redhat.com/show_bug.cgi?id=839097
https://bugzilla.redhat.com/show_bug.cgi?id=839098
https://bugzilla.redhat.com/show_bug.cgi?id=839071

I updated

https://fedoraproject.org/wiki/SIGs/SciTech/SAGE

and removed the required update to libmpc, as I
added stubs in a sagemath patch for the missing
functions:

http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-October/001214.html

Actually, there is another "requires" issue, but
I still suspect a newer numpy snapshot (or final
version will be avaiable before a fedora sagemath
package):

https://bugzilla.redhat.com/show_bug.cgi?id=868585
Comment 5 Paulo Andrade 2012-11-21 23:18:44 EST
Package was updated to better split subpackages and to
remove some unnecessary files being installed.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.4-2.fc19.src.rpm

- Do not install alternate cygdb in %%_bindir
- Create the %{name}-core subpackage
- Create the %{name}-doc subpackage
- Create the %{name}-doc-en subpackage
- Create the %{name}-doc-de subpackage
- Create the %{name}-doc-fr subpackage
- Create the %{name}-doc-pt subpackage
- Create the %{name}-doc-ru subpackage
- Create the %{name}-doc-tr subpackage
- Create the %{name}-data metapackage
- Create the %{name}-data-conway_polynomials subpackage
- Create the %{name}-data-elliptic_curves subpackage
- Create the %{name}-data-extcode subpackage
- Do not install pickle_jar extcode contents
- Do not install notebook extcode contents
- Create the %{name}-data-graphs subpackage
- Create the %{name}-data-polytopes_db subpackage
- Create the %{name}-notebook subpackage
- Create the %{name}-rubiks subpackage
- Create the %{name}-sagetex subpackage
Comment 6 Paulo Andrade 2012-11-22 07:23:46 EST
(In reply to comment #3)
> PS.  I'm willing to help review this when the time comes.

The time is now!

You can make an unofficial review request if you prefer :-)
Better to have more eyes looking at possible packaging issues.
Help on debugging issues as the problems found in
http://pcpa.fedorapeople.org/sagemath/test.log also welcome.
Comment 7 Paulo Andrade 2012-11-30 21:00:57 EST
Updated to sagemath 5.4.1:

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.4.1-1.fc19.src.rpm
Comment 8 Volker Braun 2012-12-01 10:01:58 EST
I've had a look at the test failures:
* Fonts are missing, should be required.
* the test suite needs the built documentation (to test the built-in help system), hg, scons, Singular help file, fortran compiler, 
* lrcalc is missing, this is one of the spkgs.
* Segfaults when using pari and symmetrica. The latter has a symbol clash which probably explains it (sort_sum_rename.patch in the symmetrica spkg). Both are modified and linked in, so it is likely that you'll have to install the Sage-specific versions.

We are planning to move to git next year and revamp some of the built system in the process. I think it would be great if you write about your experience in packaging and what would make your life easier.
Comment 9 Paulo Andrade 2012-12-01 10:56:37 EST
(In reply to comment #8)

  Many thanks for the comments Volker!

> I've had a look at the test failures:
> * Fonts are missing, should be required.

I will work on it, should be only an extra requires.

> * the test suite needs the built documentation (to test the built-in help
> system), hg, scons, Singular help file, fortran compiler, 

  Documentation is built during package build, actually I have
a somewhat nasty problem with sphinx, see:
https://bugzilla.redhat.com/show_bug.cgi?id=839321
http://trac.sagemath.org/sage_trac/ticket/13230

> * lrcalc is missing, this is one of the spkgs.

  Is the spkg the official upstream package? I have a request
for information at:
http://trac.sagemath.org/sage_trac/ticket/11563#comment:45
but left it as one of the few known issues :-)

> * Segfaults when using pari and symmetrica. The latter has a symbol clash
> which probably explains it (sort_sum_rename.patch in the symmetrica spkg).
> Both are modified and linked in, so it is likely that you'll have to install
> the Sage-specific versions.

  I am afraid it should be another issue, the patch is applied, see:
http://pkgs.fedoraproject.org/cgit/symmetrica.git/tree/
but may be another symbol, because in fedora symmetrica is built
as a shared library.

> We are planning to move to git next year and revamp some of the built system
> in the process. I think it would be great if you write about your experience
> in packaging and what would make your life easier.

My major issues, in integrating sagemath in the system are
versions of components, it will be required an exception
to be able to use:

o old ipython version
o old and/or non standard cython
o old pexpect

Otherwise, other then sometimes relying on some very intrusive
patches, like the sphinx patch, it is mainly problems with
versions of components.

An interesting example is that I could not convince upstream
pari to use an extra flag to not call mp_set_memory_functions
in the library, so it now uses this patch:
---%<---
diff -up sage-5.4.1/spkg/build/sage-5.4.1/sage/libs/pari/gen.pyx.orig sage-5.4.1/spkg/build/sage-5.4.1/sage/libs/pari/gen.pyx
--- sage-5.4.1/spkg/build/sage-5.4.1/sage/libs/pari/gen.pyx.orig	2012-11-12 21:15:23.758879845 -0200
+++ sage-5.4.1/spkg/build/sage-5.4.1/sage/libs/pari/gen.pyx	2012-11-12 21:15:43.213880590 -0200
@@ -182,6 +182,10 @@ include '../../ext/stdsage.pxi'
 cdef extern from "mpz_pylong.h":
     cdef int mpz_set_pylong(mpz_t dst, src) except -1
 
+cdef extern from "gmp.h":
+    cdef void mp_get_memory_functions(void**, void**, void**)
+    cdef void mp_set_memory_functions(void*, void*, void*)
+
 # Make sure we don't use mpz_t_offset before initializing it by
 # putting in a value that's likely to provoke a segmentation fault,
 # rather than silently corrupting memory.
@@ -9171,7 +9175,12 @@ cdef class PariInstance(sage.structure.p
 
         # The size here doesn't really matter, because we will allocate
         # our own stack anyway. We ask PARI not to set up signal handlers.
+        cdef void *_gmp_malloc
+        cdef void *_gmp_realloc
+        cdef void *_gmp_free
+        mp_get_memory_functions(&_gmp_malloc, &_gmp_realloc, &_gmp_free)
         pari_init_opts(10000, maxprime, INIT_JMPm | INIT_DFTm)
+        mp_set_memory_functions(_gmp_malloc, _gmp_realloc, _gmp_free)
         num_primes = maxprime
 
         # NOTE: sig_on() can only come AFTER pari_init_opts()!
---%<---
There are a few other somewhat related issues, like a "back
patch" for ntl to not rely on a patched ntl. I asked upstream
NTL to provide the features required by sagemath, see:
http://shoup.net/pipermail/ntl_shoup.net/2012-April/000033.html
I exchanged a few emails with Victor Shoup at that time,
but need to ping again :-), basically, something could be
done when a new NTL release were released.

Packaging sagemath itself has not been a major issue for
quite some time (I did package sagemath in mandriva since
late sage 3.x) it is the dependencies that make it non
trivial to package.
Comment 10 Paulo Andrade 2012-12-01 11:36:52 EST
I just updated http://pcpa.fedorapeople.org/sagemath/test.log
Issues there that are simple to correct:

o just added requires python-matplotlib-tk to requires in sagemath.spec,
  side effect of my update to matplotlib 1.2, that is, all errors like:
    ImportError: No module named backend_tkagg
  are corrected if installing python-matplotlib-tk


Not so simple to correct issues:
o this error
    [Errno 2] No such file or directory: '/usr/lib64/sagemath/site-packages/Cython/Utility/ObjectHandling.c'
  is a side effect of explicitly not installing .c and .h files
  to reduce number of warnings/errors from rpmlint, but they are
  required, so, changed the spec back to install them
  Too bad this did cascade in several other test failures...

o this error
---%<---
sage -t  -force_lib "devel/sage/sage/structure/sage_object.pyx"
[?1034hbunzip2: Can't open input file /usr/lib64/sagemath/share/extcode/pickle_jar/pickle_jar.tar.bz2: No such file or directory.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
---%<---
will stay for now, need a very good explanation to add it to
the package.

o the error
    ImportError: No module named lrcalc
  should be fixed when solving the issue with what is lrcalc
  upstream.

o this is still happening
---%<---
      File "/usr/lib64/python2.7/site-packages/sage/combinat/sf/sf.py", line 1136, in __call__
        return self._codomain._from_dict(dict(self._t(self.fake_sym.monomial(partition))), coerce = True)
      File "schur.pxi", line 574, in sage.libs.symmetrica.symmetrica.t_MONOMIAL_HOMSYM_symmetrica (sage/libs/symmetrica/symmetrica.c:18879)
    RuntimeError: Segmentation fault
---%<---
  I did not debug it enough to understand the root cause of the
  problem, only learned that if I compile symmetrica without -DFAST
  it would follow a code path jumping over the dereferencing of the
  invalid pointer, but rebuilding symmetrica that way should not be
  the proper correction.

o this error
    IOError: [Errno 2] No such file or directory: '/usr/lib64/sagemath/local/bin/ipython'
  should remain for now, as it should be a single doctest failure,
  otherwise it works, but I can change it to install ipython
  wrapper

o no idea about this, need to debug:
    sage: len(pari(p).polroots(precision=128))
      File "gen.pyx", line 8025, in sage.libs.pari.gen.gen.polroots (sage/libs/pari/gen.c:39360)
    RuntimeError: Segmentation fault


I will do another sage -testall run now with python-matplotlib-tk
installed, as missing it caused way too much noise in test.log...
Comment 11 Paulo Andrade 2012-12-02 09:15:21 EST
Update:
- Change back to install .c and .h files in bundled cython.
- Make symlink of gmp-ecm to $SAGE_LOCAL/bin/ecm.
- Add SAGE_LOCAL/bin to python path so that "sage -gdb" works.

Forgot to add to changelog that it now explicitly requires
python-matplotlib-tk to avoid import errors in "sage -testall",
will add it to changelog.

A not so trivial debug I did was some cut&paste + search&replace
in gdb to verify the address every symbol in the symmetrica shared
library (checking all symbols in symmetrica's def.h and macros.h)
to confirm it was mapped to libsymmetrica.so and it indeed was,
only the generic "div" symbol was not, but after properly checking
symmetrica sources, I learned that it already has a
"#define div SYM_div" in def.h and checking SYM_div showed correct
results, so, while it is better to figure out what is causing
crashes in symmetrica, an option is to link it statically.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.4.1-2.fc19.src.rpm
Comment 12 José Matos 2012-12-02 13:07:42 EST
Hi Paulo,
  I had the same issue with python-matplotlib-tk just by using ipython -gui so I think that this problem is not specific of sage.

FWIW I am interested in reviewing sage. :-)
Comment 13 Paulo Andrade 2012-12-08 11:08:35 EST
(In reply to comment #12)
> Hi Paulo,
>   I had the same issue with python-matplotlib-tk just by using ipython -gui
> so I think that this problem is not specific of sage.

  It should have been fixed it in yet another python-matplotlib
build
https://admin.fedoraproject.org/updates/FEDORA-2012-19809/python-matplotlib-1.2.0-5.fc18
the problem was that it was not "detecting" gtk, that is in
the main package (but only for python2.7...) and is the
default backend if available. Wrapping setup.py run in
xvfb-run fixed that. Could also have patched
%{python_sitearch}/matplotlib/mpl-data/matplotlibrc after
%install.

> FWIW I am interested in reviewing sage. :-)

I am waiting for someone to click the "take" link and do the review :-)
But any non official review is welcome, that is, something
like download the srpm and run:
/usr/bin/fedora-review -v -r -n sagemath
Comment 14 Paulo Andrade 2012-12-08 11:15:20 EST
(In reply to comment #8)

> * Fonts are missing, should be required.

  Fonts are "truly" missing in Fedora. Stix fonts
appear to have changed significantly from 1.0.0 (f17)
to 1.1.0 (f18+). I opened a bug report, about missing
fonts in stix-fonts 1.1.0 at:
https://bugzilla.redhat.com/show_bug.cgi?id=885307
and about missing "extra" jsmath fonts at:
https://bugzilla.redhat.com/show_bug.cgi?id=885312

  Anyway, this apparently was a side effect of my
update to matplotlib 1.2.0 (sage uses 1.1.0), and
as commented in the above bug reports, I am ok with
making a patch in the matplotlib package to not
require/reference those fonts.
Comment 15 Paulo Andrade 2012-12-08 15:54:35 EST
Minor corrections:

- Revert requires python-matplotlib-tk as it was a python-matplotlib bug.
- Add stix-fonts requires.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.4.1-3.fc19.src.rpm
Comment 16 Jerry James 2012-12-14 13:50:48 EST
Have you applied for bundling exceptions for cython, ipython, and pexpect?
Comment 17 Paulo Andrade 2012-12-14 14:03:56 EST
(In reply to comment #16)
> Have you applied for bundling exceptions for cython, ipython, and pexpect?

Not yet. I was expecting to need to ask for bundling during
or after the review process. I will make a bundling exception
request.
Comment 18 Volker Braun 2012-12-14 14:06:20 EST
If you apply the patch from http://trac.sagemath.org/13740 then you should be able to use the Fedora Cython rpm. At least it fixes an incompatibility with Cython-0.17.2, so probably also 0.17.1 (Fedora 18).
Comment 19 Paulo Andrade 2012-12-14 14:30:42 EST
(In reply to comment #18)
> If you apply the patch from http://trac.sagemath.org/13740 then you should
> be able to use the Fedora Cython rpm. At least it fixes an incompatibility
> with Cython-0.17.2, so probably also 0.17.1 (Fedora 18).

I asked for bundling exceptions in https://fedorahosted.org/fpc/ticket/238

I did comment about bundling cython that hopefully it would be temporary.
In my Mandriva sagemath packages I did for some time either make my own
patches or use patches from trac.sagemath.org, but that caused trouble
because system cython could be upgraded in the mean time, making the
sagemath package no longer buildable or generating a broken package.
Comment 20 Neal Becker 2012-12-14 14:56:04 EST
Ironic.  Why is cython even in fedora?  Because a good while back, we discussed packaging sage.  At the time, I volunteered to package cython as a first step.  Now, I don't even use cython , and then I learn sage won't use it either.
Comment 21 Paulo Andrade 2012-12-14 15:33:14 EST
Minor corrections so that it builds cleanly in f18:

- The fplll patch is also required to build in f18.
- Add factory include to plural.pyx build.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.4.1-4.fc19.src.rpm
Comment 22 Volker Braun 2012-12-14 16:17:38 EST
I agree that Cython upgrades have been troublesome in the past. But, for the record, with the patch http://trac.sagemath.org/13740 Sage can use up to Cython 0.17.3 (released today).
Comment 23 Paulo Andrade 2012-12-15 10:51:10 EST
(In reply to comment #22)
> I agree that Cython upgrades have been troublesome in the past. But, for the
> record, with the patch http://trac.sagemath.org/13740 Sage can use up to
> Cython 0.17.3 (released today).

I rebuilt the sagemath rpm with your patch and everything looks file.
Well the problems that appear related to cython are still there :-)
For now I think I better not lift my request for bundling cython.
What I want to have some "freedom" is to be able to bundle it if
things go bad, but having a wider audience for the package should
help :-)

changelog:

- Build with system cython by default on fedora 18 or newer (#877651).

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.4.1-5.fc19.src.rpm
Comment 24 Neal Becker 2012-12-16 13:10:18 EST
cython-0.17.3 has been queued for f18 testing, and should be in rawhide now.
Comment 25 Vedran Miletić 2012-12-19 04:08:01 EST
Paulo, is this planned to be included in F19 or as an update in F18?
Comment 26 Paulo Andrade 2012-12-19 10:05:42 EST
(In reply to comment #25)
> Paulo, is this planned to be included in F19 or as an update in F18?

My initial plan was to have sagemath ready for F18, then
I gave up and was considering just a private repository,
but I did that for F17 at
http://pcpa.fedorapeople.org/sagemath/f17/

Once the package is approved, it should be built for
rawhide (future F19) and made as a F18 update.
Comment 27 Paulo Andrade 2012-12-29 16:11:41 EST
Updated package:

- Update to sagemath 5.5.
- Add maxima.system patch to work with maxima 5.29.1 package.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.5-1.fc19.src.rpm
Comment 28 José Matos 2013-01-04 06:58:59 EST
While building your package in mock the build fails because it can not find cython in path.

I am building your package in rawhide FWIW.

I had this problems 2 weeks ago and I noticed that it still persists today.
Comment 29 Paulo Andrade 2013-01-04 17:53:13 EST
(In reply to comment #28)
> While building your package in mock the build fails because it can not find
> cython in path.
> 
> I am building your package in rawhide FWIW.
> 
> I had this problems 2 weeks ago and I noticed that it still persists today.

  Please try this new one (I forgot to validate it was
building in a clean chroot after changing to use system
cython):

- Add cython to build requires (#877651#c28).

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.5-2.fc19.src.rpm
Comment 30 Paulo Andrade 2013-01-10 06:53:58 EST
(In reply to comment #16)
> Have you applied for bundling exceptions for cython, ipython, and pexpect?

  Exception has been granted for 6 month ipython and pexect only if no
solution can be found:
https://fedorahosted.org/fpc/ticket/238
  It should be 6 months for ipython but depending on flow of review I
can at least experiment on backporting the ipython patches targeted to
sagemath 5.6. Unfortunately, probably will need to use the bundled
pexpect. I did mail the pexpect author but got no response, and started
a small thread about in at
https://groups.google.com/forum/?fromgroups=#!topic/sage-devel/_tEyhHq7Vwg
Comment 31 Jerry James 2013-01-16 11:15:03 EST
Since Paulo is reviewing polymake for me, I am, with great fear and trepidation, taking this review.  Paulo, what is the status of the bundled pexpect?  Are you still looking for a way to use the system pexpect?
Comment 32 Paulo Andrade 2013-01-16 13:45:53 EST
(In reply to comment #31)
> Since Paulo is reviewing polymake for me, I am, with great fear and
> trepidation, taking this review.  Paulo, what is the status of the bundled
> pexpect?  Are you still looking for a way to use the system pexpect?

I just added another comment to https://fedorahosted.org/fpc/ticket/238
about it. I believe the only alternative right now is to use the bundled
pexpect.
Comment 33 Paulo Andrade 2013-01-16 13:52:53 EST
BTW, Many thanks for taking the review Jerry :-)

I am working on a minor howto for anybody that used my
f17 repository to cleanly update to f18, while I do the
same :-) And should provide a temporary f18 repository
also, that now is very simple as basically all dependencies
are already in f18.
Comment 34 Paulo Andrade 2013-01-19 12:33:28 EST
Update correcting a very large amount of doctest failures:

- Rediff rpmbuild patch to address some underlinked modules.
- Make gap-sonata a mandatory requires.
- Add cremona patch to adjust logic as only cremona mini is built.
- Add lrslib patch to know lrslib is available.
- Add nauty patch and comment about reason it cannot be made available.
- Add gap-hap patch for better description of missing gap hap package.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.5-3.fc19.src.rpm
Comment 35 Jerry James 2013-01-25 16:19:16 EST
Sorry to take so long with this, Paulo.  It's a really big package. :-)

Currently, fedora-review is warning that it can't download the sage-5.5.tar file.  That's because it is now 5.6.

Also, the build of 5.5 is failing on both F18 and Rawhide, although a bit differently.  On Rawhide, it looks like there is some kind of conflict between the ppl and gmp headers.  On F18, it fails like this:

In file included from /usr/include/singular/structs.h:15:0,
                 from /usr/include/libsingular.h:6,
                 from sage/algebras/letterplace/free_algebra_letterplace.cpp:261:
/usr/include/singular/si_gmp.h:4:22: fatal error: cf_gmp.h: No such file or directory
compilation terminated.

It looks like the factory-devel header files have been moved into a subdirectory of %{_includedir}, so it will now be necessary to specify -I/usr/include/factory.
Comment 36 Paulo Andrade 2013-01-25 17:39:20 EST
Thanks!

I think I may have been using a Singular with that
problem already solved in f18 builds. Interestingly,
I just pushed to f18 stable a Singular that matches
the rawhide version.

I will update to sagemath 5.6 and test mock builds
as right now it works for me on f18 and rawhide.
Comment 37 Paulo Andrade 2013-01-26 14:06:01 EST
Only rawhide build should work, f18 should fail until
https://admin.fedoraproject.org/updates/eclib-20120830-1.fc18
hits f18 stable.

Update:

- Update to sagemath 5.6.
- Remove no longer required patch to build with system cython.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.6-1.fc19.src.rpm
Comment 38 Jerry James 2013-01-28 13:42:43 EST
Actually, builds are failing in Rawhide, too.  I got this in a mock build for i386 Rawhide:

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/builddir/build/BUILDROOT/sagemath-5.6-1.fc19.i386/usr/lib/sagemath/local/include -Ic_lib/include -I/builddir/build/BUILDROOT/sagemath-5.6-1.fc19.i386/usr/lib/sagemath/devel/sage/sage/ext -I/usr/include/python2.7 -c sage/libs/ppl.cpp -o build/temp.linux-i686-2.7/sage/libs/ppl.o -w
In file included from /usr/include/ppl.hh:27:0,
                 from sage/libs/ppl.cpp:264:
/usr/include/ppl-i386.hh:774:7: error: redefinition of 'class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >'
 class numeric_limits<mpz_class> {
       ^
In file included from sage/libs/ppl.cpp:263:0:
/usr/include/gmpxx.h:3269:21: error: previous definition of 'class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >'
   template <> class numeric_limits<mpz_class>
                     ^
In file included from /usr/include/ppl.hh:27:0,
                 from sage/libs/ppl.cpp:264:
/usr/include/ppl-i386.hh:835:7: error: redefinition of 'class std::numeric_limits<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >'
 class numeric_limits<mpq_class> {
       ^
In file included from sage/libs/ppl.cpp:263:0:
/usr/include/gmpxx.h:3306:21: error: previous definition of 'class std::numeric_limits<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >'
   template <> class numeric_limits<mpq_class>
Comment 39 Paulo Andrade 2013-01-28 14:58:06 EST
I will try to debug this problem. I notice both ppl-%{_arch}.hh
and gmpxx.hh defines templates for class numeric_limits<mp?_class>,
but apparently only in i386 it is conflicting. I did only test
x86_64 builds so far...

If possible please try a x86_64 mock build; that should not
fail (works for me :-)
Comment 40 Jerry James 2013-01-28 17:08:58 EST
I got the same error on an x86_64 build:

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/builddir/build/BUILDROOT/sagemath-5.6-1.fc19.x86_64/usr/lib64/sagemath/local/include -Ic_lib/include -I/builddir/build/BUILDROOT/sagemath-5.6-1.fc19.x86_64/usr/lib64/sagemath/devel/sage/sage/ext -I/usr/include/python2.7 -c sage/libs/ppl.cpp -o build/temp.linux-x86_64-2.7/sage/libs/ppl.o -w
In file included from /usr/include/ppl.hh:25:0,
                 from sage/libs/ppl.cpp:264:
/usr/include/ppl-x86_64.hh:774:7: error: redefinition of 'class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >'
 class numeric_limits<mpz_class> {
       ^
In file included from sage/libs/ppl.cpp:263:0:
/usr/include/gmpxx.h:3269:21: error: previous definition of 'class std::numeric_limits<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >'
   template <> class numeric_limits<mpz_class>
                     ^
In file included from /usr/include/ppl.hh:25:0,
                 from sage/libs/ppl.cpp:264:
/usr/include/ppl-x86_64.hh:835:7: error: redefinition of 'class std::numeric_limits<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >'
 class numeric_limits<mpq_class> {
       ^
In file included from sage/libs/ppl.cpp:263:0:
/usr/include/gmpxx.h:3306:21: error: previous definition of 'class std::numeric_limits<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >'
   template <> class numeric_limits<mpq_class>
Comment 41 Paulo Andrade 2013-01-28 19:03:15 EST
I can reproduce it in both i386 and x86_64 now.
My guess it is gcc 4.8.0 that does not like the
duplicated but not equal templates; my last builds
were with gcc 4.7.2.
Comment 42 Paulo Andrade 2013-02-09 14:14:41 EST
Update:

- Add cryptominisat-devel to build requires.
- Add conditional build for lrcalc (fedora review rhbz #909510)
- Add conditional build for coin-or-CoinUtils (fedora review rhbz #894585)
- Add conditional build for coin-or-Osi (fedora review rhbz #894586)
- Add conditional build for coin-or-Clp (fedora review rhbz #894587)
- Add conditional build for coin-or-Cgl (fedora review rhbz #894588)
- Add conditional build for coin-or-Cbc (fedora review rhbz #894597)
- Rebuild with latest rawhide and f18 dependency updates.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.6-3.fc19.src.rpm

I did upload prebuilt binaries to pcpa.fedorapeople,org
but remade the srpm for review request to not depend on
packages still under review request.
Comment 43 Paulo Andrade 2013-02-10 11:39:21 EST
Update:

I made another update because mock build would fail
in the last steps and added two extra macros to
make it easier/faster to do debug builds.

- Correct "canonicalization unexpectedly shrank by one character" error.
- Add packager_debug macro for conditional package debug mode build.
- Add donwload_tarball macro to avoid fedora-review donwloading it every run.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.6-4.fc19.src.rpm
Comment 44 Paulo Andrade 2013-02-12 09:52:23 EST
Created attachment 696525 [details]
sage-memcheck

valgrind run on the first crash in libsymmetrica:

sage -t  -force_lib "devel/sage/sage/algebras/nil_coxeter_algebra.py"

symmetrica logic is quite complex, but since it does not
crash under valgrind (but I did not check --malloc-fill)
it should be an issue with uninitialized memory when
reading out of bounds memory (probably "padding" memory).

My first guess hack to fix that would be to ensure all
malloc calls in symmetrica are converted to calloc
(possibly ensuring requested block sizes aligned at
16 bytes), but still possibly leave the bug around because
of the logic to reuse objects that may not set them
back to zero.
Comment 45 Jerry James 2013-02-15 17:30:11 EST
Created attachment 915673 [details]
Comment

(This comment was longer than 65,535 characters and has been moved to an attachment by Red Hat Bugzilla).
Comment 46 Paulo Andrade 2013-02-17 11:25:12 EST
(In reply to comment #45)
> Here's a run of fedora-review, noting a few problems that need to be fixed. 
> Issues, in no particular order:
> 1. The jpackage-utils and javadoc warnings are due to jmol and sage3d; the
>    Java packaging guidelines need to be followed for those portions.

I believe it is being caused because the package has symlinks to .jar
files from jmol and vecmath, but fedora-review does not consider this
condition.
NOTE: not addressed yet.


> 2. Should the -doc subpackages be noarch?  How about the -data subpackages?

I changed both to noarch. I wish rpm would be smarter about changing
a directory to a symlink, since to be noarch it needs to be
moved to /usr/share, the previous directories under %_libdir
need to be changed to symlinks, and that makes updates of the
current package not easy. In the current state should be ok, but
changing later is really not desirable because it would create
too many upgrade failure conditions.


> 3. The build isn't using the right build flags.  The build log shows:
> + pushd spkg/build/sage-5.6
> + pushd c_lib
> + CXX=g++
> + UNAME=Linux
> + SAGE64=auto
> + scons
> scons: Reading SConscript files ...
> scons: done reading SConscript files.
> scons: Building targets ...
> gcc -o src/convert.os -c -fPIC
> -I/builddir/build/BUILDROOT/sagemath-5.6-4.fc19.x86_64/usr/lib64/sagemath/
> local/include
> -I/builddir/build/BUILDROOT/sagemath-5.6-4.fc19.x86_64/usr/lib64/sagemath/
> local/include/python2.7
> -I/builddir/build/BUILDROOT/sagemath-5.6-4.fc19.x86_64/usr/lib64/sagemath/
> local/include/NTL -Iinclude src/convert.c
> 
>    ... followed by more files compiled without the correct flags.  I see more
>    compilations in other directories later in the build log with the same
>    problem.

scons is weird, it ignores most environment variables. I did add
hardcoded CFLAGS and CXXFLAGS (and LINKFLAGS). I do not have any
saved logs for the cython build flags, but it is passing the
proper flags (not sure if side effect of exporting CFLAGS and
CXXFLAGS).

Just in case, the SAGE64 is just to fool this:
if os.environ['SAGE64']=="yes":
    env.Append( CFLAGS="-O2 -g -m64" )
    env.Append( CXXFLAGS="-O2 -g -m64" )
    env.Append( LINKFLAGS="-m64" )
so that os.environ['SAGE64'] is defined and does not cause
and exception due to being undefined.


> 4. The bundling issue still needs to be resolved.

I was left alone with the pexpect issue :-( Pexpect upstream did not
respond my query, and sagemath upstream did comment a lot about it,
and that at some point the new pexpect, basically completely rewritten
was significantly slower with sagemath.
The remaining issue is ipython. Hopefully by sagemath-5.7 it will be able
to use latest upstream ipython, otherwise may need to ping back about it.


> 5. The license check looks okay, except it flags one file with an Apache
>    license.  I think this is okay, because that file is only used for testing
>    and does not contribute to the binary RPMs, right?


Need to verify when the selenium subdir was added (well, it appears
licensecheck only tells about it, but there are others), but it was
not when I did run licensecheck to generate the License tag. But the
notebook was significantly changed since then, and added several ASL
files indeed.
Updated now.


> 6. The license breakdown needs to be explained in a comment;
>    See
> https://fedoraproject.org/wiki/Packaging:
> LicensingGuidelines#Multiple_Licensing_Scenarios

I did split/review as much as I could, and the directories in sagenb
where there was only one file with a license I assumed that license.
There is a significant breakdown already done in $SAGE_ROOT/COPYING.txt
but that includes what upstream sagemath bundles, so, only a small
portion actually applies to sagemath, that is release under GPLv2+


> 7. Since the main package installs an icon, it needs this:
>    https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache

Fixed.


> 8. %{_libdir}/sagemath/share is owned by the main package, but the main
>    package puts no contents into it.  It appears to be used only by the
>    sagemath-data-foo packages, so shouldn't sagemath-data own it?


Corrected.


> 9. Empty directories in the sagemath-data-extcode package, some of which are
>    the only items in their parent directories:
>    - %{_libdir}/sagemath/share/extcode/MuPAD/user
>    - %{_libdir}/sagemath/share/extcode/QEPCAD
>    - %{_libdir}/sagemath/share/extcode/gap/user
>    - %{_libdir}/sagemath/share/extcode/genus2reduction
>    - %{_libdir}/sagemath/share/extcode/gnuplot
>    - %{_libdir}/sagemath/share/extcode/kash/user
>    - %{_libdir}/sagemath/share/extcode/macaulay2/user
>    - %{_libdir}/sagemath/share/extcode/magma/ell_padic
>    - %{_libdir}/sagemath/share/extcode/magma/padic_height
>    - %{_libdir}/sagemath/share/extcode/maple/user
>    - %{_libdir}/sagemath/share/extcode/mathematica/user
>    - %{_libdir}/sagemath/share/extcode/matlab/user
>    - %{_libdir}/sagemath/share/extcode/octave/user
>    - %{_libdir}/sagemath/share/extcode/pari/user
>    - %{_libdir}/sagemath/share/extcode/scilab/user
>    - %{_libdir}/sagemath/share/extcode/sobj

These are supposed to be placehoders for customization. It is most
likely wrong because it is not per user. I left it there because it
matches upstream release.
I updated it to not create the empty directory trees.


> 10. The main package Requires: jmol, but then sagemath-notebook includes both
>     JmolApplet.jar, from the jmol package, and vecmath.jar, from the vecmath
>     package.  What is going on here?

It could be changed to make sagemath-core (not the virtual sagemath
package) require jmol, but jmol should be required by the main/core package
as it can use the standard jmol in the command line interface.
The jars are actually symbolic links, to have them in the expected place
by the notebook:
$ ls -l /usr/lib64/python2.7/site-packages/sagenb/data/jmol/*.jar
lrwxrwxrwx 1 root root 30 Feb  9 15:17 /usr/lib64/python2.7/site-packages/sagenb/data/jmol/JmolApplet.jar -> /usr/share/java/JmolApplet.jar
lrwxrwxrwx 1 root root 27 Feb  9 15:17 /usr/lib64/python2.7/site-packages/sagenb/data/jmol/vecmath.jar -> /usr/share/java/vecmath.jar


> 11. Binary eggs need to be removed in %prep:
>     - spkg/build/sagenb-0.10.2/src/sagenb/sagenb.egg-info

Fixed.


> 12. The complaint below about fonts is due to some TeX fonts in
>     sagemath-notebook, which need to be handled according to the Fonts
> Policy:
>     https://fedoraproject.org/wiki/Packaging:FontsPolicy

I changed the spec file to explicitly remove the fonts subdir.
But I am going to debug it to see if it works without those, of if needs
to package them separately. I believe the warning is about the .otf
files, and not the .eot and .svg ones (yes, it is:
// /usr/share/fedora-review/plugins/generic_should.py +637
    for p in ['*.pfb', '*.pfa', '*.afm', '*.ttf', '*.otf']:
).
I did not test everything, so, but it most likely should be
working, or have some bad font rendering in some random place
(or just be using a system font).


> 13. Patches should have an explanatory comment:
>    
> https://fedoraproject.org/wiki/Packaging:
> Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment

Most were already commented, but added a description, and an url
link if applicable, to the few ones without a proper small description
in a comment.


> 14. Add -p to the cp command on line 827 of the spec file (for the "preserves
>     timestamps" issue)

Fixed (actually used -a to match pattern in other cp calls)


> 15. I see some locale-specific files, but don't see this in use:
>     https://fedoraproject.org/wiki/Packaging:Guidelines#Handling_Locale_Files


Initially I did remove those, but that ended up with a non working package.
Then I switched to use find_lang but it does not find the .mo files because
they are under a translations, not "locale" directory. After creating a
symbolic link named locale it still fails, because find_lang wants
locale/xx_YY/*.mo, and the .mo files are in
[translations|locale]/xx_YY/LC_MESSAGES/*.mo
Note sure if should add all the symlinks required to make find_lang work.
NOTE: not addressed yet.


> 16. Spelling: donwload_tarball -> download_tarball

Corrected. At least it was consistent, and was mispelled in all
usages of the macro :-)


> 17. I know that many of the rpmlint complaints are innocuous, but a few
> should
>     be handled, including these:
>     - sagemath-sagetex.x86_64: W: one-line-command-in-%post /usr/bin/mktexlsr

The sagemath-sagetex it tricky, because sagetex itself should be very
rarely updated, so, a simple sagemath-sagetex upgrade with sagemath-sagetex
in the same version would not need to rerun mktexlsr.


>     - sagemath.src: W: strange-permission testjava.sh 0755L

Not sure about the .sh permission. I hope the change from -m755 to
-m0755 as argument to install should correct it.


>     - sagemath.src:648: W: rpm-buildroot-usage %prep rm -rf %{buildroot}

I had that for debugging purposes and run a build --without[-=]prep,
but this is not be much useful nowadays, I removed it. Actually, if
doing a build using rpmbuild now it is required to remove manually
the buildroot directory, but it is a minor issue, and side effect
of all the magics done to make the build work in a buildroot environment.


>     - sagemath.src:1305: W: macro-in-%changelog %{name}

Corrected.

>     - sagemath.src:506: W: mixed-use-of-spaces-and-tabs (spaces: line 506,
> tab: line 3)

The mixed spaces and tabs is tricky, "correcting" it means modifying
the %description that uses spaces simulating a 4 spaces tabulation.
NOTE: not addressed yet.


>     - sagemath-core.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcsage.so /lib64/libm.so.6

The unused direct shlib dependency is not easy, need to check all
.so python modules to see which one is problematic and add special
rules for it, anyway, should not be too hard to do to add an extra
patch to module_list.py to handle it.
NOTE: not addressed yet.

> I *think* that the other issues flagged by fedora-review aren't really
> issues,
> but check them anyway and let me know what you think.

The non working url is on purpose because downloading 300Mb+ for every
single test run of fedora-review is not cheap, but later it can be
made so, and it is easy to regenerate the srpm to toggle the:
# for quicker fedora-review tests without downloading the main tarball
%global download_tarball	0
variable.


Unless I am completely mistaken, ther is nothing that qualifies as
javadoc in the package, so the warning should be bogus, and a
side effect of the symlinks to jar files.

The dangling symlinks are for the .jar files from the "requires"
jmol and vecmath, so that it does not bundle those, and still
have the symlinks to the place the notebook wants them.

I will make extra checks to see if adding an explicit %lang
cures the warning about .mo files not in %lang, and this should
be acceptable to not use %find_lang as explained above (?!)

The unversioned .so files are masked out by __provides_exclude_from
and are private python modules, so the warning should be bogus.

The sage3d dangling symlink is indeed dangling. Need java3d
(non-free) and regenerate the jars (TODO), I will remove it from
any final release, but it is not by any interface, well, one
can try to make 3d plots using it, what will fail.

The other %{buildroot} usages can be patched to silence the
warning, that is, to use some other "temporary" directory
during build, because it needs to "install" some components
to rebuild everything in the buildroot environment, but
the most complex rebuild (the documentation) is in
%install anyway.


I will work a bit more, but already spent quite some time
to address most of the issues, so, if you want to rerun
it, it should be 90%+ of the issues addressed now :-)
Comment 47 Paulo Andrade 2013-02-17 11:26:47 EST
Update:

- Export CFLAGS and CXXFLAGS (#877651#c45)
- Make sagemath-data owner of SAGE_SHARE (#877651#c45)
- Relocate SAGE_DOC and make sagemath-doc packages noarch (#877651#c45)
- Relocate SAGE_SHARE and make sagemath-data packages noarch (#877651#c45)
- Remove sagenb binary egg bundled in tarball (#877651#c45)
- Update license tag due to unlisted Apache v2 license (#877651#c45)
- Break down licenses in files listing (#877651#c45)
- Add post scriplets to handle the installed icon (#877651#c45)
- Do not install empty directories in SAGE_EXTCODE (#877651#c45)
- Do not install bundled mathjax fonts (#877651#c45)
- Add a descriptive comment to patches without one (#877651#c45)
- Correct mispelled donwload_tarball macro name (#877651#c45)
- Remove reference to buildroot in prep (#877651#c45)
- Simplify coin-or-Cbc build requires as it has proper dependencies

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.6-5.fc19.src.rpm
Comment 48 Paulo Andrade 2013-02-18 17:44:25 EST
I made a new build and updated the f18 repo because
it was broken due to rebuilding in a not up to date
f18, and also addressed some extra issues.

After a run of fedora-review, now is in my todo:

    W: invalid-license GPL

    W: wrong-file-end-of-line-encoding /usr/share/doc/sagemath-5.6/output/html/en/bordeaux_2008/objects.inv

    W: spurious-executable-perm /usr/share/doc/sagemath-5.6/en/prep/media/Rplot001.png

    W: file-not-utf8 /usr/share/doc/sagemath-5.6/output/html/en/bordeaux_2008/objects.inv

    W: no-soname /usr/lib64/libcsage.so
should just patch the build to add a (zero) soname to it.


Should ignore for now:

    E: zero-length /usr/lib64/python2.7/...

    E: explicit-lib-dependency lrslib

    E: explicit-lib-dependency python-matplotlib

    W: strange-permission testjava.sh 0755L
Do not know why the warning is still there, it is a shell script...


I will remove the magic to upgrade from arch to noarch soon, so this will be
removed shortly:

    W: dangerous-command-in-%pretrans mv


Update:

- Rebuild with latest rawhide and f18 updates
- Make sagemath-notebook owner of its base data directory
- Explicitly mark notebook translations as %%lang (#877651#c46)
- Remove sage3d as it is not functional in the rpm package (#877651#c46)
- Remove reference to buildroot in libcsage.so debuginfo

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.6-6.fc19.src.rpm
Comment 49 Paulo Andrade 2013-02-23 15:19:19 EST
Update:

- Update to sagemath 5.7.
- Add conditional patch for libgap.
- Add conditional patch for fes.
- Remove with_sage_ipython conditional.
- Add patch to create a libcsage with a soname.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.7-1.fc19.src.rpm
Comment 50 José Matos 2013-02-24 02:06:11 EST
While I am busy I have following this review request and I would like to thank you Paulo for the amazing work you have doing for putting sage in a way that can be imported into Fedora.

At the same time as we know from other experiences the final result will not only help us (Fedora) but all the upstream project.

Congratulations. :-)
Comment 51 Volker Braun 2013-02-24 10:29:14 EST
Requires ipython, but that is missing in the spec file. (as reported on sage-support https://groups.google.com/d/topic/sage-support/MT1jKJLm1eg/discussion)
Comment 52 Paulo Andrade 2013-02-24 20:40:14 EST
Thanks for tests and comments.

I will add ipython as Requires for the next build
(forgot about it because it is the first sagemath
package using system ipython), that should also
have an option to build with libgap :-)

https://bitbucket.org/vbraun/libgap/issue/1/please-make-tarball-downloads-available
Comment 53 Jerry James 2013-02-27 11:52:00 EST
Does it need python-ipython, or merely python-ipython-console?  (The only uses I have found so far need the latter, not the former.)

And I echo comment 50.  You've done a LOT of work on this package.  Give yourself a pat on the back. :-)
Comment 54 Paulo Andrade 2013-03-16 02:08:53 EDT
Sorry for the delay with another srpm.
I preferred to use the simpler "canonical" python-ipython name.
Jerry, please review it :-)

Update:

- Create jmol symbolic links in post and remove in postun.
- Disable libgap by default as it does not work with rawhide gap.
- Also add python-ipython to build requires to regenerate documentation.

- Add missing python-ipython requires (#877651#52)
- Enable libgap build in packager debug build (#877651#52)

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.7-2.fc20.src.rpm
Comment 55 Jerry James 2013-03-18 22:59:54 EDT
(In reply to comment #54)
> - Create jmol symbolic links in post and remove in postun.

Oops, sorry, I did not mean to push you in this direction.  I just didn't realize we were dealing with symbolic links.  I think the way you had it (with the symlinks owned by the package) was better than this approach.

> - Disable libgap by default as it does not work with rawhide gap.

Can you tell me what the problem is?  Is it something I can fix on the gap side?

I will do a thorough review tomorrow.  Sorry for the delay.
Comment 56 Paulo Andrade 2013-03-19 11:28:19 EDT
(In reply to comment #55)
> (In reply to comment #54)
> > - Create jmol symbolic links in post and remove in postun.
> 
> Oops, sorry, I did not mean to push you in this direction.  I just didn't
> realize we were dealing with symbolic links.  I think the way you had it
> (with the symlinks owned by the package) was better than this approach.
> 
> > - Disable libgap by default as it does not work with rawhide gap.
> 
> Can you tell me what the problem is?  Is it something I can fix on the gap
> side?

  I think libgap should be built at the same time as gap, or coordinate
to not have libgap not matching gap. Volker Braun commented about it
in https://bitbucket.org/vbraun/libgap/issue/1/please-make-tarball-downloads-available and pointed to the same problem in upstream sagemath in http://trac.sagemath.org/14039

> I will do a thorough review tomorrow.  Sorry for the delay.

No problems. What I want to change next was that I only figured
the missing post and postun of ldconfig after building the
latest srpm, and another issue is that removing the symbolic
links in %postun causes it to leave empty directory
%{python_sitearch}/site-packages/sagenb/data/jmol/
but removes all java related rpmlint warnings...
Comment 57 Paulo Andrade 2013-03-20 15:47:50 EDT
Update:

- Update to sagemath 5.8.
- Do full cleanup of notebook package on uninstall.
- Remove with_sage_cython build conditional.
- Remove with_sage_networkx build conditional.
- Add nopari2.6 patch to not rely on not yet available interfaces.
- Add cryptominisat patch to build package in f18.

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.8-1.fc20.src.rpm


The nopari2.6 is a simple patch due to using features from
the upcoming pari 2.6 in the patched pari.spkg.

The cryptominisat patch is because it now requires
cryptominisat 2.9.6 and does not build with f18
cryptominisat 2.9.5.

Remaining changes, not worth to add to changelog, or that
I forgot to :-), are patch rediffs, minor corrections
to documentation build and adding ldconfig to post and
postun.
Comment 58 Paulo Andrade 2013-04-10 14:37:28 EDT
Jerry, there is no pending fpc issue now in
https://fedorahosted.org/fpc/ticket/238
Please review it again.
Comment 59 Jerry James 2013-04-10 22:26:42 EDT
Oh, great!  I have a full workload tonight already, but I should be able to do this first thing tomorrow.
Comment 60 Jerry James 2013-04-11 14:15:40 EDT
I won't post the full output of fedora-review again, just a short list of items to be addressed.  We're almost there!

First, lrslib is listed as a Requires.  The lrslib package contains only the library.  It looks like the lrs program is needed by sage/geometry/polyhedron/base.py.  In that case, the Requires should be for lrslib-utils instead.

Second, the license breakdown still needs to be explained in a comment:
https://fedoraproject.org/wiki/Packaging:
LicensingGuidelines#Multiple_Licensing_Scenarios
I know you said the license breakdown is available elsewhere, but it needs to appear in the spec file, too.

Third, I did not make my meaning clear with the comment about one-line scripts.  You should have this:

%post sagetex -p %{_bindir}/mktexlsr
%postun sagetex -p %{_bindir}/mktexlsr

Note the use of -p.  That allows RPM to invoke the program directly, rather than spawning a shell to run the contents of the script.  See http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Syntax.

Fourth, there is some new output from rpmlint that should be reviewed.  Can you take a look at these to see which are real issues that need to be addressed?

sagemath-core.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcsage.so.0 /lib64/libm.so.6
sagemath-core.x86_64: E: zero-length /usr/lib64/python2.7/site-packages/sage/server/notebook/compress/all.py
sagemath-core.x86_64: E: zero-length /usr/lib64/python2.7/site-packages/sage/misc/test_cpickle_sage.py
sagemath-core.x86_64: W: dangling-symlink /usr/lib64/sagemath/devel/sage /usr/lib64/python2.7/site-packages
sagemath-core.x86_64: E: zero-length /usr/lib64/python2.7/site-packages/sage/libs/pari/to_gen.pxi
sagemath-data.noarch: W: dangerous-command-in-%pretrans mv
sagemath-data-extcode.noarch: W: dangling-symlink /usr/share/sagemath/extcode/sage /usr/lib64/python2.7/site-packages
sagemath-doc.noarch: W: only-non-binary-in-usr-lib
sagemath-doc.noarch: W: doc-file-dependency /usr/share/doc/sagemath-5.8/common/update-python-inv.sh /usr/bin/env
sagemath-doc.noarch: W: doc-file-dependency /usr/share/doc/sagemath-5.8/common/builder.py /usr/bin/env
sagemath-doc.noarch: W: dangerous-command-in-%pretrans mv
sagemath-doc-en.noarch: W: spurious-executable-perm /usr/share/doc/sagemath-5.8/en/prep/media/Rplot001.png
sagemath-notebook.x86_64: W: dangerous-command-in-%postun rm
sagemath-notebook.x86_64: W: dangerous-command-in-%posttrans ln
sagemath-rubiks.x86_64: W: spelling-error %description -l en_US contributers -> contributes, contributors, contribute rs
Comment 61 Paulo Andrade 2013-04-12 21:00:02 EDT
(In reply to comment #60)
> I won't post the full output of fedora-review again, just a short list of
> items to be addressed.  We're almost there!
> 
> First, lrslib is listed as a Requires.  The lrslib package contains only the
> library.  It looks like the lrs program is needed by
> sage/geometry/polyhedron/base.py.  In that case, the Requires should be for
> lrslib-utils instead.

Fixed.

> Second, the license breakdown still needs to be explained in a comment:
> https://fedoraproject.org/wiki/Packaging:
> LicensingGuidelines#Multiple_Licensing_Scenarios
> I know you said the license breakdown is available elsewhere, but it needs
> to appear in the spec file, too.

I belive I was missing only the comment about the breakdown before
the License tag line, so, should be fixed now.

I am a bit unsure if using GPL is valid as license, but I added it
due to (http://www.wrongway.org/?rubiksource):
---%<---
The source code for my various rubik solvers are freely available. They are, for the moment, released GPL (e.g., free to distribute and modify but it and its derivitives must always remain free and open source).
---%<---
 
> Third, I did not make my meaning clear with the comment about one-line
> scripts.  You should have this:
> 
> %post sagetex -p %{_bindir}/mktexlsr
> %postun sagetex -p %{_bindir}/mktexlsr
> 
> Note the use of -p.  That allows RPM to invoke the program directly, rather
> than spawning a shell to run the contents of the script.  See
> http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Syntax.

Fixed.

> Fourth, there is some new output from rpmlint that should be reviewed.  Can
> you take a look at these to see which are real issues that need to be
> addressed?
> 
> sagemath-core.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcsage.so.0 /lib64/libm.so.6

  I prefer to keep this in case there are a few of these python modules
$ rpm -ql sagemath-core | grep '.so$' | wc -l
339
that do not "really" need to link to libcsage.so

> sagemath-core.x86_64: E: zero-length
> /usr/lib64/python2.7/site-packages/sage/server/notebook/compress/all.py
> sagemath-core.x86_64: E: zero-length
> /usr/lib64/python2.7/site-packages/sage/misc/test_cpickle_sage.py

Removed in %install for the sake of silencing the warning.

> sagemath-core.x86_64: W: dangling-symlink /usr/lib64/sagemath/devel/sage
> /usr/lib64/python2.7/site-packages

Fixed by moving the symlink to the -devel package.

> sagemath-core.x86_64: E: zero-length
> /usr/lib64/python2.7/site-packages/sage/libs/pari/to_gen.pxi

> sagemath-data-extcode.noarch: W: dangling-symlink
> /usr/share/sagemath/extcode/sage /usr/lib64/python2.7/site-packages

I reworked the requires to have the symlink owned by the
sagemath-data package, and add explicitly requires to the
main package from sagemath-data. But it appears to not
silence the warning, as I thought it was caused by the
case of:
a.bin -> requires package that provides /lib/foo
a.noarch -> has symlink to /lib/foo
a.bin -> requires a.noarch
a.noarch -> does not require a.bin
so, what I did was to make a.noarch require a.bin , but
the warning remained.

> sagemath-doc.noarch: W: only-non-binary-in-usr-lib
> sagemath-doc.noarch: W: doc-file-dependency
> /usr/share/doc/sagemath-5.8/common/update-python-inv.sh /usr/bin/env
> sagemath-doc.noarch: W: doc-file-dependency
> /usr/share/doc/sagemath-5.8/common/builder.py /usr/bin/env

These are kind of documentation files also, that happen to be usable
as scripts. Documentation is not supposed to be regenerated from
installed packages, but possible with some tweaks.

> sagemath-doc-en.noarch: W: spurious-executable-perm
> /usr/share/doc/sagemath-5.8/en/prep/media/Rplot001.png

Fixed.

> sagemath-data.noarch: W: dangerous-command-in-%pretrans mv
> sagemath-doc.noarch: W: dangerous-command-in-%pretrans mv
> sagemath-notebook.x86_64: W: dangerous-command-in-%postun rm
> sagemath-notebook.x86_64: W: dangerous-command-in-%posttrans ln

I am keeping these a bit more for the sake of making clean upgrades
after changing base dir to %{_libdir} for arch specific files, and
after changing doc/data subpackages to noarch. This should be the
last build with it, as I assume people using my f18 repository
have upgraded to the latest version.

This should not go in the final package. Just remind me, or
yourself if you wish about ensuring those pretrans and posttrans
are removed once the package is approved :-)

> sagemath-rubiks.x86_64: W: spelling-error %description -l en_US contributers
> -> contributes, contributors, contribute rs

This is text from sagemath spkg.txt, I changed the spec for the
sake of not having this warning again.
Comment 62 Paulo Andrade 2013-04-12 21:02:17 EDT
Update:

- Properly describe the license breakdown in the spec (#877651#60)
- Correct lrslib requires to lrslib-utils (#877651#60)
- Remove zero length files (#877651#60)
- Correct png file with executable permission (#877651#60)
- Avoid rpmlint warning in rubiks subpackage description (#877651#60)

Spec URL: http://pcpa.fedorapeople.org/sagemath.spec
SRPM URL: http://pcpa.fedorapeople.org/sagemath/SRPMS/sagemath-5.8-2.fc20.src.rpm
Comment 63 Jerry James 2013-04-13 17:20:23 EDT
(In reply to comment #61)
> I am a bit unsure if using GPL is valid as license, but I added it
> due to (http://www.wrongway.org/?rubiksource):
> ---%<---
> The source code for my various rubik solvers are freely available. They are,
> for the moment, released GPL (e.g., free to distribute and modify but it and
> its derivitives must always remain free and open source).
> ---%<---

If no specific version of the GPL is specified, then the license tag should contain "GPL+".  See the entry for "GNU General Public License (no version)" here: https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses.

> This should not go in the final package. Just remind me, or
> yourself if you wish about ensuring those pretrans and posttrans
> are removed once the package is approved :-)

I'm probably going to remind you very, very soon now, then, because I think this package is ready.  Fix the license tag as noted above and ... there isn't anything else holding this package back, right?  All of the bundled stuff has been granted exceptions.  I can't come up with anything else that is blocking approval, but the package is so large and complex that I'll wait a short time for comments before I approve it.
Comment 64 Paulo Andrade 2013-04-14 14:49:05 EDT
(In reply to comment #63)
> (In reply to comment #61)
> > I am a bit unsure if using GPL is valid as license, but I added it
> > due to (http://www.wrongway.org/?rubiksource):
> > ---%<---
> > The source code for my various rubik solvers are freely available. They are,
> > for the moment, released GPL (e.g., free to distribute and modify but it and
> > its derivitives must always remain free and open source).
> > ---%<---
> 
> If no specific version of the GPL is specified, then the license tag should
> contain "GPL+".  See the entry for "GNU General Public License (no version)"
> here:
> https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses.

  I changed to GPL+.

> > This should not go in the final package. Just remind me, or
> > yourself if you wish about ensuring those pretrans and posttrans
> > are removed once the package is approved :-)
> 
> I'm probably going to remind you very, very soon now, then, because I think
> this package is ready.  Fix the license tag as noted above and ... there
> isn't anything else holding this package back, right?  All of the bundled
> stuff has been granted exceptions.  I can't come up with anything else that
> is blocking approval, but the package is so large and complex that I'll wait
> a short time for comments before I approve it.

  Should I keep this chunk btw? Same issue as other review:
---%<---
%post
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun
if [ $1 -eq 0 ] ; then
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
---%<---
because the icon is actually installed under %{_datadir}/pixmaps, or
should the icon be moved elsewhere (under %{_datadir}/pixmaps).

  Not uploading a new src.rpm because it takes at least one hour
in my DSL (upload is very slow), but here is the spec diff for now:
---%<---
--- SPECS/sagemath.spec.orig	2013-04-14 15:36:46.068616049 -0300
+++ SPECS/sagemath.spec	2013-04-14 15:42:09.567628437 -0300
@@ -74,11 +74,11 @@
 Group:		Applications/Engineering
 Summary:	A free open-source mathematics software system
 Version:	5.8
-Release:	2%{?dist}
+Release:	3%{?dist}
 # The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file
 # Additionally, every $files section has a comment with the license name
 # before files with that license
-License:	ASL 2.0 and BSD and GPLv2+ and LGPLv2+ and MIT and Public Domain
+License:	ASL 2.0 and BSD and GPL+ and GPLv2+ and LGPLv2+ and MIT and Public Domain
 URL:		http://www.sagemath.org
 %if %{download_tarball}
 Source0:	http://boxen.math.washington.edu/home/%{name}/sage-mirror/src/sage-%{version}.tar
@@ -1151,24 +1151,8 @@
 
 %postun core -p /sbin/ldconfig
 
-%pretrans	data
-# temporary due to moving directory to symlink when changing data to noarch
-if [ -d %{SAGE_ROOT}/share -a ! -e %{SAGE_SHARE} ]; then
-    mv %{SAGE_ROOT}/share %{SAGE_SHARE}
-    ln -s %{SAGE_SHARE} %{SAGE_ROOT}/share
-fi
-
-%pretrans	doc
-# temporary due to moving directory to symlink when changing data to noarch
-if [ -d %{SAGE_ROOT}/devel/doc -a ! -e %{SAGE_DOC} ]; then
-    mv %{SAGE_ROOT}/devel/doc %{SAGE_DOC}
-    ln -s %{SAGE_DOC} %{SAGE_ROOT}/devel/doc
-fi
-
-# Note this should be a plain %%post but make a %%posttrans for
-# a small window of time to allow clean upgrades, as previously
-# the (broken) links were added to the package.
-%posttrans	notebook
+# Use symlinks and a minor patch to the notebook to not bundle jmol
+%post		notebook
 ln -sf %{_javadir}/JmolApplet.jar %{python_sitearch}/sagenb/data/jmol/
 ln -sf %{_javadir}/vecmath.jar %{python_sitearch}/sagenb/data/jmol/
 
@@ -1255,7 +1239,7 @@
 
 #------------------------------------------------------------------------
 %files		data-polytopes_db
-# GPL
+# GPL+
 %{SAGE_SHARE}/reflexive_polytopes
 
 #------------------------------------------------------------------------
@@ -1374,12 +1358,12 @@
 
 #------------------------------------------------------------------------
 %files		rubiks
-# GPL
+# GPL+
 %{SAGE_LOCAL}/bin/optimal
 # MIT
 %{SAGE_LOCAL}/bin/dikcube
 %{SAGE_LOCAL}/bin/size222
-# GPL
+# GPL+
 %{SAGE_LOCAL}/bin/cu2
 %{SAGE_LOCAL}/bin/cubex
 %{SAGE_LOCAL}/bin/mcube
@@ -1393,6 +1377,10 @@
 
 ########################################################################
 %changelog
+* Sun Apr 14 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.8-3
+- Use proper license tag for non versioned GPL attribution (#877651#63)
+- Remove no longer required workarounds for clean upgrades (#877651#63)
+
 * Fri Apr 12 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.8-2
 - Properly describe the license breakdown in the spec (#877651#60)
 - Correct lrslib requires to lrslib-utils (#877651#60)
---%<---
Comment 65 José Matos 2013-04-15 13:19:14 EDT
Created attachment 735989 [details]
Crash report of sage

I took the last srpm and I have used mock to rebuild it for Fedora 19.

Installing the resulting rpms, via "yum install sagemath" worked.

As soon as I start sagemath from the menu I get this crash with the corresponding crash report.

My purpose here is just to test sagemath under a normal scenario.
Comment 66 Paulo Andrade 2013-04-15 18:16:17 EDT
(In reply to comment #65)

  Hopefully it should be some simple issue, as
I do not see any problems, but I am currently
only testing in f18 and rawhide.

> Created attachment 735989 [details]
> Crash report of sage
> 
> I took the last srpm and I have used mock to rebuild it for Fedora 19.
> 
> Installing the resulting rpms, via "yum install sagemath" worked.
> 
> As soon as I start sagemath from the menu I get this crash with the
> corresponding crash report.

Does the same problem happen if starting from an
already open terminal? Works for me opening from
kde menu.

> My purpose here is just to test sagemath under a normal scenario.

Maybe there is some dependency problem with the
subpackages. What does "rpm -qa | grep sagemath"
show?
Comment 67 Paulo Andrade 2013-04-15 18:19:29 EDT
Actually, there may be a problem right now,
updating my test environment, as it may very
likely be that it works with ipython-0.13.1
but not ipython-0.13.2. Will know it shortly.
Comment 68 Paulo Andrade 2013-04-15 20:38:19 EDT
Just did a build with up to date rawhide and
could not find any problems. I will try to
create a f19 test environment later but for
now it works for me on f18 and rawhide.
Comment 69 José Matos 2013-04-16 10:19:57 EDT
(In reply to comment #66)
> 
> Does the same problem happen if starting from an
> already open terminal? Works for me opening from
> kde menu.

It fails in any case.

> > My purpose here is just to test sagemath under a normal scenario.
> 
> Maybe there is some dependency problem with the
> subpackages. What does "rpm -qa | grep sagemath"
> show?

# rpm -qa | grep sagemath
sagemath-core-5.8-2.fc19.x86_64
sagemath-5.8-2.fc19.x86_64
sagemath-data-graphs-5.8-2.fc19.noarch
sagemath-rubiks-5.8-2.fc19.x86_64
sagemath-data-5.8-2.fc19.noarch
sagemath-data-extcode-5.8-2.fc19.noarch
sagemath-data-polytopes_db-5.8-2.fc19.noarch
sagemath-doc-5.8-2.fc19.noarch
sagemath-data-elliptic_curves-5.8-2.fc19.noarch
sagemath-data-conway_polynomials-5.8-2.fc19.noarch
sagemath-doc-en-5.8-2.fc19.noarch
sagemath-sagetex-5.8-2.fc19.x86_64
sagemath-notebook-5.8-2.fc19.x86_64
Comment 70 José Matos 2013-04-16 10:30:13 EDT
(In reply to comment #67)
> Actually, there may be a problem right now,
> updating my test environment, as it may very
> likely be that it works with ipython-0.13.1
> but not ipython-0.13.2. Will know it shortly.

Honestly I think that this bug is unrelated to ipython. Looking into the backtrace we see the following:

# The above "hopefully" was wishful thinking:
-> 1336             return inspect.ArgSpec(*_sage_getargspec_cython(sage_getsource(obj)))

So it seems that the above *was not* wishful thinking. :-)

this then fails because sage_getsource(obj) returns None.
Comment 71 José Matos 2013-04-18 09:47:18 EDT
Jerry FWIW I think that this package is in a state where it is ready to be approved.
Comment 72 Jerry James 2013-04-18 18:02:12 EDT
> (In reply to comment #63)
>   Should I keep this chunk btw? Same issue as other review:
> ---%<---
> %post
> /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
> 
> %postun
> if [ $1 -eq 0 ] ; then
>     /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
>     /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
> fi
> 
> %posttrans
> /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
> ---%<---
> because the icon is actually installed under %{_datadir}/pixmaps, or
> should the icon be moved elsewhere (under %{_datadir}/pixmaps).

You don't need this for an icon installed in %{_datadir}/pixmaps.  I don't yet understand the relative merits of installing an icon in %{_datadir}/pixmaps versus %{_datadir}/icons/hicolor.  If somebody out there knows, please share that information.

(In reply to comment #71)
> Jerry FWIW I think that this package is in a state where it is ready to be
> approved.

Thanks, I do, too.  This package is APPROVED.(In reply to comment #64)
Comment 73 Paulo Andrade 2013-04-18 18:14:26 EDT
(In reply to comment #72)
> > (In reply to comment #63)

> (In reply to comment #71)
> > Jerry FWIW I think that this package is in a state where it is ready to be
> > approved.
> 
> Thanks, I do, too.  This package is APPROVED.(In reply to comment #64)

Thanks! I have been updating and keeping it more or less working
in fedora for a year. There are some known issues, but it should
pass over 90% of the doctests, and once having it official,
hopefully upstream will help more in making it easier for distros
to package it incorporated in the base system.

Time to comemorate :-)
Comment 74 Paulo Andrade 2013-04-18 18:17:03 EDT
New Package SCM Request
=======================
Package Name: sagemath
Short Description: A free open-source mathematics software system
Owners: pcpa
Branches: f18 f19
InitialCC:
Comment 75 Jon Ciesla 2013-04-22 09:02:00 EDT
Git done (by process-git-requests).
Comment 76 Paulo Andrade 2013-04-22 11:54:14 EDT
(In reply to comment #72)
> > (In reply to comment #63)
> >   Should I keep this chunk btw? Same issue as other review:
> > ---%<---
> > %post
> > /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
> > 
> > %postun
> > if [ $1 -eq 0 ] ; then
> >     /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
> >     /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
> > fi
> > 
> > %posttrans
> > /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
> > ---%<---
> > because the icon is actually installed under %{_datadir}/pixmaps, or
> > should the icon be moved elsewhere (under %{_datadir}/pixmaps).
> 
> You don't need this for an icon installed in %{_datadir}/pixmaps.  I don't
> yet understand the relative merits of installing an icon in
> %{_datadir}/pixmaps versus %{_datadir}/icons/hicolor.  If somebody out there
> knows, please share that information.

  I am about to upload it to git now. Only change was release bump and
removal of that chunk.

- Remove noop icon cache regeneration scriplets (#877651#72)
- First Fedora 18 and Fedora 19 approved package

  I believe installing in %{_datadir}/pixmaps is kind of KISS,
possibly with some extra runtime overhead, because there are
way too many subdirectories under %{_datadir}/icons, for
different themes, categories, resolutions, etc.

  Following some links, this should be the simplest usage
http://standards.freedesktop.org/icon-theme-spec/latest/ar01s07.html
Comment 77 Germano Massullo 2013-04-22 12:59:52 EDT
What about enabling SageMath to python-pp usage? Is it possible?
Comment 78 Paulo Andrade 2013-04-22 14:35:34 EDT
(In reply to comment #77)
> What about enabling SageMath to python-pp usage? Is it possible?

I think this is a task for upstream sagemath :-)
Comment 79 Fedora Update System 2013-04-23 03:44:08 EDT
sagemath-5.8-6.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/sagemath-5.8-6.fc19
Comment 80 Fedora Update System 2013-04-23 03:45:40 EDT
sagemath-5.8-6.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/sagemath-5.8-6.fc18
Comment 81 Fedora Update System 2013-04-23 12:44:23 EDT
sagemath-5.8-6.fc19 has been pushed to the Fedora 19 testing repository.
Comment 82 Rex Dieter 2013-04-23 16:48:27 EDT
Everyone involved in helping make this review happen has my (and users where I work) eternal gratitude.
Comment 83 Paulo Andrade 2013-04-23 18:10:48 EDT
(In reply to comment #70)
> (In reply to comment #67)
> > Actually, there may be a problem right now,
> > updating my test environment, as it may very
> > likely be that it works with ipython-0.13.1
> > but not ipython-0.13.2. Will know it shortly.
> 
> Honestly I think that this bug is unrelated to ipython. Looking into the
> backtrace we see the following:
> 
> # The above "hopefully" was wishful thinking:
> -> 1336             return
> inspect.ArgSpec(*_sage_getargspec_cython(sage_getsource(obj)))
> 
> So it seems that the above *was not* wishful thinking. :-)
> 
> this then fails because sage_getsource(obj) returns None.

I now did try to reproduce as close as possible what an
end user would do, and can now reproduce the problem.

I will make an update, sorry for the problem.

In the meantime, it should work if you install
sagemath-devel, *or*, run something like:

$ sudo ln -sf /usr/lib64/python2.7/site-packages /usr/lib64/sagemath/devel/sage

It is just a missing symlink provided by the -devel
package, and of course I always had the -devel package
installed :-)
Comment 84 José Matos 2013-04-23 18:53:09 EDT
That was my B plan. To install the -devel sub-package. :-)

But then I got distracted. :-)
Comment 85 Fedora Update System 2013-04-23 20:58:46 EDT
sagemath-5.8-7.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/sagemath-5.8-7.fc19
Comment 86 Fedora Update System 2013-04-23 21:00:19 EDT
sagemath-5.8-7.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/sagemath-5.8-7.fc18
Comment 87 Fedora Update System 2013-04-23 21:36:17 EDT
sagemath-5.8-6.fc18 has been pushed to the Fedora 18 testing repository.
Comment 88 Rex Dieter 2013-04-27 07:49:28 EDT
upgraded to 5.8-7, seeing some scriptlet errors:

  Cleanup    : sagemath-core-5.8-6.fc18.x86_64                                                                                                            85/111 
/sbin/ldconfig: relative path `1' used to build cache
warning: %postun(sagemath-core-5.8-6.fc18.x86_64) scriptlet failed, exit status 1
Non-fatal POSTUN scriptlet failure in rpm package sagemath-core-5.8-6.fc18.x86_64
  Cleanup    : sagemath-notebook-5.8-6.fc18.x86_64                                                                                                        86/111 
  Cleanup    : sagemath-rubiks-5.8-6.fc18.x86_64                                                                                                          87/111 
  Cleanup    : sagemath-sagetex-5.8-6.fc18.x86_64                                                                                                         88/111 
mktexlsr: /var/tmp/rpm-tmp.FWNuUJ: not a directory, skipping.
mktexlsr: 1: not a directory, skipping.
  Cleanup    : sagemath-5.8-6.fc18.x86_64
Comment 89 Paulo Andrade 2013-04-27 14:54:10 EDT
Thanks, just learned another rpm feature :-)

It should not use %post -p, or remove comments,
example:

--%<--
%postun core -p /sbin/ldconfig

# Use symlinks and a minor patch to the notebook to not bundle jmol
%post		notebook
--%<--

and then:

--%<--
$ rpm -q --scripts sagemath-core
postinstall program: /sbin/ldconfig
postuninstall scriptlet (using /sbin/ldconfig):

# Use symlinks and a minor patch to the notebook to not bundle jmol
--%<--

it is adding '#' as ldconfig argument.
Should rewrite as:

%postun core
    /sbin/ldconfig
    exit 0

or remove the comment before the notebook
subpackage %post

Maybe the correct approach is to patch rpm, as it
appears opensuse fixed it recently, there is a comment
about it in

http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets

But in the meantime I will keep this as a todo for
the next build, as the error is not fatal.
Comment 90 Fedora Update System 2013-04-27 23:51:11 EDT
sagemath-5.8-7.fc19 has been pushed to the Fedora 19 stable repository.
Comment 91 Fedora Update System 2013-05-07 14:28:10 EDT
sagemath-5.8-7.fc18 has been pushed to the Fedora 18 stable repository.
Comment 92 Fedora Update System 2013-05-19 11:23:19 EDT
sagemath-5.9-5.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/sagemath-5.9-5.fc18
Comment 93 Fedora Update System 2013-05-28 20:57:07 EDT
sagemath-5.9-5.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.