DS9

DS9 is available directly on the web.

It's also available as a package in debian.

However, it doesn't seem to be directly available for ubuntu.

dkg will build this package for ubuntu from the debian sources and document how it was done here.

First, on a debian machine whose /etc/apt/sources.list contains the unstable repository, fetch the source, and pass it off to an ubuntu machine for the build:

[dkg@squeak ~]$ mkdir -p src/saods9
[dkg@squeak ~]$ cd src/saods9
[dkg@squeak saods9]$ apt-get source -d saods9 
Reading package lists... Done
Building dependency tree... Done
Need to get 7384kB of source archives.
Get:1 http://ftp.debian.org unstable/main saods9 4.0b7-1 (dsc) [648B]
Get:2 http://ftp.debian.org unstable/main saods9 4.0b7-1 (tar) [7355kB]
Get:3 http://ftp.debian.org unstable/main saods9 4.0b7-1 (diff) [29.1kB]       
Fetched 7384kB in 48s (152kB/s)                                                
Download complete and in download only mode
[dkg@squeak saods9]$ cd ..
[dkg@squeak src]$ scp -r saods9/ metis:src/
saods9_4.0b7-1.dsc                            100%  648     0.6KB/s   00:00    
saods9_4.0b7.orig.tar.gz                      100% 7182KB  79.8KB/s   01:30    
saods9_4.0b7-1.diff.gz                        100%   28KB  28.4KB/s   00:00    
[dkg@squeak src]$ 

Next, on an ubuntu machine, ensure that the basic build-essential tools are installed, and then:

[dkg@metis ~]$ cd src/saods9/
[dkg@metis saods9]$ dpkg-source -x saods9_4.0b7-1.dsc 
dpkg-source: extracting saods9 in saods9-4.0b7
dpkg-source: unpacking saods9_4.0b7.orig.tar.gz
dpkg-source: applying ./saods9_4.0b7-1.diff.gz
[dkg@metis saods9]$ cd saods9-4.0b7/
[dkg@metis saods9-4.0b7]$ debuild -uc -us
dpkg-buildpackage: source package is saods9
dpkg-buildpackage: source version is 4.0b7-1
dpkg-buildpackage: source changed by Justin Pryzby <justinpryzby@users.sf.net>
dpkg-buildpackage: host architecture i386
dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 4.0.0) libtk-img zlib1g-dev blt-dev tcl8.4-dev tcllib tk8.4-dev tktable-dev g77
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
debuild: fatal error at line 765:
dpkg-buildpackage failed!
[dkg@metis saods9-4.0b7]$ 

This lets us know that there are missing build dependencies. these are easily fixed:

[dkg@metis saods9-4.0b7]$ sudo apt-get install debhelper libtk-img zlib1g-dev blt-dev tcl8.4-dev tcllib tk8.4-dev tktable-dev g77
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
  cpp-3.4 debconf-utils g77-3.4 gcc-3.4 gettext html2text intltool-debian libg2c0-dev libice-dev libsm-dev libx11-dev libxt-dev po-debconf tktable x-dev
  x11proto-core-dev x11proto-kb-dev
Suggested packages:
  blt-demo dh-make g77-doc g77-3.4-doc gcc-3.4-doc libc6-dev-amd64 gettext-doc tcl8.4-doc tk8.4-doc
Recommended packages:
  curl libmail-sendmail-perl libcompress-zlib-perl
The following NEW packages will be installed:
  blt-dev cpp-3.4 debconf-utils debhelper g77 g77-3.4 gcc-3.4 gettext html2text intltool-debian libg2c0-dev libice-dev libsm-dev libtk-img libx11-dev libxt-dev
  po-debconf tcl8.4-dev tcllib tk8.4-dev tktable tktable-dev x-dev x11proto-core-dev x11proto-kb-dev zlib1g-dev
