chiark / gitweb /
Improved buildserver setup documentation
authorCiaran Gultnieks <ciaran@ciarang.com>
Thu, 23 May 2013 10:03:38 +0000 (11:03 +0100)
committerCiaran Gultnieks <ciaran@ciarang.com>
Thu, 23 May 2013 10:05:29 +0000 (11:05 +0100)
docs/fdroid.texi

index a9a1713457a0e28febe91998868fa99ef1b16cdd..f8ef03904fceec1a82ac46f04b04d4a26c391888 100644 (file)
@@ -7,7 +7,7 @@
 @copying
 This manual is for the F-Droid repository server tools.
 
-Copyright @copyright{} 2010, 2011, 2012 Ciaran Gultnieks
+Copyright @copyright{} 2010, 2011, 2012, 2013 Ciaran Gultnieks
 Copyright @copyright{} 2011 Henrik Tunedal, Michael Haas, John Sullivan
 
 @quotation
@@ -1091,21 +1091,53 @@ at least extremely messy) to start modifying and restoring the SDK on a
 multi-purpose system, but within the confines of a throwaway single-use
 virtual machine, anything is possible.
 
+All this is in addition to the obvious advantage of having a standardised
+and completely reproducible environment in which builds are made.
+
 @section Setting up a build server
 
 In addition to the basic setup previously described, you will also need
-a Vagrant-compatible Ubuntu Precise base box called 'precise32'. You can
-create one of these for yourself from standard Ubuntu installation media, as
-the specification for what's required to be Vagrant-compatible is very well
-defined.
+a Vagrant-compatible Ubuntu Raring base box called 'raring64'.
+
+You can use a different version or distro for the base box, so long as you
+don't expect any help making it work. One thing to be aware of is that
+working copies of source trees are moved from the host to the guest, so
+for example, having subversion v1.6 on the host and v1.7 on the guest
+would fail.
+
+Unless you're very trusting. you should create one of these for yourself
+from verified standard Ubuntu installation media. However, you could skip
+over the next few paragraphs (and sacrifice some security) by downloading 
+@url{https://f-droid.org/raring64.box}.
 
 Documentation for creating a base box can be found at
 @url{http://docs.vagrantup.com/v1/docs/base_boxes.html}.
 
-You can use a different version or distro for the base box, so long as you
-don't expect any help making it work.
+In addition to carefully following the steps described there, you should
+consider the following:
+
+@enumerate
+@item
+It is advisable to disable udev network device persistence, otherwise any
+movement of the VM between machines, or reconfiguration, will result in
+broken networking.
+
+For a Debian/Ubuntu default install, just
+@code{touch /etc/udev/rules.d/75-persistent-net-generator.rules} to turn
+off rule generation, and at the same time, get rid of any rules it's
+already created in @code{/etc/udev/rules.d/70-persistent-net.rules}.
+@item
+Unless you want the VM to become totally inaccessible following a failed
+boot, you need to set @code{GRUB_RECORDFAIL_TIMEOUT} to a value other than
+-1 in @code{/etc/grub/default} and then run @code{update-grub}.
+@end enumerate
+
+You may also want to edit @code{buildserver/Vagrantfile} - in particular
+there is a path for retrieving the base box if it doesn't exist, and an
+apt proxy definition, both of which may need customising for your
+environment.
 
-With this base box installed, you can then go to the @code{fdroidserver}
+With this base box available, you can then go to the @code{fdroidserver}
 directory and run this:
 
 @example