-- MySQL dump 10.15 Distrib 10.0.23-MariaDB, for Linux (x86_64) -- -- Host: localhost Database: storyboard -- ------------------------------------------------------ -- Server version 10.0.23-MariaDB /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Current Database: `storyboard` -- CREATE DATABASE /*!32312 IF NOT EXISTS*/ `storyboard` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; USE `storyboard`; -- -- Table structure for table `accesstokens` -- DROP TABLE IF EXISTS `accesstokens`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `accesstokens` ( `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `access_token` varchar(100) NOT NULL, `expires_in` int(11) NOT NULL, `expires_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), CONSTRAINT `accesstokens_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1119 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `accesstokens` -- LOCK TABLES `accesstokens` WRITE; /*!40000 ALTER TABLE `accesstokens` DISABLE KEYS */; /*!40000 ALTER TABLE `accesstokens` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `alembic_version` -- DROP TABLE IF EXISTS `alembic_version`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `alembic_version` ( `version_num` varchar(32) COLLATE utf8_unicode_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `alembic_version` -- LOCK TABLES `alembic_version` WRITE; /*!40000 ALTER TABLE `alembic_version` DISABLE KEYS */; INSERT INTO `alembic_version` VALUES ('030'); /*!40000 ALTER TABLE `alembic_version` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `authorizationcodes` -- DROP TABLE IF EXISTS `authorizationcodes`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `authorizationcodes` ( `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, `code` varchar(100) NOT NULL, `state` varchar(100) NOT NULL, `user_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), CONSTRAINT `authorizationcodes_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `authorizationcodes` -- LOCK TABLES `authorizationcodes` WRITE; /*!40000 ALTER TABLE `authorizationcodes` DISABLE KEYS */; INSERT INTO `authorizationcodes` VALUES ('2015-09-23 11:35:38',NULL,14,'5OJ5nkXbYbdKiwOpmXBG7wM1d4jivA','3Gkpr6qeyhMJcdalt0It',7); /*!40000 ALTER TABLE `authorizationcodes` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `comments` -- DROP TABLE IF EXISTS `comments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `comments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `content` mediumtext, `is_active` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `comments` -- LOCK TABLES `comments` WRITE; /*!40000 ALTER TABLE `comments` DISABLE KEYS */; INSERT INTO `comments` VALUES (1,'2015-02-06 11:24:17',NULL,'I\'m not sure why this happens. Maybe we should just disable the warnings.',1),(2,'2015-02-06 17:18:39',NULL,'About changing the theme:\n for the favicon and brand colour in the webclient go to /src/theme/custom and take a look at the readme\n for storyboard icon it\'s to do with /src/fonts/custom_icons\n ok, ta\n which I think points to src/fonts/src/storyboard.svg\n @brand-primary in theme.less will let you change the top bar colour, and placing a favicon in that directory will override the default one \n cool. anyone have a favourite colour for the top bar?\n #002B36\n (wich is the background colour of paste.baserock.org)',1),(3,'2015-02-08 11:38:07',NULL,'The site https://storyboard.baserock.org has requested verification of your OpenID. I have failed to reach it and thus cannot vouch for its authenticity. Perhaps it is on your local network.\n\n(this is clearly not true)',1),(4,'2015-02-23 14:53:32',NULL,'When doing this work, it would be good to update the wiki to match, particularly changing references to .morph files so they reference .def files instead',1),(5,'2015-03-06 11:10:43',NULL,'All tasks now complete',1),(6,'2015-03-06 12:18:01',NULL,'I managed to to get something working, but I\'m very blocked now given that a lot of components don\'t let you install things in /usr. My current WIP branch is http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/definitions.git/log/?h=baserock/pedroalvarez/usr-merge2',1),(7,'2015-03-10 17:51:53',NULL,'To fix the difficulty of finding build logs: 1) stick the chunk name in the build-log name, so folks have a chance of parsing it by eye, 2) the build log should be provided as an artifact during fetch',1),(8,'2015-03-12 08:25:13',NULL,'Safest I think to make the calls to `git runcmd` conditional in `fat_pull` and `update_remotes`, ratehr than everywhere in the code those functions are called',1),(9,'2015-03-12 15:10:28',NULL,'\'morph branch\' doesn\'t honour --no-git-update either :)\n> # morph branch --no-git-update baserock:baserock/definitions my-new-system\n> ERROR: Command failed: git remote update --prune\n> fatal: Unable to look up git.baserock.org (port 9418) (System error)\n> error: Could not fetch origin',1),(10,'2015-03-12 15:14:32',NULL,'First pass of this done, asking bug reports and suggestions to be submitted. I\'ve not documented it\'s use, I think that might be more suitable to a different page',1),(11,'2015-03-13 07:57:10',NULL,'The changes I tried can be seen at http://paste.baserock.org/ufixukifuy',1),(12,'2015-03-13 07:57:48',NULL,'The changes I made can be found at http://paste.baserock.org/ufixukifuy',1),(13,'2015-03-16 09:56:04',NULL,'Actually, having considered more I don\'t think it\'s appropriate to document Storyboard use yet. We haven\'t really settled on a pattern of expected use, and I don\'t want to prescribe one. Once we\'ve established how we use Storyboard on Baserock, we can look into this again.',1),(14,'2015-03-17 16:53:56',NULL,'gerrit.baserock.org no longer suggests users log in with Google or Yahoo accounts or other OpenIDs: http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/infrastructure.git/commit/',1),(15,'2015-03-17 16:54:16',NULL,'I mean: http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/infrastructure.git/commit/?id=98af027f86075a2913d22407c2fb75caac0c9558',1),(16,'2015-03-18 10:03:20',NULL,'Logging into Gerrit doesn\'t trigger this issue. Seems to be Storyboard-specific.',1),(17,'2015-03-20 10:53:15',NULL,'I suspect that the problem is that the host isn\'t being defined properly. In my test case it should be x86_64',1),(18,'2015-04-09 13:55:57',NULL,'I don\'t agree that the *only* reason we run Morph in a chroot is to avoid dependency problems. Each distro that we \'support\' running Morph on creates work for us, because there can be different random versions of components available that Morph might not work with. It\'s much easier to be able to say \'just use a chroot\' as we then really only care about ABI of the kernel in the host OS.\n\nI find it useful to be able to use Morph outside of Baserock (other than building stuff, it works fine already), and would be happy if building works outside Baserock too, but I don\'t want to *support* it on every random distro.',1),(19,'2015-04-23 10:49:35',NULL,'Making morphologies may require changes to init scripts and suchlike, will make a task for this if it looks like it\'ll be significant sums of work',1),(20,'2015-04-28 09:35:48',NULL,'I dislike this proposed approach. I\'d rather see the .gitmodules honoured but the URLs in them passed through a mandatory transformation which can be mediated by a shared translation pool in the definitions. Otherwise there\'s greater load on the integrator when a chunk changes and also no potential to share the rewriting of repositories among multiple chunks. Especially if you have multiple chunk morphologies which all operate against the same source in different contexts.',1),(21,'2015-04-28 16:15:39',NULL,'Interestingly, Pedro is reporting not seeing this error any more whereas at a quick test I just did. Might help to debug. Unfortunately I\'m not going to be free for a while to work on it',1),(22,'2015-05-01 09:37:59',NULL,'lm-sensors lorry awaits review at https://gerrit.baserock.org/#/c/551/',1),(23,'2015-05-06 15:38:35',NULL,'Moving .write extensions is harder than .configure extensions because many of them import morphlib.writeexts from morph.git',1),(24,'2015-05-06 15:41:18',NULL,'Not everyone probably agrees on these tasks, it\'s just my thinking so far!',1),(25,'2015-05-11 17:01:52',NULL,'Given review comments on OpenBMC stratum, we need to add some stuff that was previously in the OpenBMC stratum to the OpenBMC system.',1),(26,'2015-05-20 10:06:22',NULL,'A guess at requirements:\n\n- as-fast-as-possible feedback on each new patch submitted to https://gerrit.baserock.org\n- as-comprehensive-as-possible testing of the reference systems, run periodically and always before a release',1),(27,'2015-05-20 10:14:26',NULL,'See also: http://listmaster.pepperfish.net/pipermail/baserock-dev-baserock.org/2015-May/012998.html',1),(28,'2015-05-20 10:53:19',NULL,'HTTP vs. HTTPs perhaps?',1),(29,'2015-05-20 10:53:58',NULL,'OSTree also needs to contend with this. https://git.gnome.org/browse/ostree/tree/src/boot/ostree-remount.service is the service used to provide dependency information to have /var remounted at an appropriate time.\nI think we would have to convert our fstab configuration to native systemd units.',1),(30,'2015-05-20 11:01:05',NULL,'Isolate current Masons from internet: https://gerrit.baserock.org/#/c/629/',1),(31,'2015-05-20 12:46:41',NULL,'I don\'t think this will help, since we need more than just /srv and /home.\nAlso, this has no way to handle atomic version updates beyond \"change the default subvolume\", which doesn\'t allow rollback.\nWe\'d still need the bootloader to provide the rootflags to make this work, at which point way may as well set root= in it too.',1),(32,'2015-05-20 12:48:15',NULL,'I suspect the quickest way to do this would be to change fhs-dirs to remove the /usr split, and have write extensions move the contents of /etc into /usr/share/factory/etc',1),(33,'2015-05-20 15:21:19',NULL,'I had some free time to look at this, and came up with the following (no idea if it\'s helpful):\n* /var is mounted by the local-fs target (http://www.freedesktop.org/software/systemd/man/systemd.special.html),\n which finds out what to mount using the systemd-fstab-generator(http://www.freedesktop.org/software/systemd/man/systemd-fstab-generator.html)\n* The target local-fs-pre.target exists, and is guaranteed to start before local-fs. If it\'s a simple race condition, this might be sufficient.\n\n* /var/lib/machines is created as long as /var/lib/machines.raw exists when the systemd unit is started. I can\'t find that file, so it might be something special that systemd-machined does. If we don\'t want that to exist, it\'ll probably require disabling systemd-machined. I\'m not sure how system-version-manager works, but maybe it ought to remove /var/lib/machines.raw instead.',1),(34,'2015-05-29 11:02:01',NULL,'Current patches for Morph: https://gerrit.baserock.org/#/q/status:open+project:baserock/baserock/morph+branch:ostree-staging',1),(35,'2015-05-29 12:56:44',NULL,'One thing that\'s worth a try is to have write extensions put everything in /usr (merging /bin and /usr/bin etc., moving /var and /etc into /usr/share/factory etc.).\nI\'d prefer if this was done at build-time per-chunk rather than at deploy time, but it may be a quick enough change to test the principle.',1),(36,'2015-06-08 10:10:58',NULL,'I am going to take a look at this while I have a bit of time. My intention is to make ./check read TMPDIR from /etc/morph.conf (appending /testsuite to this so it is clear what the files are for) and if that file or value doesn\'t exist then use the default /tmp directory.',1),(37,'2015-06-11 13:22:24',NULL,'Patch submitted and in review https://gerrit.baserock.org/#/c/850/',1),(38,'2015-06-16 13:24:34',NULL,'lighttpd is the HTTP server in use. its config is probably generated by the ansible scripts in trove-setup.git',1),(39,'2015-06-23 15:23:45',NULL,'Seems to be because baserock only supports POSIX and C by default.',1),(40,'2015-06-23 15:27:41',NULL,'After some reading I have a dirty hack of a solution that adds add support for more locales, or whatever theyre called.\n\nWill see if I can tidy it up somewhat before submitting.',1),(41,'2015-06-26 15:56:47',NULL,'https://github.com/cloudfoundry/bosh/tree/master/bosh-stemcell and https://github.com/cloudfoundry/bosh/tree/master/stemcell_builder seem like the relevant parts of bosh.git.\n\nI presume that the built stemcells published at http://bosh.io/ are built in a CI job somewhere, but I\'ve not yet found where that job is defined or where it executes.',1),(42,'2015-07-16 13:23:53',NULL,'The /var/lib/machines subvolume was discussed on the systemd mailing list:\nhttp://lists.freedesktop.org/archives/systemd-devel/2015-April/030030.html\nhttp://lists.freedesktop.org/archives/systemd-devel/2015-May/032140.html\nFedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=1223467',1),(43,'2015-07-30 16:37:47',NULL,'Actually we don\'t need to do this.',1),(44,'2015-07-30 16:57:59',NULL,'The result of the \"General research about stemcells\" task can be found here: http://wiki.baserock.org/projects/bosh-stemcells/',1),(45,'2015-07-30 17:02:26',NULL,'Patch in review: https://gerrit.baserock.org/#/c/924/',1),(46,'2015-07-30 17:22:38',NULL,'I investigated this error in the past, and I believe the bug is in:',1),(47,'2015-07-30 17:22:44',NULL,'case \"$MORPH_ARCH\" in\n armv7*) sed -i \"s/--host=none/--host=armv7a/\" o/Makefile\n sed -i \"s/--target=none/--target=armv7a/\" o/Makefile ;;\nesac',1),(48,'2015-07-31 14:09:40',NULL,'https://gerrit.baserock.org/#/c/1022/ is hopefully the end result of this story.',1),(49,'2015-08-27 18:49:45',NULL,'--local-changes=ignore should be the default, too !',1),(50,'2015-09-23 10:14:16',NULL,'`morph edit` is being removed, along with `checkout` and `branch`, so one of these tasks (possibly more) isn\'t relevant',1),(51,'2015-09-23 11:08:35',NULL,'Proposed documentation changes: http://source.baserock.branchable.com/?p=source.git;a=commit;h=d3b6a1540cdb0c8dfa85103f166c7e5b5ba421c8',1),(52,'2015-09-23 11:36:27',NULL,'Merged as http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/morph.git/commit/?id=519a6460930c5ae08a9591035f72e88fd4db9b71',1),(53,'2015-09-23 11:38:11',NULL,'Backups have been running to a local server in Codethink for a while now, which is better than nothing.',1),(54,'2015-09-23 15:07:46',NULL,'Experimental Python 3 port of cliapp: http://git.baserock.org/cgi-bin/cgit.cgi/delta/cliapp.git/log/?h=baserock/sam/python3\n\nI\'ve sent a patch to liw@liw.fi but he says he\'s super busy and doesn\'t have time to review it for the time being.',1),(55,'2015-09-23 15:08:52',NULL,'I looked at Cement and while it seems like an OK library, it\'s pretty different to cliapp and doesn\'t have any equivalent for cliapp.runcmd(). So it would be some work to switch to using Cement in Morph. I\'m not against doing that, but I don\'t think it is the easiest route to getting Python 3 support in Morph.',1),(56,'2015-09-24 09:54:08',NULL,'Definitions version 6 (remove build-system autodetection) is complete, and in use in definitions.git\n\nDefinitions version 7 is still waiting on support in Morph: https://gerrit.baserock.org/#/c/1018/',1),(57,'2015-09-24 11:38:44',NULL,'http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/morph.git/log/?h=sam/python3 is a work in progress branch for this; it\'s broken though',1),(58,'2015-09-24 11:52:49',NULL,'Strip commands will be in definitions.git as part of definitions version 7 work, and will be on by default.',1),(59,'2015-09-24 16:20:40',NULL,'linux-user-deliberately prevents chown, etc. We should work around that because it\'s important for sandboxing to be secure and for building as non-root to be possible that we don\'t try to change user permissions directly. See: https://storyboard.baserock.org/#!/story/54',1),(60,'2015-10-05 10:30:29',NULL,'This is a comment',1),(61,'2015-10-09 12:53:25',NULL,'lorry-controller-remove-old-jobs.service exists already, but seems not to work',1),(62,'2015-10-22 05:15:56',NULL,'This is a comment !',1),(63,'2015-10-22 05:16:15',NULL,'Please add your comments here !',1),(64,'2015-10-26 08:35:48',NULL,'I think we need a better story for consuming deltas that are actual patches required for fully functional output, while the .gitmodules is probably a situation which can be automated (in one of the ways outlined here: http://listmaster.pepperfish.net/pipermail/baserock-dev-baserock.org/2015-October/013314.html).\n\nThat said, we still need to support downstream deltas and track them, otherwise we cannot \"Release stable at 5:00pm\" if we are blocking on some upstream to accept a patch.',1),(65,'2015-11-10 16:11:35',NULL,'Outstanding patches:https://gerrit.baserock.org/#/c/1452/',1),(66,'2015-11-10 16:12:01',NULL,'Outstanding patches:\n- https://gerrit.baserock.org/#/c/1452/\n- https://gerrit.baserock.org/#/q/status:open+project:baserock/baserock/trove-setup+branch:master+topic:baserock/pedroalvarez/trove-ssl3',1),(67,'2015-11-29 10:28:19',NULL,'Currently a bit blocked on this given that it requires MySQL 5.6 and storyboard doesn\'t behave with mariadb (db we use in our infra)',1),(68,'2015-12-08 13:04:30',NULL,'This is a comment',1),(69,'2015-12-11 09:15:32',NULL,'i can comment',1),(70,'2015-12-14 10:52:18',NULL,'Is this done yet?',1),(71,'2015-12-16 21:22:47',NULL,'I\'ve confirmed that I can log in to the result of upgrading to a clean devel system, now to see what happens when I upgrade that to the GNOME system!',1),(72,'2015-12-16 22:29:41',NULL,'The resulting GNOME system had the same trouble as my first attempt. I\'ll see if I can successfully log in to a fresh VM next.',1); /*!40000 ALTER TABLE `comments` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `events` -- DROP TABLE IF EXISTS `events`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `events` ( `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, `story_id` int(11) DEFAULT NULL, `comment_id` int(11) DEFAULT NULL, `author_id` int(11) DEFAULT NULL, `event_type` varchar(100) NOT NULL, `event_info` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=856 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `events` -- LOCK TABLES `events` WRITE; /*!40000 ALTER TABLE `events` DISABLE KEYS */; INSERT INTO `events` VALUES ('2015-02-05 12:37:58',NULL,1,1,NULL,1,'story_created','{\"story_id\": 1, \"story_title\": \"Test story\"}'),('2015-02-05 12:37:58',NULL,2,1,NULL,1,'task_created','{\"story_id\": 1, \"task_title\": \"Make it better\", \"task_id\": 1}'),('2015-02-05 12:39:34',NULL,3,1,NULL,1,'task_deleted','{\"story_id\": 1, \"task_title\": \"Make it better\", \"task_id\": 1}'),('2015-02-05 16:44:08',NULL,4,2,NULL,1,'story_created','{\"story_id\": 2, \"story_title\": \"OpenID tidyup for Baserock\"}'),('2015-02-05 16:44:09',NULL,5,2,NULL,1,'task_created','{\"story_id\": 2, \"task_title\": \"allow opened.baserock.org to find storyboard\", \"task_id\": 2}'),('2015-02-05 16:46:23',NULL,6,3,NULL,1,'story_created','{\"story_id\": 3, \"story_title\": \"Declarative Definitions improvements\"}'),('2015-02-05 16:46:23',NULL,7,3,NULL,1,'task_created','{\"story_id\": 3, \"task_title\": \"document the proposed VERSION approach\", \"task_id\": 3}'),('2015-02-06 09:18:29',NULL,8,2,NULL,1,'task_details_changed','{\"story_id\": 2, \"task_title\": \"allow opened.baserock.org to find storyboard\", \"task_id\": 2}'),('2015-02-06 11:24:17',NULL,9,2,1,7,'user_comment',NULL),('2015-02-06 12:15:35',NULL,10,3,NULL,9,'task_details_changed','{\"story_id\": 3, \"task_title\": \"document the proposed VERSION approach\", \"task_id\": 3}'),('2015-02-06 12:15:37',NULL,11,3,NULL,9,'task_details_changed','{\"story_id\": 3, \"task_title\": \"document the proposed VERSION approach\", \"task_id\": 3}'),('2015-02-06 12:20:08',NULL,12,4,NULL,9,'story_created','{\"story_id\": 4, \"story_title\": \"Baserock systems are not UTF-8 ready\"}'),('2015-02-06 12:20:08',NULL,13,4,NULL,9,'task_created','{\"story_id\": 4, \"task_title\": \"Configure locales correctly\", \"task_id\": 4}'),('2015-02-06 12:22:10',NULL,14,5,NULL,9,'story_created','{\"story_id\": 5, \"story_title\": \"Add GNOME to baserock\"}'),('2015-02-06 12:22:10',NULL,15,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Add GNOME stratum\", \"task_id\": 5}'),('2015-02-06 12:23:18',NULL,16,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:23:45',NULL,17,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"task_id\": 7}'),('2015-02-06 12:31:14',NULL,18,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:31:19',NULL,19,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:31:23',NULL,20,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"task_id\": 7}'),('2015-02-06 12:31:26',NULL,21,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"task_id\": 7}'),('2015-02-06 12:31:31',NULL,22,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:31:34',NULL,23,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"task_id\": 7}'),('2015-02-06 12:31:42',NULL,24,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME stratum\", \"task_id\": 5}'),('2015-02-06 12:31:47',NULL,25,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME stratum\", \"old_status\": \"todo\", \"task_id\": 5, \"new_status\": \"inprogress\"}'),('2015-02-06 12:31:49',NULL,26,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"old_status\": \"todo\", \"task_id\": 6, \"new_status\": \"review\"}'),('2015-02-06 12:31:52',NULL,27,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"old_status\": \"todo\", \"task_id\": 7, \"new_status\": \"inprogress\"}'),('2015-02-06 12:32:00',NULL,28,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:32:05',NULL,29,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:34:09',NULL,30,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"task_id\": 7}'),('2015-02-06 12:34:12',NULL,31,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"task_id\": 7}'),('2015-02-06 12:34:22',NULL,32,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"old_status\": \"review\", \"task_id\": 6, \"new_status\": \"merged\"}'),('2015-02-06 12:36:25',NULL,33,6,NULL,1,'story_created','{\"story_id\": 6, \"story_title\": \"\\\"What *I* do with Baserock\\\" stories on the wiki\"}'),('2015-02-06 12:36:25',NULL,34,6,NULL,1,'task_created','{\"story_id\": 6, \"task_title\": \"sssam\'s \'What I do with Baserock\' story\", \"task_id\": 8}'),('2015-02-06 12:36:25',NULL,35,6,NULL,1,'task_created','{\"story_id\": 6, \"task_title\": \"jjardon\'s \'What I do with Baserock\' story\", \"task_id\": 9}'),('2015-02-06 12:36:25',NULL,36,6,NULL,1,'task_created','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-02-06 12:47:00',NULL,37,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:47:16',NULL,38,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:47:22',NULL,39,5,NULL,9,'task_assignee_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"old_assignee_id\": null, \"task_id\": 6, \"new_assignee_id\": 9}'),('2015-02-06 12:47:27',NULL,40,5,NULL,9,'task_assignee_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"old_assignee_id\": null, \"task_id\": 7, \"new_assignee_id\": 9}'),('2015-02-06 12:47:33',NULL,41,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME stratum\", \"task_id\": 5}'),('2015-02-06 12:47:37',NULL,42,5,NULL,9,'task_assignee_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME stratum\", \"old_assignee_id\": null, \"task_id\": 5, \"new_assignee_id\": 9}'),('2015-02-06 12:47:43',NULL,43,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Replace libusbx with libusb\", \"task_id\": 6}'),('2015-02-06 12:47:47',NULL,44,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"task_id\": 7}'),('2015-02-06 12:52:31',NULL,45,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Add tzdata to foundation\", \"task_id\": 11}'),('2015-02-06 12:54:04',NULL,46,6,NULL,9,'task_assignee_changed','{\"story_id\": 6, \"task_title\": \"jjardon\'s \'What I do with Baserock\' story\", \"old_assignee_id\": null, \"task_id\": 9, \"new_assignee_id\": 9}'),('2015-02-06 12:54:05',NULL,47,6,NULL,9,'task_details_changed','{\"story_id\": 6, \"task_title\": \"jjardon\'s \'What I do with Baserock\' story\", \"task_id\": 9}'),('2015-02-06 12:54:10',NULL,48,6,NULL,9,'task_status_changed','{\"story_id\": 6, \"task_title\": \"jjardon\'s \'What I do with Baserock\' story\", \"old_status\": \"todo\", \"task_id\": 9, \"new_status\": \"inprogress\"}'),('2015-02-06 12:56:35',NULL,49,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add tzdata to foundation\", \"old_status\": \"todo\", \"task_id\": 11, \"new_status\": \"review\"}'),('2015-02-06 12:57:05',NULL,50,6,NULL,7,'task_details_changed','{\"story_id\": 6, \"task_title\": \"sssam\'s \'What I do with Baserock\' story\", \"task_id\": 8}'),('2015-02-06 12:57:10',NULL,51,6,NULL,9,'task_details_changed','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-02-06 12:57:19',NULL,52,6,NULL,9,'task_assignee_changed','{\"story_id\": 6, \"task_title\": \"sssam\'s \'What I do with Baserock\' story\", \"old_assignee_id\": null, \"task_id\": 8, \"new_assignee_id\": 7}'),('2015-02-06 12:57:20',NULL,53,6,NULL,7,'task_details_changed','{\"story_id\": 6, \"task_title\": \"sssam\'s \'What I do with Baserock\' story\", \"task_id\": 8}'),('2015-02-06 12:59:17',NULL,54,3,NULL,9,'task_created','{\"story_id\": 3, \"task_title\": \"Change definitions to .def instead .morph\", \"task_id\": 12}'),('2015-02-06 13:00:08',NULL,55,3,NULL,9,'task_created','{\"story_id\": 3, \"task_title\": \"Add suport for conditional builds\", \"task_id\": 13}'),('2015-02-06 13:00:16',NULL,56,3,NULL,9,'task_details_changed','{\"story_id\": 3, \"task_title\": \"Add suport for conditional builds\", \"task_id\": 13}'),('2015-02-06 13:02:08',NULL,57,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Upgrade libinput\", \"task_id\": 14}'),('2015-02-06 13:02:21',NULL,58,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Upgrade fuse\", \"task_id\": 15}'),('2015-02-06 13:02:25',NULL,59,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade libinput\", \"old_status\": \"todo\", \"task_id\": 14, \"new_status\": \"review\"}'),('2015-02-06 13:02:28',NULL,60,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade fuse\", \"old_status\": \"todo\", \"task_id\": 15, \"new_status\": \"inprogress\"}'),('2015-02-06 13:04:49',NULL,61,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Upgrade vala\", \"task_id\": 16}'),('2015-02-06 13:05:02',NULL,62,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Upgrade GTK+\", \"task_id\": 17}'),('2015-02-06 13:05:13',NULL,63,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Build GTK+ with X11 support\", \"task_id\": 18}'),('2015-02-06 13:05:17',NULL,64,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Build GTK+ with X11 support\", \"old_status\": \"todo\", \"task_id\": 18, \"new_status\": \"inprogress\"}'),('2015-02-06 13:05:20',NULL,65,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade GTK+\", \"old_status\": \"todo\", \"task_id\": 17, \"new_status\": \"inprogress\"}'),('2015-02-06 13:05:20',NULL,66,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade vala\", \"old_status\": \"todo\", \"task_id\": 16, \"new_status\": \"inprogress\"}'),('2015-02-06 13:05:40',NULL,67,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Add GNOME system\", \"task_id\": 19}'),('2015-02-06 13:05:47',NULL,68,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Add GNOME cluster\", \"task_id\": 20}'),('2015-02-06 13:05:50',NULL,69,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME cluster\", \"old_status\": \"todo\", \"task_id\": 20, \"new_status\": \"inprogress\"}'),('2015-02-06 13:05:55',NULL,70,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME system\", \"old_status\": \"todo\", \"task_id\": 19, \"new_status\": \"inprogress\"}'),('2015-02-06 13:06:38',NULL,71,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Configure pango correctly (pango-querymodules)\", \"task_id\": 21}'),('2015-02-06 13:07:01',NULL,72,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Compile schemas (glib-compile-schemas)\", \"task_id\": 22}'),('2015-02-06 13:07:20',NULL,73,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Fix D-Bus services location\", \"task_id\": 23}'),('2015-02-06 13:12:28',NULL,74,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Upgrade sqlite3\", \"task_id\": 24}'),('2015-02-06 13:12:34',NULL,75,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade sqlite3\", \"old_status\": \"todo\", \"task_id\": 24, \"new_status\": \"inprogress\"}'),('2015-02-06 13:28:56',NULL,76,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Upgrade to latest libdrm\", \"task_id\": 25}'),('2015-02-06 13:28:58',NULL,77,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade to latest libdrm\", \"old_status\": \"todo\", \"task_id\": 25, \"new_status\": \"review\"}'),('2015-02-06 13:57:27',NULL,78,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"GTK+ mirror not up-to-date\", \"task_id\": 26}'),('2015-02-06 15:41:37',NULL,79,7,NULL,9,'story_created','{\"story_id\": 7, \"story_title\": \"Improve CD reports\"}'),('2015-02-06 15:41:37',NULL,80,7,NULL,9,'task_created','{\"story_id\": 7, \"task_title\": \"Show what is going on when compiling new images\", \"task_id\": 27}'),('2015-02-06 15:41:57',NULL,81,7,NULL,9,'task_created','{\"story_id\": 7, \"task_title\": \"publicicy more http://mason-x86-64.baserock.org/\", \"task_id\": 28}'),('2015-02-06 15:42:17',NULL,82,7,NULL,9,'task_details_changed','{\"story_id\": 7, \"task_title\": \"publicicy more http://mason-x86-64.baserock.org/\", \"task_id\": 28}'),('2015-02-06 17:08:14',NULL,83,8,NULL,13,'story_created','{\"story_id\": 8, \"story_title\": \"Continuous Integration\"}'),('2015-02-06 17:08:18',NULL,84,8,NULL,13,'task_created','{\"story_id\": 8, \"task_title\": \"Decide on a sensible way to define which tests are run on which systems\", \"task_id\": 30}'),('2015-02-06 17:08:18',NULL,85,8,NULL,13,'task_created','{\"story_id\": 8, \"task_title\": \"Implement any tests that we want which don\'t yet exist.\", \"task_id\": 29}'),('2015-02-06 17:08:18',NULL,86,8,NULL,13,'task_created','{\"story_id\": 8, \"task_title\": \"Decide on *what* to test in these systems.\", \"task_id\": 31}'),('2015-02-06 17:08:20',NULL,87,8,NULL,13,'task_created','{\"story_id\": 8, \"task_title\": \"Get Mason v3 merged, and carry out any further work it requires to be fully useful.\", \"task_id\": 32}'),('2015-02-06 17:08:20',NULL,88,8,NULL,13,'task_created','{\"story_id\": 8, \"task_title\": \"Deploy an instance of this Mason to work on patches submitted to our as-yet-unready Gerrit instance.\", \"task_id\": 33}'),('2015-02-06 17:17:41',NULL,89,9,NULL,7,'story_created','{\"story_id\": 9, \"story_title\": \"Improve Storyboard deployment\"}'),('2015-02-06 17:17:42',NULL,90,9,NULL,7,'task_created','{\"story_id\": 9, \"task_title\": \"Style storyboard a bit\", \"task_id\": 34}'),('2015-02-06 17:17:42',NULL,91,9,NULL,7,'task_created','{\"story_id\": 9, \"task_title\": \"Redeploy an instance cleanly from build instructions in infrastructure.git\", \"task_id\": 35}'),('2015-02-06 17:18:43',NULL,92,9,2,7,'user_comment',NULL),('2015-02-08 11:38:07',NULL,93,2,3,14,'user_comment',NULL),('2015-02-09 11:25:11',NULL,94,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade fuse\", \"old_status\": \"inprogress\", \"task_id\": 15, \"new_status\": \"merged\"}'),('2015-02-09 11:25:15',NULL,95,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade vala\", \"old_status\": \"inprogress\", \"task_id\": 16, \"new_status\": \"merged\"}'),('2015-02-09 11:31:06',NULL,96,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade sqlite3\", \"old_status\": \"inprogress\", \"task_id\": 24, \"new_status\": \"merged\"}'),('2015-02-09 11:37:07',NULL,97,10,NULL,9,'story_created','{\"story_id\": 10, \"story_title\": \"Build everything from git\"}'),('2015-02-09 11:37:08',NULL,98,10,NULL,9,'task_created','{\"story_id\": 10, \"task_title\": \"bootstrap autotools\", \"task_id\": 36}'),('2015-02-09 17:23:07',NULL,99,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"GTK+ mirror not up-to-date\", \"task_id\": 26}'),('2015-02-09 17:23:15',NULL,100,5,NULL,9,'task_assignee_changed','{\"story_id\": 5, \"task_title\": \"GTK+ mirror not up-to-date\", \"old_assignee_id\": null, \"task_id\": 26, \"new_assignee_id\": 9}'),('2015-02-09 17:23:20',NULL,101,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"GTK+ mirror not up-to-date\", \"old_status\": \"todo\", \"task_id\": 26, \"new_status\": \"merged\"}'),('2015-02-09 17:23:29',NULL,102,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade GTK+\", \"old_status\": \"inprogress\", \"task_id\": 17, \"new_status\": \"review\"}'),('2015-02-09 17:26:17',NULL,103,7,NULL,9,'task_details_changed','{\"story_id\": 7, \"task_title\": \"publicicy more http://mason-x86-64.baserock.org/\", \"task_id\": 28}'),('2015-02-09 21:35:18',NULL,104,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade libinput\", \"old_status\": \"review\", \"task_id\": 14, \"new_status\": \"merged\"}'),('2015-02-09 21:36:10',NULL,105,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Build GL: mesa with X11 support\", \"task_id\": 37}'),('2015-02-09 21:36:19',NULL,106,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Build GL: mesa with X11 support\", \"old_status\": \"todo\", \"task_id\": 37, \"new_status\": \"inprogress\"}'),('2015-02-10 10:46:25',NULL,107,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Build GL: mesa with X11 support\", \"task_id\": 37}'),('2015-02-10 10:46:35',NULL,108,5,NULL,9,'task_assignee_changed','{\"story_id\": 5, \"task_title\": \"Build GL: mesa with X11 support\", \"old_assignee_id\": null, \"task_id\": 37, \"new_assignee_id\": 9}'),('2015-02-10 10:46:50',NULL,109,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Upgrade to latest wayland (and weston)\", \"task_id\": 38}'),('2015-02-10 10:46:54',NULL,110,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade to latest wayland (and weston)\", \"old_status\": \"todo\", \"task_id\": 38, \"new_status\": \"review\"}'),('2015-02-11 09:07:36',NULL,111,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Use official sed instead the busybox one\", \"task_id\": 39}'),('2015-02-11 09:07:52',NULL,112,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"UseUse official diff instead busybox one\", \"task_id\": 40}'),('2015-02-11 09:08:07',NULL,113,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Add Python3 stratum\", \"task_id\": 41}'),('2015-02-11 09:08:21',NULL,114,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add Python3 stratum\", \"task_id\": 41}'),('2015-02-11 09:08:26',NULL,115,5,NULL,9,'task_assignee_changed','{\"story_id\": 5, \"task_title\": \"Add Python3 stratum\", \"old_assignee_id\": null, \"task_id\": 41, \"new_assignee_id\": 9}'),('2015-02-11 09:08:36',NULL,116,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade to latest wayland (and weston)\", \"old_status\": \"review\", \"task_id\": 38, \"new_status\": \"merged\"}'),('2015-02-11 09:08:49',NULL,117,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add tzdata to foundation\", \"old_status\": \"review\", \"task_id\": 11, \"new_status\": \"merged\"}'),('2015-02-11 09:12:50',NULL,118,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Add Python3 stratum\", \"task_id\": 41}'),('2015-02-11 09:17:18',NULL,119,5,NULL,9,'task_assignee_changed','{\"story_id\": 5, \"task_title\": \"Add Python3 stratum\", \"old_assignee_id\": 9, \"task_id\": 41, \"new_assignee_id\": 14}'),('2015-02-11 14:51:51',NULL,120,11,NULL,9,'story_created','{\"story_id\": 11, \"story_title\": \"kill /bin, /sbin, /lib\"}'),('2015-02-11 14:51:52',NULL,121,11,NULL,9,'task_created','{\"story_id\": 11, \"task_title\": \"Start to port busybox first\", \"task_id\": 42}'),('2015-02-12 16:13:44',NULL,122,12,NULL,16,'story_created','{\"story_id\": 12, \"story_title\": \"Get Baserock reference systems running on HP Moonshot ARMv8 64-bit servers\"}'),('2015-02-12 16:13:45',NULL,123,12,NULL,16,'task_created','{\"story_id\": 12, \"task_title\": \"Cross-bootstrap to ARMv8\", \"task_id\": 43}'),('2015-02-12 16:14:17',NULL,124,12,NULL,16,'story_details_changed','{\"story_id\": 12, \"story_title\": \"Get Baserock reference systems running on HP Moonshot 64-bit ARMv8 servers\"}'),('2015-02-12 16:14:36',NULL,125,12,NULL,16,'task_status_changed','{\"story_id\": 12, \"task_title\": \"Cross-bootstrap to ARMv8\", \"old_status\": \"todo\", \"task_id\": 43, \"new_status\": \"merged\"}'),('2015-02-12 16:15:17',NULL,126,12,NULL,16,'task_created','{\"story_id\": 12, \"task_title\": \"Morph deployment for moonshot cartridges\", \"task_id\": 44}'),('2015-02-12 16:15:28',NULL,127,12,NULL,16,'task_assignee_changed','{\"story_id\": 12, \"task_title\": \"Morph deployment for moonshot cartridges\", \"old_assignee_id\": null, \"task_id\": 44, \"new_assignee_id\": 16}'),('2015-02-12 16:15:36',NULL,128,12,NULL,16,'task_details_changed','{\"story_id\": 12, \"task_title\": \"Morph deployment for moonshot cartridges\", \"task_id\": 44}'),('2015-02-12 16:15:39',NULL,129,12,NULL,16,'task_status_changed','{\"story_id\": 12, \"task_title\": \"Morph deployment for moonshot cartridges\", \"old_status\": \"todo\", \"task_id\": 44, \"new_status\": \"inprogress\"}'),('2015-02-12 16:18:01',NULL,130,12,NULL,16,'task_details_changed','{\"story_id\": 12, \"task_title\": \"Cross-bootstrap to ARMv8\", \"task_id\": 43}'),('2015-02-12 16:18:37',NULL,131,12,NULL,16,'task_created','{\"story_id\": 12, \"task_title\": \"Spin up ARMv8b64\", \"task_id\": 45}'),('2015-02-12 16:18:52',NULL,132,12,NULL,16,'task_details_changed','{\"story_id\": 12, \"task_title\": \"Spin up ARMv8b64\", \"task_id\": 45}'),('2015-02-12 16:18:53',NULL,133,12,NULL,16,'task_details_changed','{\"story_id\": 12, \"task_title\": \"Spin up kernel for ARMv8b64\", \"task_id\": 45}'),('2015-02-12 16:19:00',NULL,134,12,NULL,16,'task_status_changed','{\"story_id\": 12, \"task_title\": \"Spin up kernel for ARMv8b64\", \"old_status\": \"todo\", \"task_id\": 45, \"new_status\": \"inprogress\"}'),('2015-02-12 16:23:15',NULL,135,12,NULL,16,'story_details_changed','{\"story_id\": 12, \"story_title\": \"Get Baserock reference systems running on HP Moonshot ARMv8 64-bit servers\"}'),('2015-02-12 16:23:48',NULL,136,12,NULL,16,'task_created','{\"story_id\": 12, \"task_title\": \"m400 as OpenStack compute node\", \"task_id\": 46}'),('2015-02-12 16:24:20',NULL,137,12,NULL,16,'task_created','{\"story_id\": 12, \"task_title\": \"m400 modules as deployable distbuild nodes\", \"task_id\": 47}'),('2015-02-12 16:24:54',NULL,138,12,NULL,16,'task_status_changed','{\"story_id\": 12, \"task_title\": \"m400 as OpenStack compute node\", \"old_status\": \"todo\", \"task_id\": 46, \"new_status\": \"inprogress\"}'),('2015-02-12 16:24:59',NULL,139,12,NULL,16,'task_created','{\"story_id\": 12, \"task_title\": \"m400 modules as deployable distbuild nodes\", \"task_id\": 48}'),('2015-02-12 16:25:08',NULL,140,12,NULL,16,'task_deleted','{\"story_id\": 12, \"task_title\": \"m400 modules as deployable distbuild nodes\", \"task_id\": 48}'),('2015-02-12 16:25:08',NULL,141,12,NULL,16,'task_deleted','{\"story_id\": 12, \"task_title\": \"m400 modules as deployable distbuild nodes\", \"task_id\": 48}'),('2015-02-12 16:26:21',NULL,142,12,NULL,16,'story_details_changed','{\"story_id\": 12, \"story_title\": \"Get Baserock reference systems running on HP Moonshot 64-bit ARMv8 servers\"}'),('2015-02-12 16:27:01',NULL,143,12,NULL,16,'task_details_changed','{\"story_id\": 12, \"task_title\": \"m400 as OpenStack compute node\", \"task_id\": 46}'),('2015-02-12 16:27:04',NULL,144,12,NULL,16,'task_details_changed','{\"story_id\": 12, \"task_title\": \"m400 modules as deployable distbuild nodes\", \"task_id\": 47}'),('2015-02-12 16:27:04',NULL,145,12,NULL,16,'task_details_changed','{\"story_id\": 12, \"task_title\": \"m400 modules as deployable distbuild nodes\", \"task_id\": 47}'),('2015-02-12 16:27:06',NULL,146,12,NULL,16,'task_details_changed','{\"story_id\": 12, \"task_title\": \"m400 modules as deployable distbuild nodes\", \"task_id\": 47}'),('2015-02-12 17:21:07',NULL,147,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade GTK+\", \"old_status\": \"review\", \"task_id\": 17, \"new_status\": \"merged\"}'),('2015-02-12 17:21:24',NULL,148,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Use official sed instead the busybox one\", \"old_status\": \"todo\", \"task_id\": 39, \"new_status\": \"review\"}'),('2015-02-12 17:21:26',NULL,149,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"UseUse official diff instead busybox one\", \"old_status\": \"todo\", \"task_id\": 40, \"new_status\": \"review\"}'),('2015-02-13 09:13:22',NULL,150,13,NULL,10,'story_created','{\"story_id\": 13, \"story_title\": \"Investigate why chown fails in system-integration time\"}'),('2015-02-13 09:13:22',NULL,151,13,NULL,10,'task_created','{\"story_id\": 13, \"task_title\": \"Investigate why chown fails in system-integration time\", \"task_id\": 49}'),('2015-02-13 09:39:51',NULL,152,12,NULL,16,'task_created','{\"story_id\": 12, \"task_title\": \"Complete upgrades for a working development system\", \"task_id\": 50}'),('2015-02-15 10:16:34',NULL,153,11,NULL,8,'task_status_changed','{\"story_id\": 11, \"task_title\": \"Start to port busybox first\", \"old_status\": \"todo\", \"task_id\": 42, \"new_status\": \"inprogress\"}'),('2015-02-15 10:16:41',NULL,154,11,NULL,8,'task_details_changed','{\"story_id\": 11, \"task_title\": \"Start to port busybox first\", \"task_id\": 42}'),('2015-02-15 10:16:56',NULL,155,11,NULL,8,'task_details_changed','{\"story_id\": 11, \"task_title\": \"Start to port busybox first\", \"task_id\": 42}'),('2015-02-15 10:17:01',NULL,156,11,NULL,8,'task_assignee_changed','{\"story_id\": 11, \"task_title\": \"Start to port busybox first\", \"old_assignee_id\": null, \"task_id\": 42, \"new_assignee_id\": 8}'),('2015-02-15 10:18:05',NULL,157,11,NULL,8,'task_created','{\"story_id\": 11, \"task_title\": \"Change fhs-dirs to not create /lib /lib64 and create links instead\", \"task_id\": 51}'),('2015-02-15 10:18:10',NULL,158,11,NULL,8,'task_status_changed','{\"story_id\": 11, \"task_title\": \"Change fhs-dirs to not create /lib /lib64 and create links instead\", \"old_status\": \"todo\", \"task_id\": 51, \"new_status\": \"inprogress\"}'),('2015-02-16 11:33:28',NULL,159,12,NULL,16,'task_status_changed','{\"story_id\": 12, \"task_title\": \"Complete upgrades for a working development system\", \"old_status\": \"todo\", \"task_id\": 50, \"new_status\": \"review\"}'),('2015-02-19 01:20:19',NULL,160,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"UseUse official diff instead busybox one\", \"old_status\": \"review\", \"task_id\": 40, \"new_status\": \"merged\"}'),('2015-02-19 01:20:22',NULL,161,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Use official sed instead the busybox one\", \"old_status\": \"review\", \"task_id\": 39, \"new_status\": \"merged\"}'),('2015-02-19 12:10:26',NULL,162,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add Python3 stratum\", \"old_status\": \"todo\", \"task_id\": 41, \"new_status\": \"review\"}'),('2015-02-19 12:10:35',NULL,163,5,NULL,9,'task_assignee_changed','{\"story_id\": 5, \"task_title\": \"Add Python3 stratum\", \"old_assignee_id\": 14, \"task_id\": 41, \"new_assignee_id\": 9}'),('2015-02-19 12:11:20',NULL,164,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Create a x-xorg stratum\", \"task_id\": 52}'),('2015-02-19 12:13:28',NULL,165,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Lorry GDM\", \"task_id\": 53}'),('2015-02-19 12:13:36',NULL,166,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Lorry GDM\", \"task_id\": 53}'),('2015-02-19 12:13:45',NULL,167,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Lorry GDM\", \"task_id\": 53}'),('2015-02-19 12:14:24',NULL,168,10,NULL,9,'task_created','{\"story_id\": 10, \"task_title\": \"build libtool from git\", \"task_id\": 54}'),('2015-02-20 16:04:32',NULL,169,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Upgrade to latest libdrm\", \"old_status\": \"review\", \"task_id\": 25, \"new_status\": \"merged\"}'),('2015-02-20 16:04:47',NULL,170,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Lorry GDM\", \"old_status\": \"todo\", \"task_id\": 53, \"new_status\": \"review\"}'),('2015-02-20 16:05:39',NULL,171,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Fix problems with GL acceleration detection in gnome-session\", \"task_id\": 55}'),('2015-02-23 09:27:38',NULL,172,14,NULL,11,'story_created','{\"story_id\": 14, \"story_title\": \"Licensing for w.b.o\"}'),('2015-02-23 09:27:38',NULL,173,14,NULL,11,'task_created','{\"story_id\": 14, \"task_title\": \"Check whether CC BY SA licence is acceptable to contributors\", \"task_id\": 56}'),('2015-02-23 09:27:38',NULL,174,14,NULL,11,'task_created','{\"story_id\": 14, \"task_title\": \"Add a copyright statement and licence info to all pages\", \"task_id\": 57}'),('2015-02-23 09:27:38',NULL,175,14,NULL,11,'task_created','{\"story_id\": 14, \"task_title\": \"Add more information to the \'Contributing\' page\", \"task_id\": 58}'),('2015-02-23 14:51:00',NULL,176,15,NULL,17,'story_created','{\"story_id\": 15, \"story_title\": \"The tale of the missing library\"}'),('2015-02-23 14:51:00',NULL,177,15,NULL,17,'task_created','{\"story_id\": 15, \"task_title\": \"The tale of the missing library\", \"task_id\": 59}'),('2015-02-23 14:53:32',NULL,178,3,4,11,'user_comment',NULL),('2015-02-23 14:55:07',NULL,179,15,NULL,17,'task_priority_changed','{\"story_id\": 15, \"task_title\": \"The tale of the missing library\", \"old_priority\": \"medium\", \"task_id\": 59, \"new_priority\": \"high\"}'),('2015-02-23 15:10:35',NULL,180,15,NULL,17,'story_details_changed','{\"story_id\": 15, \"story_title\": \"The tale of the missing library\"}'),('2015-02-23 15:11:34',NULL,181,15,NULL,17,'story_details_changed','{\"story_id\": 15, \"story_title\": \"The tale of the missing library\"}'),('2015-02-24 12:24:02',NULL,182,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Fix problems with GL acceleration detection in gnome-session\", \"old_status\": \"todo\", \"task_id\": 55, \"new_status\": \"merged\"}'),('2015-02-24 12:24:06',NULL,183,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Lorry GDM\", \"old_status\": \"review\", \"task_id\": 53, \"new_status\": \"merged\"}'),('2015-02-24 12:24:09',NULL,184,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add Python3 stratum\", \"old_status\": \"review\", \"task_id\": 41, \"new_status\": \"merged\"}'),('2015-02-24 12:24:50',NULL,185,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Fix svg support in gdk-pixbuf\", \"task_id\": 60}'),('2015-02-24 13:02:56',NULL,186,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Fix svg support in gdk-pixbuf\", \"old_status\": \"todo\", \"task_id\": 60, \"new_status\": \"review\"}'),('2015-02-25 10:51:51',NULL,187,3,NULL,9,'task_assignee_changed','{\"story_id\": 3, \"task_title\": \"document the proposed VERSION approach\", \"old_assignee_id\": null, \"task_id\": 3, \"new_assignee_id\": 14}'),('2015-02-25 10:51:55',NULL,188,3,NULL,9,'task_status_changed','{\"story_id\": 3, \"task_title\": \"document the proposed VERSION approach\", \"old_status\": \"todo\", \"task_id\": 3, \"new_status\": \"inprogress\"}'),('2015-02-25 10:52:35',NULL,189,3,NULL,9,'task_details_changed','{\"story_id\": 3, \"task_title\": \"document the proposed VERSION approach\", \"task_id\": 3}'),('2015-02-25 10:52:42',NULL,190,3,NULL,9,'task_details_changed','{\"story_id\": 3, \"task_title\": \"document the proposed VERSION approach\", \"task_id\": 3}'),('2015-02-25 10:52:54',NULL,191,3,NULL,9,'task_created','{\"story_id\": 3, \"task_title\": \"Add support for VERSION in morph\", \"task_id\": 61}'),('2015-02-25 10:52:57',NULL,192,3,NULL,9,'task_status_changed','{\"story_id\": 3, \"task_title\": \"Add support for VERSION in morph\", \"old_status\": \"todo\", \"task_id\": 61, \"new_status\": \"review\"}'),('2015-02-26 11:45:03',NULL,193,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Fix svg support in gdk-pixbuf\", \"old_status\": \"review\", \"task_id\": 60, \"new_status\": \"inprogress\"}'),('2015-02-27 18:29:58',NULL,194,16,NULL,9,'story_created','{\"story_id\": 16, \"story_title\": \"Fix ./check to not fill host /tmp directory\"}'),('2015-02-27 18:29:58',NULL,195,16,NULL,9,'task_created','{\"story_id\": 16, \"task_title\": \"Make ./check to honor TMPDIR\", \"task_id\": 62}'),('2015-03-03 12:47:05',NULL,196,6,NULL,11,'task_details_changed','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-03-03 12:47:58',NULL,197,6,NULL,11,'task_details_changed','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-03-03 12:48:04',NULL,198,6,NULL,11,'task_details_changed','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-03-03 12:48:37',NULL,199,6,NULL,11,'task_details_changed','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-03-03 12:50:03',NULL,200,6,NULL,11,'task_details_changed','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-03-03 12:50:16',NULL,201,6,NULL,11,'task_details_changed','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-03-03 12:50:24',NULL,202,6,NULL,11,'task_assignee_changed','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"old_assignee_id\": null, \"task_id\": 10, \"new_assignee_id\": 11}'),('2015-03-04 14:38:40',NULL,203,17,NULL,11,'story_created','{\"story_id\": 17, \"story_title\": \"Rationalise upgrade functionality\"}'),('2015-03-04 14:38:41',NULL,204,17,NULL,11,'task_created','{\"story_id\": 17, \"task_title\": \"Make any necessary code changes, including docstrings\", \"task_id\": 63}'),('2015-03-04 14:38:41',NULL,205,17,NULL,11,'task_created','{\"story_id\": 17, \"task_title\": \"Update w.b.o as required\", \"task_id\": 64}'),('2015-03-04 14:38:41',NULL,206,17,NULL,11,'task_created','{\"story_id\": 17, \"task_title\": \"Update cycle.sh as required\", \"task_id\": 65}'),('2015-03-04 14:38:41',NULL,207,17,NULL,11,'task_created','{\"story_id\": 17, \"task_title\": \"Decide whether or not `morph deploy --upgrade` is really deprecated\", \"task_id\": 66}'),('2015-03-04 18:02:09',NULL,208,3,NULL,9,'task_status_changed','{\"story_id\": 3, \"task_title\": \"Add support for VERSION in morph\", \"old_status\": \"review\", \"task_id\": 61, \"new_status\": \"merged\"}'),('2015-03-04 18:02:46',NULL,209,3,NULL,9,'task_created','{\"story_id\": 3, \"task_title\": \"Add VERSION (version: 0) file to definitions\", \"task_id\": 67}'),('2015-03-06 11:08:06',NULL,210,14,NULL,11,'task_status_changed','{\"story_id\": 14, \"task_title\": \"Add a copyright statement and licence info to all pages\", \"old_status\": \"todo\", \"task_id\": 57, \"new_status\": \"review\"}'),('2015-03-06 11:08:12',NULL,211,14,NULL,11,'task_status_changed','{\"story_id\": 14, \"task_title\": \"Check whether CC BY SA licence is acceptable to contributors\", \"old_status\": \"todo\", \"task_id\": 56, \"new_status\": \"merged\"}'),('2015-03-06 11:09:52',NULL,212,14,NULL,11,'task_status_changed','{\"story_id\": 14, \"task_title\": \"Add more information to the \'Contributing\' page\", \"old_status\": \"todo\", \"task_id\": 58, \"new_status\": \"merged\"}'),('2015-03-06 11:10:31',NULL,213,14,NULL,11,'task_details_changed','{\"story_id\": 14, \"task_title\": \"Add more information to the \'Contributing\' page\", \"task_id\": 58}'),('2015-03-06 11:10:38',NULL,214,14,NULL,11,'task_status_changed','{\"story_id\": 14, \"task_title\": \"Add a copyright statement and licence info to all pages\", \"old_status\": \"review\", \"task_id\": 57, \"new_status\": \"merged\"}'),('2015-03-06 11:10:43',NULL,215,14,5,11,'user_comment',NULL),('2015-03-06 11:22:24',NULL,216,17,NULL,11,'story_details_changed','{\"story_id\": 17, \"story_title\": \"Rationalise upgrade functionality\"}'),('2015-03-06 11:28:04',NULL,217,18,NULL,11,'story_created','{\"story_id\": 18, \"story_title\": \"Document the use of StoryBoard for defect and feature Tracking\"}'),('2015-03-06 11:28:05',NULL,218,18,NULL,11,'task_created','{\"story_id\": 18, \"task_title\": \"Add documentation and link to http://wiki.baserock.org/contributing/\", \"task_id\": 68}'),('2015-03-06 12:18:02',NULL,219,11,6,8,'user_comment',NULL),('2015-03-06 15:54:19',NULL,220,19,NULL,9,'story_created','{\"story_id\": 19, \"story_title\": \"Port morph to Python3\"}'),('2015-03-06 15:54:19',NULL,221,19,NULL,9,'task_created','{\"story_id\": 19, \"task_title\": \"Analyze if we should port Cliapp or get rid of it\", \"task_id\": 69}'),('2015-03-09 13:58:40',NULL,222,20,NULL,11,'story_created','{\"story_id\": 20, \"story_title\": \"Tutorial on how to use morph completely offline\"}'),('2015-03-09 13:58:40',NULL,223,20,NULL,11,'task_created','{\"story_id\": 20, \"task_title\": \"Do it, and document it in a tutorial\", \"task_id\": 70}'),('2015-03-09 13:59:39',NULL,224,20,NULL,11,'story_details_changed','{\"story_id\": 20, \"story_title\": \"Tutorial on how to use morph completely offline\"}'),('2015-03-10 12:59:16',NULL,225,3,NULL,9,'task_status_changed','{\"story_id\": 3, \"task_title\": \"Add VERSION (version: 0) file to definitions\", \"old_status\": \"todo\", \"task_id\": 67, \"new_status\": \"merged\"}'),('2015-03-10 13:00:24',NULL,226,3,NULL,9,'task_created','{\"story_id\": 3, \"task_title\": \"morph: allow to not have build-depends\", \"task_id\": 71}'),('2015-03-10 13:00:27',NULL,227,3,NULL,9,'task_status_changed','{\"story_id\": 3, \"task_title\": \"morph: allow to not have build-depends\", \"old_status\": \"todo\", \"task_id\": 71, \"new_status\": \"merged\"}'),('2015-03-10 13:00:56',NULL,228,3,NULL,9,'task_created','{\"story_id\": 3, \"task_title\": \"version 1: do not have empthy build-depends\", \"task_id\": 72}'),('2015-03-10 13:00:59',NULL,229,3,NULL,9,'task_status_changed','{\"story_id\": 3, \"task_title\": \"version 1: do not have empthy build-depends\", \"old_status\": \"todo\", \"task_id\": 72, \"new_status\": \"merged\"}'),('2015-03-10 17:39:43',NULL,230,21,NULL,9,'story_created','{\"story_id\": 21, \"story_title\": \"Build a system with correct users support (pam, logind ...)\"}'),('2015-03-10 17:39:43',NULL,231,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Build login (from util-linux) with pam support\", \"task_id\": 73}'),('2015-03-10 17:39:57',NULL,232,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Move util-linux to foundation\", \"task_id\": 74}'),('2015-03-10 17:40:12',NULL,233,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Move pam to core\", \"task_id\": 75}'),('2015-03-10 17:40:49',NULL,234,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Move acl to core\", \"task_id\": 76}'),('2015-03-10 17:40:59',NULL,235,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Make shadow depend on acl and pam\", \"task_id\": 77}'),('2015-03-10 17:41:12',NULL,236,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Configure pam correctly\", \"task_id\": 78}'),('2015-03-10 17:42:13',NULL,237,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Make util-linux depend on pam and shadow\", \"task_id\": 79}'),('2015-03-10 17:42:29',NULL,238,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Move util-linux to foundation\", \"task_id\": 80}'),('2015-03-10 17:42:35',NULL,239,21,NULL,9,'task_deleted','{\"story_id\": 21, \"task_title\": \"Move util-linux to foundation\", \"task_id\": 74}'),('2015-03-10 17:42:42',NULL,240,21,NULL,9,'task_details_changed','{\"story_id\": 21, \"task_title\": \"Move pam to core\", \"task_id\": 75}'),('2015-03-10 17:42:46',NULL,241,21,NULL,9,'task_details_changed','{\"story_id\": 21, \"task_title\": \"Move pam to core\", \"task_id\": 75}'),('2015-03-10 17:42:49',NULL,242,21,NULL,9,'task_details_changed','{\"story_id\": 21, \"task_title\": \"Move acl to core\", \"task_id\": 76}'),('2015-03-10 17:42:51',NULL,243,21,NULL,9,'task_details_changed','{\"story_id\": 21, \"task_title\": \"Make shadow depend on acl and pam\", \"task_id\": 77}'),('2015-03-10 17:42:56',NULL,244,21,NULL,9,'task_details_changed','{\"story_id\": 21, \"task_title\": \"Configure pam correctly\", \"task_id\": 78}'),('2015-03-10 17:42:59',NULL,245,21,NULL,9,'task_details_changed','{\"story_id\": 21, \"task_title\": \"Make util-linux depend on pam and shadow\", \"task_id\": 79}'),('2015-03-10 17:43:01',NULL,246,21,NULL,9,'task_details_changed','{\"story_id\": 21, \"task_title\": \"Move util-linux to foundation\", \"task_id\": 80}'),('2015-03-10 17:43:23',NULL,247,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Build login (from util-linux) with pam support\", \"task_id\": 81}'),('2015-03-10 17:43:27',NULL,248,21,NULL,9,'task_deleted','{\"story_id\": 21, \"task_title\": \"Build login (from util-linux) with pam support\", \"task_id\": 73}'),('2015-03-10 17:43:51',NULL,249,21,NULL,9,'story_details_changed','{\"story_id\": 21, \"story_title\": \"Build a system with correct multiuser support (pam, logind ...)\"}'),('2015-03-10 17:44:07',NULL,250,21,NULL,9,'story_details_changed','{\"story_id\": 21, \"story_title\": \"Build a system with correct multiuser support (pam, logind ...)\"}'),('2015-03-10 17:47:07',NULL,251,22,NULL,9,'story_created','{\"story_id\": 22, \"story_title\": \"Improve logging system\"}'),('2015-03-10 17:47:07',NULL,252,22,NULL,9,'task_created','{\"story_id\": 22, \"task_title\": \"Use standard -v/-verbose to show real compilation output\", \"task_id\": 82}'),('2015-03-10 17:47:51',NULL,253,22,NULL,9,'task_created','{\"story_id\": 22, \"task_title\": \"build-log output doesn\'t really belong in morph.log, it\'s chunk metadata\", \"task_id\": 83}'),('2015-03-10 17:51:53',NULL,254,22,7,7,'user_comment',NULL),('2015-03-10 17:56:59',NULL,255,22,NULL,9,'task_created','{\"story_id\": 22, \"task_title\": \"Use journald? (as optional dep)\", \"task_id\": 84}'),('2015-03-10 18:13:03',NULL,256,21,NULL,9,'story_details_changed','{\"story_id\": 21, \"story_title\": \"Build a system with correct multiuser support (pam, logind, dbus ...)\"}'),('2015-03-10 18:13:24',NULL,257,21,NULL,9,'task_created','{\"story_id\": 21, \"task_title\": \"Check DBUS session is correctly created\", \"task_id\": 85}'),('2015-03-11 18:32:31',NULL,258,23,NULL,9,'story_created','{\"story_id\": 23, \"story_title\": \"Inconsistences betwen system and deploy stages\"}'),('2015-03-11 18:32:31',NULL,259,23,NULL,9,'task_created','{\"story_id\": 23, \"task_title\": \"Clarify if this is the intended behaviour\", \"task_id\": 86}'),('2015-03-11 18:36:46',NULL,260,23,NULL,9,'story_details_changed','{\"story_id\": 23, \"story_title\": \"Inconsistences betwen system and deploy stages\"}'),('2015-03-11 19:25:10',NULL,261,24,NULL,9,'story_created','{\"story_id\": 24, \"story_title\": \"Improve trove to be a curator of upstream\"}'),('2015-03-11 19:25:10',NULL,262,24,NULL,9,'task_created','{\"story_id\": 24, \"task_title\": \"Never remove tags\", \"task_id\": 87}'),('2015-03-11 19:25:53',NULL,263,24,NULL,9,'task_created','{\"story_id\": 24, \"task_title\": \"Set a name convention for moved tags\", \"task_id\": 88}'),('2015-03-11 20:36:10',NULL,264,25,NULL,9,'story_created','{\"story_id\": 25, \"story_title\": \"Switch to making GPT partitioned images\"}'),('2015-03-11 20:36:10',NULL,265,25,NULL,9,'task_created','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"task_id\": 89}'),('2015-03-11 20:36:48',NULL,266,25,NULL,9,'task_created','{\"story_id\": 25, \"task_title\": \"Do not put config in /etc/fstab\", \"task_id\": 90}'),('2015-03-11 20:57:34',NULL,267,19,NULL,9,'task_created','{\"story_id\": 19, \"task_title\": \"Maybe use cement instead (support for python 2 and 3)\", \"task_id\": 91}'),('2015-03-11 20:57:46',NULL,268,19,NULL,9,'task_details_changed','{\"story_id\": 19, \"task_title\": \"Maybe use cement instead (support for python 2 and 3)\", \"task_id\": 91}'),('2015-03-12 08:22:34',NULL,269,26,NULL,11,'story_created','{\"story_id\": 26, \"story_title\": \"`morph edit` doesn\'t honour --no-git-update\"}'),('2015-03-12 08:22:34',NULL,270,26,NULL,11,'task_created','{\"story_id\": 26, \"task_title\": \"Fix this\", \"task_id\": 92}'),('2015-03-12 08:25:13',NULL,271,26,8,11,'user_comment',NULL),('2015-03-12 08:26:23',NULL,272,26,NULL,11,'task_created','{\"story_id\": 26, \"task_title\": \"Check if there are other calls that shoule honour this parameter but don\'t\", \"task_id\": 93}'),('2015-03-12 08:48:37',NULL,273,26,NULL,11,'task_details_changed','{\"story_id\": 26, \"task_title\": \"Check if there are other calls that shoule honour this parameter but don\'t\", \"task_id\": 93}'),('2015-03-12 10:07:16',NULL,274,26,NULL,11,'story_details_changed','{\"story_id\": 26, \"story_title\": \"Improve offline functionality in \'morph\'\"}'),('2015-03-12 10:08:19',NULL,275,26,NULL,11,'task_details_changed','{\"story_id\": 26, \"task_title\": \"Fix this\", \"task_id\": 92}'),('2015-03-12 10:24:42',NULL,276,26,NULL,9,'task_created','{\"story_id\": 26, \"task_title\": \"Do not pull repos if not needed\", \"task_id\": 94}'),('2015-03-12 11:35:46',NULL,277,27,NULL,9,'story_created','{\"story_id\": 27, \"story_title\": \"Improve morph user interface\"}'),('2015-03-12 11:35:47',NULL,278,27,NULL,9,'task_created','{\"story_id\": 27, \"task_title\": \"Remove the need of workspaces\", \"task_id\": 95}'),('2015-03-12 11:36:16',NULL,279,27,NULL,9,'task_created','{\"story_id\": 27, \"task_title\": \"Remove/simplify morph checkout\", \"task_id\": 96}'),('2015-03-12 11:36:24',NULL,280,27,NULL,9,'task_created','{\"story_id\": 27, \"task_title\": \"Remove/simplify morph branch\", \"task_id\": 97}'),('2015-03-12 11:36:34',NULL,281,27,NULL,9,'task_created','{\"story_id\": 27, \"task_title\": \"Remove/simplify morph edit\", \"task_id\": 98}'),('2015-03-12 11:36:51',NULL,282,27,NULL,9,'task_details_changed','{\"story_id\": 27, \"task_title\": \"Remove/simplify morph checkout\", \"task_id\": 96}'),('2015-03-12 11:37:00',NULL,283,27,NULL,9,'task_details_changed','{\"story_id\": 27, \"task_title\": \"Remove/simplify morph branch\", \"task_id\": 97}'),('2015-03-12 11:37:09',NULL,284,27,NULL,9,'task_details_changed','{\"story_id\": 27, \"task_title\": \"Remove/simplify morph edit\", \"task_id\": 98}'),('2015-03-12 15:02:45',NULL,285,18,NULL,12,'task_assignee_changed','{\"story_id\": 18, \"task_title\": \"Add documentation and link to http://wiki.baserock.org/contributing/\", \"old_assignee_id\": null, \"task_id\": 68, \"new_assignee_id\": 12}'),('2015-03-12 15:02:48',NULL,286,18,NULL,12,'task_status_changed','{\"story_id\": 18, \"task_title\": \"Add documentation and link to http://wiki.baserock.org/contributing/\", \"old_status\": \"todo\", \"task_id\": 68, \"new_status\": \"inprogress\"}'),('2015-03-12 15:10:28',NULL,287,26,9,11,'user_comment',NULL),('2015-03-12 15:14:32',NULL,288,18,10,12,'user_comment',NULL),('2015-03-12 17:16:26',NULL,289,19,NULL,9,'task_created','{\"story_id\": 19, \"task_title\": \"Modernize code to make it more python3 compatible\", \"task_id\": 99}'),('2015-03-12 17:16:31',NULL,290,19,NULL,9,'task_assignee_changed','{\"story_id\": 19, \"task_title\": \"Modernize code to make it more python3 compatible\", \"old_assignee_id\": null, \"task_id\": 99, \"new_assignee_id\": 9}'),('2015-03-12 23:52:28',NULL,291,19,NULL,9,'task_status_changed','{\"story_id\": 19, \"task_title\": \"Modernize code to make it more python3 compatible\", \"old_status\": \"todo\", \"task_id\": 99, \"new_status\": \"inprogress\"}'),('2015-03-13 07:57:10',NULL,292,26,11,11,'user_comment',NULL),('2015-03-13 07:57:48',NULL,293,26,12,11,'user_comment',NULL),('2015-03-13 08:26:25',NULL,294,26,NULL,11,'story_details_changed','{\"story_id\": 26, \"story_title\": \"Improve offline functionality in \'morph\'\"}'),('2015-03-13 09:57:08',NULL,295,26,NULL,11,'task_created','{\"story_id\": 26, \"task_title\": \"Make --no-git-update the default, or allow it to be set in morph.conf so it doesn\'t have to be typed\", \"task_id\": 100}'),('2015-03-13 18:50:08',NULL,296,26,NULL,11,'task_created','{\"story_id\": 26, \"task_title\": \"restore the \'update-gits\' command\", \"task_id\": 101}'),('2015-03-16 09:56:04',NULL,297,18,13,12,'user_comment',NULL),('2015-03-16 09:56:08',NULL,298,18,NULL,12,'task_status_changed','{\"story_id\": 18, \"task_title\": \"Add documentation and link to http://wiki.baserock.org/contributing/\", \"old_status\": \"inprogress\", \"task_id\": 68, \"new_status\": \"todo\"}'),('2015-03-16 09:56:12',NULL,299,18,NULL,12,'task_status_changed','{\"story_id\": 18, \"task_title\": \"Add documentation and link to http://wiki.baserock.org/contributing/\", \"old_status\": \"todo\", \"task_id\": 68, \"new_status\": \"review\"}'),('2015-03-16 09:57:02',NULL,300,2,NULL,12,'task_assignee_changed','{\"story_id\": 2, \"task_title\": \"allow openid.baserock.org to find storyboard\", \"old_assignee_id\": null, \"task_id\": 2, \"new_assignee_id\": 12}'),('2015-03-16 09:57:06',NULL,301,2,NULL,12,'task_status_changed','{\"story_id\": 2, \"task_title\": \"allow openid.baserock.org to find storyboard\", \"old_status\": \"todo\", \"task_id\": 2, \"new_status\": \"inprogress\"}'),('2015-03-16 13:28:57',NULL,302,22,NULL,9,'task_assignee_changed','{\"story_id\": 22, \"task_title\": \"Use standard -v/-verbose to show real compilation output\", \"old_assignee_id\": null, \"task_id\": 82, \"new_assignee_id\": 9}'),('2015-03-16 14:10:07',NULL,303,22,NULL,9,'task_status_changed','{\"story_id\": 22, \"task_title\": \"Use standard -v/-verbose to show real compilation output\", \"old_status\": \"todo\", \"task_id\": 82, \"new_status\": \"review\"}'),('2015-03-17 11:41:56',NULL,304,28,NULL,9,'story_created','{\"story_id\": 28, \"story_title\": \"Remaining TODO for gerrit.baserock.org\"}'),('2015-03-17 11:41:56',NULL,305,28,NULL,9,'task_created','{\"story_id\": 28, \"task_title\": \"Not backed up.\", \"task_id\": 102}'),('2015-03-17 11:42:08',NULL,306,28,NULL,9,'task_created','{\"story_id\": 28, \"task_title\": \"Emails don\'t send.\", \"task_id\": 103}'),('2015-03-17 11:42:23',NULL,307,28,NULL,9,'task_created','{\"story_id\": 28, \"task_title\": \"No gitweb/cgit links\", \"task_id\": 104}'),('2015-03-17 11:42:27',NULL,308,28,NULL,9,'task_details_changed','{\"story_id\": 28, \"task_title\": \"Emails don\'t send.\", \"task_id\": 103}'),('2015-03-17 11:42:40',NULL,309,28,NULL,9,'task_created','{\"story_id\": 28, \"task_title\": \"Can\'t clone over git\", \"task_id\": 105}'),('2015-03-17 11:43:03',NULL,310,28,NULL,9,'task_created','{\"story_id\": 28, \"task_title\": \"Error 500 (server error) when trying to register a new email address\", \"task_id\": 106}'),('2015-03-17 11:57:22',NULL,311,3,NULL,9,'task_created','{\"story_id\": 3, \"task_title\": \"Improve check of format version in VERSION\", \"task_id\": 107}'),('2015-03-17 11:57:24',NULL,312,3,NULL,9,'task_status_changed','{\"story_id\": 3, \"task_title\": \"Improve check of format version in VERSION\", \"old_status\": \"todo\", \"task_id\": 107, \"new_status\": \"review\"}'),('2015-03-17 14:27:25',NULL,313,28,NULL,11,'task_created','{\"story_id\": 28, \"task_title\": \"Disable \'Link new identities\' function (or fix it)\", \"task_id\": 108}'),('2015-03-17 16:51:24',NULL,314,28,NULL,7,'task_status_changed','{\"story_id\": 28, \"task_title\": \"Disable \'Link new identities\' function (or fix it)\", \"old_status\": \"todo\", \"task_id\": 108, \"new_status\": \"merged\"}'),('2015-03-17 16:53:56',NULL,315,28,14,7,'user_comment',NULL),('2015-03-17 16:54:16',NULL,316,28,15,7,'user_comment',NULL),('2015-03-18 10:03:20',NULL,317,2,16,7,'user_comment',NULL),('2015-03-20 08:56:51',NULL,318,27,NULL,11,'task_created','{\"story_id\": 27, \"task_title\": \"Rationalise morph upgrade v morph deploy --upgrade\", \"task_id\": 109}'),('2015-03-20 10:43:24',NULL,319,29,NULL,18,'story_created','{\"story_id\": 29, \"story_title\": \"Cross-bootstrapping results in gcc error\"}'),('2015-03-20 10:43:24',NULL,320,29,NULL,18,'task_created','{\"story_id\": 29, \"task_title\": \"Cross-bootstrapping results in gcc error\", \"task_id\": 110}'),('2015-03-20 10:46:33',NULL,321,29,NULL,18,'story_details_changed','{\"story_id\": 29, \"story_title\": \"Cross-bootstrapping results in gcc error\"}'),('2015-03-20 10:53:15',NULL,322,29,17,18,'user_comment',NULL),('2015-03-23 14:47:21',NULL,323,30,NULL,13,'story_created','{\"story_id\": 30, \"story_title\": \"Network configuration without systemd\"}'),('2015-03-23 14:47:21',NULL,324,30,NULL,13,'task_created','{\"story_id\": 30, \"task_title\": \"Make simple-network.configure work when /etc/systemd/network doesn\'t exist\", \"task_id\": 111}'),('2015-03-23 14:47:31',NULL,325,30,NULL,13,'task_details_changed','{\"story_id\": 30, \"task_title\": \"Make simple-network.configure work when /etc/systemd/network doesn\'t exist\", \"task_id\": 111}'),('2015-03-23 14:47:36',NULL,326,30,NULL,13,'task_assignee_changed','{\"story_id\": 30, \"task_title\": \"Make simple-network.configure work when /etc/systemd/network doesn\'t exist\", \"old_assignee_id\": null, \"task_id\": 111, \"new_assignee_id\": 9}'),('2015-03-30 13:03:23',NULL,327,31,NULL,9,'story_created','{\"story_id\": 31, \"story_title\": \"devel system description is too generic\"}'),('2015-03-30 13:03:24',NULL,328,31,NULL,9,'task_created','{\"story_id\": 31, \"task_title\": \"Change description of devel* systems\", \"task_id\": 112}'),('2015-03-31 14:15:51',NULL,329,11,NULL,9,'task_created','{\"story_id\": 11, \"task_title\": \"fix /var/run not being a symlink to /run\", \"task_id\": 113}'),('2015-03-31 14:15:59',NULL,330,11,NULL,9,'task_details_changed','{\"story_id\": 11, \"task_title\": \"fix /var/run not being a symlink to /run\", \"task_id\": 113}'),('2015-04-01 09:20:27',NULL,331,28,NULL,7,'task_status_changed','{\"story_id\": 28, \"task_title\": \"Emails don\'t send\", \"old_status\": \"todo\", \"task_id\": 103, \"new_status\": \"merged\"}'),('2015-04-01 09:20:38',NULL,332,28,NULL,7,'task_status_changed','{\"story_id\": 28, \"task_title\": \"Error 500 (server error) when trying to register a new email address\", \"old_status\": \"todo\", \"task_id\": 106, \"new_status\": \"merged\"}'),('2015-04-02 09:48:31',NULL,333,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"dbus configuration doesnt seem correct\", \"task_id\": 114}'),('2015-04-02 09:49:23',NULL,334,30,NULL,9,'task_status_changed','{\"story_id\": 30, \"task_title\": \"Make simple-network.configure work when /etc/systemd/network doesn\'t exist\", \"old_status\": \"todo\", \"task_id\": 111, \"new_status\": \"review\"}'),('2015-04-02 09:49:28',NULL,335,30,NULL,9,'task_status_changed','{\"story_id\": 30, \"task_title\": \"Make simple-network.configure work when /etc/systemd/network doesn\'t exist\", \"old_status\": \"review\", \"task_id\": 111, \"new_status\": \"merged\"}'),('2015-04-02 10:02:31',NULL,336,32,NULL,9,'story_created','{\"story_id\": 32, \"story_title\": \"Fix the fhs-dirs mess\"}'),('2015-04-02 10:02:31',NULL,337,32,NULL,9,'task_created','{\"story_id\": 32, \"task_title\": \"Move /etc/os-release from morph to definitions\", \"task_id\": 115}'),('2015-04-02 10:03:44',NULL,338,32,NULL,9,'task_created','{\"story_id\": 32, \"task_title\": \"Install /etc/profile with the install-files extension\", \"task_id\": 116}'),('2015-04-02 10:04:02',NULL,339,32,NULL,9,'task_created','{\"story_id\": 32, \"task_title\": \"Install /etc/os-release with the install-files extension\", \"task_id\": 117}'),('2015-04-02 10:04:39',NULL,340,32,NULL,9,'task_created','{\"story_id\": 32, \"task_title\": \"Find a way to keep in sync /etc/password, /etc/shadow and /etc/groups\", \"task_id\": 118}'),('2015-04-02 10:04:45',NULL,341,32,NULL,9,'task_details_changed','{\"story_id\": 32, \"task_title\": \"Install /etc/profile with the install-files extension\", \"task_id\": 116}'),('2015-04-02 10:04:49',NULL,342,32,NULL,9,'task_details_changed','{\"story_id\": 32, \"task_title\": \"Install /etc/profile with the install-files extension\", \"task_id\": 116}'),('2015-04-02 10:04:52',NULL,343,32,NULL,9,'task_details_changed','{\"story_id\": 32, \"task_title\": \"Install /etc/profile with the install-files extension\", \"task_id\": 116}'),('2015-04-02 10:04:55',NULL,344,32,NULL,9,'task_details_changed','{\"story_id\": 32, \"task_title\": \"Install /etc/os-release with the install-files extension\", \"task_id\": 117}'),('2015-04-02 10:22:57',NULL,345,32,NULL,9,'task_created','{\"story_id\": 32, \"task_title\": \"Set PATH in /etc/profile\", \"task_id\": 119}'),('2015-04-02 10:23:12',NULL,346,32,NULL,9,'task_details_changed','{\"story_id\": 32, \"task_title\": \"Set PATH in /etc/profile\", \"task_id\": 119}'),('2015-04-02 10:23:15',NULL,347,32,NULL,9,'task_details_changed','{\"story_id\": 32, \"task_title\": \"Set PATH in /etc/profile\", \"task_id\": 119}'),('2015-04-02 12:52:27',NULL,348,32,NULL,9,'task_created','{\"story_id\": 32, \"task_title\": \"put essential files in essential-files/MANIFEST\", \"task_id\": 120}'),('2015-04-02 12:53:23',NULL,349,32,NULL,9,'task_created','{\"story_id\": 32, \"task_title\": \"write \\\"essential-files\\\" configuration extension\", \"task_id\": 121}'),('2015-04-02 12:53:44',NULL,350,32,NULL,9,'task_created','{\"story_id\": 32, \"task_title\": \"modify all the systems to include \\\"essential-files\\\" configuration extension\", \"task_id\": 122}'),('2015-04-02 14:45:14',NULL,351,32,NULL,9,'task_details_changed','{\"story_id\": 32, \"task_title\": \"write \\\"essential-files\\\" configuration extension\", \"task_id\": 121}'),('2015-04-06 12:18:39',NULL,352,33,NULL,9,'story_created','{\"story_id\": 33, \"story_title\": \"Make possiblre to run morph outside a VM/chroot\"}'),('2015-04-06 12:24:01',NULL,353,34,NULL,9,'story_created','{\"story_id\": 34, \"story_title\": \"Make possible to run morph outside chroot/vm\"}'),('2015-04-06 12:24:01',NULL,354,34,NULL,9,'task_created','{\"story_id\": 34, \"task_title\": \"Do not use /src\", \"task_id\": 123}'),('2015-04-06 12:24:37',NULL,355,34,NULL,9,'story_details_changed','{\"story_id\": 34, \"story_title\": \"Make possible to run morph outside chroot/vm\"}'),('2015-04-06 12:25:15',NULL,356,34,NULL,9,'task_created','{\"story_id\": 34, \"task_title\": \"Create a user by default\", \"task_id\": 124}'),('2015-04-06 12:25:36',NULL,357,34,NULL,9,'task_created','{\"story_id\": 34, \"task_title\": \"Use XDG directory spec to story config/cache files\", \"task_id\": 125}'),('2015-04-06 13:00:38',NULL,358,3,NULL,14,'task_status_changed','{\"story_id\": 3, \"task_title\": \"document the proposed VERSION approach\", \"old_status\": \"inprogress\", \"task_id\": 3, \"new_status\": \"merged\"}'),('2015-04-09 13:55:57',NULL,359,34,18,7,'user_comment',NULL),('2015-04-09 13:56:27',NULL,360,34,NULL,7,'task_created','{\"story_id\": 34, \"task_title\": \"Make building as non-root work\", \"task_id\": 126}'),('2015-04-10 14:21:24',NULL,361,35,NULL,7,'story_created','{\"story_id\": 35, \"story_title\": \"morph deploy: Use standard environment variable names for OpenStack credentials\"}'),('2015-04-10 14:21:25',NULL,362,35,NULL,7,'task_created','{\"story_id\": 35, \"task_title\": \"Honour correct OpenStack environment variables\", \"task_id\": 127}'),('2015-04-13 16:39:02',NULL,363,36,NULL,7,'story_created','{\"story_id\": 36, \"story_title\": \"Allow running with read-only /\"}'),('2015-04-13 16:39:02',NULL,364,36,NULL,7,'task_created','{\"story_id\": 36, \"task_title\": \"Try running a distbuild network with / read-only, and see what breaks\", \"task_id\": 128}'),('2015-04-13 16:55:22',NULL,365,36,NULL,7,'story_details_changed','{\"story_id\": 36, \"story_title\": \"Allow running with read-only /\"}'),('2015-04-15 10:43:20',NULL,366,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"write \\\"install-essential-files\\\" configuration extension\", \"old_status\": \"todo\", \"task_id\": 121, \"new_status\": \"review\"}'),('2015-04-15 10:43:23',NULL,367,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"put essential files in essential-files/MANIFEST\", \"old_status\": \"todo\", \"task_id\": 120, \"new_status\": \"review\"}'),('2015-04-15 10:43:28',NULL,368,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Set PATH in /etc/profile\", \"old_status\": \"todo\", \"task_id\": 119, \"new_status\": \"inprogress\"}'),('2015-04-15 10:43:34',NULL,369,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Install /etc/os-release with the install-files extension\", \"old_status\": \"todo\", \"task_id\": 117, \"new_status\": \"review\"}'),('2015-04-15 10:43:40',NULL,370,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Install /etc/profile with the install-files extension\", \"old_status\": \"todo\", \"task_id\": 116, \"new_status\": \"inprogress\"}'),('2015-04-15 10:43:45',NULL,371,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Move /etc/os-release from morph to definitions\", \"old_status\": \"todo\", \"task_id\": 115, \"new_status\": \"review\"}'),('2015-04-23 10:45:57',NULL,372,37,NULL,9,'story_created','{\"story_id\": 37, \"story_title\": \"OpenBMC in Baserock\"}'),('2015-04-23 10:45:57',NULL,373,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Add support for ARMv5\", \"task_id\": 129}'),('2015-04-23 10:46:37',NULL,374,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Add support for ARMv5\", \"old_status\": \"todo\", \"task_id\": 129, \"new_status\": \"review\"}'),('2015-04-23 10:47:22',NULL,375,37,NULL,9,'story_details_changed','{\"story_id\": 37, \"story_title\": \"OpenBMC in Baserock\"}'),('2015-04-23 10:47:29',NULL,376,37,NULL,12,'task_created','{\"story_id\": 37, \"task_title\": \"Make morphologies for openBMC\", \"task_id\": 130}'),('2015-04-23 10:48:29',NULL,377,37,NULL,12,'task_created','{\"story_id\": 37, \"task_title\": \"Make strata and clusters for openBMC\", \"task_id\": 131}'),('2015-04-23 10:49:35',NULL,378,37,19,12,'user_comment',NULL),('2015-04-23 10:57:21',NULL,379,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Fix chunks to support ARMv5\", \"task_id\": 132}'),('2015-04-23 10:57:25',NULL,380,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Fix chunks to support ARMv5\", \"old_status\": \"todo\", \"task_id\": 132, \"new_status\": \"review\"}'),('2015-04-23 10:57:54',NULL,381,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 bootstrap Baserock tarball\", \"task_id\": 133}'),('2015-04-23 10:57:56',NULL,382,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 bootstrap Baserock tarball\", \"old_status\": \"todo\", \"task_id\": 133, \"new_status\": \"inprogress\"}'),('2015-04-23 10:58:13',NULL,383,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 minimal system\", \"task_id\": 134}'),('2015-04-23 10:58:15',NULL,384,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 minimal system\", \"old_status\": \"todo\", \"task_id\": 134, \"new_status\": \"inprogress\"}'),('2015-04-23 10:58:19',NULL,385,37,NULL,9,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 minimal system\", \"old_assignee_id\": null, \"task_id\": 134, \"new_assignee_id\": 9}'),('2015-04-23 10:58:22',NULL,386,37,NULL,9,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 bootstrap Baserock tarball\", \"old_assignee_id\": null, \"task_id\": 133, \"new_assignee_id\": 9}'),('2015-04-23 10:58:26',NULL,387,37,NULL,9,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Fix chunks to support ARMv5\", \"old_assignee_id\": null, \"task_id\": 132, \"new_assignee_id\": 9}'),('2015-04-23 10:58:30',NULL,388,37,NULL,9,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Add support for ARMv5\", \"old_assignee_id\": null, \"task_id\": 129, \"new_assignee_id\": 9}'),('2015-04-23 10:59:01',NULL,389,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Add cross-bootstrap-system-armv5l-generic.morph to definitions\", \"task_id\": 135}'),('2015-04-23 10:59:04',NULL,390,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Add cross-bootstrap-system-armv5l-generic.morph to definitions\", \"old_status\": \"todo\", \"task_id\": 135, \"new_status\": \"review\"}'),('2015-04-23 11:00:16',NULL,391,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Generate BSP for ASPEED board\", \"task_id\": 136}'),('2015-04-24 10:27:13',NULL,392,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 minimal system\", \"old_status\": \"inprogress\", \"task_id\": 134, \"new_status\": \"merged\"}'),('2015-04-24 10:27:21',NULL,393,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 minimal system\", \"old_status\": \"merged\", \"task_id\": 134, \"new_status\": \"inprogress\"}'),('2015-04-24 11:53:41',NULL,394,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Create a branch of u-boot with the patches to support the ASPEED/wedge board\", \"task_id\": 137}'),('2015-04-24 11:53:47',NULL,395,37,NULL,9,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Create a branch of u-boot with the patches to support the ASPEED/wedge board\", \"task_id\": 137}'),('2015-04-24 11:54:00',NULL,396,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Create a branch of linux with the patches to support the ASPEED/wedge board\", \"task_id\": 138}'),('2015-04-24 11:54:06',NULL,397,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Create a branch of u-boot with the patches to support the ASPEED/wedge board\", \"old_status\": \"todo\", \"task_id\": 137, \"new_status\": \"merged\"}'),('2015-04-24 11:54:13',NULL,398,37,NULL,9,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Create a branch of u-boot with the patches to support the ASPEED/wedge board\", \"task_id\": 137}'),('2015-04-24 11:54:17',NULL,399,37,NULL,9,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Create a branch of u-boot with the patches to support the ASPEED/wedge board\", \"old_assignee_id\": null, \"task_id\": 137, \"new_assignee_id\": 9}'),('2015-04-24 11:54:20',NULL,400,37,NULL,9,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Create a branch of linux with the patches to support the ASPEED/wedge board\", \"old_assignee_id\": null, \"task_id\": 138, \"new_assignee_id\": 9}'),('2015-04-24 11:54:33',NULL,401,37,NULL,9,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Create a branch of u-boot with the patches to support the ASPEED/wedge board\", \"task_id\": 137}'),('2015-04-24 11:54:36',NULL,402,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Create a branch of linux with the patches to support the ASPEED/wedge board\", \"old_status\": \"todo\", \"task_id\": 138, \"new_status\": \"inprogress\"}'),('2015-04-24 14:10:30',NULL,403,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Create a branch of linux with the patches to support the ASPEED/wedge board\", \"old_status\": \"inprogress\", \"task_id\": 138, \"new_status\": \"merged\"}'),('2015-04-24 15:30:06',NULL,404,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate BSP for ASPEED board\", \"old_status\": \"todo\", \"task_id\": 136, \"new_status\": \"inprogress\"}'),('2015-04-24 15:31:18',NULL,405,37,NULL,9,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Make strata and clusters for openBMC\", \"task_id\": 131}'),('2015-04-24 15:31:28',NULL,406,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Make openbmc system\", \"task_id\": 139}'),('2015-04-24 15:31:33',NULL,407,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Make openbmc cluster\", \"task_id\": 140}'),('2015-04-24 15:31:36',NULL,408,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc system\", \"old_status\": \"todo\", \"task_id\": 139, \"new_status\": \"inprogress\"}'),('2015-04-24 15:31:38',NULL,409,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc cluster\", \"old_status\": \"todo\", \"task_id\": 140, \"new_status\": \"inprogress\"}'),('2015-04-24 15:31:42',NULL,410,37,NULL,9,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc system\", \"task_id\": 139}'),('2015-04-24 15:31:45',NULL,411,37,NULL,9,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc cluster\", \"task_id\": 140}'),('2015-04-24 15:31:50',NULL,412,37,NULL,9,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc system\", \"old_assignee_id\": null, \"task_id\": 139, \"new_assignee_id\": 9}'),('2015-04-24 15:31:54',NULL,413,37,NULL,9,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc cluster\", \"old_assignee_id\": null, \"task_id\": 140, \"new_assignee_id\": 9}'),('2015-04-28 09:19:45',NULL,414,38,NULL,7,'story_created','{\"story_id\": 38, \"story_title\": \"Builds should be isolated from the internet\"}'),('2015-04-28 09:19:46',NULL,415,38,NULL,7,'task_created','{\"story_id\": 38, \"task_title\": \"Update all chunks in our definitions repo to override submodule URLs in the chunk .morph file\", \"task_id\": 142}'),('2015-04-28 09:19:46',NULL,416,38,NULL,7,'task_created','{\"story_id\": 38, \"task_title\": \"Provide a way of overriding .gitmodules in a chunk .morph file\", \"task_id\": 141}'),('2015-04-28 09:21:47',NULL,417,38,NULL,7,'task_created','{\"story_id\": 38, \"task_title\": \"Block our Mason from connecting to the internet, to ensure our definitions point only to gbo\", \"task_id\": 143}'),('2015-04-28 09:35:48',NULL,418,38,20,22,'user_comment',NULL),('2015-04-28 11:27:59',NULL,419,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Deploy openbmc image\", \"task_id\": 144}'),('2015-04-28 14:20:05',NULL,420,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Add support for ARMv5\", \"old_status\": \"review\", \"task_id\": 129, \"new_status\": \"merged\"}'),('2015-04-28 14:20:11',NULL,421,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Fix chunks to support ARMv5\", \"old_status\": \"review\", \"task_id\": 132, \"new_status\": \"merged\"}'),('2015-04-28 14:23:47',NULL,422,2,NULL,12,'task_status_changed','{\"story_id\": 2, \"task_title\": \"allow openid.baserock.org to find storyboard\", \"old_status\": \"inprogress\", \"task_id\": 2, \"new_status\": \"todo\"}'),('2015-04-28 14:24:10',NULL,423,37,NULL,12,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Make morphologies for openBMC\", \"old_assignee_id\": null, \"task_id\": 130, \"new_assignee_id\": 12}'),('2015-04-28 14:24:15',NULL,424,37,NULL,12,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"task_id\": 131}'),('2015-04-28 14:24:19',NULL,425,37,NULL,12,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"task_id\": 131}'),('2015-04-28 14:24:22',NULL,426,37,NULL,12,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"task_id\": 131}'),('2015-04-28 16:05:06',NULL,427,11,NULL,8,'task_details_changed','{\"story_id\": 11, \"task_title\": \"Start to port busybox first\", \"task_id\": 42}'),('2015-04-28 16:05:14',NULL,428,11,NULL,8,'task_status_changed','{\"story_id\": 11, \"task_title\": \"Change fhs-dirs to not create /lib /lib64 and create links instead\", \"old_status\": \"inprogress\", \"task_id\": 51, \"new_status\": \"todo\"}'),('2015-04-28 16:05:17',NULL,429,11,NULL,8,'task_status_changed','{\"story_id\": 11, \"task_title\": \"Start to port busybox first\", \"old_status\": \"inprogress\", \"task_id\": 42, \"new_status\": \"todo\"}'),('2015-04-28 16:11:24',NULL,430,2,NULL,12,'task_details_changed','{\"story_id\": 2, \"task_title\": \"allow openid.baserock.org to find storyboard\", \"task_id\": 2}'),('2015-04-28 16:15:39',NULL,431,2,21,12,'user_comment',NULL),('2015-04-28 16:19:52',NULL,432,11,NULL,8,'task_details_changed','{\"story_id\": 11, \"task_title\": \"Change fhs-dirs to not create /lib /lib64 and create links instead\", \"task_id\": 51}'),('2015-04-29 20:45:51',NULL,433,39,NULL,7,'story_created','{\"story_id\": 39, \"story_title\": \"Ensure \'man\' pages are in Baserock\"}'),('2015-04-29 20:45:52',NULL,434,39,NULL,7,'task_created','{\"story_id\": 39, \"task_title\": \"Fix Git man pages\", \"task_id\": 145}'),('2015-05-01 09:34:10',NULL,435,37,NULL,21,'task_created','{\"story_id\": 37, \"task_title\": \"Add lorry for lm-sensors\", \"task_id\": 146}'),('2015-05-01 09:34:40',NULL,436,37,NULL,21,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Add lorry for lm-sensors\", \"old_status\": \"todo\", \"task_id\": 146, \"new_status\": \"review\"}'),('2015-05-01 09:37:59',NULL,437,37,22,21,'user_comment',NULL),('2015-05-01 09:58:55',NULL,438,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc system\", \"old_status\": \"inprogress\", \"task_id\": 139, \"new_status\": \"review\"}'),('2015-05-01 09:58:56',NULL,439,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc cluster\", \"old_status\": \"inprogress\", \"task_id\": 140, \"new_status\": \"review\"}'),('2015-05-01 09:59:09',NULL,440,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate BSP for ASPEED board\", \"old_status\": \"inprogress\", \"task_id\": 136, \"new_status\": \"review\"}'),('2015-05-01 09:59:17',NULL,441,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc cluster\", \"old_status\": \"review\", \"task_id\": 140, \"new_status\": \"inprogress\"}'),('2015-05-01 09:59:27',NULL,442,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 bootstrap Baserock tarball\", \"old_status\": \"inprogress\", \"task_id\": 133, \"new_status\": \"merged\"}'),('2015-05-01 09:59:29',NULL,443,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate ARMv5 minimal system\", \"old_status\": \"inprogress\", \"task_id\": 134, \"new_status\": \"merged\"}'),('2015-05-01 09:59:37',NULL,444,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"old_status\": \"todo\", \"task_id\": 131, \"new_status\": \"inprogress\"}'),('2015-05-01 09:59:39',NULL,445,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make morphologies for openBMC\", \"old_status\": \"todo\", \"task_id\": 130, \"new_status\": \"inprogress\"}'),('2015-05-01 10:11:34',NULL,446,37,NULL,21,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Add lorry for lm-sensors\", \"old_status\": \"review\", \"task_id\": 146, \"new_status\": \"merged\"}'),('2015-05-05 11:54:31',NULL,447,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Configure pango correctly (pango-querymodules)\", \"old_status\": \"todo\", \"task_id\": 21, \"new_status\": \"merged\"}'),('2015-05-05 11:54:55',NULL,448,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Fix D-Bus services location\", \"task_id\": 23}'),('2015-05-05 11:56:00',NULL,449,5,NULL,9,'task_created','{\"story_id\": 5, \"task_title\": \"Move stuff from /usr/etc/* to /etc (or support stuff in /usr/etc)\", \"task_id\": 147}'),('2015-05-05 11:56:10',NULL,450,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Move stuff from /usr/etc/* to /etc (or support stuff in /usr/etc)\", \"task_id\": 147}'),('2015-05-05 11:56:14',NULL,451,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Move stuff from /usr/etc/* to /etc (or support stuff in /usr/etc)\", \"task_id\": 147}'),('2015-05-05 11:56:17',NULL,452,5,NULL,9,'task_details_changed','{\"story_id\": 5, \"task_title\": \"dbus configuration doesnt seem correct\", \"task_id\": 114}'),('2015-05-06 15:06:07',NULL,453,40,NULL,7,'story_created','{\"story_id\": 40, \"story_title\": \"Remove workspaces\"}'),('2015-05-06 15:06:07',NULL,454,40,NULL,7,'task_created','{\"story_id\": 40, \"task_title\": \"Allow using `morph build` from any definitions.git checkout\", \"task_id\": 148}'),('2015-05-06 15:06:12',NULL,455,40,NULL,7,'task_status_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph build` from any definitions.git checkout\", \"old_status\": \"todo\", \"task_id\": 148, \"new_status\": \"review\"}'),('2015-05-06 15:06:27',NULL,456,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph build` from any definitions.git checkout\", \"task_id\": 148}'),('2015-05-06 15:06:32',NULL,457,40,NULL,7,'task_created','{\"story_id\": 40, \"task_title\": \"Allow using `morph deploy` from any definitions.git checkout\", \"task_id\": 149}'),('2015-05-06 15:06:34',NULL,458,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph build` from any definitions.git checkout\", \"task_id\": 148}'),('2015-05-06 15:06:37',NULL,459,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph build` from any definitions.git checkout\", \"task_id\": 148}'),('2015-05-06 15:06:39',NULL,460,40,NULL,7,'task_assignee_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph build` from any definitions.git checkout\", \"old_assignee_id\": null, \"task_id\": 148, \"new_assignee_id\": 7}'),('2015-05-06 15:07:01',NULL,461,40,NULL,7,'task_created','{\"story_id\": 40, \"task_title\": \"Update documentation to avoid use of workspaces, and notify existing users of the change\", \"task_id\": 150}'),('2015-05-06 15:07:05',NULL,462,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph deploy` from any definitions.git checkout\", \"task_id\": 149}'),('2015-05-06 15:07:08',NULL,463,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph deploy` from any definitions.git checkout\", \"task_id\": 149}'),('2015-05-06 15:07:11',NULL,464,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph deploy` from any definitions.git checkout\", \"task_id\": 149}'),('2015-05-06 15:07:14',NULL,465,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph deploy` from any definitions.git checkout\", \"task_id\": 149}'),('2015-05-06 15:07:42',NULL,466,40,NULL,7,'task_created','{\"story_id\": 40, \"task_title\": \"Remove `morph init`, `morph branch` and `morph checkout`\", \"task_id\": 151}'),('2015-05-06 15:07:44',NULL,467,40,NULL,7,'task_status_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph deploy` from any definitions.git checkout\", \"old_status\": \"todo\", \"task_id\": 149, \"new_status\": \"review\"}'),('2015-05-06 15:08:21',NULL,468,40,NULL,7,'task_created','{\"story_id\": 40, \"task_title\": \"Change all Morph commands that require a source pool use DefinitionsRepo.source_pool()\", \"task_id\": 152}'),('2015-05-06 15:08:24',NULL,469,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Change all Morph commands that require a source pool use DefinitionsRepo.source_pool()\", \"task_id\": 152}'),('2015-05-06 15:08:27',NULL,470,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Remove `morph init`, `morph branch` and `morph checkout`\", \"task_id\": 151}'),('2015-05-06 15:08:33',NULL,471,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Update documentation to avoid use of workspaces, and notify existing users of the change\", \"task_id\": 150}'),('2015-05-06 15:08:39',NULL,472,40,NULL,7,'task_details_changed','{\"story_id\": 40, \"task_title\": \"Update documentation to avoid use of workspaces, and notify existing users of the change\", \"task_id\": 150}'),('2015-05-06 15:08:52',NULL,473,40,NULL,7,'task_created','{\"story_id\": 40, \"task_title\": \"Remove BuildCommand.create_source_pool()\", \"task_id\": 153}'),('2015-05-06 15:36:11',NULL,474,41,NULL,7,'story_created','{\"story_id\": 41, \"story_title\": \"Reduce the number of moving parts needed for deployment\"}'),('2015-05-06 15:36:11',NULL,475,41,NULL,7,'task_created','{\"story_id\": 41, \"task_title\": \"Add .configure extensions from morph.git into definitions.git\", \"task_id\": 154}'),('2015-05-06 15:36:22',NULL,476,41,NULL,7,'task_created','{\"story_id\": 41, \"task_title\": \"Remove .configure extensions from morph.git\", \"task_id\": 155}'),('2015-05-06 15:36:36',NULL,477,41,NULL,7,'task_created','{\"story_id\": 41, \"task_title\": \"Add .write extensions from morph.git into definitions.git\", \"task_id\": 156}'),('2015-05-06 15:36:42',NULL,478,41,NULL,7,'task_created','{\"story_id\": 41, \"task_title\": \"Remove .write extensions from morph.git\", \"task_id\": 157}'),('2015-05-06 15:36:46',NULL,479,41,NULL,7,'task_details_changed','{\"story_id\": 41, \"task_title\": \"Add .write extensions from morph.git into definitions.git\", \"task_id\": 156}'),('2015-05-06 15:36:50',NULL,480,41,NULL,7,'task_details_changed','{\"story_id\": 41, \"task_title\": \"Add .write extensions from morph.git into definitions.git\", \"task_id\": 156}'),('2015-05-06 15:37:38',NULL,481,41,NULL,7,'task_created','{\"story_id\": 41, \"task_title\": \"Allow putting .configure and .write extensions in a subfolder of definitions.git\", \"task_id\": 158}'),('2015-05-06 15:37:55',NULL,482,41,NULL,7,'task_details_changed','{\"story_id\": 41, \"task_title\": \"Add .configure extensions from morph.git into definitions.git\", \"task_id\": 154}'),('2015-05-06 15:38:01',NULL,483,41,NULL,7,'task_details_changed','{\"story_id\": 41, \"task_title\": \"Add .configure extensions from morph.git into definitions.git (in a subfolder, perhaps)\", \"task_id\": 154}'),('2015-05-06 15:38:07',NULL,484,41,NULL,7,'task_details_changed','{\"story_id\": 41, \"task_title\": \"Add .write extensions from morph.git into definitions.git\", \"task_id\": 156}'),('2015-05-06 15:38:35',NULL,485,41,23,7,'user_comment',NULL),('2015-05-06 15:38:41',NULL,486,41,NULL,7,'task_details_changed','{\"story_id\": 41, \"task_title\": \"Add .write extensions from morph.git into definitions.git (in a subfolder)\", \"task_id\": 156}'),('2015-05-06 15:38:45',NULL,487,41,NULL,7,'task_details_changed','{\"story_id\": 41, \"task_title\": \"Remove .write extensions from morph.git\", \"task_id\": 157}'),('2015-05-06 15:40:19',NULL,488,41,NULL,7,'task_created','{\"story_id\": 41, \"task_title\": \"Run deploy commands in a system from the definitions.git repo being deployed, not the host system\", \"task_id\": 159}'),('2015-05-06 15:40:51',NULL,489,41,NULL,7,'task_created','{\"story_id\": 41, \"task_title\": \"Port .configure extensions to be Ansible scripts\", \"task_id\": 160}'),('2015-05-06 15:41:02',NULL,490,41,NULL,7,'task_created','{\"story_id\": 41, \"task_title\": \"Force .configure extensions to be Ansible scripts\", \"task_id\": 161}'),('2015-05-06 15:41:18',NULL,491,41,24,7,'user_comment',NULL),('2015-05-06 15:41:40',NULL,492,41,NULL,7,'story_details_changed','{\"story_id\": 41, \"story_title\": \"Reduce the number of moving parts involved in deployment\"}'),('2015-05-11 15:49:53',NULL,493,42,NULL,7,'story_created','{\"story_id\": 42, \"story_title\": \"Fix distbuild cancellation\"}'),('2015-05-11 15:49:54',NULL,494,42,NULL,7,'task_created','{\"story_id\": 42, \"task_title\": \"Run builds inside a cgroup (using systemd-run?)\", \"task_id\": 162}'),('2015-05-11 15:49:54',NULL,495,42,NULL,7,'task_created','{\"story_id\": 42, \"task_title\": \"Test that distbuild worker builds now stop right away after being cancelled\", \"task_id\": 163}'),('2015-05-11 16:59:21',NULL,496,37,NULL,21,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"task_id\": 131}'),('2015-05-11 16:59:25',NULL,497,37,NULL,21,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"task_id\": 131}'),('2015-05-11 16:59:29',NULL,498,37,NULL,21,'task_assignee_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"old_assignee_id\": null, \"task_id\": 131, \"new_assignee_id\": 21}'),('2015-05-11 16:59:33',NULL,499,37,NULL,21,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"old_status\": \"inprogress\", \"task_id\": 131, \"new_status\": \"review\"}'),('2015-05-11 17:01:52',NULL,500,37,25,21,'user_comment',NULL),('2015-05-12 14:45:37',NULL,501,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Generate a build-system-armv5l system\", \"task_id\": 164}'),('2015-05-12 14:45:39',NULL,502,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate a build-system-armv5l system\", \"old_status\": \"todo\", \"task_id\": 164, \"new_status\": \"inprogress\"}'),('2015-05-12 14:46:49',NULL,503,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Use the generated build-system-armv5l system to deploy minimal armv5l system\", \"task_id\": 165}'),('2015-05-12 15:25:49',NULL,504,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Add cross-bootstrap-system-armv5l-generic.morph to definitions\", \"old_status\": \"review\", \"task_id\": 135, \"new_status\": \"merged\"}'),('2015-05-12 15:25:54',NULL,505,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate BSP for ASPEED board\", \"old_status\": \"review\", \"task_id\": 136, \"new_status\": \"merged\"}'),('2015-05-12 15:26:04',NULL,506,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc system\", \"old_status\": \"review\", \"task_id\": 139, \"new_status\": \"merged\"}'),('2015-05-12 16:49:37',NULL,507,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Fix btrfs-progs compilation (-O2 instead -O1)\", \"task_id\": 166}'),('2015-05-12 16:49:40',NULL,508,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Fix btrfs-progs compilation (-O2 instead -O1)\", \"old_status\": \"todo\", \"task_id\": 166, \"new_status\": \"inprogress\"}'),('2015-05-12 16:49:56',NULL,509,37,NULL,9,'task_details_changed','{\"story_id\": 37, \"task_title\": \"Fix btrfs-progs compilation (-O2 instead -O1)\", \"task_id\": 166}'),('2015-05-13 17:00:23',NULL,510,43,NULL,7,'story_created','{\"story_id\": 43, \"story_title\": \"Mount /var earlier in boottime\"}'),('2015-05-13 17:00:23',NULL,511,43,NULL,7,'task_created','{\"story_id\": 43, \"task_title\": \"Mount /var before systemd writes anything to /var\", \"task_id\": 167}'),('2015-05-18 13:20:26',NULL,512,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"put essential files in essential-files/MANIFEST\", \"old_status\": \"review\", \"task_id\": 120, \"new_status\": \"merged\"}'),('2015-05-18 13:20:29',NULL,513,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"write \\\"install-essential-files\\\" configuration extension\", \"old_status\": \"review\", \"task_id\": 121, \"new_status\": \"merged\"}'),('2015-05-18 13:20:32',NULL,514,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"modify all the systems to include \\\"essential-files\\\" configuration extension\", \"old_status\": \"todo\", \"task_id\": 122, \"new_status\": \"merged\"}'),('2015-05-18 13:20:41',NULL,515,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Install /etc/os-release with the install-files extension\", \"old_status\": \"review\", \"task_id\": 117, \"new_status\": \"merged\"}'),('2015-05-18 13:20:44',NULL,516,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Move /etc/os-release from morph to definitions\", \"old_status\": \"review\", \"task_id\": 115, \"new_status\": \"merged\"}'),('2015-05-18 13:20:48',NULL,517,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Install /etc/profile with the install-files extension\", \"old_status\": \"inprogress\", \"task_id\": 116, \"new_status\": \"merged\"}'),('2015-05-18 13:21:05',NULL,518,32,NULL,9,'task_deleted','{\"story_id\": 32, \"task_title\": \"Find a way to keep in sync /etc/password, /etc/shadow and /etc/groups\", \"task_id\": 118}'),('2015-05-18 13:26:28',NULL,519,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Set PATH in /etc/profile\", \"old_status\": \"inprogress\", \"task_id\": 119, \"new_status\": \"review\"}'),('2015-05-20 09:47:12',NULL,520,8,NULL,7,'story_details_changed','{\"story_id\": 8, \"story_title\": \"Continuous Building & Testing\"}'),('2015-05-20 10:00:05',NULL,521,8,NULL,7,'story_details_changed','{\"story_id\": 8, \"story_title\": \"Continuous Building & Testing\"}'),('2015-05-20 10:06:22',NULL,522,8,26,7,'user_comment',NULL),('2015-05-20 10:11:16',NULL,523,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Rebase Mason branch onto latest Baserock reference systems\", \"task_id\": 168}'),('2015-05-20 10:11:29',NULL,524,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Update version of Zuul used in Mason\", \"task_id\": 169}'),('2015-05-20 10:11:31',NULL,525,8,NULL,7,'task_details_changed','{\"story_id\": 8, \"task_title\": \"Update version of Zuul used in Mason\", \"task_id\": 169}'),('2015-05-20 10:11:37',NULL,526,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Layout to build \'master\' branch of \'definitions\' on each new commit\", \"task_id\": 170}'),('2015-05-20 10:11:52',NULL,527,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Web frontend for Zuul-Mason with the same features as current Mason\", \"task_id\": 171}'),('2015-05-20 10:11:54',NULL,528,8,NULL,7,'task_status_changed','{\"story_id\": 8, \"task_title\": \"Layout to build \'master\' branch of \'definitions\' on each new commit\", \"old_status\": \"todo\", \"task_id\": 170, \"new_status\": \"inprogress\"}'),('2015-05-20 10:11:55',NULL,529,8,NULL,7,'task_status_changed','{\"story_id\": 8, \"task_title\": \"Update version of Zuul used in Mason\", \"old_status\": \"todo\", \"task_id\": 169, \"new_status\": \"inprogress\"}'),('2015-05-20 10:11:58',NULL,530,8,NULL,7,'task_status_changed','{\"story_id\": 8, \"task_title\": \"Rebase Mason branch onto latest Baserock reference systems\", \"old_status\": \"todo\", \"task_id\": 168, \"new_status\": \"inprogress\"}'),('2015-05-20 10:12:14',NULL,531,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Update mason-x86-64 and mason-x86-32.baserock.org to Zuul-Mason\", \"task_id\": 172}'),('2015-05-20 10:12:27',NULL,532,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Submit Zuul-Mason branch for merge in definitions.git\", \"task_id\": 173}'),('2015-05-20 10:12:39',NULL,533,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Layout for running Morph\'s ./check test suite on new commits to Morph\", \"task_id\": 174}'),('2015-05-20 10:13:40',NULL,534,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Enable \'soft\' integration with Gerrit: post pass/fail comments on new patches\", \"task_id\": 175}'),('2015-05-20 10:14:26',NULL,535,8,27,7,'user_comment',NULL),('2015-05-20 10:18:09',NULL,536,9,NULL,7,'task_created','{\"story_id\": 9, \"task_title\": \"Update Storyboard to latest version\", \"task_id\": 176}'),('2015-05-20 10:18:54',NULL,537,8,NULL,7,'task_created','{\"story_id\": 8, \"task_title\": \"Show what is Mason is currently doing in the web frontend\", \"task_id\": 177}'),('2015-05-20 10:19:12',NULL,538,8,NULL,7,'task_details_changed','{\"story_id\": 8, \"task_title\": \"Show what is Mason is currently doing in the web frontend\", \"task_id\": 177}'),('2015-05-20 10:23:47',NULL,539,44,NULL,7,'story_created','{\"story_id\": 44, \"story_title\": \"Continuous integration of new commits of upstream components\"}'),('2015-05-20 10:23:47',NULL,540,44,NULL,7,'task_created','{\"story_id\": 44, \"task_title\": \"Review and merge outstanding patches to Firehose\", \"task_id\": 178}'),('2015-05-20 10:29:27',NULL,541,44,NULL,7,'task_details_changed','{\"story_id\": 44, \"task_title\": \"Review and merge outstanding patches to Firehose\", \"task_id\": 178}'),('2015-05-20 10:29:30',NULL,542,44,NULL,7,'task_details_changed','{\"story_id\": 44, \"task_title\": \"Review and merge outstanding patches to Firehose\", \"task_id\": 178}'),('2015-05-20 10:29:37',NULL,543,44,NULL,7,'task_details_changed','{\"story_id\": 44, \"task_title\": \"Review and merge outstanding patches to Firehose\", \"task_id\": 178}'),('2015-05-20 10:29:43',NULL,544,44,NULL,7,'task_details_changed','{\"story_id\": 44, \"task_title\": \"Review and merge outstanding patches to Firehose\", \"task_id\": 178}'),('2015-05-20 10:30:28',NULL,545,44,NULL,7,'task_created','{\"story_id\": 44, \"task_title\": \"Flesh out this story a bit more\", \"task_id\": 179}'),('2015-05-20 10:53:19',NULL,546,2,28,22,'user_comment',NULL),('2015-05-20 10:53:58',NULL,547,43,29,24,'user_comment',NULL),('2015-05-20 11:00:21',NULL,548,38,NULL,7,'task_status_changed','{\"story_id\": 38, \"task_title\": \"Block our Mason from connecting to the internet, to ensure our definitions point only to gbo\", \"old_status\": \"todo\", \"task_id\": 143, \"new_status\": \"merged\"}'),('2015-05-20 11:00:44',NULL,549,38,NULL,7,'task_status_changed','{\"story_id\": 38, \"task_title\": \"Block our Mason from connecting to the internet, to ensure our definitions point only to gbo\", \"old_status\": \"merged\", \"task_id\": 143, \"new_status\": \"review\"}'),('2015-05-20 11:00:45',NULL,550,38,NULL,7,'task_status_changed','{\"story_id\": 38, \"task_title\": \"Block our Mason from connecting to the internet, to ensure our definitions point only to gbo\", \"old_status\": \"review\", \"task_id\": 143, \"new_status\": \"merged\"}'),('2015-05-20 11:01:05',NULL,551,38,30,7,'user_comment',NULL),('2015-05-20 12:46:41',NULL,552,25,31,24,'user_comment',NULL),('2015-05-20 12:48:15',NULL,553,36,32,24,'user_comment',NULL),('2015-05-20 12:51:09',NULL,554,45,NULL,24,'story_created','{\"story_id\": 45, \"story_title\": \"OSTree in chroots\"}'),('2015-05-20 12:51:09',NULL,555,45,NULL,24,'task_created','{\"story_id\": 45, \"task_title\": \"Test\", \"task_id\": 180}'),('2015-05-20 12:56:39',NULL,556,45,NULL,24,'task_deleted','{\"story_id\": 45, \"task_title\": \"Test\", \"task_id\": 180}'),('2015-05-20 13:08:58',NULL,557,45,NULL,24,'story_details_changed','{\"story_id\": 45, \"story_title\": \"OSTree in chroots\"}'),('2015-05-20 13:09:18',NULL,558,45,NULL,24,'story_details_changed','{\"story_id\": 45, \"story_title\": \"OSTree in chroots\"}'),('2015-05-20 13:21:03',NULL,559,45,NULL,24,'story_details_changed','{\"story_id\": 45, \"story_title\": \"OSTree in chroots\"}'),('2015-05-20 13:27:06',NULL,560,45,NULL,24,'story_details_changed','{\"story_id\": 45, \"story_title\": \"OSTree in chroots\"}'),('2015-05-20 13:33:12',NULL,561,45,NULL,24,'task_created','{\"story_id\": 45, \"task_title\": null, \"task_id\": 181}'),('2015-05-20 13:33:15',NULL,562,45,NULL,24,'task_created','{\"story_id\": 45, \"task_title\": null, \"task_id\": 182}'),('2015-05-20 13:33:19',NULL,563,45,NULL,24,'task_deleted','{\"story_id\": 45, \"task_title\": null, \"task_id\": 182}'),('2015-05-20 13:33:21',NULL,564,45,NULL,24,'task_deleted','{\"story_id\": 45, \"task_title\": null, \"task_id\": 181}'),('2015-05-20 13:33:24',NULL,565,45,NULL,24,'task_created','{\"story_id\": 45, \"task_title\": null, \"task_id\": 183}'),('2015-05-20 13:33:29',NULL,566,45,NULL,24,'task_details_changed','{\"story_id\": 45, \"task_title\": null, \"task_id\": 183}'),('2015-05-20 13:33:32',NULL,567,45,NULL,24,'task_details_changed','{\"story_id\": 45, \"task_title\": \"\", \"task_id\": 183}'),('2015-05-20 13:33:34',NULL,568,45,NULL,24,'task_details_changed','{\"story_id\": 45, \"task_title\": \"\", \"task_id\": 183}'),('2015-05-20 13:35:26',NULL,569,46,NULL,24,'story_created','{\"story_id\": 46, \"story_title\": \"Live Atomic Updates\"}'),('2015-05-20 13:35:26',NULL,570,46,NULL,24,'task_created','{\"story_id\": 46, \"task_title\": \"no\", \"task_id\": 184}'),('2015-05-20 13:35:35',NULL,571,46,NULL,24,'task_deleted','{\"story_id\": 46, \"task_title\": \"no\", \"task_id\": 184}'),('2015-05-20 13:43:33',NULL,572,46,NULL,24,'story_details_changed','{\"story_id\": 46, \"story_title\": \"Live Atomic Updates\"}'),('2015-05-20 13:44:33',NULL,573,46,NULL,24,'task_created','{\"story_id\": 46, \"task_title\": \"Build up good-will in the systemd maintainers\", \"task_id\": 185}'),('2015-05-20 13:46:28',NULL,574,46,NULL,24,'task_status_changed','{\"story_id\": 46, \"task_title\": \"Build up good-will in the systemd maintainers\", \"old_status\": \"todo\", \"task_id\": 185, \"new_status\": \"inprogress\"}'),('2015-05-20 13:46:29',NULL,575,46,NULL,24,'task_created','{\"story_id\": 46, \"task_title\": \"Merge necessary support to systemd\", \"task_id\": 186}'),('2015-05-20 13:48:58',NULL,576,46,NULL,24,'task_created','{\"story_id\": 46, \"task_title\": \"Add switch support to system-version-manager\", \"task_id\": 187}'),('2015-05-20 13:56:57',NULL,577,46,NULL,24,'story_details_changed','{\"story_id\": 46, \"story_title\": \"Live Atomic Updates\"}'),('2015-05-20 15:21:19',NULL,578,43,33,25,'user_comment',NULL),('2015-05-26 12:36:53',NULL,579,47,NULL,24,'story_created','{\"story_id\": 47, \"story_title\": \"Minimisable debuggable systems\"}'),('2015-05-26 12:36:54',NULL,580,47,NULL,24,'task_created','{\"story_id\": 47, \"task_title\": \"Write up design\", \"task_id\": 188}'),('2015-05-26 12:37:06',NULL,581,47,NULL,24,'task_details_changed','{\"story_id\": 47, \"task_title\": \"Write up design\", \"task_id\": 188}'),('2015-05-26 12:37:13',NULL,582,47,NULL,24,'task_details_changed','{\"story_id\": 47, \"task_title\": \"Write up design\", \"task_id\": 188}'),('2015-05-26 12:37:17',NULL,583,47,NULL,24,'task_assignee_changed','{\"story_id\": 47, \"task_title\": \"Write up design\", \"old_assignee_id\": null, \"task_id\": 188, \"new_assignee_id\": 24}'),('2015-05-26 12:37:22',NULL,584,47,NULL,24,'task_status_changed','{\"story_id\": 47, \"task_title\": \"Write up design\", \"old_status\": \"todo\", \"task_id\": 188, \"new_status\": \"inprogress\"}'),('2015-05-26 13:39:56',NULL,585,47,NULL,24,'story_details_changed','{\"story_id\": 47, \"story_title\": \"Minimisable debuggable systems\"}'),('2015-05-26 13:44:19',NULL,586,47,NULL,24,'story_details_changed','{\"story_id\": 47, \"story_title\": \"Minimisable debuggable systems\"}'),('2015-05-26 13:47:09',NULL,587,47,NULL,24,'story_details_changed','{\"story_id\": 47, \"story_title\": \"Minimisable debuggable systems\"}'),('2015-05-26 13:57:33',NULL,588,47,NULL,24,'story_details_changed','{\"story_id\": 47, \"story_title\": \"Minimisable debuggable systems\"}'),('2015-05-26 14:07:32',NULL,589,47,NULL,24,'story_details_changed','{\"story_id\": 47, \"story_title\": \"Minimisable debuggable systems\"}'),('2015-05-26 14:08:56',NULL,590,47,NULL,24,'task_created','{\"story_id\": 47, \"task_title\": \"Test the principle by adding strip commands to post-install-commands of chunks in build-essential\", \"task_id\": 189}'),('2015-05-26 14:09:30',NULL,591,47,NULL,24,'task_created','{\"story_id\": 47, \"task_title\": \"Prove such a stripped system is still debuggable\", \"task_id\": 190}'),('2015-05-26 14:10:15',NULL,592,47,NULL,24,'task_priority_changed','{\"story_id\": 47, \"task_title\": \"Write up design\", \"old_priority\": \"medium\", \"task_id\": 188, \"new_priority\": \"high\"}'),('2015-05-26 14:10:19',NULL,593,47,NULL,24,'task_priority_changed','{\"story_id\": 47, \"task_title\": \"Test the principle by adding strip commands to post-install-commands of chunks in build-essential\", \"old_priority\": \"medium\", \"task_id\": 189, \"new_priority\": \"high\"}'),('2015-05-26 14:10:22',NULL,594,47,NULL,24,'task_priority_changed','{\"story_id\": 47, \"task_title\": \"Prove such a stripped system is still debuggable\", \"old_priority\": \"medium\", \"task_id\": 190, \"new_priority\": \"high\"}'),('2015-05-26 14:11:03',NULL,595,47,NULL,24,'task_created','{\"story_id\": 47, \"task_title\": \"Extend default commands for build systems to strip by default\", \"task_id\": 191}'),('2015-05-26 14:12:07',NULL,596,47,NULL,24,'task_details_changed','{\"story_id\": 47, \"task_title\": \"Extend default commands for build systems to strip by default\", \"task_id\": 191}'),('2015-05-26 14:12:12',NULL,597,47,NULL,24,'task_details_changed','{\"story_id\": 47, \"task_title\": \"Extend default commands for build systems to strip by default\", \"task_id\": 191}'),('2015-05-26 14:12:40',NULL,598,47,NULL,24,'task_created','{\"story_id\": 47, \"task_title\": \"Extend split rules to not include debug artifacts by default\", \"task_id\": 192}'),('2015-05-26 14:12:44',NULL,599,47,NULL,24,'task_priority_changed','{\"story_id\": 47, \"task_title\": \"Extend split rules to not include debug artifacts by default\", \"old_priority\": \"medium\", \"task_id\": 192, \"new_priority\": \"low\"}'),('2015-05-26 14:13:34',NULL,600,47,NULL,24,'task_created','{\"story_id\": 47, \"task_title\": \"Move build system definitions into definitions repository\", \"task_id\": 193}'),('2015-05-26 14:13:38',NULL,601,47,NULL,24,'task_priority_changed','{\"story_id\": 47, \"task_title\": \"Move build system definitions into definitions repository\", \"old_priority\": \"medium\", \"task_id\": 193, \"new_priority\": \"low\"}'),('2015-05-26 14:14:45',NULL,602,47,NULL,24,'task_created','{\"story_id\": 47, \"task_title\": \"Move default split rules to definitions\", \"task_id\": 194}'),('2015-05-26 14:14:48',NULL,603,47,NULL,24,'task_priority_changed','{\"story_id\": 47, \"task_title\": \"Move default split rules to definitions\", \"old_priority\": \"medium\", \"task_id\": 194, \"new_priority\": \"low\"}'),('2015-05-26 14:15:32',NULL,604,47,NULL,24,'task_created','{\"story_id\": 47, \"task_title\": \"Make build systems define default split rules\", \"task_id\": 195}'),('2015-05-26 14:15:35',NULL,605,47,NULL,24,'task_priority_changed','{\"story_id\": 47, \"task_title\": \"Make build systems define default split rules\", \"old_priority\": \"medium\", \"task_id\": 195, \"new_priority\": \"low\"}'),('2015-05-26 14:15:47',NULL,606,47,NULL,24,'task_status_changed','{\"story_id\": 47, \"task_title\": \"Write up design\", \"old_status\": \"inprogress\", \"task_id\": 188, \"new_status\": \"merged\"}'),('2015-05-26 15:52:47',NULL,607,21,NULL,9,'task_status_changed','{\"story_id\": 21, \"task_title\": \"Move pam to core\", \"old_status\": \"todo\", \"task_id\": 75, \"new_status\": \"merged\"}'),('2015-05-26 15:53:09',NULL,608,21,NULL,9,'task_status_changed','{\"story_id\": 21, \"task_title\": \"Move acl to core\", \"old_status\": \"todo\", \"task_id\": 76, \"new_status\": \"merged\"}'),('2015-05-26 15:53:23',NULL,609,21,NULL,9,'task_status_changed','{\"story_id\": 21, \"task_title\": \"Make shadow depend on acl and pam\", \"old_status\": \"todo\", \"task_id\": 77, \"new_status\": \"merged\"}'),('2015-05-26 15:53:26',NULL,610,21,NULL,9,'task_status_changed','{\"story_id\": 21, \"task_title\": \"Configure pam correctly\", \"old_status\": \"todo\", \"task_id\": 78, \"new_status\": \"merged\"}'),('2015-05-26 15:53:38',NULL,611,21,NULL,9,'task_status_changed','{\"story_id\": 21, \"task_title\": \"Make util-linux depend on pam and shadow\", \"old_status\": \"todo\", \"task_id\": 79, \"new_status\": \"merged\"}'),('2015-05-26 15:53:46',NULL,612,21,NULL,9,'task_deleted','{\"story_id\": 21, \"task_title\": \"Move util-linux to foundation\", \"task_id\": 80}'),('2015-05-26 16:14:51',NULL,613,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Add support to deploy jffs2 images\", \"task_id\": 196}'),('2015-05-26 16:15:31',NULL,614,37,NULL,9,'task_created','{\"story_id\": 37, \"task_title\": \"Develop a (temporal) way to strip binaries\", \"task_id\": 197}'),('2015-05-26 16:15:33',NULL,615,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Add support to deploy jffs2 images\", \"old_status\": \"todo\", \"task_id\": 196, \"new_status\": \"inprogress\"}'),('2015-05-26 16:15:35',NULL,616,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Develop a (temporal) way to strip binaries\", \"old_status\": \"todo\", \"task_id\": 197, \"new_status\": \"inprogress\"}'),('2015-05-26 16:15:41',NULL,617,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Use the generated build-system-armv5l system to deploy minimal armv5l system\", \"old_status\": \"todo\", \"task_id\": 165, \"new_status\": \"inprogress\"}'),('2015-05-26 16:15:52',NULL,618,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate a build-system-armv5l system\", \"old_status\": \"inprogress\", \"task_id\": 164, \"new_status\": \"review\"}'),('2015-05-26 16:16:12',NULL,619,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Deploy openbmc image\", \"old_status\": \"todo\", \"task_id\": 144, \"new_status\": \"inprogress\"}'),('2015-05-26 16:16:18',NULL,620,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openBMC stratum\", \"old_status\": \"review\", \"task_id\": 131, \"new_status\": \"merged\"}'),('2015-05-26 16:16:30',NULL,621,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Develop a (temporal) way to strip binaries\", \"old_status\": \"inprogress\", \"task_id\": 197, \"new_status\": \"merged\"}'),('2015-05-26 16:16:37',NULL,622,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Fix btrfs-progs compilation for armv5 (-O2 instead -O1)\", \"old_status\": \"inprogress\", \"task_id\": 166, \"new_status\": \"review\"}'),('2015-05-26 16:16:47',NULL,623,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Use the generated build-system-armv5l system to deploy minimal armv5l system\", \"old_status\": \"inprogress\", \"task_id\": 165, \"new_status\": \"merged\"}'),('2015-05-26 16:17:32',NULL,624,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Move stuff from /usr/etc/* to /etc (or support stuff in /usr/etc)\", \"old_status\": \"todo\", \"task_id\": 147, \"new_status\": \"inprogress\"}'),('2015-05-26 16:17:35',NULL,625,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"dbus configuration doesnt seem correct\", \"old_status\": \"todo\", \"task_id\": 114, \"new_status\": \"inprogress\"}'),('2015-05-29 10:47:33',NULL,626,48,NULL,7,'story_created','{\"story_id\": 48, \"story_title\": \"Use OSTree in Morph for artifact storage\"}'),('2015-05-29 10:47:33',NULL,627,48,NULL,7,'task_created','{\"story_id\": 48, \"task_title\": \"Add OStree to build- and devel- reference systems\", \"task_id\": 198}'),('2015-05-29 10:47:43',NULL,628,48,NULL,7,'task_status_changed','{\"story_id\": 48, \"task_title\": \"Add OStree to build- and devel- reference systems\", \"old_status\": \"todo\", \"task_id\": 198, \"new_status\": \"merged\"}'),('2015-05-29 10:50:06',NULL,629,48,NULL,7,'task_created','{\"story_id\": 48, \"task_title\": \"Enforce that all systems deployed by Morph can be read-only except for specific, whitelisted paths\", \"task_id\": 199}'),('2015-05-29 10:50:21',NULL,630,48,NULL,7,'task_created','{\"story_id\": 48, \"task_title\": \"Make branch of Morph to use OSTree\", \"task_id\": 200}'),('2015-05-29 11:00:37',NULL,631,48,NULL,7,'story_details_changed','{\"story_id\": 48, \"story_title\": \"Use OSTree in Morph for artifact storage\"}'),('2015-05-29 11:00:57',NULL,632,48,NULL,7,'task_details_changed','{\"story_id\": 48, \"task_title\": \"Enforce that all systems deployed by Morph can be read-only except for specific, whitelisted paths\", \"task_id\": 199}'),('2015-05-29 11:00:58',NULL,633,48,NULL,7,'task_details_changed','{\"story_id\": 48, \"task_title\": \"Solve the \'hardlinks in a read-write filesystem\' problem somehow\", \"task_id\": 199}'),('2015-05-29 11:01:03',NULL,634,48,NULL,7,'task_details_changed','{\"story_id\": 48, \"task_title\": \"Solve the \'hardlinks in a read-write filesystem\' problem somehow\", \"task_id\": 199}'),('2015-05-29 11:01:08',NULL,635,48,NULL,7,'task_details_changed','{\"story_id\": 48, \"task_title\": \"Solve the \'hardlinks in a read-write filesystem\' problem somehow\", \"task_id\": 199}'),('2015-05-29 11:02:01',NULL,636,48,34,7,'user_comment',NULL),('2015-05-29 11:18:08',NULL,637,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Fix btrfs-progs compilation for armv5 (-O2 instead -O1)\", \"old_status\": \"review\", \"task_id\": 166, \"new_status\": \"merged\"}'),('2015-05-29 11:18:24',NULL,638,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Generate a build-system-armv5l system\", \"old_status\": \"review\", \"task_id\": 164, \"new_status\": \"merged\"}'),('2015-05-29 11:18:28',NULL,639,37,NULL,9,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc cluster\", \"old_status\": \"inprogress\", \"task_id\": 140, \"new_status\": \"review\"}'),('2015-05-29 12:56:44',NULL,640,48,35,24,'user_comment',NULL),('2015-06-08 10:10:58',NULL,641,16,36,12,'user_comment',NULL),('2015-06-08 10:11:10',NULL,642,16,NULL,12,'task_assignee_changed','{\"story_id\": 16, \"task_title\": \"Make ./check to honor TMPDIR\", \"old_assignee_id\": null, \"task_id\": 62, \"new_assignee_id\": 12}'),('2015-06-08 10:11:15',NULL,643,16,NULL,12,'task_status_changed','{\"story_id\": 16, \"task_title\": \"Make ./check to honor TMPDIR\", \"old_status\": \"todo\", \"task_id\": 62, \"new_status\": \"inprogress\"}'),('2015-06-11 13:22:13',NULL,644,16,NULL,12,'task_status_changed','{\"story_id\": 16, \"task_title\": \"Make ./check to honor TMPDIR\", \"old_status\": \"inprogress\", \"task_id\": 62, \"new_status\": \"review\"}'),('2015-06-11 13:22:24',NULL,645,16,37,12,'user_comment',NULL),('2015-06-15 09:51:47',NULL,646,37,NULL,12,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Add support to deploy jffs2 images\", \"old_status\": \"inprogress\", \"task_id\": 196, \"new_status\": \"merged\"}'),('2015-06-15 09:51:55',NULL,647,37,NULL,12,'task_status_changed','{\"story_id\": 37, \"task_title\": \"Make openbmc cluster\", \"old_status\": \"review\", \"task_id\": 140, \"new_status\": \"merged\"}'),('2015-06-16 13:20:13',NULL,648,49,NULL,7,'story_created','{\"story_id\": 49, \"story_title\": \"Use correct SSL cert for git.baserock.org\"}'),('2015-06-16 13:20:13',NULL,649,49,NULL,7,'task_created','{\"story_id\": 49, \"task_title\": \"Do that\", \"task_id\": 201}'),('2015-06-16 13:20:13',NULL,650,49,NULL,7,'task_created','{\"story_id\": 49, \"task_title\": \"Work out the best way to configure an existing Trove instance to use a new SSL certificate\", \"task_id\": 202}'),('2015-06-16 13:20:26',NULL,651,49,NULL,7,'task_deleted','{\"story_id\": 49, \"task_title\": \"Do that\", \"task_id\": 201}'),('2015-06-16 13:20:46',NULL,652,49,NULL,7,'task_created','{\"story_id\": 49, \"task_title\": \"Update git.baserock.org configuration appropriately\", \"task_id\": 203}'),('2015-06-16 13:24:34',NULL,653,49,38,7,'user_comment',NULL),('2015-06-22 10:09:30',NULL,654,41,NULL,13,'task_status_changed','{\"story_id\": 41, \"task_title\": \"Add .configure extensions from morph.git into definitions.git (in a subfolder)\", \"old_status\": \"todo\", \"task_id\": 154, \"new_status\": \"merged\"}'),('2015-06-22 10:09:33',NULL,655,41,NULL,13,'task_status_changed','{\"story_id\": 41, \"task_title\": \"Add .write and .check extensions from morph.git into definitions.git (in a subfolder)\", \"old_status\": \"todo\", \"task_id\": 156, \"new_status\": \"merged\"}'),('2015-06-23 15:22:05',NULL,656,4,NULL,27,'task_assignee_changed','{\"story_id\": 4, \"task_title\": \"Configure locales correctly\", \"old_assignee_id\": null, \"task_id\": 4, \"new_assignee_id\": 27}'),('2015-06-23 15:23:45',NULL,657,4,39,27,'user_comment',NULL),('2015-06-23 15:27:41',NULL,658,4,40,27,'user_comment',NULL),('2015-06-25 11:21:45',NULL,659,50,NULL,7,'story_created','{\"story_id\": 50, \"story_title\": \"White paper comparing Cloud Foundry BOSH with Baserock\"}'),('2015-06-25 11:21:45',NULL,660,50,NULL,7,'task_created','{\"story_id\": 50, \"task_title\": \"Write the white paper\", \"task_id\": 204}'),('2015-06-25 13:38:11',NULL,661,51,NULL,27,'story_created','{\"story_id\": 51, \"story_title\": \"Playing with stemcells\"}'),('2015-06-25 13:38:12',NULL,662,51,NULL,27,'task_created','{\"story_id\": 51, \"task_title\": \"Create a baserock system which can be used as a Cloud Foundry stemcell.\", \"task_id\": 205}'),('2015-06-25 13:38:26',NULL,663,51,NULL,27,'task_assignee_changed','{\"story_id\": 51, \"task_title\": \"Create a baserock system which can be used as a Cloud Foundry stemcell.\", \"old_assignee_id\": null, \"task_id\": 205, \"new_assignee_id\": 27}'),('2015-06-25 13:38:35',NULL,664,51,NULL,27,'task_details_changed','{\"story_id\": 51, \"task_title\": \"Create a baserock system which can be used as a Cloud Foundry stemcell.\", \"task_id\": 205}'),('2015-06-25 13:38:49',NULL,665,51,NULL,27,'task_details_changed','{\"story_id\": 51, \"task_title\": \"Create a baserock system which can be used as a Cloud Foundry stemcell.\", \"task_id\": 205}'),('2015-06-25 13:39:10',NULL,666,51,NULL,27,'task_assignee_changed','{\"story_id\": 51, \"task_title\": \"Create a baserock system which can be used as a Cloud Foundry stemcell.\", \"old_assignee_id\": 27, \"task_id\": 205, \"new_assignee_id\": 8}'),('2015-06-25 16:26:48',NULL,667,51,NULL,27,'task_details_changed','{\"story_id\": 51, \"task_title\": \"Create a baserock system which can be used as a Cloud Foundry stemcell.\", \"task_id\": 205}'),('2015-06-26 15:56:47',NULL,668,51,41,7,'user_comment',NULL),('2015-06-26 15:57:20',NULL,669,51,NULL,7,'task_created','{\"story_id\": 51, \"task_title\": \"Establish a public Concourse CI pipeline for ongoings builds of this stemcell\", \"task_id\": 206}'),('2015-06-26 15:57:49',NULL,670,51,NULL,7,'task_created','{\"story_id\": 51, \"task_title\": \"Document how to use custom stemcell with Cloud Foundry (?)\", \"task_id\": 207}'),('2015-06-26 15:58:02',NULL,671,51,NULL,7,'task_created','{\"story_id\": 51, \"task_title\": \"Video demonstration of BOSH deployments on custom stemcells\", \"task_id\": 208}'),('2015-07-13 09:34:47',NULL,672,52,NULL,7,'story_created','{\"story_id\": 52, \"story_title\": \"Formally define the current Baserock model separate from the current syntax\"}'),('2015-07-13 09:34:47',NULL,673,52,NULL,7,'task_created','{\"story_id\": 52, \"task_title\": \"Add an OWL schema for the current Baserock data model to definitions.git\", \"task_id\": 209}'),('2015-07-13 09:34:53',NULL,674,52,NULL,7,'task_details_changed','{\"story_id\": 52, \"task_title\": \"Add an OWL schema for the current Baserock data model to definitions.git\", \"task_id\": 209}'),('2015-07-13 09:34:56',NULL,675,52,NULL,7,'task_details_changed','{\"story_id\": 52, \"task_title\": \"Add an OWL schema for the current Baserock data model to definitions.git\", \"task_id\": 209}'),('2015-07-13 09:34:59',NULL,676,52,NULL,7,'task_details_changed','{\"story_id\": 52, \"task_title\": \"Add an OWL schema for the current Baserock data model to definitions.git\", \"task_id\": 209}'),('2015-07-13 09:35:00',NULL,677,52,NULL,7,'task_assignee_changed','{\"story_id\": 52, \"task_title\": \"Add an OWL schema for the current Baserock data model to definitions.git\", \"old_assignee_id\": null, \"task_id\": 209, \"new_assignee_id\": 7}'),('2015-07-13 09:35:03',NULL,678,52,NULL,7,'task_status_changed','{\"story_id\": 52, \"task_title\": \"Add an OWL schema for the current Baserock data model to definitions.git\", \"old_status\": \"todo\", \"task_id\": 209, \"new_status\": \"inprogress\"}'),('2015-07-13 09:41:24',NULL,679,52,NULL,7,'task_created','{\"story_id\": 52, \"task_title\": \"Add a Python module to definitions.git to parse current syntax according to data model\", \"task_id\": 210}'),('2015-07-13 09:42:19',NULL,680,52,NULL,7,'task_created','{\"story_id\": 52, \"task_title\": \"Document current syntax in a useful way\", \"task_id\": 211}'),('2015-07-13 09:42:24',NULL,681,52,NULL,7,'task_details_changed','{\"story_id\": 52, \"task_title\": \"Document current syntax in a useful way\", \"task_id\": 211}'),('2015-07-13 09:42:27',NULL,682,52,NULL,7,'task_details_changed','{\"story_id\": 52, \"task_title\": \"Document current syntax in a useful way\", \"task_id\": 211}'),('2015-07-13 09:42:46',NULL,683,52,NULL,7,'task_details_changed','{\"story_id\": 52, \"task_title\": \"Document current syntax in a useful way\", \"task_id\": 211}'),('2015-07-13 09:43:31',NULL,684,52,NULL,7,'task_created','{\"story_id\": 52, \"task_title\": \"Move default build-systems and split-rules into definitions.git, and update Morph and YBD to use tha\", \"task_id\": 212}'),('2015-07-13 09:44:18',NULL,685,52,NULL,7,'task_created','{\"story_id\": 52, \"task_title\": \"Remove build-system autodetection feature, to avoid the parser module needing to do it\", \"task_id\": 213}'),('2015-07-13 09:45:29',NULL,686,52,NULL,7,'story_details_changed','{\"story_id\": 52, \"story_title\": \"Formally define the current Baserock model separate from the current syntax\"}'),('2015-07-14 15:41:43',NULL,687,53,NULL,7,'story_created','{\"story_id\": 53, \"story_title\": \"Track full URLs of imported tarballs and zip files in mirrored repos\"}'),('2015-07-14 15:41:43',NULL,688,53,NULL,7,'task_created','{\"story_id\": 53, \"task_title\": \"Put the full URL in the commit message for imported .zip files and .tar files\", \"task_id\": 214}'),('2015-07-16 13:23:53',NULL,689,43,42,7,'user_comment',NULL),('2015-07-19 16:45:29',NULL,690,8,NULL,14,'task_details_changed','{\"story_id\": 8, \"task_title\": \"Web frontend: show what is Mason is currently doing\", \"task_id\": 177}'),('2015-07-19 16:45:35',NULL,691,8,NULL,14,'task_details_changed','{\"story_id\": 8, \"task_title\": \"Web frontend: show what is Mason is currently doing\", \"task_id\": 177}'),('2015-07-23 14:19:45',NULL,692,54,NULL,7,'story_created','{\"story_id\": 54, \"story_title\": \"Building systems with multiple UNIX user accounts\"}'),('2015-07-23 14:19:45',NULL,693,54,NULL,7,'task_created','{\"story_id\": 54, \"task_title\": \"Write a plan for fixing this\", \"task_id\": 215}'),('2015-07-23 14:25:16',NULL,694,54,NULL,7,'story_details_changed','{\"story_id\": 54, \"story_title\": \"Building systems with multiple UNIX user accounts\"}'),('2015-07-24 09:25:20',NULL,695,52,NULL,7,'task_status_changed','{\"story_id\": 52, \"task_title\": \"Remove build-system autodetection feature, to avoid the parser module needing to do it\", \"old_status\": \"todo\", \"task_id\": 213, \"new_status\": \"review\"}'),('2015-07-30 16:37:35',NULL,696,50,NULL,7,'task_status_changed','{\"story_id\": 50, \"task_title\": \"Write the white paper\", \"old_status\": \"todo\", \"task_id\": 204, \"new_status\": \"invalid\"}'),('2015-07-30 16:37:47',NULL,697,50,43,7,'user_comment',NULL),('2015-07-30 16:53:06',NULL,698,51,NULL,8,'task_status_changed','{\"story_id\": 51, \"task_title\": \"Video demonstration of BOSH deployments on custom stemcells\", \"old_status\": \"todo\", \"task_id\": 208, \"new_status\": \"invalid\"}'),('2015-07-30 16:53:08',NULL,699,51,NULL,8,'task_status_changed','{\"story_id\": 51, \"task_title\": \"Document how to use custom stemcell with Cloud Foundry (?)\", \"old_status\": \"todo\", \"task_id\": 207, \"new_status\": \"invalid\"}'),('2015-07-30 16:53:16',NULL,700,51,NULL,8,'task_status_changed','{\"story_id\": 51, \"task_title\": \"Establish a public Concourse CI pipeline for ongoings builds of this stemcell\", \"old_status\": \"todo\", \"task_id\": 206, \"new_status\": \"invalid\"}'),('2015-07-30 16:56:07',NULL,701,51,NULL,8,'task_created','{\"story_id\": 51, \"task_title\": \"General research about stemcells\", \"task_id\": 216}'),('2015-07-30 16:56:12',NULL,702,51,NULL,8,'task_status_changed','{\"story_id\": 51, \"task_title\": \"General research about stemcells\", \"old_status\": \"todo\", \"task_id\": 216, \"new_status\": \"merged\"}'),('2015-07-30 16:56:31',NULL,703,51,NULL,8,'task_status_changed','{\"story_id\": 51, \"task_title\": \"Create a baserock system which can be used as a Cloud Foundry stemcell.\", \"old_status\": \"todo\", \"task_id\": 205, \"new_status\": \"invalid\"}'),('2015-07-30 16:57:59',NULL,704,51,44,8,'user_comment',NULL),('2015-07-30 16:59:44',NULL,705,40,NULL,8,'task_status_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph build` from any definitions.git checkout\", \"old_status\": \"review\", \"task_id\": 148, \"new_status\": \"merged\"}'),('2015-07-30 16:59:46',NULL,706,40,NULL,8,'task_status_changed','{\"story_id\": 40, \"task_title\": \"Allow using `morph deploy` from any definitions.git checkout\", \"old_status\": \"review\", \"task_id\": 149, \"new_status\": \"merged\"}'),('2015-07-30 17:01:50',NULL,707,7,NULL,8,'task_status_changed','{\"story_id\": 7, \"task_title\": \"Show what is going on when compiling new images\", \"old_status\": \"todo\", \"task_id\": 27, \"new_status\": \"review\"}'),('2015-07-30 17:01:58',NULL,708,7,NULL,8,'task_details_changed','{\"story_id\": 7, \"task_title\": \"Show what is going on when compiling new images\", \"task_id\": 27}'),('2015-07-30 17:02:26',NULL,709,7,45,8,'user_comment',NULL),('2015-07-30 17:14:13',NULL,710,25,NULL,8,'task_details_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"task_id\": 89}'),('2015-07-30 17:14:25',NULL,711,25,NULL,8,'task_details_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"task_id\": 89}'),('2015-07-30 17:14:34',NULL,712,25,NULL,8,'task_details_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"task_id\": 89}'),('2015-07-30 17:15:01',NULL,713,25,NULL,8,'task_details_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"task_id\": 89}'),('2015-07-30 17:15:08',NULL,714,25,NULL,8,'task_details_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"task_id\": 89}'),('2015-07-30 17:15:13',NULL,715,25,NULL,8,'task_status_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"old_status\": \"todo\", \"task_id\": 89, \"new_status\": \"review\"}'),('2015-07-30 17:15:21',NULL,716,25,NULL,8,'task_details_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"task_id\": 89}'),('2015-07-30 17:15:29',NULL,717,25,NULL,8,'task_assignee_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"old_assignee_id\": null, \"task_id\": 89, \"new_assignee_id\": 16}'),('2015-07-30 17:22:38',NULL,718,29,46,8,'user_comment',NULL),('2015-07-30 17:22:45',NULL,719,29,47,8,'user_comment',NULL),('2015-07-31 14:09:05',NULL,720,52,NULL,7,'task_status_changed','{\"story_id\": 52, \"task_title\": \"Move default build-systems and split-rules into definitions.git, and update Morph and YBD to use tha\", \"old_status\": \"todo\", \"task_id\": 212, \"new_status\": \"review\"}'),('2015-07-31 14:09:08',NULL,721,52,NULL,7,'task_status_changed','{\"story_id\": 52, \"task_title\": \"Add an OWL schema for the current Baserock data model to definitions.git\", \"old_status\": \"inprogress\", \"task_id\": 209, \"new_status\": \"review\"}'),('2015-07-31 14:09:14',NULL,722,52,NULL,7,'task_status_changed','{\"story_id\": 52, \"task_title\": \"Document current syntax in a useful way\", \"old_status\": \"todo\", \"task_id\": 211, \"new_status\": \"review\"}'),('2015-07-31 14:09:40',NULL,723,52,48,7,'user_comment',NULL),('2015-08-27 11:35:09',NULL,724,55,NULL,7,'story_created','{\"story_id\": 55, \"story_title\": \"Morph should work out-of-the-box in \'build\' system\"}'),('2015-08-27 11:35:09',NULL,725,55,NULL,7,'task_created','{\"story_id\": 55, \"task_title\": \"Think about how to fix this\", \"task_id\": 217}'),('2015-08-27 11:35:09',NULL,726,55,NULL,7,'task_created','{\"story_id\": 55, \"task_title\": \"Update quick-start guide on wiki once fixed\", \"task_id\": 218}'),('2015-08-27 11:45:29',NULL,727,55,NULL,7,'story_details_changed','{\"story_id\": 55, \"story_title\": \"Morph should work out-of-the-box in \'build\' system\"}'),('2015-08-27 18:49:45',NULL,728,55,49,7,'user_comment',NULL),('2015-09-23 10:13:49',NULL,729,26,NULL,7,'task_status_changed','{\"story_id\": 26, \"task_title\": \"`morph edit` doesn\'t honour --no-git-update - fat_pull and update_remotes are called unconditionally\", \"old_status\": \"todo\", \"task_id\": 92, \"new_status\": \"invalid\"}'),('2015-09-23 10:14:16',NULL,730,26,50,7,'user_comment',NULL),('2015-09-23 10:21:40',NULL,731,40,NULL,7,'task_status_changed','{\"story_id\": 40, \"task_title\": \"Update documentation to avoid use of workspaces, and notify existing users of the change\", \"old_status\": \"todo\", \"task_id\": 150, \"new_status\": \"inprogress\"}'),('2015-09-23 10:21:47',NULL,732,40,NULL,7,'task_status_changed','{\"story_id\": 40, \"task_title\": \"Change all Morph commands that require a source pool use DefinitionsRepo.source_pool()\", \"old_status\": \"todo\", \"task_id\": 152, \"new_status\": \"merged\"}'),('2015-09-23 11:08:35',NULL,733,40,51,7,'user_comment',NULL),('2015-09-23 11:36:22',NULL,734,16,NULL,7,'task_status_changed','{\"story_id\": 16, \"task_title\": \"Make ./check to honor TMPDIR\", \"old_status\": \"review\", \"task_id\": 62, \"new_status\": \"merged\"}'),('2015-09-23 11:36:27',NULL,735,16,52,7,'user_comment',NULL),('2015-09-23 11:37:46',NULL,736,28,NULL,7,'task_status_changed','{\"story_id\": 28, \"task_title\": \"Not backed up.\", \"old_status\": \"todo\", \"task_id\": 102, \"new_status\": \"merged\"}'),('2015-09-23 11:38:11',NULL,737,28,53,7,'user_comment',NULL),('2015-09-23 15:07:12',NULL,738,19,NULL,7,'task_status_changed','{\"story_id\": 19, \"task_title\": \"Analyze if we should port Cliapp or get rid of it\", \"old_status\": \"todo\", \"task_id\": 69, \"new_status\": \"review\"}'),('2015-09-23 15:07:46',NULL,739,19,54,7,'user_comment',NULL),('2015-09-23 15:07:57',NULL,740,19,NULL,7,'task_status_changed','{\"story_id\": 19, \"task_title\": \"Maybe use cement instead? (support for python 2 and 3)\", \"old_status\": \"todo\", \"task_id\": 91, \"new_status\": \"invalid\"}'),('2015-09-23 15:08:52',NULL,741,19,55,7,'user_comment',NULL),('2015-09-24 09:52:48',NULL,742,56,NULL,7,'story_created','{\"story_id\": 56, \"story_title\": \"Lorry Controller database expirey\"}'),('2015-09-24 09:52:49',NULL,743,56,NULL,7,'task_created','{\"story_id\": 56, \"task_title\": \"Come up with an approach for fixing this\", \"task_id\": 219}'),('2015-09-24 09:52:53',NULL,744,56,NULL,7,'story_details_changed','{\"story_id\": 56, \"story_title\": \"Lorry Controller database expiry\"}'),('2015-09-24 09:53:03',NULL,745,52,NULL,7,'task_status_changed','{\"story_id\": 52, \"task_title\": \"Add an OWL schema for the current Baserock data model to definitions.git\", \"old_status\": \"review\", \"task_id\": 209, \"new_status\": \"merged\"}'),('2015-09-24 09:53:14',NULL,746,52,NULL,7,'task_status_changed','{\"story_id\": 52, \"task_title\": \"Remove build-system autodetection feature, to avoid the parser module needing to do it\", \"old_status\": \"review\", \"task_id\": 213, \"new_status\": \"merged\"}'),('2015-09-24 09:54:08',NULL,747,52,56,7,'user_comment',NULL),('2015-09-24 11:38:44',NULL,748,19,57,7,'user_comment',NULL),('2015-09-24 11:51:56',NULL,749,47,NULL,7,'task_status_changed','{\"story_id\": 47, \"task_title\": \"Move default split rules to definitions\", \"old_status\": \"todo\", \"task_id\": 194, \"new_status\": \"inprogress\"}'),('2015-09-24 11:51:58',NULL,750,47,NULL,7,'task_status_changed','{\"story_id\": 47, \"task_title\": \"Move default split rules to definitions\", \"old_status\": \"inprogress\", \"task_id\": 194, \"new_status\": \"review\"}'),('2015-09-24 11:52:02',NULL,751,47,NULL,7,'task_status_changed','{\"story_id\": 47, \"task_title\": \"Move default split rules to definitions\", \"old_status\": \"review\", \"task_id\": 194, \"new_status\": \"inprogress\"}'),('2015-09-24 11:52:13',NULL,752,47,NULL,7,'task_status_changed','{\"story_id\": 47, \"task_title\": \"Extend default commands for build systems to strip by default\", \"old_status\": \"todo\", \"task_id\": 191, \"new_status\": \"inprogress\"}'),('2015-09-24 11:52:18',NULL,753,47,NULL,7,'task_status_changed','{\"story_id\": 47, \"task_title\": \"Make build systems define default split rules\", \"old_status\": \"todo\", \"task_id\": 195, \"new_status\": \"inprogress\"}'),('2015-09-24 11:52:49',NULL,754,47,58,7,'user_comment',NULL),('2015-09-24 16:01:33',NULL,755,57,NULL,7,'story_created','{\"story_id\": 57, \"story_title\": \"Improve cgit on git.baserock.org / Trove\"}'),('2015-09-24 16:01:33',NULL,756,57,NULL,7,'task_created','{\"story_id\": 57, \"task_title\": \"Extend cgit to understand .morph files, and linkify the \'ref\' fields in strata\", \"task_id\": 220}'),('2015-09-24 16:01:33',NULL,757,57,NULL,7,'task_created','{\"story_id\": 57, \"task_title\": \"Remove the cgi-bin/cgit.cgi part of the cgit URLs\", \"task_id\": 221}'),('2015-09-24 16:02:42',NULL,758,57,NULL,7,'story_details_changed','{\"story_id\": 57, \"story_title\": \"Improve cgit on git.baserock.org / Trove\"}'),('2015-09-24 16:20:40',NULL,759,13,59,7,'user_comment',NULL),('2015-09-24 16:20:44',NULL,760,13,NULL,7,'task_status_changed','{\"story_id\": 13, \"task_title\": \"Investigate why chown fails in system-integration time\", \"old_status\": \"todo\", \"task_id\": 49, \"new_status\": \"invalid\"}'),('2015-09-24 16:21:26',NULL,761,57,NULL,7,'story_details_changed','{\"story_id\": 57, \"story_title\": \"Improve cgit on git.baserock.org / Trove\"}'),('2015-09-24 16:34:35',NULL,762,21,NULL,9,'task_status_changed','{\"story_id\": 21, \"task_title\": \"Check DBUS session is correctly created\", \"old_status\": \"todo\", \"task_id\": 85, \"new_status\": \"merged\"}'),('2015-09-24 16:34:39',NULL,763,21,NULL,9,'task_status_changed','{\"story_id\": 21, \"task_title\": \"Build login (from util-linux) with pam support\", \"old_status\": \"todo\", \"task_id\": 81, \"new_status\": \"merged\"}'),('2015-09-24 17:10:05',NULL,764,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"dbus configuration doesnt seem correct\", \"old_status\": \"inprogress\", \"task_id\": 114, \"new_status\": \"merged\"}'),('2015-09-24 17:10:29',NULL,765,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Create a x-xorg stratum\", \"old_status\": \"todo\", \"task_id\": 52, \"new_status\": \"invalid\"}'),('2015-09-24 17:10:50',NULL,766,5,NULL,9,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add X11 libraries back to the x-common stratum\", \"old_status\": \"inprogress\", \"task_id\": 7, \"new_status\": \"merged\"}'),('2015-09-25 16:01:38',NULL,767,5,NULL,7,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME stratum\", \"old_status\": \"inprogress\", \"task_id\": 5, \"new_status\": \"merged\"}'),('2015-09-25 16:01:41',NULL,768,5,NULL,7,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Build GTK+ with X11 support\", \"old_status\": \"inprogress\", \"task_id\": 18, \"new_status\": \"merged\"}'),('2015-09-25 16:01:43',NULL,769,5,NULL,7,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME system\", \"old_status\": \"inprogress\", \"task_id\": 19, \"new_status\": \"merged\"}'),('2015-09-25 16:01:44',NULL,770,5,NULL,7,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Add GNOME cluster\", \"old_status\": \"inprogress\", \"task_id\": 20, \"new_status\": \"merged\"}'),('2015-09-25 16:01:49',NULL,771,5,NULL,7,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Build GL: mesa with X11 support\", \"old_status\": \"inprogress\", \"task_id\": 37, \"new_status\": \"merged\"}'),('2015-09-28 08:18:15',NULL,772,32,NULL,9,'task_status_changed','{\"story_id\": 32, \"task_title\": \"Set PATH in /etc/profile\", \"old_status\": \"review\", \"task_id\": 119, \"new_status\": \"merged\"}'),('2015-10-05 10:29:47',NULL,773,5,NULL,28,'task_details_changed','{\"story_id\": 5, \"task_title\": \"Create a x-xorg stratum\", \"task_id\": 52}'),('2015-10-05 10:30:29',NULL,774,5,60,28,'user_comment',NULL),('2015-10-07 07:21:08',NULL,775,6,NULL,11,'task_deleted','{\"story_id\": 6, \"task_title\": \"persia / petefoth\'s \'What I do with Baserock\' story\", \"task_id\": 10}'),('2015-10-07 07:27:14',NULL,776,58,NULL,28,'story_created','{\"story_id\": 58, \"story_title\": \"Sensible default sysconfdir for autotools packages\"}'),('2015-10-07 07:27:15',NULL,777,58,NULL,28,'task_created','{\"story_id\": 58, \"task_title\": \"Change default build commands to specify --sysconfdir=/etc\", \"task_id\": 222}'),('2015-10-07 07:27:16',NULL,778,58,NULL,28,'task_created','{\"story_id\": 58, \"task_title\": \"Cleanup all existing morph files which only exist to specify the correct sysconfdir\", \"task_id\": 223}'),('2015-10-09 08:24:28',NULL,779,59,NULL,28,'story_created','{\"story_id\": 59, \"story_title\": \"Reduced build cycle for testing local changes to individual modules\"}'),('2015-10-09 08:24:30',NULL,780,59,NULL,28,'task_created','{\"story_id\": 59, \"task_title\": \"placeholder task\", \"task_id\": 224}'),('2015-10-09 08:28:51',NULL,781,60,NULL,28,'story_created','{\"story_id\": 60, \"story_title\": \"Ability to test builds with modules not yet in upstream lorry\"}'),('2015-10-09 08:28:51',NULL,782,60,NULL,28,'task_created','{\"story_id\": 60, \"task_title\": \"placeholder\", \"task_id\": 225}'),('2015-10-09 12:53:25',NULL,783,56,61,7,'user_comment',NULL),('2015-10-13 02:28:47',NULL,784,5,NULL,28,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Compile schemas (glib-compile-schemas)\", \"old_status\": \"todo\", \"task_id\": 22, \"new_status\": \"merged\"}'),('2015-10-13 02:28:59',NULL,785,5,NULL,28,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Fix D-Bus conf services location (usr/etc -> /etc)\", \"old_status\": \"todo\", \"task_id\": 23, \"new_status\": \"merged\"}'),('2015-10-13 02:32:32',NULL,786,5,NULL,28,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Fix svg support in gdk-pixbuf\", \"old_status\": \"inprogress\", \"task_id\": 60, \"new_status\": \"merged\"}'),('2015-10-13 02:32:49',NULL,787,5,NULL,28,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Move stuff from /usr/etc/* to /etc (or support stuff in /usr/etc)\", \"old_status\": \"inprogress\", \"task_id\": 147, \"new_status\": \"merged\"}'),('2015-10-13 03:47:48',NULL,788,5,NULL,28,'task_status_changed','{\"story_id\": 5, \"task_title\": \"Move stuff from /usr/etc/* to /etc (or support stuff in /usr/etc)\", \"old_status\": \"merged\", \"task_id\": 147, \"new_status\": \"inprogress\"}'),('2015-10-14 09:10:03',NULL,789,8,NULL,13,'task_status_changed','{\"story_id\": 8, \"task_title\": \"Rebase Mason branch onto latest Baserock reference systems\", \"old_status\": \"inprogress\", \"task_id\": 168, \"new_status\": \"todo\"}'),('2015-10-14 09:10:04',NULL,790,8,NULL,13,'task_status_changed','{\"story_id\": 8, \"task_title\": \"Update version of Zuul used in Mason\", \"old_status\": \"inprogress\", \"task_id\": 169, \"new_status\": \"todo\"}'),('2015-10-14 09:10:06',NULL,791,8,NULL,13,'task_status_changed','{\"story_id\": 8, \"task_title\": \"Layout to build \'master\' branch of \'definitions\' on each new commit\", \"old_status\": \"inprogress\", \"task_id\": 170, \"new_status\": \"todo\"}'),('2015-10-19 07:14:28',NULL,792,10,NULL,9,'task_status_changed','{\"story_id\": 10, \"task_title\": \"build libtool from git\", \"old_status\": \"todo\", \"task_id\": 54, \"new_status\": \"merged\"}'),('2015-10-19 07:14:40',NULL,793,10,NULL,9,'task_details_changed','{\"story_id\": 10, \"task_title\": \"bootstrap autotools\", \"task_id\": 36}'),('2015-10-19 07:14:45',NULL,794,10,NULL,9,'task_details_changed','{\"story_id\": 10, \"task_title\": \"bootstrap autotools\", \"task_id\": 36}'),('2015-10-19 07:14:48',NULL,795,10,NULL,9,'task_assignee_changed','{\"story_id\": 10, \"task_title\": \"bootstrap autotools\", \"old_assignee_id\": null, \"task_id\": 36, \"new_assignee_id\": 9}'),('2015-10-19 07:14:51',NULL,796,10,NULL,9,'task_status_changed','{\"story_id\": 10, \"task_title\": \"bootstrap autotools\", \"old_status\": \"todo\", \"task_id\": 36, \"new_status\": \"merged\"}'),('2015-10-19 07:15:12',NULL,797,10,NULL,9,'task_created','{\"story_id\": 10, \"task_title\": \"Build GCC from git\", \"task_id\": 226}'),('2015-10-22 05:15:56',NULL,798,5,62,28,'user_comment',NULL),('2015-10-22 05:16:15',NULL,799,5,63,28,'user_comment',NULL),('2015-10-26 08:32:04',NULL,800,61,NULL,9,'story_created','{\"story_id\": 61, \"story_title\": \"Commit rigths to the trove should not be needed\"}'),('2015-10-26 08:32:04',NULL,801,61,NULL,9,'task_created','{\"story_id\": 61, \"task_title\": \"Fix .gitmodules situation\", \"task_id\": 227}'),('2015-10-26 08:35:48',NULL,802,61,64,28,'user_comment',NULL),('2015-10-26 17:42:58',NULL,803,62,NULL,24,'story_created','{\"story_id\": 62, \"story_title\": \"Deprecating lorries\"}'),('2015-10-26 17:42:58',NULL,804,62,NULL,24,'task_created','{\"story_id\": 62, \"task_title\": \"asdf\", \"task_id\": 228}'),('2015-10-26 17:43:11',NULL,805,62,NULL,24,'task_deleted','{\"story_id\": 62, \"task_title\": \"asdf\", \"task_id\": 228}'),('2015-10-26 17:43:58',NULL,806,62,NULL,24,'story_details_changed','{\"story_id\": 62, \"story_title\": \"Deprecating lorried repositories\"}'),('2015-10-26 17:44:32',NULL,807,62,NULL,24,'task_created','{\"story_id\": 62, \"task_title\": \"Document the procedure for hiding a deprecated repository\", \"task_id\": 229}'),('2015-10-26 17:45:08',NULL,808,62,NULL,24,'task_created','{\"story_id\": 62, \"task_title\": \"Add \\\"forks\\\" to gitano\", \"task_id\": 230}'),('2015-11-10 15:33:49',NULL,809,49,NULL,8,'task_details_changed','{\"story_id\": 49, \"task_title\": \"Work out the best way to configure an existing Trove instance to use a new SSL certificate\", \"task_id\": 202}'),('2015-11-10 15:33:55',NULL,810,49,NULL,8,'task_details_changed','{\"story_id\": 49, \"task_title\": \"Work out the best way to configure an existing Trove instance to use a new SSL certificate\", \"task_id\": 202}'),('2015-11-10 15:34:00',NULL,811,49,NULL,8,'task_assignee_changed','{\"story_id\": 49, \"task_title\": \"Work out the best way to configure an existing Trove instance to use a new SSL certificate\", \"old_assignee_id\": null, \"task_id\": 202, \"new_assignee_id\": 8}'),('2015-11-10 15:34:09',NULL,812,49,NULL,8,'task_status_changed','{\"story_id\": 49, \"task_title\": \"Work out the best way to configure an existing Trove instance to use a new SSL certificate\", \"old_status\": \"todo\", \"task_id\": 202, \"new_status\": \"merged\"}'),('2015-11-10 15:35:48',NULL,813,11,NULL,8,'task_details_changed','{\"story_id\": 11, \"task_title\": \"Start to port busybox first\", \"task_id\": 42}'),('2015-11-10 15:35:52',NULL,814,11,NULL,8,'task_details_changed','{\"story_id\": 11, \"task_title\": \"Change fhs-dirs to not create /lib /lib64 and create links instead\", \"task_id\": 51}'),('2015-11-10 15:36:35',NULL,815,49,NULL,8,'task_created','{\"story_id\": 49, \"task_title\": \"Modify trove-setup ansible scripts to install SSL certificates\", \"task_id\": 231}'),('2015-11-10 15:36:41',NULL,816,49,NULL,8,'task_status_changed','{\"story_id\": 49, \"task_title\": \"Modify trove-setup ansible scripts to install SSL certificates\", \"old_status\": \"todo\", \"task_id\": 231, \"new_status\": \"review\"}'),('2015-11-10 15:36:58',NULL,817,49,NULL,8,'task_created','{\"story_id\": 49, \"task_title\": \"Modify trove.configure to support SSL certificates installation\", \"task_id\": 232}'),('2015-11-10 15:37:04',NULL,818,49,NULL,8,'task_status_changed','{\"story_id\": 49, \"task_title\": \"Modify trove.configure to support SSL certificates installation\", \"old_status\": \"todo\", \"task_id\": 232, \"new_status\": \"inprogress\"}'),('2015-11-10 16:11:26',NULL,819,49,NULL,8,'task_status_changed','{\"story_id\": 49, \"task_title\": \"Modify trove.configure to support SSL certificates installation\", \"old_status\": \"inprogress\", \"task_id\": 232, \"new_status\": \"review\"}'),('2015-11-10 16:11:35',NULL,820,49,65,8,'user_comment',NULL),('2015-11-10 16:12:01',NULL,821,49,66,8,'user_comment',NULL),('2015-11-11 00:50:54',NULL,822,25,NULL,8,'task_details_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"task_id\": 89}'),('2015-11-11 00:51:02',NULL,823,25,NULL,8,'task_status_changed','{\"story_id\": 25, \"task_title\": \"Switch to making GPT partitioned images\", \"old_status\": \"review\", \"task_id\": 89, \"new_status\": \"todo\"}'),('2015-11-11 00:59:02',NULL,824,56,NULL,8,'task_status_changed','{\"story_id\": 56, \"task_title\": \"Come up with an approach for fixing this\", \"old_status\": \"todo\", \"task_id\": 219, \"new_status\": \"merged\"}'),('2015-11-16 12:37:17',NULL,825,63,NULL,25,'story_created','{\"story_id\": 63, \"story_title\": \"GDP - Keyboard doesn\'t work with qtwayland apps\"}'),('2015-11-16 12:37:18',NULL,826,63,NULL,25,'task_created','{\"story_id\": 63, \"task_title\": \"Make sure xkbcommon is in the staging area when qtwayland is built\", \"task_id\": 233}'),('2015-11-16 12:41:54',NULL,827,64,NULL,25,'story_created','{\"story_id\": 64, \"story_title\": \"GDP - qtwayland apps don\'t have keyboard input\"}'),('2015-11-16 12:41:54',NULL,828,64,NULL,25,'task_created','{\"story_id\": 64, \"task_title\": \"Build qtwayland with xkbcommon\", \"task_id\": 234}'),('2015-11-16 12:51:13',NULL,829,64,NULL,25,'task_deleted','{\"story_id\": 64, \"task_title\": \"Build qtwayland with xkbcommon\", \"task_id\": 234}'),('2015-11-16 12:53:00',NULL,830,63,NULL,25,'task_created','{\"story_id\": 63, \"task_title\": \"Use the right version of weston-ivi-shell\", \"task_id\": 235}'),('2015-11-16 12:53:27',NULL,831,63,NULL,25,'story_details_changed','{\"story_id\": 63, \"story_title\": \"GDP - Keyboard doesn\'t work with qtwayland apps\"}'),('2015-11-17 12:46:04',NULL,832,9,NULL,8,'task_details_changed','{\"story_id\": 9, \"task_title\": \"Redeploy an instance cleanly from build instructions in infrastructure.git\", \"task_id\": 35}'),('2015-11-17 12:46:09',NULL,833,9,NULL,8,'task_assignee_changed','{\"story_id\": 9, \"task_title\": \"Redeploy an instance cleanly from build instructions in infrastructure.git\", \"old_assignee_id\": null, \"task_id\": 35, \"new_assignee_id\": 8}'),('2015-11-17 12:46:14',NULL,834,9,NULL,8,'task_assignee_changed','{\"story_id\": 9, \"task_title\": \"Update Storyboard to latest version\", \"old_assignee_id\": 7, \"task_id\": 176, \"new_assignee_id\": 8}'),('2015-11-17 12:46:20',NULL,835,9,NULL,8,'task_status_changed','{\"story_id\": 9, \"task_title\": \"Redeploy an instance cleanly from build instructions in infrastructure.git\", \"old_status\": \"todo\", \"task_id\": 35, \"new_status\": \"inprogress\"}'),('2015-11-17 12:46:22',NULL,836,9,NULL,8,'task_status_changed','{\"story_id\": 9, \"task_title\": \"Update Storyboard to latest version\", \"old_status\": \"todo\", \"task_id\": 176, \"new_status\": \"inprogress\"}'),('2015-11-29 10:24:05',NULL,837,49,NULL,8,'task_status_changed','{\"story_id\": 49, \"task_title\": \"Modify trove-setup ansible scripts to install SSL certificates\", \"old_status\": \"review\", \"task_id\": 231, \"new_status\": \"merged\"}'),('2015-11-29 10:24:08',NULL,838,49,NULL,8,'task_status_changed','{\"story_id\": 49, \"task_title\": \"Modify trove.configure to support SSL certificates installation\", \"old_status\": \"review\", \"task_id\": 232, \"new_status\": \"merged\"}'),('2015-11-29 10:28:19',NULL,839,9,NULL,8,'task_details_changed','{\"story_id\": 9, \"task_title\": \"Style storyboard a bit\", \"task_id\": 34}'),('2015-11-29 10:28:19',NULL,840,9,67,8,'user_comment',NULL),('2015-12-08 13:04:30',NULL,841,5,68,28,'user_comment',NULL),('2015-12-09 08:09:49',NULL,842,65,NULL,28,'story_created','{\"story_id\": 65, \"story_title\": \"Deployment is host dependent\"}'),('2015-12-09 08:09:50',NULL,843,65,NULL,28,'task_created','{\"story_id\": 65, \"task_title\": \"Make deployment host independent\", \"task_id\": 236}'),('2015-12-11 09:15:32',NULL,844,5,69,29,'user_comment',NULL),('2015-12-14 10:52:18',NULL,845,5,70,29,'user_comment',NULL),('2015-12-16 21:02:37',NULL,846,66,NULL,13,'story_created','{\"story_id\": 66, \"story_title\": \"Upgrading to a GNOME system breaks login\"}'),('2015-12-16 21:02:37',NULL,847,66,NULL,13,'task_created','{\"story_id\": 66, \"task_title\": \"Investigate upgrading via a clean devel system\", \"task_id\": 237}'),('2015-12-16 21:05:56',NULL,848,66,NULL,13,'task_details_changed','{\"story_id\": 66, \"task_title\": \"Investigate upgrading via a clean devel system\", \"task_id\": 237}'),('2015-12-16 21:06:07',NULL,849,66,NULL,13,'task_details_changed','{\"story_id\": 66, \"task_title\": \"Investigate upgrading via a clean devel system\", \"task_id\": 237}'),('2015-12-16 21:14:38',NULL,850,66,NULL,13,'story_details_changed','{\"story_id\": 66, \"story_title\": \"Upgrading to a GNOME system breaks login\"}'),('2015-12-16 21:14:49',NULL,851,66,NULL,13,'story_details_changed','{\"story_id\": 66, \"story_title\": \"Upgrading to a GNOME system breaks login\"}'),('2015-12-16 21:22:47',NULL,852,66,71,13,'user_comment',NULL),('2015-12-16 22:28:08',NULL,853,66,NULL,13,'task_created','{\"story_id\": 66, \"task_title\": \"Investigate what is causing the login problems\", \"task_id\": 238}'),('2015-12-16 22:28:11',NULL,854,66,NULL,13,'task_status_changed','{\"story_id\": 66, \"task_title\": \"Investigate upgrading via a clean devel system\", \"old_status\": \"todo\", \"task_id\": 237, \"new_status\": \"merged\"}'),('2015-12-16 22:29:41',NULL,855,66,72,13,'user_comment',NULL); /*!40000 ALTER TABLE `events` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `permissions` -- DROP TABLE IF EXISTS `permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `permissions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `codename` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_permission_name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `permissions` -- LOCK TABLES `permissions` WRITE; /*!40000 ALTER TABLE `permissions` DISABLE KEYS */; /*!40000 ALTER TABLE `permissions` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `project_group_mapping` -- DROP TABLE IF EXISTS `project_group_mapping`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `project_group_mapping` ( `project_id` int(11) DEFAULT NULL, `project_group_id` int(11) DEFAULT NULL, KEY `project_group_id` (`project_group_id`), KEY `project_id` (`project_id`), CONSTRAINT `project_group_mapping_ibfk_1` FOREIGN KEY (`project_group_id`) REFERENCES `project_groups` (`id`), CONSTRAINT `project_group_mapping_ibfk_2` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `project_group_mapping` -- LOCK TABLES `project_group_mapping` WRITE; /*!40000 ALTER TABLE `project_group_mapping` DISABLE KEYS */; /*!40000 ALTER TABLE `project_group_mapping` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `project_groups` -- DROP TABLE IF EXISTS `project_groups`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `project_groups` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `title` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_group_name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `project_groups` -- LOCK TABLES `project_groups` WRITE; /*!40000 ALTER TABLE `project_groups` DISABLE KEYS */; /*!40000 ALTER TABLE `project_groups` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `projects` -- DROP TABLE IF EXISTS `projects`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `projects` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `description` text, `team_id` int(11) DEFAULT NULL, `is_active` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `uniq_project_name` (`name`), KEY `team_id` (`team_id`), CONSTRAINT `projects_ibfk_1` FOREIGN KEY (`team_id`) REFERENCES `teams` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `projects` -- LOCK TABLES `projects` WRITE; /*!40000 ALTER TABLE `projects` DISABLE KEYS */; INSERT INTO `projects` VALUES (1,'2015-02-05 12:32:34',NULL,'baserock/definitions','Baserock reference system definitions',NULL,1),(2,'2015-02-05 12:32:34',NULL,'baserock/morph','Morph build tool',NULL,1),(3,'2015-02-05 12:32:34',NULL,'baserock/infrastructure','baserock.org infrastructure',NULL,1),(4,'2015-02-06 10:10:05',NULL,'baserock/wiki','Baserock Wiki at http://wiki.baserock.org/',NULL,1),(5,'2015-03-06 14:54:33',NULL,'baserock/import','Baserock Import Tool',NULL,1),(6,'2015-05-20 10:29:20',NULL,'baserock/firehose','Firehose automated integration tool',NULL,1),(7,'2015-07-14 15:36:44',NULL,'baserock/lorry','Lorry mirroring tool',NULL,1); /*!40000 ALTER TABLE `projects` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `refreshtokens` -- DROP TABLE IF EXISTS `refreshtokens`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `refreshtokens` ( `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `refresh_token` varchar(100) NOT NULL, `expires_at` datetime NOT NULL, `expires_in` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), CONSTRAINT `refreshtokens_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1119 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `refreshtokens` -- LOCK TABLES `refreshtokens` WRITE; /*!40000 ALTER TABLE `refreshtokens` DISABLE KEYS */; /*!40000 ALTER TABLE `refreshtokens` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `stories` -- DROP TABLE IF EXISTS `stories`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `stories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `creator_id` int(11) DEFAULT NULL, `title` varchar(100) DEFAULT NULL, `description` text, `is_bug` tinyint(1) DEFAULT NULL, PRIMARY KEY (`id`), KEY `creator_id` (`creator_id`), CONSTRAINT `stories_ibfk_1` FOREIGN KEY (`creator_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `stories` -- LOCK TABLES `stories` WRITE; /*!40000 ALTER TABLE `stories` DISABLE KEYS */; INSERT INTO `stories` VALUES (1,'2015-02-05 12:37:58',NULL,1,'Test story','Do things',1),(2,'2015-02-05 16:44:08',NULL,1,'OpenID tidyup for Baserock','logging in to baserock StoryBoard triggers an openid \'i could not reach 185.43.218.174 - maybe it\'s on your local network?',1),(3,'2015-02-05 16:46:23',NULL,1,'Declarative Definitions improvements','We discussed various improvements for definitions at the meetup',1),(4,'2015-02-06 12:20:08',NULL,9,'Baserock systems are not UTF-8 ready','Not possible to introduce non ASCII characteres in the terminal',1),(5,'2015-02-06 12:22:10',NULL,9,'Add GNOME to baserock','So we can build GNOME systems with baserock',1),(6,'2015-02-06 12:36:22',NULL,1,'\"What *I* do with Baserock\" stories on the wiki','This was suggested in the UI and Documentation BoF session at the meetup. Full title would be \'I do xxxxx with Baserock, and this is how I do it\'\nThere were three volunteers. sssam, jjardon and persia / petefoth. More would be welcome',1),(7,'2015-02-06 15:41:37',NULL,9,'Improve CD reports','Show more info? Show status of what ging on?',1),(8,'2015-02-06 17:08:14','2015-05-20 10:00:05',13,'Continuous Building & Testing','We need to get some pre-commit building and testing implemented, rather than our current situation of post-commit building and not testing.',1),(9,'2015-02-06 17:17:41',NULL,7,'Improve Storyboard deployment','If we decide to keep it.',1),(10,'2015-02-09 11:37:07',NULL,9,'Build everything from git','Avoid the use of tarballs as much as possible',1),(11,'2015-02-11 14:51:50',NULL,9,'kill /bin, /sbin, /lib','http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/',1),(12,'2015-02-12 16:13:44','2015-02-12 16:26:21',16,'Get Baserock reference systems running on HP Moonshot 64-bit ARMv8 servers','Get Baserock reference systems running on HP Moonshot ARMv8 64-bit servers, particularly m400 cartridges',1),(13,'2015-02-13 09:13:22',NULL,10,'Investigate why chown fails in system-integration time','Fail to build any chunk in system-integration time, when trying to create an user or change the owner of files or folders with chown.\nAt first view looks like is a problem in linux-chroot but this requires more investigation.',1),(14,'2015-02-23 09:27:38',NULL,11,'Licensing for w.b.o','From the Licence tracking BoF at the meetup\nhttp://listmaster.pepperfish.net/pipermail/baserock-dev-baserock.org/2015-February/011192.html\n\n> * Decide on a licence for content on wiki.baserock.org.\n> * Check if the content on wiki.baserock.org is automatically copyright the author, and if not find out what it is.',1),(15,'2015-02-23 14:51:00','2015-02-23 15:11:34',17,'The tale of the missing library','One day in a village not far from here a tool named morph silently failed to include a stratum, the two creatures working with their beloved device were dismayed, \"where\'s my library?\" one of them cried, \"I have no idea\" the other replied...\n\nThe problem is this:\n\nname: nfs.morph\nmorph: strata/nfs.morph\n\nThe fact that the stratum path is strata/nfs.morph means that the stratum is named \'nfs\', but we\'ve set the name to nfs.morph, and there is no stratum called nfs.morph! Sadly instead of warning us of this potential catastrophe morph dutifully constructs the system artifact, silently omitting our nfs stratum.\n\nTo solve this we should make morph warn/err when it receives this sort of inconsistent input, or we could alter the format of definitions so that you can\'t even make this kind of mistake.',1),(16,'2015-02-27 18:29:58',NULL,9,'Fix ./check to not fill host /tmp directory','TMPDIR=/src/tmp PYTHONPATH=\"/src/morph:/src/pylru\" ./check fix the issue for now',1),(17,'2015-03-04 14:38:40','2015-03-06 11:22:24',11,'Rationalise upgrade functionality','It\'s currently possible to upgrade a system in the following ways:\n* setting the UPGRADE flag in the cluster morphology, in the environment or on the command line when calling `morph deploy` (according to the code, this is deprecated, but it is still in place, and it is referenced on wiki pages and used by the `cycle.sh` script\n* calling morph upgrade\n\nMore background to this task can be found in [http://wiki.baserock.org/stories-for-storyboard/]',1),(18,'2015-03-06 11:28:04',NULL,11,'Document the use of StoryBoard for defect and feature Tracking','Now we are using StoryBoard as our bug- and feature-tracker, we should document its use, and link to it, on the \'Contributing\' page',1),(19,'2015-03-06 15:54:19',NULL,9,'Port morph to Python3','Python3 is the future!',1),(20,'2015-03-09 13:58:40','2015-03-09 13:59:39',11,'Tutorial on how to use morph completely offline','See http://listmaster.pepperfish.net/pipermail/baserock-dev-baserock.org/2015-March/012449.html',1),(21,'2015-03-10 17:39:43','2015-03-10 18:13:03',9,'Build a system with correct multiuser support (pam, logind, dbus ...)','Currently pam configuration seems to not be complete/correct',1),(22,'2015-03-10 17:47:07',NULL,9,'Improve logging system','Use standard -v to show real compilation output and more improvements',1),(23,'2015-03-11 18:32:31','2015-03-11 18:36:46',9,'Inconsistences betwen system and deploy stages','To configure the network (using CONFIG_NETWORK) in your cluster morph you need to modify you system morph (to use the simple-network extension)',1),(24,'2015-03-11 19:25:10',NULL,9,'Improve trove to be a curator of upstream','So we can use tag instead sha\'s in definitions',1),(25,'2015-03-11 20:36:10',NULL,9,'Switch to making GPT partitioned images','so we don\'t even need to drop config in to /etc/fstab, as systemd will parse the GPT labels.',1),(26,'2015-03-12 08:22:34','2015-03-13 08:26:25',11,'Improve offline functionality in \'morph\'','See [http://irclogs.baserock.org/%23baserock.2015-03-12.log.html#t2015-03-12T08:27:04] for background. |There\'s definitely a bug with morph edit, but other workflows may need to be changed too',1),(27,'2015-03-12 11:35:46',NULL,9,'Improve morph user interface','To make it as easy as possible to use',1),(28,'2015-03-17 11:41:56',NULL,9,'Remaining TODO for gerrit.baserock.org','Some funtionality is stillnt working',1),(29,'2015-03-20 10:43:24','2015-03-20 10:46:33',18,'Cross-bootstrapping results in gcc error','When cross bootstrapping to armv7bhf the system fails with a message about host/target flags\n\nBegin with a baserock development system, probably x86_64, deployed on OpenStack (or elsewhere).\n\nInstall and run the [[brdevel utility]]\n\n#+BEGIN_SRC bash\nbrdevel arm7-be\n#+END_SRC\n\n#+BEGIN_SRC bash\nvi /src/workspace/arm7-be/baserock/baserock/definitions/systems/cross-bootstrap-system-armv7bhf.morph\n#+END_SRC\n\nAdd the following:\n\n#+BEGIN_SRC bash\nname: cross-bootstrap-system-armv7bhf\nkind: system\ndescription: A system that produces the minimum needed to build a devel system\narch: armv7bhf\nstrata:\n- name: build-essential\n morph: strata/build-essential.morph\n- name: core\n morph: strata/core.morph\n- name: morph-utils\n morph: strata/morph-utils.morph\n- name: cross-bootstrap\n morph: strata/cross-bootstrap.morph\n#+END_SRC\n\nAdd support for armv7bhf:\n\n#+BEGIN_SRC bash\nsed -i \'s/armv7b|armv7l|armv7lhf)/armv7b|armv7l|armv7lhf|armv7bhf)/g\' /src/workspace/arm7-be/baserock/baserock/definitions/strata/build-essential/stage2-linux-api-headers.morph\nsed -i \"s/\'armv7b\', \'testarch\'/\'armv7b\', \'armv7bhf\',\'testarch\'/g\" /usr/lib/python2.7/site-packages/morphlib/__init__.py\nsed -i \"s/\'armv7b\', \'testarch\'/\'armv7b\', \'armv7bhf\',\'testarch\'/g\" /src/morph/morphlib/__init__.py\nsed -i \"s|return \'armv7lhf\'|return \'armv7lhf\'\\n if machine == \'armv7b\' and has_hardware_fp():\\n return \'armv7bhf\'|g\" /src/morph/morphlib/util.py\n#+END_SRC\n\nThen run.\n\n#+BEGIN_SRC bash\ncd /src/workspace/arm7-be/baserock/baserock/definitions\ngit add systems/cross-bootstrap-system-armv7bhf.morph\ngit commit -a -m\"Cross boostrap for armv7hf big endian\"\nrm -rf /src/cache/artifacts\nmorph cross-bootstrap armv7bhf file:///src/workspace/arm7-be/baserock/baserock/definitions HEAD systems/cross-bootstrap-system-armv7bhf.morph\n#+END_SRC\n\nError in the cross boot:\n\n#+BEGIN_SRC bash\nconfig.status: executing depdir commands\nmkdir .deps\nmake[1]: Leaving directory \'/src/tmp/staging/tmpDFCdMZ/stage1-gcc.build/o\'\nMakefile:846: recipe for target \'all\' failed\nmake: *** [all] Error 2\nERROR: In staging area /src/tmp/failed/tmpDFCdMZ: Command failed: sh -c \'\n# GCC is not passing the correct host/target flags to GMP\'\"\'\"\'s configure\n# script, which causes it to not use the machine-dependent code for\n# the platform and use the generic one instead. However, the generic\n# code results on an undefined reference to `__gmpn_invert_limb\'\"\'\"\' in\n# ARMv7. Fix the invocation of GMP\'\"\'\"\'s configure script so that GMP can\n# use the machine-dependent code.\ncase \"$MORPH_ARCH\" in\n armv7*) sed -i \"s/--host=none/--host=armv7a/\" o/Makefile\n sed -i \"s/--target=none/--target=armv7a/\" o/Makefile ;;\nesac\ncd o && make\n\':\nContainerisation settings: {\'binds\': ((\'/src/cache/ccache/gcc-tarball\', \'/src/tmp/staging/tmpDFCdMZ/tmp/ccache\'),), \'mount_proc\': False, \'mounts\': [], \'writable_paths\': [\'/src/tmp/staging/tmpDFCdMZ/stage1-gcc.build\', \'/src/tmp/staging/tmpDFCdMZ/stage1-gcc.inst\', \'/tmp\'], \'root\': \'/\', \'cwd\': \'/src/tmp/staging/tmpDFCdMZ/stage1-gcc.build\'}\nError output:\n#+END_SRC',1),(30,'2015-03-23 14:47:21',NULL,13,'Network configuration without systemd','simple-network.configure expects that systemd will be present on a system. Whilst this is true for most cases, the minimal system doesn\'t use systemd. At the moment, attempting to deploy a minimal system will cause a crash because the /etc/systemd/network folder doesn\'t exist.\n\n\"ERROR: [Errno 2] No such file or directory: \'/srv/distbuild/tmp/deployments/tmpIy3eIZ/tmpmfch7p/overlay-deploy-minimal-system-x86_64-generic-rootfs/etc/systemd/network/50-e*.network\'\"',1),(31,'2015-03-30 13:03:23',NULL,9,'devel system description is too generic','You can do baserock development with other systems that are not devel*',1),(32,'2015-04-02 10:02:31',NULL,9,'Fix the fhs-dirs mess','Fins a way to modify this system files without the need of rebuilding everything',1),(33,'2015-04-06 12:18:39',NULL,9,'Make possiblre to run morph outside a VM/chroot','AFAIK the only reason of doing this is to avoid problems with the dependencies',1),(34,'2015-04-06 12:24:01','2015-04-06 12:24:37',9,'Make possible to run morph outside chroot/vm','The only reason we are running morph in a chroot is to avoid dependency problems',1),(35,'2015-04-10 14:21:24',NULL,7,'morph deploy: Use standard environment variable names for OpenStack credentials','The OpenStack clients honour these variables:\n\n - `OS_AUTH_URL`\n - `OS_TENANT_NAME`\n - `OS_USERNAME`\n - `OS_PASSWORD`\n\nHowever, `morph deploy` doesn\'t honour these, and expects other ones:\n\n - `OPENSTACK_USER=$OS_USERNAME`\n - `OPENSTACK_PASSWORD=$OS_PASSWORD`\n - `OPENSTACK_TENANT=$OS_TENANT_NAME`',1),(36,'2015-04-13 16:39:02','2015-04-13 16:55:22',7,'Allow running with read-only /','Doing this would make deployment of multiple stateless machines on the same host much quicker, as they could share one NFS root without fear of breaking anything.\n\nIt would also make it possible to use OSTree to deploy Baserock systems that supported read-only /.',1),(37,'2015-04-23 10:45:57','2015-04-23 10:47:22',9,'OpenBMC in Baserock','The objective is to be able to build and deploy this open software framework for next-generation system management using Baserock\n\nhttps://github.com/facebook/openbmc',1),(38,'2015-04-28 09:19:45',NULL,7,'Builds should be isolated from the internet','It should be possible to be sure that all sources used by Morph came from a single Git server (i.e. Trove).\n\nWe recommend that build servers are isolated from the internet, and can only contact the Git server they are using. This can be done with firewall rules. We don\'t document suggested ways to do this on wiki.baserock.org right now.\n\nGit submodules provide a sticking point: the upstream .gitmodules file will point at an internet URL (e.g. git://git.savannah.gnu.org/gnulib.git), so Morph will try to clone from there unless the user manually edits .gitmodules. People often forget to do this, and it requires creating a new commit, which makes upgrading harder.\n\nWe can solve this by making Morph ignore the .gitmodules file completely, and provide a way to store submodule information in the chunk .morph file instead.',1),(39,'2015-04-29 20:45:51',NULL,7,'Ensure \'man\' pages are in Baserock','Currently we don\'t have all of them, for example \'git\'',1),(40,'2015-05-06 15:06:07',NULL,7,'Remove workspaces','Allow using Morph without needing `morph init`, `morph branch` or `morph checkout`.',1),(41,'2015-05-06 15:36:11','2015-05-06 15:41:40',7,'Reduce the number of moving parts involved in deployment','Right now, deployments done from a \'cluster .morph file\' in definitions.git are heavily dependant on (a) .configure and .write extensions in morph.git, and (b) tools on the host (and on the target system in some cases).\n\nWe should try to make the \'surface area\' of the deployment code smaller, so that it\'s easier to reproduce deployments, and to prevent problems such as the one that occured between Baserock 15.10 and 15.19, where a new .configure extension was added to morph.git and used in definitions.git, meaning that the 15.10 release couldn\'t build the 15.19 release.',1),(42,'2015-05-11 15:49:53',NULL,7,'Fix distbuild cancellation','Sometimes a distbuild worker-build won\'t stop when the build is cancelled. I believe this is because we kill builds by sending SIGKILL to `morph worker-build` and its whole process group. GNU Bash (which is often executed to run \'configure\' scripts) will do its own handling of process groups and so will not receive the SIGKILL.\n\nHopefully, running the build inside one cgroup will mean we can stop it straight away in all cases. We shouldn\'t need to use SIGKILL -- it\'d be better to send SIGINT so Morph can clean up after itself.',1),(43,'2015-05-13 17:00:23',NULL,7,'Mount /var earlier in boottime','We have /var on a separate subvolume in the reference system layout. It seems that systemd does some things in the /var directory before the subvolume is mounted, so they then get hidden by the mount.\n\nOne problem this causes is that journald loses files that it created and becomes confused.\n\nAnother problem is that systemd seems to create a Btrfs subvolume in /var/lib/machines, which cannot be removed with `rm`. This causes `system-version-manager remove` to fail with \'Operation not permitted\' for system-versions that have this directory.',1),(44,'2015-05-20 10:23:47',NULL,7,'Continuous integration of new commits of upstream components','Baserock dreams of one day integrating latest \'master\' of every component and providing a useful automated testing service for all the projects used in the reference systems.\n\nWe have a project called Firehose which is intended to manage producing suitable branches with component updates, in cooperation with the Mason build/test server.',1),(45,'2015-05-20 12:51:09','2015-05-20 13:27:06',24,'OSTree in chroots','After we can feasibly deploy OSTree based systems as system images, how do we make them work with chroots?\n\n`ostree admin` can make a chroot that with a bit of setup, can be used safely, but is not manageable from within itself.\nIt also requires that the host system hosts an OSTree repository and has the management tools.\n\nAlternatively, we could have something a little like the initramfs environment that OSTree expects bundled into a tarball that can be extracted anywhere.\n\nThis would have a fake /init binary that:\n\n1. Bind mounts /sysroot/ostree to /ostree so it can be re-used later\n2. Reads config matching http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ out of /boot/loader\n3. Provides a fake /proc/cmdline from the contents of the selected boot config from /boot/loader\n4. Runs ostree-prepare-root, as it would be run in an initramfs, which mounts the correct rootfs out of /sysroot/ostree and places it at /sysroot\n5. Makes the ostree and bootloader config available to be managed inside the sysroot, by moving the /ostree bind-mount to /sysroot/ostree and binding /boot to /sysroot/boot\n6. Pivots into /sysroot and execs /sbin/init or the init specified on the kernel command-line read out of /boot/loader',1),(46,'2015-05-20 13:35:26','2015-05-20 13:56:57',24,'Live Atomic Updates','Mount a new tree, get systemd to pivot into it, then restart services as necessary.\n\nThere already exists tooling to create a mount tree that matches the current tree, except with given changes at https://github.com/CodethinkLabs/online-atomic-update\nSystemd has a verb to pivot into a new root, but it shuts down services and kills all processes before it pivots into the new root, so it needs to have a new mode added.\nIt likely also has to enter a new mount namespace and unshare mounts from the old root, so that it can unmount the old root in its namespace, so the mounts used by the old services are cleaned up when those services are restarted.',1),(47,'2015-05-26 12:36:53','2015-05-26 14:07:32',24,'Minimisable debuggable systems','We need to have systems that can be both as minimal as possible and be fully debuggable.\n\nA minimal system likely contains only compiled binaries, so the main focus of this is how to produce minimal C binaries and retain debuggability.\n\nStripping\n=========\n\nIf we want to ever be able to debug binaries, we need to build them with debug symbols included.\nIf we later want to have smaller binaries, then these binaries need to be stripped.\n\nStripping at deployment time is possible, but precludes the ability to perform debugging later.\n\nIt is not possible to do this at system integration time as this requires the `strip` program to be included in the final system, which works against the goal of producing a minimal system.\n\nTherefore stripping should be done at build time or artifact construction time.\n\nSome approaches to this are:\n\n1. A built-in heuristic to strip binaries automagically\n2. A built-in heuristic which may be overridden in the definition file\n3. Commands to strip binaries included in the build commands\n\nOption 1 isn\'t suitable, since some binaries shouldn\'t be stripped, such as hybrid binaries that are both library and executable, such as musl\'s combined linker and libc, or Meego\'s quick-start binaries, which have a daemon which pre-loads the libraries, forks then ldopen\'s the main() function of the binaries.\n\nOption 2 requires more magic in the build tool *and* changes to definitions.\n\nOption 3 requires no changes to the build tool, and the same approach could be generally applicable to other languages, but requires either a version break to change the default commands from the build systems to include stripping, or applying the change to every chunk.\n\nIf we decide to change the default rules to include strip commands, then we could either add the commands to post-install-commands and adapt existing users of post-install-commands to include the strip commands, or we could add a strip-commands section after install-commands.\n\nThe strip commands should strip out the relevant sections, leaving them in a different file, and include a debug link so gdb can find the stripped out debug symbols automatically.\n\nThese split debug symbols can then be optionally included, or not, by artifact split rules.\n\nNot including debug artifacts by default\n---------------------------------------\n\nDebug artifacts only need to be included when something goes wrong, and they are too large to always be in there, so there must be a mechanism to include them after the fact anyway, so it makes sense to not include them by default.\n\nThis would require either the build tool magically knowing not to include debug artifacts unless explicitly requested, or an extension to the split rules to mark artifacts for whether they should be included by default.\n\nDebugging minimised systems\n===========================\n\nThe debug symbols need to be made available after deployment, some options with their trade-offs are:\n\n1. Store the debug symbols and source code in compressed form on the target.\n\n This saves less space than could be saved otherwise, but doesn\'t require external infrastructure to be able to debug the system, provided it already has gdb.\n\n2. Have a tool that fetches debug artifacts and source code for the current system.\n\n This requires artifact cache servers and repositories be available, gdb be on the target, the debug fetcher tool and the metadata in /baserock be available.\n\n3. Have a tool on the machine that deployed your system that can make the sources and debug artifacts available in a sysroot\n\n Having the gdbserver binary and an externally imposed method of tracking what\'s available on the target is sufficient.\n Binaries on the target can be debugged by having the gdb client on the local side be informed where to find debug symbols and source trees, so the debug artifacts actually don\'t ever need to be on the target system.\n\nIf the system that needs to be debugged is a devel system, then option 2 naturally degrades to option 3 anyway.',1),(48,'2015-05-29 10:47:33','2015-05-29 11:00:37',7,'Use OSTree in Morph for artifact storage','OSTree is a tool for storing and deploying operating system binaries. It uses hardlinks to make deployment of different versions very quick, and it deduplicates the content at the file level so that storage is efficient.\n\nMorph\'s current artifact storage mechanism is a simple \'store everthing as a tarball\' with a separate, unverified hardlink cache for chunks. OSTree would provide some benefits over the current method.\n\nThe use of hardlinks means that there must be protection against the deployment content being overwritten at runtime, because identical files in the deployed system will be linked to each other, and overwriting one will affect all of them. This is most noticable with zero-byte files. An alternate solution would be to modify OSTree to track whether a file is a hardlink or not in the \'tree\' objects it stores, so that it could deploy with a \'--no-hardlinks\' option when deploying whole systems.',1),(49,'2015-06-16 13:20:13',NULL,7,'Use correct SSL cert for git.baserock.org','The current cert causes git clone over https:// to fail:.',1),(50,'2015-06-25 11:21:45',NULL,7,'White paper comparing Cloud Foundry BOSH with Baserock','Currently in an internal Google doc, we should make this public somehow.',1),(51,'2015-06-25 13:38:11',NULL,27,'Playing with stemcells','It\'d be interesting to investigate using baserock with Cloud Foundary.',1),(52,'2015-07-13 09:34:47','2015-07-13 09:45:29',7,'Formally define the current Baserock model separate from the current syntax','Describe the Baserock data model as an OWL ontology, to allow:\n - making compatible changes to the data model without breaking existing build tools\n - making changes to the syntax without requiring changes in every tool that understands definitions data\n\nSee: http://listmaster.pepperfish.net/pipermail/baserock-dev-baserock.org/2015-July/013157.html\n\nThis task specifically does not include improving the data model so that it is more generically useful. Please use a separate story to track any of that work.',1),(53,'2015-07-14 15:41:43',NULL,7,'Track full URLs of imported tarballs and zip files in mirrored repos','Currently, when importing tarfiles or zip files, Lorry will put a commit message like \'Imported from docbook-xml-4.5.zip.\'. It would be more useful to put the full URL, e.g. \'Imported from https://www.oasis-open.org/docbook/xml/4.5/docbook-xml-4.5.zip\'.\n\nThis isn\'t trivial to do, as the commit message is generated in the lorry.tar-importer and lorry.zip-importer programs, but the input file is fetched in \'lorry\' itself. The importer programs need modifying to take an extra \'source URL\' argument, so that they can include the full URL in the commit message.\n\nIn the past, Lorry would put the full local path in the commit message (e.g. ). This was fixed in to be just the file basename, to ensure that the commit message (and thus the commit SHA1) would not vary based on where Lorry was run.',1),(54,'2015-07-23 14:19:45','2015-07-23 14:25:16',7,'Building systems with multiple UNIX user accounts','As part of good systems integration, services should be isolated with UNIX user permissions. This is a pain in Baserock right now.\n\nEverything run as part of `morph build` is run using `linux-user-chroot`, which specifically prevents use of the chown() syscall for security reasons.\n\nSome `make install` scripts expect to be able to do integration that requires calling chown(). Known packages that do this: Exim4, GLIBC, Nagios.\n\nThe reason for using linux-user-chroot is to allow build tools to run as an unprivileged user. Morph actually requires \'root\' anyway. YBD can run as a non-root user, but fails as soon as a chunk expects to install a file owned by \'root\'. Some discussion of that is here: .\n\nsystemd defines \'tmpfiles.d\' and \'sysusers.d\' formats that may be useful here. The systemd-tmpusers and systemd-sysusers tools will create users and files/directories with specific ownership permissions at first-boot. This isn\'t a universal solution because of cases where /etc or even /var are not writable at boottime.',1),(55,'2015-08-27 11:35:09','2015-08-27 11:45:29',7,'Morph should work out-of-the-box in \'build\' system','It\'s really annoying to have to create a config file before it can do anything.\n\nThe main reason we require this is no doubt that the disk space and disk IO bandwidth requirements of a Morph build are really high. So often a user will need to set up some kind of external volume for /src, as the root disk of whatever machine they are using may be too small, or have really bad IO (it could be an SD card, for example).\n\nHowever, sometimes you just want to get things done. I think it would be better if the reference systems came with a working /etc/morph.conf, and a /src/ state subvolume that could be used for builds. This would be really convenient for people who just want to download-and-go. We should probably add a warning the first time \'morph\' runs with this config, though, so that users who didn\'t read the instructions are still aware that the operation will eat lots of disk space and IO. We could wrap /usr/bin/morph to provide this warning, perhaps.',1),(56,'2015-09-24 09:52:48','2015-09-24 09:52:53',7,'Lorry Controller database expiry','The lorry-controller-webapp process consumes lots of CPU on git.baserock.org.\n\nThis seems to be because Lorry Controller stores the logs of each Lorry job in an SQLite database, and since there are Lorry jobs running constantly, the database quickly grows enourmous. SQLite is very inefficient when dealing with over 500MB of data, at least in the way Lorry Controller uses it.\n\nThe ops team work around this by manually rotating old database files. When we forget, git.baserock.org goes downhill.\n\nThe Baserock project provides Trove, which contains Lorry Controller, as an appliance. All Troves will suffer from this same performance problem. It will also cause the disk to become full, eventually.',1),(57,'2015-09-24 16:01:33','2015-09-24 16:21:26',7,'Improve cgit on git.baserock.org / Trove','This probably should be done in trove-setup.git rather than infrastructure.git (but there\'s no project on storyboard for that right now)\n\nCGit supports plugins, which could be used to do the special processing of .morph files.',1),(58,'2015-10-07 07:27:14',NULL,28,'Sensible default sysconfdir for autotools packages','The typical setup for packages is to have --sysconfdir=/etc, as most systems and packages tend to hardcode searches for config in /etc in the absense of overriding environment variables.\n\nAt least for the default build commands, we should have --sysconfdir=/etc, only some exceptions exist (typically daemons like sshd which want their config in /etc/ssh instead).',1),(59,'2015-10-09 08:24:28',NULL,28,'Reduced build cycle for testing local changes to individual modules','When developers on specific system components, and even during system integration phases, it happens often that one makes a local change for which the developer is entirely aware of it\'s impact on the system - this can be a matter of compiling the component with a new configure flag (for integration), or changing a couple of lines of code in a module (for developing).\n\nUnfortunately, baserock is setup in such a way that the entire system after the effected component must be rebuilt - even if the user (developer) is entirely aware that an extra printf() statement in systemd does not require rebuilding 200 components afterwards.\n\nIt would be great to have a better developer story for quickly building and deploying a single module so as to quickly test the results.\n\nWith ybd, one could imagine a deployment command such as:\n ybd.py clusters/gnome-system-x86_64-deploy.morph --rebuild strata/gtk3.morph --target ~/gnome-system-x86_64.img\n\nWhich might be able to simply rebuild the gtk3 package and mount/update the target image.\n\nAn extension to this might eventually be to update a live target host, connected to the build host with some physical uplink - allowing one to bypass the image creation entirely (somewhat similar to how iOS developers use their tooling, but allowing one to update components at every level of the system)',1),(60,'2015-10-09 08:28:51',NULL,28,'Ability to test builds with modules not yet in upstream lorry','Currently, testing a build which requires a module that is not yet lorried into git.baserock.org/delta is just not possible (as far as I can see).\n\nThere should be a way to test the results of a build without requiring the upstreaming of any patches.',1),(61,'2015-10-26 08:32:04',NULL,9,'Commit rigths to the trove should not be needed','Rigth now, if you are building a system and if for some reason you need to apply a patch to a specific chunk (to change .gitmodules, for example), you need commit access to the baserock trove',1),(62,'2015-10-26 17:42:58','2015-10-26 17:43:58',24,'Deprecating lorried repositories','# Deprecating lorries\n\nSometimes we lorry changes, then later no longer need that repository,\nbecause the change gets moved into its primary repository,\nor it was part of work in progress that was abandoned before completion.\n\nWe\'d like to be able to:\n\n1. Stop polling its upstream repository\n\n2. Hide the deprecated repository from listings by default,\n so new users don\'t start using them.\n\n This needs to be hidden by both the cgit UI and the gitano ls,\n so downstream troves also don\'t mirror deprecated repositories.\n\n3. Potentially have downstream troves also deprecate their repositories.\n\n4. Reclaim any used space.\n\n5. All while still allowing old URLs to work.\n\n## Stopping future polling\n\nThis is currently already possible by taking the lorry file out of\nthe active set.\n\n## Hiding deprecated repositories\n\nThis already partially possible, since cgit has the ability to hide\nrepositories from listing, and gitano will hide repositories with\nproject.archived set.\n\nPropagating this archived flag would require lorry controller to be able to\nquery this config in a more performant way than running `config $repo show\nproject.archived` for every repository.\n\nThis information is stored in the admin ref, so you could trigger some merge\nbased on whether that has changed, but you most certainly don\'t want to fetch\nit in directly (and can\'t with the default configuration).\n\n## Reclaiming space while allowing old URLs to work\n\nWithout any magic or knowledge about which repositories share space, the best\nthat can be done to reclaim used space would be to aggressively repack when a\nrepository is deprecated.\n\nIf you *do* know some repositories that are likely to contain shared objects,\nsuch as projects that split out components, or forks, then there\'s a few\napproaches possible:\n\n### git-relink to de-duplicate objects by hardlinks\n\n`git relink` will de-duplicate loose git objects,\nbut given objects tend to be packed, this may have limited success.\n\n### Sharing object stores\n\nYou can use `.git/objects/info/alternates` to have the fork/child-project\nrepositories share the common history objects with the parent repository.\nDoing this post-hoc is more awkward:\n\n1. Create a repository containing all the objects and refs,\n potentially by nominating a master and fetching all the refs in\n a namespaced manner.\n2. Duplicate this repository for each of the fork repositories.\n3. In each repository, remove refs that aren\'t supposed to be there.\n4. In the primary repository, `git gc --prune=all`\n5. In all the forks, set .git/objects/info/alternates to point to the\n primary repository\'s object store, so that they can look for\n objects in the other repository.\n6. Perform a `git gc --prune=all` or a `git repack -l` in forks\n to discard any objects that were available locally,\n but are also in the alternates object store.\n\nAfter this, the fork repositories will share all common objects\nthat came about because the forked branch was merged,\nbut if the history is removed from the primary repository,\nthen the forks will stop to function.\n\n### Merging forks into the same repository with namespaced branches\n\nThe unified repository that we would create as a step in sharing object stores,\ncould be used directly with some work,\nif the namespaced manner is proper git namespaces.\n\nYou would then be able to have logical repositories by performing git\noperations on physical repositories with only the branches in a different\nnamespace.\n\nEither the git-{{upload,receive}-pack,upload-archive} commands need to be made\nnatively aware of how to locate the physical repository,\nwhen run in a stub repository,\nor you would have a proxy service run before the git service process,\nwhich redirects the operation to the physical repository\nby changing the git directory\nand setting GIT_NAMESPACE to the name of the logical repository.\n\nThis approach has the advantage over the alternates approach because it won\'t\nbreak everything if you delete refs from the physical repository and repack.\n\n#### Handling http[s]:// URLs\n\ngit-http-backend\'s manpage has examples showing how have all\nrepositories matching a given path be shared, this wouldn\'t work for us,\nas we need it to be more dynamic, but it proves the concept,\nso we\'d have a proxy cgi that asks gitano how to find the parent repository,\nthen munges the paths and sets GIT_NAMESPACE before exec\'ing.\n\nNaturally we\'d need to run this service rather than using cgit\'s version.\n\n#### Handling ssh://git@ URLs\n\nSimilar redirection could be added to gitano\'s processing of the commands,\nthough it may require a rethink of which admin-ref is checked.\n\n#### Handling git:// URLs\n\nThe standard git-daemon would either need to be wrapped in -i mode,\nor re-implemented, to have it proxy to the physical repository.\n\nThe protocol is fairly simple though, with a big-endian hex-encoded\nheader length 4 bytes, followed by an optional NUL terminated\nhost=$HOST:$PORT of what the client thinks the server\'s address\nis (to allow for virtual hosting), followed by the service name\n(e.g. git-upload-archive), a space, then the path part of the\ngit:// URL.\n\nAfter this the service subcommand should be run from the git directory\nwith the stdio proxied through.\n\nSo it would be feasible to have a program that parses the header,\ndetermines what namespace and repository to use, sets GIT_NAMESPACE,\nforks off the git-daemon in -i mode, writes a new header, then\nproxies the stdio of the client into the git-daemon.\n\n#### Handling the CGit web UI\n\nFor CGit, the repositories need to either be hidden,\nor it needs to be made aware of how to show the logical repositories,\nsince there is currently no way to hook this in,\nand CGit is not ref namespace aware.',1),(63,'2015-11-16 12:37:17','2015-11-16 12:53:27',25,'GDP - Keyboard doesn\'t work with qtwayland apps','Briefly, if you launch the GENIVI Demo Platform system, and go to a qt app which has text input, typing with a keyboard does nothing.\n\nThe root cause is unknown, but keyboard-related problems have been identified:\n* qtwayland is built without xkbcommon, so has no keyboard support.\n* No keyboard focus events are being sent to the client\n - LayerManagerControl fails to get or set keyboard focus\n - weston-ivi-shell and wayland-ivi-extension are using mismatched ivi-layout-export.h files\n\nA suggestion for the right version of weston ivi-shell is https://github.com/jonathanmaw/weston-ivi-shell/tree/jonathanmaw/keyboard-focus-reword with the jetson-specific patches added.',1),(64,'2015-11-16 12:41:54',NULL,25,'GDP - qtwayland apps don\'t have keyboard input','There are two causes for this identified, so far (root cause not found)\n* qtwayland builds without xkbcommon\n* keyboard focus is never set (hence key events from wayland are ignored)\n - LayerManagerControl can\'t set/get keyboard focus',1),(65,'2015-12-09 08:09:48',NULL,28,'Deployment is host dependent','Currently the extensions scripts used to deploy a build to a bootable btrfs image use host tooling to accomplish this.\n\nUnfortunately this is unreliable, as I discovered recently.\n\n\nBtrfs Tools\n~~~~~~~~~~~\nUsing a too new btrfs tools package on the build host will create a file system which is not bootable by, at least our current version of syslinux 4.0.6.\n\nSyslinux\n~~~~~~~~\nAfter discussion with syslinux developers on irc, it has become clear to me that the developers do not expect mixing of syslinux versions, or even *builds* to properly boot, although they admit that differing\nversions of the older syslinux 4.x releases may have worked.\n\nThat is to say, when invoking \'extlinux --install\' to install a bootloader, one should use the extlinux binary from the same build as the syslinux modules installed on the target OS.\n\nI have not found relevant syslinux documentation claiming this specifically.\n\n\nNOTE: Using a virtual machine with baserock installed does not solve this problem, as a baserock development image on which you are running the build does not necessarily host exactly the same versions of btrfs & syslinux as the image one intends to deploy (upgrading syslinux to 6.x for instance is currently not possible).\n\nI have found that by hacking the extension writeexts.py script to use the installed extlinux tool and mkfs.btrfs does solve this problem.\n\nThis issue was originally raised on the mailing list here:\nhttp://listmaster.pepperfish.net/pipermail/baserock-dev-baserock.org/2015-December/013389.html',1),(66,'2015-12-16 21:02:37','2015-12-16 21:14:49',13,'Upgrading to a GNOME system breaks login','I upgraded my custom Baserock system to the system defined by systems/gnome-system-x86_64.morph, and on booting had to resolve some merge conflicts from the upgrade before GDM would start successfully. Both `/etc/passwd` and `/etc/group` had conflicts.\n\n* `/etc/passwd`: http://paste.baserock.org/reterujeva\n* `/etc/group`: http://paste.baserock.org/uwupezuxay\n\nEven after resolving these conflicts, I couldn\'t log in to the system. Trying to log in as root with my pre-upgrade password failed, as did trying to log in as the default \"Linux User\" with no password. Even when trying to log in to the console not GDM my pre-upgrade credentials didn\'t work.\n\nI attempted to chroot into the system tree and set a password, but the password I set also failed to log me in either through GDM or through the console.\n\nAlso, I suspect I had no network connection - attempting to SSH to the machine timed out.\n\nMy old system morphology: http://paste.baserock.org/fakakiruxe (based in definitions from 2015-04-11 going off the system\'s version label).',1); /*!40000 ALTER TABLE `stories` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `story_storytags` -- DROP TABLE IF EXISTS `story_storytags`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `story_storytags` ( `story_id` int(11) DEFAULT NULL, `storytag_id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `story_storytags` -- LOCK TABLES `story_storytags` WRITE; /*!40000 ALTER TABLE `story_storytags` DISABLE KEYS */; /*!40000 ALTER TABLE `story_storytags` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `storytags` -- DROP TABLE IF EXISTS `storytags`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `storytags` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_story_tags_name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `storytags` -- LOCK TABLES `storytags` WRITE; /*!40000 ALTER TABLE `storytags` DISABLE KEYS */; /*!40000 ALTER TABLE `storytags` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `subscription_events` -- DROP TABLE IF EXISTS `subscription_events`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `subscription_events` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `subscriber_id` int(11) NOT NULL, `event_type` varchar(100) NOT NULL, `event_info` text, `author_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `subscription_events` -- LOCK TABLES `subscription_events` WRITE; /*!40000 ALTER TABLE `subscription_events` DISABLE KEYS */; /*!40000 ALTER TABLE `subscription_events` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `subscriptions` -- DROP TABLE IF EXISTS `subscriptions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `subscriptions` ( `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) DEFAULT NULL, `target_type` enum('task','story','project','project_group') DEFAULT NULL, `target_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `subscriptions` -- LOCK TABLES `subscriptions` WRITE; /*!40000 ALTER TABLE `subscriptions` DISABLE KEYS */; INSERT INTO `subscriptions` VALUES ('2015-02-06 12:20:29',NULL,2,9,'story',3),('2015-02-09 17:25:42',NULL,3,9,'story',8),('2015-02-09 17:25:45',NULL,4,9,'story',7),('2015-02-19 17:59:00',NULL,5,9,'story',11),('2015-02-26 11:44:17',NULL,6,9,'story',12),('2015-02-26 11:44:24',NULL,7,9,'story',10),('2015-02-26 11:44:29',NULL,8,9,'story',6),('2015-02-26 11:44:31',NULL,9,9,'story',5),('2015-02-26 11:44:33',NULL,10,9,'story',4),('2015-02-26 11:44:39',NULL,11,9,'story',15),('2015-03-03 09:29:19',NULL,12,9,'story',16),('2015-03-10 12:58:00',NULL,13,9,'story',20),('2015-03-10 12:58:09',NULL,14,9,'story',19),('2015-05-18 13:26:41',NULL,15,9,'story',41),('2015-05-18 13:26:42',NULL,16,9,'story',40),('2015-05-18 13:26:45',NULL,17,9,'story',38),('2015-05-18 13:26:48',NULL,18,9,'story',37),('2015-05-18 13:26:52',NULL,19,9,'story',34),('2015-05-18 13:26:54',NULL,20,9,'story',32),('2015-05-18 13:26:59',NULL,21,9,'story',25),('2015-05-18 13:27:01',NULL,22,9,'story',23),('2015-09-24 16:35:34',NULL,23,9,'story',54),('2015-10-14 10:01:21',NULL,24,13,'story',8),('2015-11-29 10:24:47',NULL,25,8,'story',9),('2015-12-16 21:06:35',NULL,26,13,'story',66); /*!40000 ALTER TABLE `subscriptions` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `tasks` -- DROP TABLE IF EXISTS `tasks`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `tasks` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `title` varchar(100) DEFAULT NULL, `story_id` int(11) DEFAULT NULL, `project_id` int(11) DEFAULT NULL, `assignee_id` int(11) DEFAULT NULL, `status` enum('todo','inprogress','invalid','review','merged') DEFAULT NULL, `creator_id` int(11) DEFAULT NULL, `priority` enum('low','medium','high') DEFAULT NULL, PRIMARY KEY (`id`), KEY `tasks_ibfk_1` (`assignee_id`), KEY `tasks_ibfk_3` (`project_id`), KEY `tasks_ibfk_4` (`story_id`), CONSTRAINT `tasks_ibfk_1` FOREIGN KEY (`assignee_id`) REFERENCES `users` (`id`), CONSTRAINT `tasks_ibfk_3` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`), CONSTRAINT `tasks_ibfk_4` FOREIGN KEY (`story_id`) REFERENCES `stories` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=239 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `tasks` -- LOCK TABLES `tasks` WRITE; /*!40000 ALTER TABLE `tasks` DISABLE KEYS */; INSERT INTO `tasks` VALUES (2,'2015-02-05 16:44:09','2015-04-28 14:23:47','allow openid.baserock.org to find storyboard',2,3,12,'todo',1,'medium'),(3,'2015-02-05 16:46:23','2015-04-06 13:00:38','document the proposed VERSION approach',3,4,14,'merged',1,'medium'),(4,'2015-02-06 12:20:08','2015-06-23 15:22:05','Configure locales correctly',4,1,27,'todo',9,'medium'),(5,'2015-02-06 12:22:10','2015-09-25 16:01:38','Add GNOME stratum',5,1,9,'merged',9,'medium'),(6,'2015-02-06 12:23:18','2015-02-06 12:47:43','Replace libusbx with libusb',5,1,9,'merged',9,'medium'),(7,'2015-02-06 12:23:45','2015-09-24 17:10:50','Add X11 libraries back to the x-common stratum',5,1,9,'merged',9,'medium'),(8,'2015-02-06 12:36:25',NULL,'sssam\'s \'What I do with Baserock\' story',6,4,7,'todo',1,'medium'),(9,'2015-02-06 12:36:25','2015-02-06 12:54:10','jjardon\'s \'What I do with Baserock\' story',6,4,9,'inprogress',1,'medium'),(11,'2015-02-06 12:52:31','2015-02-11 09:08:49','Add tzdata to foundation',5,1,7,'merged',9,'medium'),(12,'2015-02-06 12:59:17',NULL,'Change definitions to .def instead .morph',3,1,NULL,'todo',9,'medium'),(13,'2015-02-06 13:00:08','2015-02-06 13:00:16','Add support for conditional builds',3,1,NULL,'todo',9,'medium'),(14,'2015-02-06 13:02:07','2015-02-09 21:35:18','Upgrade libinput',5,1,9,'merged',9,'medium'),(15,'2015-02-06 13:02:21','2015-02-09 11:25:11','Upgrade fuse',5,1,9,'merged',9,'medium'),(16,'2015-02-06 13:04:49','2015-02-09 11:25:15','Upgrade vala',5,1,9,'merged',9,'medium'),(17,'2015-02-06 13:05:02','2015-02-12 17:21:07','Upgrade GTK+',5,1,9,'merged',9,'medium'),(18,'2015-02-06 13:05:13','2015-09-25 16:01:41','Build GTK+ with X11 support',5,1,9,'merged',9,'medium'),(19,'2015-02-06 13:05:40','2015-09-25 16:01:43','Add GNOME system',5,1,9,'merged',9,'medium'),(20,'2015-02-06 13:05:47','2015-09-25 16:01:44','Add GNOME cluster',5,1,9,'merged',9,'medium'),(21,'2015-02-06 13:06:37','2015-05-05 11:54:30','Configure pango correctly (pango-querymodules)',5,1,9,'merged',9,'medium'),(22,'2015-02-06 13:07:01','2015-10-13 02:28:47','Compile schemas (glib-compile-schemas)',5,1,9,'merged',9,'medium'),(23,'2015-02-06 13:07:20','2015-10-13 02:28:59','Fix D-Bus conf services location (usr/etc -> /etc)',5,1,9,'merged',9,'medium'),(24,'2015-02-06 13:12:28','2015-02-09 11:31:06','Upgrade sqlite3',5,1,9,'merged',9,'medium'),(25,'2015-02-06 13:28:56','2015-02-20 16:04:32','Upgrade to latest libdrm',5,1,9,'merged',9,'medium'),(26,'2015-02-06 13:57:27','2015-02-09 17:23:20','GTK+ mirror not up-to-date',5,3,9,'merged',9,'medium'),(27,'2015-02-06 15:41:37','2015-07-30 17:01:50','Show what is going on when compiling new images',7,3,NULL,'review',9,'medium'),(28,'2015-02-06 15:41:57','2015-02-09 17:26:17','publicity more http://mason-x86-64.baserock.org/',7,3,NULL,'todo',9,'medium'),(29,'2015-02-06 17:08:18',NULL,'Implement any tests that we want which don\'t yet exist.',8,3,NULL,'todo',13,'medium'),(30,'2015-02-06 17:08:18',NULL,'Decide on a sensible way to define which tests are run on which systems',8,3,NULL,'todo',13,'medium'),(31,'2015-02-06 17:08:18',NULL,'Decide on *what* to test in these systems.',8,3,NULL,'todo',13,'medium'),(32,'2015-02-06 17:08:18',NULL,'Get Mason v3 merged, and carry out any further work it requires to be fully useful.',8,3,NULL,'todo',13,'medium'),(33,'2015-02-06 17:08:20',NULL,'Deploy an instance of this Mason to work on patches submitted to our as-yet-unready Gerrit instance.',8,3,NULL,'todo',13,'medium'),(34,'2015-02-06 17:17:42',NULL,'Style storyboard a bit',9,3,NULL,'todo',7,'medium'),(35,'2015-02-06 17:17:42','2015-11-17 12:46:20','Redeploy an instance cleanly from build instructions in infrastructure.git',9,3,8,'inprogress',7,'medium'),(36,'2015-02-09 11:37:08','2015-10-19 07:14:51','bootstrap autotools',10,1,9,'merged',9,'medium'),(37,'2015-02-09 21:36:10','2015-09-25 16:01:49','Build GL: mesa with X11 support',5,1,9,'merged',9,'medium'),(38,'2015-02-10 10:46:50','2015-02-11 09:08:36','Upgrade to latest wayland (and weston)',5,1,9,'merged',9,'medium'),(39,'2015-02-11 09:07:36','2015-02-19 01:20:22','Use official sed instead the busybox one',5,1,9,'merged',9,'medium'),(40,'2015-02-11 09:07:52','2015-02-19 01:20:19','UseUse official diff instead busybox one',5,1,9,'merged',9,'medium'),(41,'2015-02-11 09:08:07','2015-02-24 12:24:09','Add Python3 stratum',5,1,9,'merged',9,'medium'),(42,'2015-02-11 14:51:51','2015-04-28 16:05:17','Start to port busybox first',11,1,8,'todo',9,'medium'),(43,'2015-02-12 16:13:45','2015-02-12 16:18:01','Cross-bootstrap to ARMv8l64',12,1,NULL,'merged',16,'medium'),(44,'2015-02-12 16:15:17','2015-02-12 16:15:39','Morph deployment for moonshot cartridges',12,1,16,'inprogress',16,'medium'),(45,'2015-02-12 16:18:33','2015-02-12 16:19:00','Spin up kernel for ARMv8b64',12,1,NULL,'inprogress',16,'medium'),(46,'2015-02-12 16:23:48','2015-02-12 16:27:01','m400 as OpenStack compute node',12,1,NULL,'inprogress',16,'medium'),(47,'2015-02-12 16:24:20','2015-02-12 16:27:06','m400 modules as deployable distbuild nodes',12,1,NULL,'todo',16,'medium'),(49,'2015-02-13 09:13:22','2015-09-24 16:20:44','Investigate why chown fails in system-integration time',13,1,NULL,'invalid',10,'medium'),(50,'2015-02-13 09:39:51','2015-02-16 11:33:28','Complete upgrades for a working development system',12,1,NULL,'review',16,'medium'),(51,'2015-02-15 10:18:05','2015-04-28 16:05:14','Change fhs-dirs to not create /lib /lib64 and create links instead',11,1,8,'todo',8,'medium'),(52,'2015-02-19 12:11:20','2015-10-05 10:29:46','Create x-xorg stratum',5,1,9,'invalid',9,'medium'),(53,'2015-02-19 12:13:28','2015-02-24 12:24:06','Lorry GDM',5,3,9,'merged',9,'medium'),(54,'2015-02-19 12:14:24','2015-10-19 07:14:28','build libtool from git',10,1,9,'merged',9,'medium'),(55,'2015-02-20 16:05:39','2015-02-24 12:24:02','Fix problems with GL acceleration detection in gnome-session',5,1,9,'merged',9,'medium'),(56,'2015-02-23 09:27:38','2015-03-06 11:08:12','Check whether CC BY SA licence is acceptable to contributors',14,4,NULL,'merged',11,'medium'),(57,'2015-02-23 09:27:38','2015-03-06 11:10:38','Add a copyright statement and licence info to all pages',14,4,NULL,'merged',11,'medium'),(58,'2015-02-23 09:27:38','2015-03-06 11:10:31','Add more information to the \'Editing the wiki\' page',14,4,NULL,'merged',11,'medium'),(59,'2015-02-23 14:51:00','2015-02-23 14:55:07','The tale of the missing library',15,2,NULL,'todo',17,'high'),(60,'2015-02-24 12:24:50','2015-10-13 02:32:32','Fix svg support in gdk-pixbuf',5,1,9,'merged',9,'medium'),(61,'2015-02-25 10:52:54','2015-03-04 18:02:09','Add support for VERSION in morph',3,2,9,'merged',9,'medium'),(62,'2015-02-27 18:29:58','2015-09-23 11:36:22','Make ./check to honor TMPDIR',16,2,12,'merged',9,'medium'),(63,'2015-03-04 14:38:41',NULL,'Make any necessary code changes, including docstrings',17,2,NULL,'todo',11,'medium'),(64,'2015-03-04 14:38:41',NULL,'Update w.b.o as required',17,2,NULL,'todo',11,'medium'),(65,'2015-03-04 14:38:41',NULL,'Update cycle.sh as required',17,2,NULL,'todo',11,'medium'),(66,'2015-03-04 14:38:41',NULL,'Decide whether or not `morph deploy --upgrade` is really deprecated',17,2,NULL,'todo',11,'medium'),(67,'2015-03-04 18:02:46','2015-03-10 12:59:16','Add VERSION (version: 0) file to definitions',3,1,9,'merged',9,'medium'),(68,'2015-03-06 11:28:05','2015-03-16 09:56:11','Add documentation and link to http://wiki.baserock.org/contributing/',18,4,12,'review',11,'medium'),(69,'2015-03-06 15:54:19','2015-09-23 15:07:12','Analyze if we should port Cliapp or get rid of it',19,2,NULL,'review',9,'medium'),(70,'2015-03-09 13:58:40',NULL,'Do it, and document it in a tutorial',20,4,NULL,'todo',11,'medium'),(71,'2015-03-10 13:00:24','2015-03-10 13:00:27','morph: allow to not have build-depends',3,2,9,'merged',9,'medium'),(72,'2015-03-10 13:00:56','2015-03-10 13:00:58','version 1: do not have empthy build-depends',3,1,9,'merged',9,'medium'),(75,'2015-03-10 17:40:12','2015-05-26 15:52:47','Move pam to core',21,1,NULL,'merged',9,'medium'),(76,'2015-03-10 17:40:49','2015-05-26 15:53:08','Move acl to core',21,1,NULL,'merged',9,'medium'),(77,'2015-03-10 17:40:59','2015-05-26 15:53:23','Make shadow depend on acl and pam',21,1,NULL,'merged',9,'medium'),(78,'2015-03-10 17:41:12','2015-05-26 15:53:26','Configure pam correctly',21,1,NULL,'merged',9,'medium'),(79,'2015-03-10 17:42:13','2015-05-26 15:53:38','Make util-linux depend on pam and shadow',21,1,NULL,'merged',9,'medium'),(81,'2015-03-10 17:43:23','2015-09-24 16:34:39','Build login (from util-linux) with pam support',21,1,NULL,'merged',9,'medium'),(82,'2015-03-10 17:47:07','2015-03-16 14:10:07','Use standard -v/-verbose to show real compilation output',22,2,9,'review',9,'medium'),(83,'2015-03-10 17:47:51',NULL,'build-log output doesn\'t really belong in morph.log, it\'s chunk metadata',22,2,NULL,'todo',9,'medium'),(84,'2015-03-10 17:56:59',NULL,'Use journald? (as optional dep)',22,2,NULL,'todo',9,'medium'),(85,'2015-03-10 18:13:24','2015-09-24 16:34:35','Check DBUS session is correctly created',21,1,NULL,'merged',9,'medium'),(86,'2015-03-11 18:32:31',NULL,'Clarify if this is the intended behaviour',23,2,NULL,'todo',9,'medium'),(87,'2015-03-11 19:25:10',NULL,'Never remove tags',24,3,NULL,'todo',9,'medium'),(88,'2015-03-11 19:25:53',NULL,'Set a name convention for moved tags',24,NULL,NULL,'todo',9,'medium'),(89,'2015-03-11 20:36:10','2015-11-11 00:51:02','Switch to making GPT partitioned images',25,1,16,'todo',9,'medium'),(90,'2015-03-11 20:36:48',NULL,'Do not put config in /etc/fstab',25,NULL,NULL,'todo',9,'medium'),(91,'2015-03-11 20:57:34','2015-09-23 15:07:57','Maybe use cement instead? (support for python 2 and 3)',19,2,NULL,'invalid',9,'medium'),(92,'2015-03-12 08:22:34','2015-09-23 10:13:49','`morph edit` doesn\'t honour --no-git-update - fat_pull and update_remotes are called unconditionally',26,2,NULL,'invalid',11,'medium'),(93,'2015-03-12 08:26:23','2015-03-12 08:48:37','Check if there are other calls that should honour this parameter but don\'t',26,2,NULL,'todo',11,'medium'),(94,'2015-03-12 10:24:41',NULL,'Do not pull repos if not needed',26,2,NULL,'todo',9,'medium'),(95,'2015-03-12 11:35:47',NULL,'Remove the need of workspaces',27,2,NULL,'todo',9,'medium'),(96,'2015-03-12 11:36:16','2015-03-12 11:36:51','Remove morph checkout',27,2,NULL,'todo',9,'medium'),(97,'2015-03-12 11:36:24','2015-03-12 11:37:00','Remove morph branch',27,2,NULL,'todo',9,'medium'),(98,'2015-03-12 11:36:34','2015-03-12 11:37:09','Remove morph edit?',27,2,NULL,'todo',9,'medium'),(99,'2015-03-12 17:16:26','2015-03-12 23:52:28','Modernize code to make it more python3 compatible',19,2,9,'inprogress',9,'medium'),(100,'2015-03-13 09:57:08',NULL,'Make --no-git-update the default, or allow it to be set in morph.conf so it doesn\'t have to be typed',26,2,NULL,'todo',11,'medium'),(101,'2015-03-13 18:50:08',NULL,'restore the \'update-gits\' command',26,NULL,NULL,'todo',11,'medium'),(102,'2015-03-17 11:41:56','2015-09-23 11:37:46','Not backed up.',28,3,NULL,'merged',9,'medium'),(103,'2015-03-17 11:42:08','2015-04-01 09:20:27','Emails don\'t send',28,3,NULL,'merged',9,'medium'),(104,'2015-03-17 11:42:23',NULL,'No gitweb/cgit links',28,3,NULL,'todo',9,'medium'),(105,'2015-03-17 11:42:40',NULL,'Can\'t clone over git',28,3,NULL,'todo',9,'medium'),(106,'2015-03-17 11:43:03','2015-04-01 09:20:38','Error 500 (server error) when trying to register a new email address',28,3,NULL,'merged',9,'medium'),(107,'2015-03-17 11:57:22','2015-03-17 11:57:24','Improve check of format version in VERSION',3,2,9,'review',9,'medium'),(108,'2015-03-17 14:27:25','2015-03-17 16:51:24','Disable \'Link new identities\' function (or fix it)',28,3,NULL,'merged',11,'medium'),(109,'2015-03-20 08:56:51',NULL,'Rationalise morph upgrade v morph deploy --upgrade',27,2,NULL,'todo',11,'medium'),(110,'2015-03-20 10:43:24',NULL,'Cross-bootstrapping results in gcc error',29,2,NULL,'todo',18,'medium'),(111,'2015-03-23 14:47:21','2015-04-02 09:49:28','Make simple-network.configure work when /etc/systemd/network doesn\'t exist',30,2,9,'merged',13,'medium'),(112,'2015-03-30 13:03:24',NULL,'Change description of devel* systems',31,1,NULL,'todo',9,'medium'),(113,'2015-03-31 14:15:51','2015-03-31 14:15:59','fix /var/run not being a symlink to /run',11,NULL,NULL,'todo',9,'medium'),(114,'2015-04-02 09:48:31','2015-09-24 17:10:05','dbus configuration doesnt seem correct',5,1,NULL,'merged',9,'medium'),(115,'2015-04-02 10:02:31','2015-05-18 13:20:44','Move /etc/os-release from morph to definitions',32,2,NULL,'merged',9,'medium'),(116,'2015-04-02 10:03:44','2015-05-18 13:20:48','Install /etc/profile with the install-files extension',32,1,NULL,'merged',9,'medium'),(117,'2015-04-02 10:04:02','2015-05-18 13:20:41','Install /etc/os-release with the install-files extension',32,1,NULL,'merged',9,'medium'),(119,'2015-04-02 10:22:57','2015-09-28 08:18:15','Set PATH in /etc/profile',32,1,NULL,'merged',9,'medium'),(120,'2015-04-02 12:52:27','2015-05-18 13:20:26','put essential files in essential-files/MANIFEST',32,1,NULL,'merged',9,'medium'),(121,'2015-04-02 12:53:23','2015-05-18 13:20:29','write \"install-essential-files\" configuration extension',32,1,NULL,'merged',9,'medium'),(122,'2015-04-02 12:53:44','2015-05-18 13:20:32','modify all the systems to include \"essential-files\" configuration extension',32,1,NULL,'merged',9,'medium'),(123,'2015-04-06 12:24:01',NULL,'Do not use /src',34,2,NULL,'todo',9,'medium'),(124,'2015-04-06 12:25:15',NULL,'Create a user by default',34,1,NULL,'todo',9,'medium'),(125,'2015-04-06 12:25:36',NULL,'Use XDG directory spec to story config/cache files',34,2,NULL,'todo',9,'medium'),(126,'2015-04-09 13:56:27',NULL,'Make building as non-root work',34,2,NULL,'todo',7,'medium'),(127,'2015-04-10 14:21:25',NULL,'Honour correct OpenStack environment variables',35,2,NULL,'todo',7,'medium'),(128,'2015-04-13 16:39:02',NULL,'Try running a distbuild network with / read-only, and see what breaks',36,1,NULL,'todo',7,'medium'),(129,'2015-04-23 10:45:57','2015-04-28 14:20:05','Add support for ARMv5',37,2,9,'merged',9,'medium'),(130,'2015-04-23 10:47:29','2015-05-01 09:59:39','Make morphologies for openBMC',37,1,12,'inprogress',12,'medium'),(131,'2015-04-23 10:48:29','2015-05-26 16:16:18','Make openBMC stratum',37,1,21,'merged',12,'medium'),(132,'2015-04-23 10:57:21','2015-04-28 14:20:11','Fix chunks to support ARMv5',37,1,9,'merged',9,'medium'),(133,'2015-04-23 10:57:54','2015-05-01 09:59:27','Generate ARMv5 bootstrap Baserock tarball',37,1,9,'merged',9,'medium'),(134,'2015-04-23 10:58:13','2015-05-01 09:59:29','Generate ARMv5 minimal system',37,1,9,'merged',9,'medium'),(135,'2015-04-23 10:59:01','2015-05-12 15:25:49','Add cross-bootstrap-system-armv5l-generic.morph to definitions',37,1,9,'merged',9,'medium'),(136,'2015-04-23 11:00:16','2015-05-12 15:25:54','Generate BSP for ASPEED board',37,1,NULL,'merged',9,'medium'),(137,'2015-04-24 11:53:41','2015-04-24 11:54:17','Create a branch of u-boot with the patches to support the ASPEED/wedge board',37,NULL,9,'merged',9,'medium'),(138,'2015-04-24 11:54:00','2015-04-24 14:10:30','Create a branch of linux with the patches to support the ASPEED/wedge board',37,NULL,9,'merged',9,'medium'),(139,'2015-04-24 15:31:28','2015-05-12 15:26:04','Make openbmc system',37,1,9,'merged',9,'medium'),(140,'2015-04-24 15:31:33','2015-06-15 09:51:55','Make openbmc cluster',37,1,9,'merged',9,'medium'),(141,'2015-04-28 09:19:46',NULL,'Provide a way of overriding .gitmodules in a chunk .morph file',38,2,NULL,'todo',7,'medium'),(142,'2015-04-28 09:19:46',NULL,'Update all chunks in our definitions repo to override submodule URLs in the chunk .morph file',38,1,NULL,'todo',7,'medium'),(143,'2015-04-28 09:21:47','2015-05-20 11:00:45','Block our Mason from connecting to the internet, to ensure our definitions point only to gbo',38,3,7,'merged',7,'medium'),(144,'2015-04-28 11:27:59','2015-05-26 16:16:12','Deploy openbmc image',37,NULL,NULL,'inprogress',9,'medium'),(145,'2015-04-29 20:45:51',NULL,'Fix Git man pages',39,1,NULL,'todo',7,'medium'),(146,'2015-05-01 09:34:10','2015-05-01 10:11:34','Add lorry for lm-sensors',37,NULL,21,'merged',21,'medium'),(147,'2015-05-05 11:56:00','2015-10-13 03:47:48','Move stuff from /usr/etc/* to /etc (or support stuff in /usr/etc)',5,1,NULL,'inprogress',9,'medium'),(148,'2015-05-06 15:06:07','2015-07-30 16:59:44','Allow using `morph build` from any definitions.git checkout',40,2,7,'merged',7,'medium'),(149,'2015-05-06 15:06:32','2015-07-30 16:59:46','Allow using `morph deploy` from any definitions.git checkout',40,2,7,'merged',7,'medium'),(150,'2015-05-06 15:07:01','2015-09-23 10:21:40','Update documentation to avoid use of workspaces, and notify existing users of the change',40,4,7,'inprogress',7,'medium'),(151,'2015-05-06 15:07:42','2015-05-06 15:08:27','Remove `morph init`, `morph branch` and `morph checkout`',40,2,7,'todo',7,'medium'),(152,'2015-05-06 15:08:21','2015-09-23 10:21:47','Change all Morph commands that require a source pool use DefinitionsRepo.source_pool()',40,2,7,'merged',7,'medium'),(153,'2015-05-06 15:08:52',NULL,'Remove BuildCommand.create_source_pool()',40,2,NULL,'todo',7,'medium'),(154,'2015-05-06 15:36:11','2015-06-22 10:09:30','Add .configure extensions from morph.git into definitions.git (in a subfolder)',41,1,NULL,'merged',7,'medium'),(155,'2015-05-06 15:36:22',NULL,'Remove .configure extensions from morph.git',41,2,NULL,'todo',7,'medium'),(156,'2015-05-06 15:36:36','2015-06-22 10:09:33','Add .write and .check extensions from morph.git into definitions.git (in a subfolder)',41,1,NULL,'merged',7,'medium'),(157,'2015-05-06 15:36:42','2015-05-06 15:38:44','Remove .write and .check extensions from morph.git',41,2,NULL,'todo',7,'medium'),(158,'2015-05-06 15:37:38',NULL,'Allow putting .configure and .write extensions in a subfolder of definitions.git',41,2,NULL,'todo',7,'medium'),(159,'2015-05-06 15:40:19',NULL,'Run deploy commands in a system from the definitions.git repo being deployed, not the host system',41,2,NULL,'todo',7,'medium'),(160,'2015-05-06 15:40:51',NULL,'Port .configure extensions to be Ansible scripts',41,1,NULL,'todo',7,'medium'),(161,'2015-05-06 15:41:02',NULL,'Force .configure extensions to be Ansible scripts',41,2,NULL,'todo',7,'medium'),(162,'2015-05-11 15:49:54',NULL,'Run builds inside a cgroup (using systemd-run?)',42,2,NULL,'todo',7,'medium'),(163,'2015-05-11 15:49:54',NULL,'Test that distbuild worker builds now stop right away after being cancelled',42,2,NULL,'todo',7,'medium'),(164,'2015-05-12 14:45:37','2015-05-29 11:18:24','Generate a build-system-armv5l system',37,1,9,'merged',9,'medium'),(165,'2015-05-12 14:46:49','2015-05-26 16:16:47','Use the generated build-system-armv5l system to deploy minimal armv5l system',37,1,9,'merged',9,'medium'),(166,'2015-05-12 16:49:37','2015-05-29 11:18:08','Fix btrfs-progs compilation for armv5 (-O2 instead -O1)',37,1,9,'merged',9,'medium'),(167,'2015-05-13 17:00:23',NULL,'Mount /var before systemd writes anything to /var',43,1,NULL,'todo',7,'medium'),(168,'2015-05-20 10:11:15','2015-10-14 09:10:03','Rebase Mason branch onto latest Baserock reference systems',8,NULL,13,'todo',7,'medium'),(169,'2015-05-20 10:11:27','2015-10-14 09:10:04','Update version of Zuul used in Mason',8,NULL,13,'todo',7,'medium'),(170,'2015-05-20 10:11:37','2015-10-14 09:10:06','Layout to build \'master\' branch of \'definitions\' on each new commit',8,NULL,13,'todo',7,'medium'),(171,'2015-05-20 10:11:52',NULL,'Web frontend for Zuul-Mason with the same features as current Mason',8,NULL,NULL,'todo',7,'medium'),(172,'2015-05-20 10:12:14',NULL,'Update mason-x86-64 and mason-x86-32.baserock.org to Zuul-Mason',8,3,7,'todo',7,'medium'),(173,'2015-05-20 10:12:27',NULL,'Submit Zuul-Mason branch for merge in definitions.git',8,1,NULL,'todo',7,'medium'),(174,'2015-05-20 10:12:38',NULL,'Layout for running Morph\'s ./check test suite on new commits to Morph',8,NULL,NULL,'todo',7,'medium'),(175,'2015-05-20 10:13:40',NULL,'Enable \'soft\' integration with Gerrit: post pass/fail comments on new patches',8,3,7,'todo',7,'medium'),(176,'2015-05-20 10:18:09','2015-11-17 12:46:22','Update Storyboard to latest version',9,3,8,'inprogress',7,'medium'),(177,'2015-05-20 10:18:54','2015-05-20 10:19:12','Web frontend: show what is Mason is currently doing',8,NULL,NULL,'todo',7,'medium'),(178,'2015-05-20 10:23:47','2015-05-20 10:29:43','Review and merge outstanding patches to Firehose',44,6,NULL,'todo',7,'medium'),(179,'2015-05-20 10:30:28',NULL,'Flesh out this story a bit more',44,NULL,NULL,'todo',7,'medium'),(183,'2015-05-20 13:33:23','2015-05-20 13:33:29','',45,NULL,NULL,'todo',24,'medium'),(185,'2015-05-20 13:44:33','2015-05-20 13:46:28','Build up good will in the systemd maintainers',46,1,NULL,'inprogress',24,'medium'),(186,'2015-05-20 13:46:29',NULL,'Merge necessary support to systemd',46,1,NULL,'todo',24,'medium'),(187,'2015-05-20 13:48:58',NULL,'Add switch support to system-version-manager',46,NULL,NULL,'todo',24,'medium'),(188,'2015-05-26 12:36:54','2015-05-26 14:15:47','Write up design',47,1,24,'merged',24,'high'),(189,'2015-05-26 14:08:56','2015-05-26 14:10:19','Test the principle by adding strip commands to post-install-commands of chunks in build-essential',47,1,24,'todo',24,'high'),(190,'2015-05-26 14:09:30','2015-05-26 14:10:22','Prove such a stripped system is still debuggable',47,NULL,24,'todo',24,'high'),(191,'2015-05-26 14:11:03','2015-09-24 11:52:13','Extend default commands for build systems to strip by default',47,2,24,'inprogress',24,'medium'),(192,'2015-05-26 14:12:40','2015-05-26 14:12:44','Extend split rules to not include debug artifacts by default',47,2,24,'todo',24,'low'),(193,'2015-05-26 14:13:34','2015-05-26 14:13:38','Move build system definitions into definitions repository',47,2,24,'todo',24,'low'),(194,'2015-05-26 14:14:45','2015-09-24 11:52:01','Move default split rules to definitions',47,2,24,'inprogress',24,'low'),(195,'2015-05-26 14:15:32','2015-09-24 11:52:18','Make build systems define default split rules',47,2,24,'inprogress',24,'low'),(196,'2015-05-26 16:14:51','2015-06-15 09:51:47','Add support to deploy jffs2 images',37,2,12,'merged',9,'medium'),(197,'2015-05-26 16:15:31','2015-05-26 16:16:30','Develop a (temporal) way to strip binaries',37,1,9,'merged',9,'medium'),(198,'2015-05-29 10:47:33','2015-05-29 10:47:40','Add OStree to build- and devel- reference systems',48,1,NULL,'merged',7,'medium'),(199,'2015-05-29 10:50:06','2015-05-29 11:00:57','Solve the \'hardlinks in a read-write filesystem\' problem somehow',48,2,NULL,'todo',7,'medium'),(200,'2015-05-29 10:50:21',NULL,'Make branch of Morph to use OSTree',48,2,NULL,'todo',7,'medium'),(202,'2015-06-16 13:20:13','2015-11-10 15:34:09','Work out the best way to configure an existing Trove instance to use a new SSL certificate',49,3,8,'merged',7,'medium'),(203,'2015-06-16 13:20:45',NULL,'Update git.baserock.org configuration appropriately',49,3,NULL,'todo',7,'medium'),(204,'2015-06-25 11:21:45','2015-07-30 16:37:35','Write the white paper',50,4,NULL,'invalid',7,'medium'),(205,'2015-06-25 13:38:12','2015-07-30 16:56:31','Create a baserock system which can be used as a Cloud Foundry stemcell.',51,1,8,'invalid',27,'medium'),(206,'2015-06-26 15:57:20','2015-07-30 16:53:16','Establish a public Concourse CI pipeline for ongoings builds of this stemcell',51,NULL,NULL,'invalid',7,'medium'),(207,'2015-06-26 15:57:49','2015-07-30 16:53:08','Document how to use custom stemcell with Cloud Foundry (?)',51,NULL,NULL,'invalid',7,'medium'),(208,'2015-06-26 15:58:02','2015-07-30 16:53:06','Video demonstration of BOSH deployments on custom stemcells',51,NULL,NULL,'invalid',7,'medium'),(209,'2015-07-13 09:34:47','2015-09-24 09:53:03','Add an OWL schema for the current Baserock data model to definitions.git',52,1,7,'merged',7,'medium'),(210,'2015-07-13 09:41:24',NULL,'Add a Python module to definitions.git to parse current syntax according to data model',52,1,7,'todo',7,'medium'),(211,'2015-07-13 09:42:19','2015-07-31 14:09:14','Document current syntax in a useful way',52,1,7,'review',7,'medium'),(212,'2015-07-13 09:43:31','2015-07-31 14:09:05','Move default build-systems and split-rules into definitions.git, and update Morph and YBD to use tha',52,1,NULL,'review',7,'medium'),(213,'2015-07-13 09:44:18','2015-09-24 09:53:14','Remove build-system autodetection feature, to avoid the parser module needing to do it',52,1,NULL,'merged',7,'medium'),(214,'2015-07-14 15:41:43',NULL,'Put the full URL in the commit message for imported .zip files and .tar files',53,7,NULL,'todo',7,'medium'),(215,'2015-07-23 14:19:45',NULL,'Write a plan for fixing this',54,2,NULL,'todo',7,'medium'),(216,'2015-07-30 16:56:07','2015-07-30 16:56:12','General research about stemcells',51,4,8,'merged',8,'medium'),(217,'2015-08-27 11:35:09',NULL,'Think about how to fix this',55,2,NULL,'todo',7,'medium'),(218,'2015-08-27 11:35:09',NULL,'Update quick-start guide on wiki once fixed',55,4,NULL,'todo',7,'medium'),(219,'2015-09-24 09:52:49','2015-11-11 00:59:02','Come up with an approach for fixing this',56,1,NULL,'merged',7,'medium'),(220,'2015-09-24 16:01:33',NULL,'Extend cgit to understand .morph files, and linkify the \'ref\' fields in strata',57,3,NULL,'todo',7,'medium'),(221,'2015-09-24 16:01:33',NULL,'Remove the cgi-bin/cgit.cgi part of the cgit URLs',57,3,NULL,'todo',7,'medium'),(222,'2015-10-07 07:27:15',NULL,'Change default build commands to specify --sysconfdir=/etc',58,1,NULL,'todo',28,'medium'),(223,'2015-10-07 07:27:16',NULL,'Cleanup all existing morph files which only exist to specify the correct sysconfdir',58,1,NULL,'todo',28,'medium'),(224,'2015-10-09 08:24:30',NULL,'placeholder task',59,1,NULL,'todo',28,'medium'),(225,'2015-10-09 08:28:51',NULL,'placeholder',60,1,NULL,'todo',28,'medium'),(226,'2015-10-19 07:15:12',NULL,'Build GCC from git',10,1,NULL,'todo',9,'medium'),(227,'2015-10-26 08:32:04',NULL,'Fix .gitmodules situation',61,2,NULL,'todo',9,'medium'),(229,'2015-10-26 17:44:32',NULL,'Document the procedure for hiding a deprecated repository',62,4,NULL,'todo',24,'medium'),(230,'2015-10-26 17:45:08',NULL,'Add \"forks\" to gitano',62,NULL,NULL,'todo',24,'medium'),(231,'2015-11-10 15:36:35','2015-11-29 10:24:05','Modify trove-setup ansible scripts to install SSL certificates',49,1,8,'merged',8,'medium'),(232,'2015-11-10 15:36:58','2015-11-29 10:24:07','Modify trove.configure to support SSL certificates installation',49,1,8,'merged',8,'medium'),(233,'2015-11-16 12:37:18',NULL,'Make sure xkbcommon is in the staging area when qtwayland is built',63,1,NULL,'todo',25,'medium'),(235,'2015-11-16 12:53:00',NULL,'Use the right version of weston-ivi-shell',63,1,NULL,'todo',25,'medium'),(236,'2015-12-09 08:09:50',NULL,'Make deployment host independent',65,1,NULL,'todo',28,'medium'),(237,'2015-12-16 21:02:37','2015-12-16 22:28:11','Investigate upgrading via a clean devel system',66,1,NULL,'merged',13,'medium'),(238,'2015-12-16 22:28:08',NULL,'Investigate what is causing the login problems',66,1,NULL,'todo',13,'medium'); /*!40000 ALTER TABLE `tasks` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `team_membership` -- DROP TABLE IF EXISTS `team_membership`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `team_membership` ( `user_id` int(11) DEFAULT NULL, `team_id` int(11) DEFAULT NULL, KEY `team_id` (`team_id`), KEY `user_id` (`user_id`), CONSTRAINT `team_membership_ibfk_1` FOREIGN KEY (`team_id`) REFERENCES `teams` (`id`), CONSTRAINT `team_membership_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `team_membership` -- LOCK TABLES `team_membership` WRITE; /*!40000 ALTER TABLE `team_membership` DISABLE KEYS */; /*!40000 ALTER TABLE `team_membership` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `team_permissions` -- DROP TABLE IF EXISTS `team_permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `team_permissions` ( `permission_id` int(11) DEFAULT NULL, `team_id` int(11) DEFAULT NULL, KEY `team_id` (`team_id`), KEY `permission_id` (`permission_id`), CONSTRAINT `team_permissions_ibfk_1` FOREIGN KEY (`team_id`) REFERENCES `teams` (`id`), CONSTRAINT `team_permissions_ibfk_2` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `team_permissions` -- LOCK TABLES `team_permissions` WRITE; /*!40000 ALTER TABLE `team_permissions` DISABLE KEYS */; /*!40000 ALTER TABLE `team_permissions` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `teams` -- DROP TABLE IF EXISTS `teams`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `teams` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_team_name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `teams` -- LOCK TABLES `teams` WRITE; /*!40000 ALTER TABLE `teams` DISABLE KEYS */; /*!40000 ALTER TABLE `teams` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `user_permissions` -- DROP TABLE IF EXISTS `user_permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `user_permissions` ( `user_id` int(11) DEFAULT NULL, `permission_id` int(11) DEFAULT NULL, KEY `permission_id` (`permission_id`), KEY `user_id` (`user_id`), CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`), CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `user_permissions` -- LOCK TABLES `user_permissions` WRITE; /*!40000 ALTER TABLE `user_permissions` DISABLE KEYS */; /*!40000 ALTER TABLE `user_permissions` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `user_preferences` -- DROP TABLE IF EXISTS `user_preferences`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `user_preferences` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `user_id` int(11) NOT NULL, `key` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `type` enum('string','int','bool','float') COLLATE utf8_unicode_ci NOT NULL, `value` varchar(255) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `user_preferences` -- LOCK TABLES `user_preferences` WRITE; /*!40000 ALTER TABLE `user_preferences` DISABLE KEYS */; /*!40000 ALTER TABLE `user_preferences` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `users` -- DROP TABLE IF EXISTS `users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `username` varchar(30) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `is_staff` tinyint(1) DEFAULT NULL, `is_active` tinyint(1) DEFAULT NULL, `is_superuser` tinyint(1) DEFAULT NULL, `last_login` datetime DEFAULT NULL, `openid` varchar(255) DEFAULT NULL, `full_name` varchar(255) DEFAULT NULL, `enable_login` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `uniq_user_email` (`email`) ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `users` -- LOCK TABLES `users` WRITE; /*!40000 ALTER TABLE `users` DISABLE KEYS */; INSERT INTO `users` VALUES (1,'2015-02-05 12:37:28','2015-02-06 09:42:07','nobody','admin@baserock.org',0,1,0,'2015-02-06 09:42:07','https://specs.openid.net/auth/2.0/identifier_select','Storyboard Monkey',1),(7,'2015-02-06 10:54:31','2015-12-09 10:00:53','samthursfield','sam.thursfield@codethink.co.uk',0,1,0,'2015-12-09 10:00:53','https://openid.baserock.org/openid/samthursfield/','Sam Thursfield',1),(8,'2015-02-06 11:26:55','2015-12-14 10:55:51','pedroalvarez','pedro.alvarez@codethink.co.uk',0,1,0,'2015-12-14 10:55:51','https://openid.baserock.org/openid/pedroalvarez/','Pedro Alvarez',1),(9,'2015-02-06 12:14:34','2015-10-26 08:29:56','jjardon','jjardon@gnome.org',0,1,0,'2015-10-26 08:29:56','https://openid.baserock.org/openid/jjardon/','Javier Jardón',1),(10,'2015-02-06 12:55:28','2015-10-07 07:50:07','franred','francisco.marchena@codethink.co.uk',0,1,0,'2015-10-07 07:50:07','https://openid.baserock.org/openid/franred/','Francisco Redondo',1),(11,'2015-02-06 12:55:46','2015-10-07 07:20:43','petefoth','pete.fotheringham@codethink.co.uk',0,1,0,'2015-10-07 07:20:43','https://openid.baserock.org/openid/petefoth/','Pete Fotheringham',1),(12,'2015-02-06 16:25:43','2015-12-08 11:14:26','mwilliams','mike.williams@codethink.co.uk',0,1,0,'2015-12-08 11:14:26','https://openid.baserock.org/openid/mwilliams/','Mike Williams',1),(13,'2015-02-06 17:03:53','2015-12-16 20:00:03','SotK','adam.coldrick@codethink.co.uk',0,1,0,'2015-12-16 20:00:03','https://openid.baserock.org/openid/SotK/','Adam Coldrick',1),(14,'2015-02-08 11:37:15','2015-10-08 16:16:34','paulsherwood','paul.sherwood@codethink.co.uk',0,1,0,'2015-10-08 16:16:34','https://openid.baserock.org/openid/paulsherwood/','Paul Sherwood',1),(15,'2015-02-11 15:24:35','2015-02-12 16:23:42','Alex','alex.hughes@codethink.co.uk',0,1,0,'2015-02-12 16:23:42','https://openid.baserock.org/openid/Alex/','Alex Hughes',1),(16,'2015-02-12 16:08:03',NULL,'edwardcragg','edward.cragg@codethink.co.uk',0,1,0,'2015-02-12 16:08:03','https://openid.baserock.org/openid/edwardcragg/','Edward Cragg',1),(17,'2015-02-23 14:36:11',NULL,'straycat','richardipsum@fastmail.co.uk',0,1,0,'2015-02-23 14:36:11','https://openid.baserock.org/openid/straycat/','Richard Ipsum',1),(18,'2015-03-20 10:41:07',NULL,'bashrc','bob.mottram@codethink.co.uk',0,1,0,'2015-03-20 10:41:07','https://openid.baserock.org/openid/bashrc/','Bob Mottram',1),(19,'2015-03-20 10:52:40',NULL,'tlsa','michael.drake@codethink.co.uk',0,1,0,'2015-03-20 10:52:40','https://openid.baserock.org/openid/tlsa/','Michael Drake',1),(20,'2015-03-27 16:45:36',NULL,'chaosmonkey','samthursfield@codethink.co.uk',0,1,0,'2015-03-27 16:45:36','https://openid.baserock.org/openid/chaosmonkey/','Chaos Monkey',1),(21,'2015-04-23 11:10:42','2015-11-16 12:43:28','Zara','zara.zaimeche@codethink.co.uk',0,1,0,'2015-11-16 12:43:28','https://openid.baserock.org/openid/Zara/','Zara Zaimeche',1),(22,'2015-04-28 09:34:12','2015-05-27 15:39:13','danielsilverstone','daniel.silverstone@codethink.co.uk',0,1,0,'2015-05-27 15:39:13','https://openid.baserock.org/openid/danielsilverstone/','Daniel Silverstone',1),(23,'2015-05-01 13:03:24',NULL,'faybrocklebank','fay.brocklebank@codethink.co.uk',0,1,0,'2015-05-01 13:03:24','https://openid.baserock.org/openid/faybrocklebank/','Fay Brocklebank',1),(24,'2015-05-20 10:49:22','2015-11-16 11:20:04','RichardMawCT','richard.maw@codethink.co.uk',0,1,0,'2015-11-16 11:20:04','https://openid.baserock.org/openid/RichardMawCT/','Richard Maw',1),(25,'2015-05-20 15:12:41','2015-11-16 12:19:58','jonathan.maw','jonathan.maw@codethink.co.uk',0,1,0,'2015-11-16 12:19:58','https://openid.baserock.org/openid/jonathan.maw/','Jonathan Maw',1),(26,'2015-05-27 10:14:41',NULL,'RichardMaw','richard.maw@gmail.com',0,1,0,'2015-05-27 10:14:41','https://openid.baserock.org/openid/RichardMaw/','Richard Maw',1),(27,'2015-06-23 15:21:50',NULL,'pdar','patrick.darley@codethink.co.uk',0,1,0,'2015-06-23 15:21:50','https://openid.baserock.org/openid/pdar/','Patrick Darley',1),(28,'2015-10-05 10:27:05','2015-12-09 08:00:56','tristanvb','tristan.vanberkom@codethink.co.uk',0,1,0,'2015-12-09 08:00:56','https://openid.baserock.org/openid/tristanvb/','Tristan Van Berkom',1),(29,'2015-12-11 09:14:47',NULL,'paulsherwood2','paulsherwood@codethink.co.uk',0,1,0,'2015-12-11 09:14:47','https://openid.baserock.org/openid/paulsherwood2/','Paul Sherwood',1); /*!40000 ALTER TABLE `users` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2017-09-26 14:12:24