Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=c5aeba1d2a07dcc28268c3c506a9eefd814eb942

commit c5aeba1d2a07dcc28268c3c506a9eefd814eb942
Author: Miklos Vajna <vmik...@frugalware.org>
Date:   Wed Aug 12 00:25:09 2009 +0200

docs: add new 'porting howto'

diff --git a/docs/index-devel.txt b/docs/index-devel.txt
index f62ac38..274fa34 100644
--- a/docs/index-devel.txt
+++ b/docs/index-devel.txt
@@ -38,6 +38,8 @@ Documentation:

* link:translations.html[Translations]

+* link:porting-howto.html[How to port Frugalware to a new architecture]
+
Appendix:

* link:license.html[GNU Free Documentation License]
diff --git a/docs/index.txt b/docs/index.txt
index 08cd069..3569fd6 100644
--- a/docs/index.txt
+++ b/docs/index.txt
@@ -79,6 +79,8 @@ Technical documentation:

* link:translations.html[Translations]

+* link:porting-howto.html[How to port Frugalware to a new architecture]
+
Appendix:

* link:license.html[GNU Free Documentation License]
diff --git a/docs/porting-howto.txt b/docs/porting-howto.txt
new file mode 100644
index 0000000..c8760d6
--- /dev/null
+++ b/docs/porting-howto.txt
@@ -0,0 +1,50 @@
+= How to port Frugalware to a new architecture
+
+== Introduction
+
+This document is a draft about how to port Frugalware to a new architecture.
+
+== Toolchain
+
+* Install any existing distro to the given architecture. No matter what
+kind of it, but make sure you install the normal development tools like
+header files, gcc, make, etc.
+
+* Compile from source (based on the FrugalBuilds) our development
+tools like pacman-g2, pacman-tools (+ deps: libarchive, etc if they are
+not available.)
+
+* Build a minimal toolchain: binutils, gcc, glibc (in this order)
+  outside chroot, with dep checking disabled (makepkg -dHcu).
+
+* Build packages which are necessary to build in chroot: see the
+  COREPKGS variable in /etc/makepkg.conf (same makepkg switches).
+
+Given that repoman won't allow you to upload which are not built in
+chroot, here is a simple script to upload and register then till you
+don't have a chroot:
+
+----
+#!/bin/sh
+scp *.fpm genesis:git/current/frugalware-ppc
+pkgname=$(pwd|sed 's|.*/||')
+ssh genesis "cd git/current/frugalware-ppc; arch=ppc updatesync upd 
frugalware-current.fdb ../source/*/$pkgname/FrugalBuild"
+----
+
+Replace genesis with the server name and git/current with an other path
+if you don't have such a symlink in your HOME.
+
+Now you can start building in chroot and uploading real packages.
+
+NOTE: Yes, this means that you have to build the toolchain twice. Also
+known as 'bootstrapping'.
+
+== Base system
+
+You should start porting with packages from the 'base' category, once
+you are done with it, you should be able to install (manually) a
+bootable system, after manually configuring a boot manager.
+
+== The rest
+
+That depends on your needs, you can port additional packages as well.
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to