Using Debian Ada packages on Ubuntu

Skip to first unread message


Feb 27, 2010, 5:27:55 AM2/27/10
I recently purchased an Eee PC (nice little gadget!). It didn't take
long to install Eeebuntu on it, a special edition of Ubuntu 9 for the
Eee PC. As others have already reported, the Ada packages on Ubuntu
are not as nice as the original ones available for Debian.

Is there a way to install the Debian Ada packages on an Ubuntu system?
Any experience or hints?


Ludovic Brenta

Feb 27, 2010, 7:06:21 AM2/27/10

I'd suggest creating a chroot and installing Debian in it, then do all
your programming work in the chroot. The procedure is a little
involved if you do it for the first time, but then it is very stable.
I have been using this for years; mu main system runs Debian a 64-bit
testing and my chroots run unstable in 32-bit and 64-bit mode

First, install the package debootstrap then read the man page
debootstrap(8). The manual page has a complete example of how to
create a sid (unstable) chroot. You can adjust this to a testing or
stable chroot, at your option.

Second, bind-mount your home directory and mount the /proc, /sys and /
dev/pts pseudo-filesystems in the chroot. You do this by adding lines
to /etc/fstab in your main system and then saying "mount -a" in your
main system as root; here is an excerpt from my own top-level /etc/

# unstable
proc /chroot/unstable/proc proc defaults 0 0
none /chroot/unstable/dev/pts devpts defaults 0 0
/var/tmp /chroot/unstable/tmp tmpfs bind 0 0
/home /chroot/unstable/home xfs bind 0 0

Third, copy /etc/passwd, /etc/shadow, /etc/group, /etc/passwd-, /etc/
shadow- and /etc/group- to /chroot/debian/etc to replicate the user
accounts from the main system to the chroot.

Fourth, install the package schroot in your top-level system.
Configure schroot to grant access to the chroot to select non-root
user. Here is an excerpt from my own /etc/shcroot/schroot.conf:

description=Debian sid (amd64)

Note that my user account belongs to the group "src" in /etc/group;
all members of this group have access to the chroot.

Fifth and last, as your normal user account, do:

$ schroot

(to start a shell in the Debian chroot), or

$ schroot -- aptitude

to start a command (in this case, aptitude) in the chroot.

I routinely run emacs in my main system and launch compilations with M-
x compile and a command such as:

$ schroot -- dpkg-buildpackage -uc -us
$ schroot -- gnatmake -P<package>

If you want to run GUI programs (such as gnat-gps) from the chroot,
simply export DISPLAY=:0 so they can see the X server running in your
main system.


Ludovic Brenta.


Feb 28, 2010, 12:37:51 PM2/28/10
Merci beaucoup, Ludovic.

Thanks to your detailed step-by-step description I got it working in
the first try.


Reply all
Reply to author
0 new messages