1 |
This week is my last for SoC this summer, so unless I do something |
2 |
groundbreaking tomorrow, this will be my last status report. I was |
3 |
hoping to be able to show off a working server with Ingenue running on |
4 |
it by this time, but I'm still waiting for all the difficulties with |
5 |
getting a root-access server to get ironed out. The project is in |
6 |
pretty good shape, though. I have one important change to make to the |
7 |
frontend tomorrow (just moving some options from the middle of the |
8 |
config process where they don't belong to the end) and some minuscule |
9 |
tweaks to the database structure to allow for better extendibility in |
10 |
the future. Some usage or hacking instructions are also on the to-do |
11 |
list. For anyone interested in testing it out on their own computer |
12 |
or looking at the source code, I've finally created an ebuild [0]. |
13 |
I'm putting some basic usage instructions at the end of this message. |
14 |
My biggest accomplishment of late was adapting the backend to work in |
15 |
stages such that if it is stopped at any time, it will automatically |
16 |
start where it left off next time it is started (except for places |
17 |
where some command fails if it has already been run - fixing that is |
18 |
on the to-do list). This is incredibly helpful when troubleshooting |
19 |
things later in the build process since I can skip up to 10 minutes of |
20 |
building prior to the point where problems happen. The status page is |
21 |
also a little more detailed now as it shows approximately how much of |
22 |
the build process has been completed. |
23 |
I also implemented a handful of new options so that most of the parts |
24 |
of the Gentoo install guide that seem worthwhile (and possible) to me |
25 |
have been implemented [1]. I also created an update script to help |
26 |
keeping stage3 tarballs and other external files up to date (currently |
27 |
only FTP is supported since it makes it easy to get a directory |
28 |
listing along with file size and mtime). I fixed quite a large number |
29 |
of bugs that crept into the backend while I was working on other parts |
30 |
of the project. One of the most important things I spent my time on |
31 |
this week was quality of code. I moved a lot of code from place to |
32 |
place to minimize repeating the same code and to make the flow more |
33 |
clear. With a few exceptions, I think the code is in great shape for |
34 |
continued development. Hopefully I'll be able to deploy it soon and |
35 |
people will be able to make good use of it. Towards that end, I had |
36 |
great success in building an image which, with around a dozen |
37 |
commands, I was able to install on a qemu machine and run Ingenue on |
38 |
to replicate itself again. |
39 |
Lastly, I'd like to thank my mentor killerx, along with all the others |
40 |
who have helped me with this project - solar, zmedico, robbat2, |
41 |
agaffney, and others. I've really enjoyed working with the Gentoo |
42 |
community (though I had to break the brief habit of reading everything |
43 |
that went by on #gentoo since it caused something of a skydive in my |
44 |
productivity). I'm looking forward to continuing to improve Ingenue |
45 |
and otherwise contribute to Gentoo once I get adjusted to college life |
46 |
a little bit (my next non-Ingenue project is getting |
47 |
pam-face-authentication [2] into portage - the ebuild is pretty |
48 |
outdated). |
49 |
|
50 |
[0] http://git.overlays.gentoo.org/gitweb/?p=proj/ingenue.git;a=blob_plain;f=ingenue-9999.ebuild;hb=HEAD |
51 |
[1] http://git.overlays.gentoo.org/gitweb/?p=proj/ingenue.git;a=blob_plain;f=gentoo-steps;hb=HEAD |
52 |
[2] http://code.google.com/p/pam-face-authentication/ |
53 |
|
54 |
1) Edit shared/config.php (the ebuild installs in /usr/share/ingenue - |
55 |
probably not the right place, but I'll fix that when I figure out what |
56 |
the right place is) to your liking. It's fairly well commented |
57 |
already and most things can be left commented to use intelligent |
58 |
defaults. |
59 |
2) Make sure that you have a Gentoo packages directory (with Packages |
60 |
file) at the location specified in the config file (you can offer more |
61 |
than one profile by putting the repos (or symlinking them) as |
62 |
subdirectories of the directory in the config - it searches |
63 |
recursively for Packages files) |
64 |
3) Configure cache/conf to download stage3 images for the appropriate |
65 |
archs (follow the example of the entries already there) - also install |
66 |
CDs if you want them and a portage snapshot unless you want to spend a |
67 |
long time copying your local portage tree file-by-file |
68 |
4) Run setup.php and update_cache.php |
69 |
5) Configure your web server to make the frontend directory available |
70 |
and navigate to it (currently, it is necessary to use Apache with |
71 |
mod_rewrite and htaccess files enabled or in some other way redirect |
72 |
all traffic to index.php) |
73 |
6) Run update_cache.php to update to newer stage3's, CDs, portage |
74 |
snapshots (it checks filename/modtime to avoid downloading the same |
75 |
versions repeatedly) |
76 |
7) Whenever your package repos are updated, run update_gentoo_profiles |
77 |
to update the database with the changes |
78 |
8) Report bugs! (I hope there aren't too many, but it's been somewhat |
79 |
difficult to test comprehensively) |