0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.3MB/13.7MB of archives.
After unpacking 42.6MB of additional disk space will be used.
Do you want to continue [Y/n]? 
Get:1 http://us.archive.ubuntu.com breezy/main x11proto-core-dev 6.8.99.15+cvs.20050722-1 [74.0kB]
Get:2 http://us.archive.ubuntu.com breezy/main libice-dev 1:6.3.5-4 [50.6kB]
Get:3 http://us.archive.ubuntu.com breezy/main libsm-dev 1:6.0.4-4 [16.6kB]
Get:4 http://us.archive.ubuntu.com breezy/main x11proto-kb-dev 1.0+cvs.20050817-1 [26.0kB]
Get:5 http://us.archive.ubuntu.com breezy/main libx11-dev 1:6.2.1+cvs.20050722-8 [1117kB]
Get:6 http://us.archive.ubuntu.com breezy/main libxt-dev 1:0.99.0+cvs.20050803-3 [212kB]
Get:7 http://us.archive.ubuntu.com breezy/main cpp-3.4 3.4.4-6ubuntu8 [1707kB]
Get:8 http://us.archive.ubuntu.com breezy/main libg2c0-dev 1:3.4.4-6ubuntu8 [142kB]
Get:9 http://us.archive.ubuntu.com breezy/main gcc-3.4 3.4.4-6ubuntu8 [484kB]
Get:10 http://us.archive.ubuntu.com breezy/main g77-3.4 3.4.4-6ubuntu8 [1846kB]
Get:11 http://us.archive.ubuntu.com breezy/main g77 4:3.4.4-5 [1242B]
Get:12 http://us.archive.ubuntu.com breezy/universe libtk-img 1:1.3-13 [425kB]
Get:13 http://us.archive.ubuntu.com breezy/main tcl8.4-dev 8.4.9-1 [709kB]
Get:14 http://us.archive.ubuntu.com breezy/universe tcllib 1.6.1-1 [1215kB]
Get:15 http://us.archive.ubuntu.com breezy/main x-dev 6.8.99.15+cvs.20050722-1 [2812B]
Get:16 http://us.archive.ubuntu.com breezy/main tk8.4-dev 8.4.9-1build1 [773kB]
Get:17 http://us.archive.ubuntu.com breezy/universe tktable 2.9-1 [96.3kB]
Get:18 http://us.archive.ubuntu.com breezy/universe tktable-dev 2.9-1 [104kB]
Get:19 http://us.archive.ubuntu.com breezy/main zlib1g-dev 1:1.2.3-3ubuntu4 [404kB]
Get:20 http://us.archive.ubuntu.com breezy/main blt-dev 2.4z-3ubuntu1 [1906kB]
Fetched 11.3MB in 6s (1765kB/s)                                                                                                                                        

