[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r11763: Add some basic notes on working on the Incognito project. (incognito/trunk)
Author: double
Date: 2007-10-04 12:52:26 -0400 (Thu, 04 Oct 2007)
New Revision: 11763
Added:
incognito/trunk/hacking.html
Log:
Add some basic notes on working on the Incognito project.
Added: incognito/trunk/hacking.html
===================================================================
--- incognito/trunk/hacking.html (rev 0)
+++ incognito/trunk/hacking.html 2007-10-04 16:52:26 UTC (rev 11763)
@@ -0,0 +1,69 @@
+<html>
+<head>
+<title>Incognito Hacking</title>
+</head>
+
+
+<body>
+
+<p>
+Help is always appreciated. Most help will probably be in the way of patches sent to <a href="mailto:pat@xxxxxxxxxxxxx">pat@xxxxxxxxxxxxx</a>. Please do send patches, not entire files. That way I can see your changes and if the file(s) are you changing have changed since you updated, there is a better chance the change can be applied. Checkout <a href="https://tor-svn.freehaven.net/svn/incognito/trunk">https://tor-svn.freehaven.net/svn/incognito/trunk</a>, make your changes, and run "svn diff" to create the patch. If you are very active and seem to know what you are doing we may give you an SVN account, but don't ask right away.
+</p>
+
+<h1>Pre-reqs</h1>
+
+<p>You must know something about the following technologies:</p>
+<ul>
+<li>Gentoo Linux - the base operating system</li>
+<li>Catalyst - the Gentoo release media tool</li>
+<li>Subversion - the source code management tool</li>
+</ul>
+
+<p>
+Before submitting patches make sure you can build and test the CD. See building.html for build instructions. You can use an emulator/virtualizer such as QEMU or Virtual PC to test it.
+</p>
+
+<h1>Updating Packages</h1>
+
+<p>Updating packages happens in portage.overlay. The following steps with bump the version number. Anything more indepth you'll need to learn how ebuilds work.</p>
+<ol>
+<li>cd to portage.overlay/category/package</li>
+<li>svn mv package-version.ebuild package-newversion.ebuild</li>
+<li>svn rm files/digest-package-version</li>
+<li>ebuild package-newversion.ebuild manifest</li>
+</ol>
+
+<h1>Important Files</h1>
+
+<dl>
+
+<dt>arch/x86/stage{1,2,3}.spec</dt>
+<dd>
+Specification for the stage 1-3 tarballs. Don't change these unless you really know what you are doing.
+</dd>
+
+<dt>arch/x86/livecd-stage1{,-tiny}.spec</dt>
+<dd>
+Specification for the main CD build. This gives the packages and use flags that are desired. Do not add packages that depend on the kernel sources being installed, that goes in livecd-stage2.spec.
+</dd>
+
+<dt>arch/x86/livecd-stage2{,-tiny}.spec</dt>
+<dd>
+Specification for the final stage of the CD build. livecd-stage2 basically takes livecd-stage1 and modifies it for use on a live CD. The kernel is built, packages depending on the kernel are installed, package configuration is done, unnecessary packages and files removed, etc. Most changes will have to do with livecd-stage2 and mostly you can rebuild this stage to get your changes.
+</dd>
+
+<dt>fsscript.sh</dt>
+<dd>
+This script is run in the chroot environment of livecd-stage2. Look at it to see some things you might need to do.
+</dd>
+
+<dt>livecd-stage2.sh</dt>
+<dd>
+This script does pre-processing for livecd-stage2{,-tiny}.spec. If you need to generate files for the overlay programatically, this is the place to do it.
+</dd>
+
+</dl>
+
+</body>
+</html>
+