Opened 11 years ago

Last modified 11 years ago

#10801 closed enhancement

Create a new option: "sage -strip" which deletes things that aren't needed for a binary distribution of sage, or for people that will never develop or upgrade — at Version 3

Reported by: was Owned by: tbd
Priority: major Milestone: sage-4.7.2
Component: packages: standard Keywords: sd32
Cc: jason, kcrisman Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by was)

This is a frequently requested feature. We should start with some little script that does this, and build on it. I tried all the following, and ran the test suite and it worked fine.

  • rm SAGE_ROOT/local/lib/*.a
  • rm SAGE_ROOT/devel/sage/build/lib.*
  • rm SAGE_ROOT/devel/sage/build/temp.*
  • strip SAGE_ROOT/local/bin/Singular-* SAGE_ROOT/local/bin/gfan # gfan is a huge win.
  • jsmath image fonts are in MoinMoin? and are *HUGE*. Just delete everything related to moinmoin...
  • strip SAGE_ROOT/local/lib/*.so
  • rm -rf SAGE_ROOT/local/python/site-package/MoinMoin
  • rm all files in SAGE_ROOT/devel/sage/sage/ that begin "* Generated by Cython" (I didn't do that)

Change History (3)

comment:1 Changed 11 years ago by jason

  • Cc jason added

It seems like the LiveCD folks have also worked on stuff like this...

comment:2 Changed 11 years ago by kini

If we mount a sage source installation with mount option strictatime or relatime we can just touch all the files to have an access time in the deep past (with something like cd $SAGE_ROOT ; for x in $(find) ; do touch -ad "1981-02-03 04:05:06" ; done), then run the whole doctest suite, then use stat() to find files which were unused. This should give us a good idea of what is never used. Unfortunately this does not seem possible on sage.math - POSIX atime is not respected in my homedir, probably as it is mounted over NFS...

comment:3 Changed 11 years ago by was

  • Description modified (diff)
Note: See TracTickets for help on using tickets.