This is the source of the Frugalware Linux installer. Internals --------- The whole setup code is kept in the memory during the installation, so we try to keep it small. This means that all the programs we include in the initrd are written in C or is a shell script. No C++ or Python or anything else. For detailed developer information, see the HACKING file. Building -------- As root, run the following commands: ./configure make You need to be root as the downloaded packages are saved to pacman-g2's cache and you need to be able to mount the initrd image file. Hopefully you'll get the vmlinuz* and initrd*.img.gz files after make ends. If you would like to copy these to /usr/share/setup, issue 'make install' as root. From scratch ------------ If you never compiled the setup, you need the following steps: cd ~ mkdir git cd git git clone git://git.frugalware.org/pub/other/setup/setup git clone git://git.frugalware.org/pub/other/translations su - ln -s ~user/git ./ cd git/setup then read the section titled "Building". NOTE: you can place your setup repo where you want, and if you want to place your translations repo somewhere else, you just need to edit po/Makefile. Cleaning up ----------- If you have built the initrd in the past and you don't want to start from scratch, just run 'make distclean' as root. If you are using setup from the git repo, you should run 'git pull', too. Adding new translations ----------------------- 1) first create a translation using pootle 2) list the newly added language in src/plugins/asklang.c 3) modify the glibc buildscript to include support for the given locale Adding new packages ------------------- 1) add the package to the packages array in configure 2) add a target for it in the Makefile