X-Git-Url: http://www.project-moonshot.org/gitweb/?p=devwiki.git;a=blobdiff_plain;f=release%2Ftest.mdwn;fp=release%2Ftest.mdwn;h=860280f5e8b0def55c0988c801f3dae86334988d;hp=0000000000000000000000000000000000000000;hb=8dab342fe480418e540b94fbdf1f294f2f167b19;hpb=9a33216d570d8afe222b3e5dbe6cf2db0259de2f diff --git a/release/test.mdwn b/release/test.mdwn new file mode 100644 index 0000000..860280f --- /dev/null +++ b/release/test.mdwn @@ -0,0 +1,61 @@ +[[!meta title="Preparing Test Builds"]] + +This page describes performing test builds to run on Painless +Security's test infrastructure. + +Log into moonbuild (10.1.10.10) and check out a tree. Below we check out a writable tree, because you'll probably end up making some changes: + + ssh -A username@10.1.10.10 + git clone username@moonshot.suchdamage.org:/srv/git/moonshot.git + +this will leave you on the master branch of the [[Moonshot repository|branches]]. +However, to build Debian test packages, you want to be on the debian branch. So: + + git checkout debian + git submodule update --init + +Now, merge in the changes you want to test. +Let's say that you're updating moonshot itself and that your changes are already on master. + + cd moonshot + git merge origin/master + +Now we'll need to update the debian version number so we can do a fresh build: + + dch -i + +This will pull up an editor. Describe the change. You will be modifying debian/changelog. We will not commit this file because we're just generating test packages. + +Change back to the root of your checkout of the master repository. + +Now, we want to disable stripping and optimization for our builds: + + export DEB_BUILD_OPTIONS="noopt nostrip" + +Now would be a good time to remove the "debian_build" directory if it has contents from a previous build. + +And run the builds + + ./debian-builder -s -c -s wheezy-i386 -s --arch=i386 -s -A directories +The "-s" option gets repeated a lot because it passes the following option to sbuild, the Debian package build infrastructure. That will run an i386 (32-bit) build of the software using the wheezy-i386 (Debian 7.0) chroot (filesystem image). For directories include the directory of the software you're wishing to build. + +The output packages will be placed in the debian_build directory. + +Copy these to any test machines you like. You might like a loop something like + + for ip in 21 22 23 90; do + rsync -e ssh -a debian_build root@10.1.10.$ip:/tmp + done + +That will copy the debian_build directory to the listed machines. Log into these machines and run + + cd /tmp/debian_build + dpkg -i packages_you_want_to_install + +If dependencies are not installed try running "aptitude install" to fix. Make sure it doesn't "fix" things by removing the package you just installed. + +You can run + + git reset --hard + +In the submodule checkout to throw awy your changes if you need to re-merge in some new fixes.