From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Mbjxp-0005h6-PQ for garchives@archives.gentoo.org; Thu, 13 Aug 2009 23:44:10 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4B1F0E0499; Thu, 13 Aug 2009 23:44:08 +0000 (UTC) Received: from mail-bw0-f215.google.com (mail-bw0-f215.google.com [209.85.218.215]) by pigeon.gentoo.org (Postfix) with ESMTP id C6DA9E046F; Thu, 13 Aug 2009 23:44:07 +0000 (UTC) Received: by bwz11 with SMTP id 11so1006730bwz.15 for ; Thu, 13 Aug 2009 16:44:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to :content-type:content-transfer-encoding; bh=rmdRoyAE4nhqYdAL2BFPAdsi05iuThcYVfzaCMdpfJM=; b=QksReRx/3BBZh0on0HTVXHGnjyOmRPSYArD2iscZuYQeJMMscYALB/OECmcL9w+H+m kwEY+RGGSkYDwlt4J5k4ppaMsTHN0Xghqb9saCcnKccMiT7RSLeDZ8d8kUi8HmaR7y9/ DLuJvAG+wYBii3le1HC68jTY0/4EWUvTLwT9M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type :content-transfer-encoding; b=Z5PnlOm01dpstVWqea+PrNvhwZEW1M1n9St3BzHWxOkC/x7dM+n6CeCCylizkp64cf /Xmc3D+ERO/XBrf/idAPmT+6NUpXb6vkxhpwzBilKzv0Zdb4iIzA4ZuQQOST5C/KZ82P 3Gx84iY7RdsvwdcMzpb/xJGusyEskYhv4Dba4= Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Sender: shminoach@gmail.com Received: by 10.204.152.214 with SMTP id h22mr863169bkw.197.1250207047105; Thu, 13 Aug 2009 16:44:07 -0700 (PDT) In-Reply-To: <36df18050907281511v1c611491l1c83ec7230395325@mail.gmail.com> References: <36df18050906191355nf4d9c18k3e42310860b39b19@mail.gmail.com> <36df18050907031502p2d9800c6j8ba08402e86b1b79@mail.gmail.com> <36df18050907101146r73af5853ibc8a45bcf70aee5@mail.gmail.com> <36df18050907171432i79b028a7o3242712ff4c3dcf6@mail.gmail.com> <36df18050907281511v1c611491l1c83ec7230395325@mail.gmail.com> From: Eitan Mosenkis Date: Thu, 13 Aug 2009 19:43:47 -0400 X-Google-Sender-Auth: 72c173c534194805 Message-ID: <36df18050908131643u51b7be2dt232cf4c82aa865ea@mail.gmail.com> Subject: [gentoo-dev] Re: [GSoC status] Web-based image builder To: Gentoo SoC , Gentoo Dev Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Archives-Salt: a27b2f0a-b308-4f0d-b9c7-8fa6a7a4f45a X-Archives-Hash: abaf93f2d6982cb01852ea603d8699df This week is my last for SoC this summer, so unless I do something groundbreaking tomorrow, this will be my last status report. I was hoping to be able to show off a working server with Ingenue running on it by this time, but I'm still waiting for all the difficulties with getting a root-access server to get ironed out. The project is in pretty good shape, though. I have one important change to make to the frontend tomorrow (just moving some options from the middle of the config process where they don't belong to the end) and some minuscule tweaks to the database structure to allow for better extendibility in the future. Some usage or hacking instructions are also on the to-do list. For anyone interested in testing it out on their own computer or looking at the source code, I've finally created an ebuild [0]. I'm putting some basic usage instructions at the end of this message. My biggest accomplishment of late was adapting the backend to work in stages such that if it is stopped at any time, it will automatically start where it left off next time it is started (except for places where some command fails if it has already been run - fixing that is on the to-do list). This is incredibly helpful when troubleshooting things later in the build process since I can skip up to 10 minutes of building prior to the point where problems happen. The status page is also a little more detailed now as it shows approximately how much of the build process has been completed. I also implemented a handful of new options so that most of the parts of the Gentoo install guide that seem worthwhile (and possible) to me have been implemented [1]. I also created an update script to help keeping stage3 tarballs and other external files up to date (currently only FTP is supported since it makes it easy to get a directory listing along with file size and mtime). I fixed quite a large number of bugs that crept into the backend while I was working on other parts of the project. One of the most important things I spent my time on this week was quality of code. I moved a lot of code from place to place to minimize repeating the same code and to make the flow more clear. With a few exceptions, I think the code is in great shape for continued development. Hopefully I'll be able to deploy it soon and people will be able to make good use of it. Towards that end, I had great success in building an image which, with around a dozen commands, I was able to install on a qemu machine and run Ingenue on to replicate itself again. Lastly, I'd like to thank my mentor killerx, along with all the others who have helped me with this project - solar, zmedico, robbat2, agaffney, and others. I've really enjoyed working with the Gentoo community (though I had to break the brief habit of reading everything that went by on #gentoo since it caused something of a skydive in my productivity). I'm looking forward to continuing to improve Ingenue and otherwise contribute to Gentoo once I get adjusted to college life a little bit (my next non-Ingenue project is getting pam-face-authentication [2] into portage - the ebuild is pretty outdated). [0] http://git.overlays.gentoo.org/gitweb/?p=proj/ingenue.git;a=blob_plain;f=ingenue-9999.ebuild;hb=HEAD [1] http://git.overlays.gentoo.org/gitweb/?p=proj/ingenue.git;a=blob_plain;f=gentoo-steps;hb=HEAD [2] http://code.google.com/p/pam-face-authentication/ 1) Edit shared/config.php (the ebuild installs in /usr/share/ingenue - probably not the right place, but I'll fix that when I figure out what the right place is) to your liking. It's fairly well commented already and most things can be left commented to use intelligent defaults. 2) Make sure that you have a Gentoo packages directory (with Packages file) at the location specified in the config file (you can offer more than one profile by putting the repos (or symlinking them) as subdirectories of the directory in the config - it searches recursively for Packages files) 3) Configure cache/conf to download stage3 images for the appropriate archs (follow the example of the entries already there) - also install CDs if you want them and a portage snapshot unless you want to spend a long time copying your local portage tree file-by-file 4) Run setup.php and update_cache.php 5) Configure your web server to make the frontend directory available and navigate to it (currently, it is necessary to use Apache with mod_rewrite and htaccess files enabled or in some other way redirect all traffic to index.php) 6) Run update_cache.php to update to newer stage3's, CDs, portage snapshots (it checks filename/modtime to avoid downloading the same versions repeatedly) 7) Whenever your package repos are updated, run update_gentoo_profiles to update the database with the changes 8) Report bugs! (I hope there aren't too many, but it's been somewhat difficult to test comprehensively)