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. Regards, Nils. ------------------------------------------------------------------------- -- debian-scala HOWTO -- automatic source retrieval, compilation, and installation -- on non-linux architectures -- comments: [EMAIL PROTECTED] ------------------------------------------------------------------------- HISTORY: 1999-12-13 added details in apt section 1999-12-10 Created OBJECTIVE 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: [EMAIL PROTECTED] (for any apt related problems _only_) [email protected] (for any dpkg related problems _only_) [email protected] (for discussion) TODO: - check out on which systems it works - smooth out wringles in apt and debian installation (too much done by hand ATM) - 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: solaris openbsd hp-ux -- get apt from CVS cvs -d :pserver:[EMAIL PROTECTED]:/cvs/deity login (blank password) cvs -d :pserver:[EMAIL PROTECTED]:/cvs/deity co /cvs/deity -- configure the build tree make startup -- build make -- if there are any configure or build problems mail -complete- details to: [EMAIL PROTECTED] -- install the binaries and methods somewhere -- tell apt where to find its configuration file (not sure how atm) apt-config -- Create an apt configuration file vi ~/.apt.conf // Content: // (modify as needed...) // check doc/examples/configure-index for other settings acquire::http::proxy "http://wwwproxy.teradyne.com:80/"; dir { State "/u/lohner/apt/aptdata" { Status "status"; } Cache "/u/lohner/apt/aptdata"; Etc "/u/lohner/apt/aptdata"; Bin { methods "/u/lohner/misc/debian/apt/build/bin/methods"; } } -- Create a sources.list file vi ~/apt/aptdata/sources.list # Content: # 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 mkdir ~/apt mkdir ~/apt/aptdata mkdir ~/apt/aptdata/lists mkdir ~/apt/aptdata/lists/partial mkdir ~/apt/aptdata/archives mkdir ~/apt/aptdata/archives/partial -- touch the status file touch /u/lohner/apt/aptdata/status -- and get the packages files apt-get update -- you're ready to use it. apt-get source dpkg ///////////////////////////////////////////////////////////////////////// ### STEP 2: get and compile dpkg ///////////////////////////////////////////////////////////////////////// -- get dpkg from CVS cvs -d :pserver:[EMAIL PROTECTED]:/cvs/dpkg login (blank password) cvs -d :pserver:[EMAIL PROTECTED]:/cvs/dpkg co dpkg -- configure the build tree ./autogen.sh -- if you don't want dselect built (some c++ problems...) add '--without-dselect to the configure line in debian/build -- build make -f debian/rules build --install 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 ///////////////////////////////////////////////////////////////////////// ###Misc info 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 somedir/DEBIAN/control and dpkg-deb --build to make the deb <Manoj> CQ: 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 error checking?

