Processing Math: Done
No jsMath TeX fonts found -- using unicode fonts instead.
This may be slow and might not print well.
Use the jsMath control panel to get additional information.
jsMath Control PanelHide this Message


jsMath
Differences between revisions 9 and 10
Revision 9 as of 2008-02-07 10:58:40
Size: 4011
Editor: TimAbbott
Comment:
Revision 10 as of 2008-02-07 20:46:28
Size: 4060
Comment: using the chroot environments
Deletions are marked like this. Additions are marked like this.
Line 78: Line 78:
== Using the chroot environments ==
 * FIXME

Debian release to support

sbuild: lenny x86-64: can create 32 & 64 bit arch specific packages, ~12 in total:

  • Ubuntu LTS
  • last two Ubuntu releases
  • >=etch

Make check

  • use schroot to run "make check"

Problematic Packages

  • ATLAS (atlas-sage-x.y or version bump)
  • Python (python-sage-x.y or version bump)
  • jmol - potential conflict with gcj in stable (testing an above fine)
  • Maxima: copies mgnuplot script to libexec (Maxima is already in Debian)

Changelog

  • needs to be kept in sync with SPKG.txt (automated mechanism)
  • dch (Debian changelog)

Initially

  • webserver for static only content
  • set up apt-get repo on $SAGE.MATH
  • To set up repo: reprpro + gpg key for signing
  • domain: maybe "debian.sagemath.org" or "sagemath.org/debian"

Problem to be solved

  • Install location: /usr/share/sage/ - "sage" script in bin does cd and
    • then execute the appropriate sage scipt in /usr/share/sage/
  • location of tmp, i.e. TMP,/tmpor/var/tmp,notSAGE_ROOT/tmp

  • SAGE_ROOT/ipython - why is it there. What is the content (config files?)
  • databases in $SAGE_ROOT/data -> /use/share/sage/data

  • spkg directory: gone or moved to sage-dev.deb
  • make distclean: remove "*.c", "*.so", "*.os" in /devel/sage/
  • content of examples directory: What to do with the code?
  • LIB -> lib - Singular related, move to lib/Singular

  • text files from $SAGE_ROOT: /usr/share/doc/sage
  • create official Sage GPG key to sign packages

Package names

  • Comply with Debian policy when possible
  • libraries (for example NTL):
    • ntl_5.4.1-1.dsc (the source source package), tarball with debian directory
    • libntl0_5.4.1-1_i386.deb (initial NTL version, i.e. "0", contains shared library)
    • libntl-dev_5.4.1-1_i386.deb (headers & static libraries)

  • binary (eclib)
    • eclib_1.0_i386.deb (binaries)
    • libec0_1.0_i386.deb (shared libraries)
    • libec-dev_1.0_i386.deb (headers & static libraries)

  • Singular
    • To be determined

Setting up the build system (In Detail)

  • Start Debian installer
  • Partitioning method: "Guided - use entire disk and set up LVM" - accept defaults and write LVM init to disk
  • delete original main LVM volume, create new VG, say with 10GB
  • set up accounts for root and users as usual
  • update to lenny: edit /etc/apt/source and replace "etch" with "lenny"
  • "aptitude update"
  • "aptitude dist-upgrade" (wait a while :) )

  • download Tim's script collection from the main Deb packaging page [http://www.sagemath.org:9001/days7/DebianPackagingSprint?action=AttachFile (tarballs here for now)], untar ...

  • file "packages" contains list of packages needed for the build system
  • aptitude install cat packages installs the packages listed in packages

  • file "approx.conf.tail": append file to approx.conf - make sure to set a fast mirror, i.e. not the MIT repo
  • restart approx service via "/etc/init.d/approx restart"
  • edit make-chroot and set $VG to volume group name or export VG
  • Now create change roots for various targets using make-chroot: Parameters 1isSUITE(i.e.lenny),2 is ARCH (i.e. i386)

  • If things go wrong remove lvm group created :(

  • download Tim's other script collection from the main Deb packaging page [http://www.sagemath.org:9001/days7/DebianPackagingSprint?action=AttachFile (tarballs for now)], untar into /usr/local/bin ...

  • export DEBATHENA_APT=(path to SAGE apt repository)

Using the chroot environments

  • FIXME

To actually do builds

  • get SAGE .spkg and unpack into DIR
  • copy debian directory into $DIR/src
  • build source package using debuild -S from inside package directory ($DIR/src)
  • build binary packages using "da sbuildhack [resulting .dsc file]" from $DIR
  • upload into SAGE repository using "daupload-release [resulting .changes file]" from $DIR
  • use clean-schroots whenever you run out of disk space due to stale build chroots (often get leaked when you do ^C during a build)

days7/DebianPackagingSprint (last edited 2009-03-26 01:09:18 by MichaelAbshoff)