EG-B reported that the LibreOffice install on Spartan was broken; it couldn't find the installed Apple JRE, and wouldn't do even simple operations such as copy and paste, complaining that it needed the JRE to do them. Showing it where the JRE was didn't help either. The version installed was a 3.3 beta from last October, so I ended up deleting it and replacing it with the latest release, which seems to work OK.
Category: "Activity log"
It appears as though every time rutabaga is powered down the RAID array loses its marbles.
This time the new drive got dropped from the array. In fact, the drive didn't even show up in 3 reboots. I just powered up the machine and now it *does* show up. So I went through the same process as previously described, and I'm rebuilding the array right now. So far all appears OK.
UPDATE: array is now rebuilt (15:20) and all appears to be fine.
Although all of our new-ish Linux cubes have eSATAp connectors on them, I've had a hard time sourcing a cable that will allow me to connect an un-enclosed drive to the eSATAp port. I eventually found this:
http://www.cablesonline.com/39pooves5vsa.html, for $20.
I checked with monoprice live help; they don't have them but they say they'll look at getting them.
SY from the TEI Council sent some comments and suggestions on the script, so I added two new features and fixed a bug, ran another full test, and updated the documentation on the TEI wiki. The changes were: checking that you're running Lucid; checking that nothing else is already running on port 8080; and removing some pointless chmods I was doing, that had no effect.
Ran the whole process from script to completed builds again on Jenkins3 this morning, and all worked well, so I figure we're ready for the next stage. Wrote up the instructions and provided the script on the TEI Wiki, then set about preparing to build our proper VM for deployment. Initially we thought we'd do this using Remastersys to create an ISO for the full server install, but that failed -- the ISO wouldn't boot -- so we're going to take the same approach on our proper VM as is detailed in the wiki page. GN is arranging with sysadmin for the VM to be provisioned.
It looks like the place to change the default port is /etc/default/jenkins. Tried to change it to port 80, but it wasn't having any of it, so gave up. We can map 8080 from the VM through the AJP connector.
My home install of VirtualBox is older than my work one, and the instructions for port forwarding elsewhere in this blog don't work on it. This is how to port-forward Jenkins on an older VirtualBox.
- Shut down both the VM and VirtualBox.
- Open the XML file for the VM.
- Add these lines to the
<ExtraData>
section:<ExtraDataItem name="VBoxInternal/Devices/e1000/0/LUN#0/Config/jenkins/GuestPort" value="8080"/> <ExtraDataItem name="VBoxInternal/Devices/e1000/0/LUN#0/Config/jenkins/HostPort" value="9494"/> <ExtraDataItem name="VBoxInternal/Devices/e1000/0/LUN#0/Config/jenkins/Protocol" value="TCP"/>
- Restart VB and the VM. If you get this error:
Configuration error: Failed to get the "MAC" value (VERR_CFGM_VALUE_NOT_FOUND).
then you have the wrong value for the virtual network adapter (i.e. "e1000" above should be something else). Search the logs to find lines like this:00:00:01.104 [/Devices/e1000/0/Config/] (level 4) 00:00:01.104 AdapterType <integer> = 0x0000000000000000 (0) 00:00:01.104 CableConnected <integer> = 0x0000000000000001 (1) 00:00:01.104 LineSpeed <integer> = 0x0000000000000000 (0) 00:00:01.104 MAC <bytes> = "08 00 27 27 01 f8" (cb=6)
which will tell you the correct name of the device.
Jenkins4 (my home VM) is now running builds... fingers crossed...
Made some progress today after discovering that installing some XML tools before the Sun JDK caused the OpenJDK to get installed, so I switched the order of some items. Also figured out a better way of enabling the partner repo that will work with other distros than Lucid, and made a couple of other tweaks. The full script is below (since our backup server is down at the moment). I've also built Jenkins4 as a Natty 11.04 server, and I'm testing the script on that to see if it might work there too. It seems to be running fine, and I've got as far as a working Jenkins once before retreating to create a useful restore point and fix some bugs. It's quite plausible it might work perfectly well on any Ubuntu between Lucid and Natty.
#!/bin/bash #The Mighty Jenkins Builder Script. #Note that this should be run as root (with sudo). echo "Entering the Mighty Jenkins Builder Script." uid=$(/usr/bin/id -u) && [ "$uid" = "0" ] || { echo "This script must be run as root."; exit 1; } echo "Running as root: good." #First do updates. echo "Doing system updates before starting on anything else." apt-get update apt-get upgrade #Now add the repositories we want. echo "Backing up repository list." cp /etc/apt/sources.list /etc/apt/sources.list.bak #Uncomment partner repos. echo "Uncommenting partner repositories on sources list, so we can get Sun Java." #Note: this is very crude, and also enables the CD-ROM source, which results in #errors. We need to make this more precise. #sed -i -e "s/# deb/deb/g" /etc/apt/sources.list #This is a better replacement: sed -i -re '/partner/ s/^#//' /etc/apt/sources.list #First Jenkins echo "Adding Jenkins repository." wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add - echo "deb http://pkg.jenkins-ci.org/debian binary/" > /etc/apt/sources.list.d/jenkins.list #Next TEI. echo "Adding TEI Debian repository." gpg --keyserver wwwkeys.uk.pgp.net --recv-keys FEA4973F86A9A497 apt-key add ~/.gnupg/pubring.gpg echo "deb http://tei.oucs.ox.ac.uk/teideb/binary ./" > /etc/apt/sources.list.d/tei.list #Now we can start installing packages. echo "Updating for new repositories." apt-get update echo "Installing Sun Java JDK." apt-get install sun-java6-jdk && echo "Installing core packages we need." apt-get install openssh-server libxml2 libxml2-utils devscripts xsltproc debhelper subversion trang && #TEI packages echo "Installing TEI packages." apt-get install psgml xmlstarlet debiandoc-sgml linuxdoc-sgml jing jing-trang-doc libjing-java rnv texlive-xetex && apt-get install trang-java tei-p5-doc tei-p5-database tei-p5-source tei-schema tei-emacs saxon nxml-mode-tei tei-p5-xsl tei-p5-xsl2 tei-roma onvdl tei-oxygen zip && #I don't believe the following step is necessary, so it's been commented out for the moment. #Waiting for info from SR and SY about why it was in the instructions. #echo "Removing things that cause problems for TEI." #apt-get remove `apt-cache search gcj | grep gcj | awk '{print $1}'` #Setting up configuration for oXygen mkdir /root/.com.oxygenxml chown jenkins /root/.com.oxygenxml chmod a+x /root/.com.oxygenxml mkdir /root/.java chown jenkins /root/.java chmod a+x /root/.java echo "Don't forget to put your licensekey.txt file in the folder /usr/share/oxygen so that oXygen is registered." #More packages needed echo "Installing packages needed for building TEI source." #Various fonts and the like. echo "Installing fonts we need." apt-get install msttcorefonts ttf-arphic-ukai ttf-arphic-uming ttf-baekmuk ttf-junicode ttf-kochi-gothic ttf-kochi-mincho echo "The Han Nom font is not available in repositories, so we have to download it from SourceForge." cd /usr/share/fonts/truetype mkdir hannom cd hannom wget -O hannom.zip http://downloads.sourceforge.net/project/vietunicode/hannom/hannom%20v2005/hannomH.zip unzip hannom.zip find . -iname "*.ttf" | rename 's/\ /_/g' rm hannom.zip fc-cache -f -v #Jenkins apt-get install jenkins #Configuration for Jenkins echo "Starting configuration of Jenkins." echo "Getting the Hudson log parsing rules from TEI SVN." cd /var/lib/jenkins svn export https://tei.svn.sourceforge.net/svnroot/tei/trunk/P5/Utilities/hudson-log-parse-rules chown jenkins hudson-log-parse-rules echo "Getting all the job data from TEI SVN." #Don't bring down the config.xml file for now; that contains security settings specific to #Sebastian's setup, and will prevent anyone from logging in. We leave the server unsecured, #and make it up to the user to secure it. #svn export https://tei.svn.sourceforge.net/svnroot/tei/trunk/Documents/Editing/Jenkins/config.xml #chown jenkins config.xml svn export --force https://tei.svn.sourceforge.net/svnroot/tei/trunk/Documents/Editing/Jenkins/jobs/ jobs chown -R jenkins jobs echo "Installing Jenkins plugins." cd plugins wget --no-check-certificate http://updates.jenkins-ci.org/latest/copyartifact.hpi chown jenkins copyartifact.hpi wget --no-check-certificate http://updates.jenkins-ci.org/latest/emotional-hudson.hpi chown jenkins emotiosudnal-hudson.hpi wget --no-check-certificate http://updates.jenkins-ci.org/latest/greenballs.hpi chown jenkins greenballs.hpi wget --no-check-certificate http://updates.jenkins-ci.org/latest/jobConfigHistory.hpi chown jenkins jobConfigHistory.hpi wget --no-check-certificate http://updates.jenkins-ci.org/latest/plot.hpi chown jenkins plot.hpi wget --no-check-certificate http://updates.jenkins-ci.org/latest/log-parser.hpi chown jenkins log-parser.hpi wget --no-check-certificate http://updates.jenkins-ci.org/latest/scp.hpi chown jenkins scp.hpi wget --no-check-certificate http://updates.jenkins-ci.org/latest/WebSVN2.hpi chown jenkins WebSVN2.hpi echo "Restarting Jenkins server, so that it finds and initializes all the new plugins." /etc/init.d/jenkins restart echo "OK, we should be done. Now you have to:" echo "1. Put your oXygen licence key in a file called licensekey.txt in the oXygen directory (/usr/share/oxygen/)." echo "2. Go to the Jenkins interface on http://localhost:8080, and set up authentication. Read the Jenkins docs." echo "That's it!" read exit
Went through the process a couple more times at home, and I have some questions still to be answered, and some additions to the script:
When it got to this line:
apt-get remove `apt-cache search gcj | grep gcj | awk '{print $1}'`
apt reported that it was uninstalling jing. I'd previously been puzzled about the absence of jing at the end of the script, because it's explicitly installed before this point, but it looks like this is the reason. I'm just wondering what that line is actually doing. I got it from the wiki:
http://wiki.tei-c.org/index.php/TEIDebianand it looks like SY added that line in July last year:
http://wiki.tei-c.org/index.php?title=TEIDebian&diff=7877&oldid=7875
I can add another line to my script to reinstall jing, so it's no problem, but I've written to ask him why he did that. Perhaps it's not necessary to remove all that stuff, because installing jing just brings a lot of it back anyway.
If we don't delete that stuff, the addition would be:
echo "Reinstalling jing, which just got removed by the previous line." apt-get install jing
We can also restart Jenkins at the end of the script, so the user doesn't have to:
echo "Restarting Jenkins server, so that it finds and initializes all the new plugins." /etc/init.d/jenkins restart
The full install script now seems to be working.