Preconfiguring packages ...
Selecting previously deselected package x11proto-core-dev.
(Reading database ... 63325 files and directories currently installed.)
Unpacking x11proto-core-dev (from .../x11proto-core-dev_6.8.99.15+cvs.20050722-1_all.deb) ...
Selecting previously deselected package libice-dev.
Unpacking libice-dev (from .../libice-dev_1%3a6.3.5-4_i386.deb) ...
Selecting previously deselected package libsm-dev.
Unpacking libsm-dev (from .../libsm-dev_1%3a6.0.4-4_i386.deb) ...
Selecting previously deselected package x11proto-kb-dev.
Unpacking x11proto-kb-dev (from .../x11proto-kb-dev_1.0+cvs.20050817-1_all.deb) ...
Selecting previously deselected package libx11-dev.
Unpacking libx11-dev (from .../libx11-dev_1%3a6.2.1+cvs.20050722-8_i386.deb) ...
Selecting previously deselected package libxt-dev.
Unpacking libxt-dev (from .../libxt-dev_1%3a0.99.0+cvs.20050803-3_i386.deb) ...
Selecting previously deselected package cpp-3.4.
Unpacking cpp-3.4 (from .../cpp-3.4_3.4.4-6ubuntu8_i386.deb) ...
Selecting previously deselected package debconf-utils.
Unpacking debconf-utils (from .../debconf-utils_1.4.56ubuntu2_all.deb) ...
Selecting previously deselected package html2text.
Unpacking html2text (from .../html2text_1.3.2a-2build1_i386.deb) ...
Selecting previously deselected package gettext.
Unpacking gettext (from .../gettext_0.14.5-2ubuntu2_i386.deb) ...
Selecting previously deselected package intltool-debian.
Unpacking intltool-debian (from .../intltool-debian_0.30+20040213_all.deb) ...
Selecting previously deselected package po-debconf.
Unpacking po-debconf (from .../po-debconf_0.8.23_all.deb) ...
Selecting previously deselected package debhelper.
Unpacking debhelper (from .../debhelper_4.9.5ubuntu1_all.deb) ...
Selecting previously deselected package libg2c0-dev.
Unpacking libg2c0-dev (from .../libg2c0-dev_1%3a3.4.4-6ubuntu8_i386.deb) ...
Selecting previously deselected package gcc-3.4.
Unpacking gcc-3.4 (from .../gcc-3.4_3.4.4-6ubuntu8_i386.deb) ...
Selecting previously deselected package g77-3.4.
Unpacking g77-3.4 (from .../g77-3.4_3.4.4-6ubuntu8_i386.deb) ...
Selecting previously deselected package g77.
Unpacking g77 (from .../g77_4%3a3.4.4-5_i386.deb) ...
Selecting previously deselected package libtk-img.
Unpacking libtk-img (from .../libtk-img_1%3a1.3-13_i386.deb) ...
Selecting previously deselected package tcl8.4-dev.
Unpacking tcl8.4-dev (from .../tcl8.4-dev_8.4.9-1_i386.deb) ...
Selecting previously deselected package tcllib.
Unpacking tcllib (from .../tcllib_1.6.1-1_all.deb) ...
Selecting previously deselected package x-dev.
Unpacking x-dev (from .../x-dev_6.8.99.15+cvs.20050722-1_all.deb) ...
Selecting previously deselected package tk8.4-dev.
Unpacking tk8.4-dev (from .../tk8.4-dev_8.4.9-1build1_i386.deb) ...
Selecting previously deselected package tktable.
Unpacking tktable (from .../tktable_2.9-1_i386.deb) ...
Selecting previously deselected package tktable-dev.
Unpacking tktable-dev (from .../tktable-dev_2.9-1_i386.deb) ...
Selecting previously deselected package zlib1g-dev.
Unpacking zlib1g-dev (from .../zlib1g-dev_1%3a1.2.3-3ubuntu4_i386.deb) ...
Selecting previously deselected package blt-dev.
Unpacking blt-dev (from .../blt-dev_2.4z-3ubuntu1_i386.deb) ...
Setting up x11proto-core-dev (6.8.99.15+cvs.20050722-1) ...
Setting up libice-dev (6.3.5-4) ...
Setting up libsm-dev (6.0.4-4) ...
Setting up x11proto-kb-dev (1.0+cvs.20050817-1) ...
Setting up libx11-dev (6.2.1+cvs.20050722-8) ...
Setting up libxt-dev (0.99.0+cvs.20050803-3) ...
Setting up cpp-3.4 (3.4.4-6ubuntu8) ...
Setting up debconf-utils (1.4.56ubuntu2) ...

Setting up html2text (1.3.2a-2build1) ...

Setting up gettext (0.14.5-2ubuntu2) ...

Setting up intltool-debian (0.30+20040213) ...
Setting up po-debconf (0.8.23) ...
Setting up debhelper (4.9.5ubuntu1) ...
Setting up libg2c0-dev (3.4.4-6ubuntu8) ...
Setting up gcc-3.4 (3.4.4-6ubuntu8) ...
Setting up g77-3.4 (3.4.4-6ubuntu8) ...
Setting up g77 (3.4.4-5) ...

Setting up libtk-img (1.3-13) ...

Setting up tcl8.4-dev (8.4.9-1) ...

Setting up tcllib (1.6.1-1) ...
Setting up x-dev (6.8.99.15+cvs.20050722-1) ...
Setting up tk8.4-dev (8.4.9-1build1) ...
Setting up tktable (2.9-1) ...
Setting up tktable-dev (2.9-1) ...
Setting up zlib1g-dev (1.2.3-3ubuntu4) ...
Setting up blt-dev (2.4z-3ubuntu1) ...
[dkg@metis saods9-4.0b7]$ 

And now we can try the build again:

[dkg@metis saods9-4.0b7]$ debuild -uc -us
 ... lots of compilation spew snipped ...

i needed to make a few changes to the source code of this package to make it work under breezy, but once i did that, it all seems to have compiled fine. To install the new package, i did:

[dkg@metis saods9-4.0b7]$ cd ..
[dkg@metis saods9]$ sudo dpkg --install saods9_4.0b7-1.dkgbreezy0_i386.deb 
Password:
Selecting previously deselected package saods9.
(Reading database ... 64927 files and directories currently installed.)
Unpacking saods9 (from saods9_4.0b7-1.dkgbreezy0_i386.deb) ...
Setting up saods9 (4.0b7-1.dkgbreezy0) ...

[dkg@metis saods9]$