debian-scala HOWTO: Debian on non-Linux systems
Here's the HOWTO as it currently stands. I don't have a lot of time in the
coming weeks (lots of Real Work) so I wanted to give you guys a chance to
look it ofer, try it, and comment on it before I release it on debian-devel.
I assume a lot of people will be interested in it, so I'd rather have more
than less info in it before I post it there.
Please mail comments etc. I want to send it out thursday if possible.
-- debian-scala HOWTO
-- automatic source retrieval, compilation, and installation
-- on non-linux architectures
-- comments: email@example.com
1999-12-13 added details in apt section
The purpose of this document is to show how to set up a system that allows
the user to 'apt-get source' a package, compile it, and install it on any
operating system and any architecture.
Once this is basically working, it could lead to a 'make world' of Debian on
non-linux systems, and other fun goals.
Mailing Lists are:
firstname.lastname@example.org (for any apt related problems _only_)
email@example.com (for any dpkg related problems _only_)
firstname.lastname@example.org (for discussion)
- check out on which systems it works
- smooth out wringles in apt and debian installation (too much done by hand
- try actually compiling packages after apt-get source'ing (some comments at
bottom of howto)
- decide how the packages should install on non linux systems
(/usr/local/debian hierarchy, for example?)
### STEP 1: get and compile apt
Apt is currently known to work on the following non-Linux architectures:
-- get apt from CVS
cvs -d :pserver:anonymous@localhost:/cvs/deity login
cvs -d :pserver:anonymous@localhost:/cvs/deity co /cvs/deity
-- configure the build tree
-- if there are any configure or build problems
mail -complete- details to: email@example.com
-- install the binaries and methods somewhere
-- tell apt where to find its configuration file (not sure how atm)
-- Create an apt configuration file
// (modify as needed...)
// check doc/examples/configure-index for other settings
-- Create a sources.list file
# just one of the main mirrors... pick one more local to you.
deb-src http://samosa.debian.org/debian potato main contrib non-free
-- Create the directory hierarchy that you need for APT to work
-- touch the status file
-- and get the packages files
-- you're ready to use it.
apt-get source dpkg
### STEP 2: get and compile dpkg
-- get dpkg from CVS
cvs -d :pserver:anonymous@localhost:/cvs/dpkg login
cvs -d :pserver:anonymous@localhost:/cvs/dpkg co dpkg
-- configure the build tree
-- if you don't want dselect built (some c++ problems...)
add '--without-dselect to the configure line in debian/build
make -f debian/rules build
make DESTDIR=<your_favorite_root_path> install
CAUTION: This will create an ENTIRE TREE with dpkg installed in it for you!
### STEP 3: get and compile packages
dpkg-source -x and dpkg-buildpackage -B
<Espy> at the lowest level you make a tree of files in somedir the same as
they are to be in the package, put maintainer scripts and other control
stuff in somedir/DEBIAN, use dpkg-gencontrol to make
and dpkg-deb --build to make the deb
apt-get source <PKG>; cd `ls -1`; ./debian/rules binary; dpkg -i ../*.deb
<Manoj> CQ: what is lacking from dpkg -BOGiE ../*.deb; apart from a little