All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] Upgrade to Django 1.8
@ 2015-12-08 15:31 Ed Bartosh
  2015-12-08 15:31 ` [PATCH 01/18] toaster: Upgrade to Django 1.8.6 and remove South Ed Bartosh
                   ` (18 more replies)
  0 siblings, 19 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

Hi,

This patchset upgrades Toaster to work correctly under Django 1.8.
It was tested with Django 1.8.6

Please review and submit upstream.

The following changes since commit befaceb2873ff8c8cc791d48f0324442c15cbcdc:

  toaster: return back 'New project' button (2015-12-08 13:10:33 +0200)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib ed/toaster/django_upgrade-8364
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/django_upgrade-8364

Ed Bartosh (9):
  toaster: Remove South migrations
  toaster: Fix references to app paths
  toaster: rename get_query_set -> get_queryset
  toaster: use OneToOneField instead of ForeignKey
  toaster: fixed format strings
  toaster: work around 'database is locked' error
  toaster: removed extra calls of migrate
  toaster: monkey patch Queryset
  toaster: rework check for Django version

Elliot Smith (9):
  toaster: Upgrade to Django 1.8.6 and remove South
  toaster: Create default project with get_or_create* method
  toaster: Start Django machinery for database access
  toaster: Update API used to make runbuilds methods run in transactions
  toaster: Prevent deprecation warnings for RedirectView
  toaster: Update deprecated manage.py command
  toaster: Check Django version against toaster-requirements.txt
  toaster: Remove compatible_layerversions() method
  toaster: Amend regex for MySQL database URLs

 bitbake/bin/toaster                                |  41 +-
 bitbake/lib/bb/ui/buildinfohelper.py               |  26 +-
 bitbake/lib/toaster/bldcollector/urls.py           |   1 -
 bitbake/lib/toaster/bldcontrol/bbcontroller.py     |   4 +-
 .../toaster/bldcontrol/localhostbecontroller.py    |  13 +-
 .../bldcontrol/management/commands/runbuilds.py    |   6 +-
 .../toaster/bldcontrol/migrations/0001_initial.py  | 265 +++---
 ...onment_sourcedir__add_field_buildenvironment.py | 106 ---
 .../0003_auto__add_field_brlayer_dirpath.py        |  99 ---
 .../bldcontrol/migrations/0004_loadinitialdata.py  | 104 ---
 .../migrations/0005_auto__add_brerror.py           | 112 ---
 .../migrations/0006_auto__add_brbitbake.py         | 128 ---
 ...st_environment__chg_field_buildrequest_build.py | 145 ----
 .../bldcontrol/migrations/0008_brarchive.py        | 138 ---
 .../0009_auto__add_field_brlayer_layer_version.py  | 180 ----
 bitbake/lib/toaster/bldcontrol/models.py           |   2 +-
 bitbake/lib/toaster/bldcontrol/tests.py            |   6 +-
 bitbake/lib/toaster/orm/migrations/0001_initial.py | 928 ++++++++++++---------
 .../0002_auto__add_field_build_timespent.py        | 180 ----
 .../lib/toaster/orm/migrations/0003_timespent.py   | 182 ----
 .../0004_auto__add_field_package_installed_name.py | 181 ----
 ...e__add_target_file__add_field_variablehistor.py | 281 -------
 ...ge_size__add_field_target_license_manifest_p.py | 235 ------
 .../orm/migrations/0007_auto__add_helptext.py      | 214 -----
 ...story_operation__chg_field_recipe_descriptio.py | 225 -----
 ..._add_projectlayer__add_projecttarget__add_pr.py | 286 -------
 ...anch__add_field_project_short_description__a.py | 257 ------
 .../0011_auto__add_field_projectlayer_dirpath.py   | 242 ------
 ...layer_optional__add_field_projecttarget_task.py | 252 ------
 ...erversiondependency__add_unique_layerversion.py | 710 ----------------
 ...mmary__chg_field_layer_summary__chg_field_re.py | 336 --------
 ...web_url__add_field_layer_vcs_web_tree_base_u.py | 336 --------
 ...lptext__chg_field_release_branch__add_index_.py | 359 --------
 ...faultlayer__add_releaselayersourcepriority__.py | 396 ---------
 .../0018_auto__add_field_layer_version_project.py  | 331 --------
 .../orm/migrations/0019_auto__add_buildartifact.py | 342 --------
 ...ion_local_path__add_field_recipe_pathflags__.py | 361 --------
 ...ect__chg_field_project_bitbake_version__chg_.py | 371 --------
 ...k__add_field_layer_version_local_path__del_f.py | 343 --------
 ...ings_no__del_field_build_errors_no__del_fiel.py | 353 --------
 .../0024_auto__add_field_recipe_is_image.py        | 338 --------
 .../0025_auto__add_field_project_is_default.py     | 346 --------
 .../orm/migrations/0026_set_default_project.py     | 374 ---------
 ...e__add_unique_customimagerecipe_name_project.py | 375 ---------
 .../0028_auto__chg_field_logmessage_message.py     | 345 --------
 bitbake/lib/toaster/orm/models.py                  | 107 ++-
 bitbake/lib/toaster/toastergui/urls.py             |   2 +-
 bitbake/lib/toaster/toastergui/views.py            |  24 +-
 bitbake/lib/toaster/toastermain/settings.py        |   4 +-
 bitbake/lib/toaster/toastermain/urls.py            |   2 +-
 bitbake/toaster-requirements.txt                   |   3 +-
 51 files changed, 775 insertions(+), 10222 deletions(-)
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0002_auto__add_field_buildenvironment_sourcedir__add_field_buildenvironment.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0003_auto__add_field_brlayer_dirpath.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0004_loadinitialdata.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0005_auto__add_brerror.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0006_auto__add_brbitbake.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0007_auto__add_field_buildrequest_environment__chg_field_buildrequest_build.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0008_brarchive.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0009_auto__add_field_brlayer_layer_version.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0002_auto__add_field_build_timespent.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0003_timespent.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0004_auto__add_field_package_installed_name.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0005_auto__add_target_image_file__add_target_file__add_field_variablehistor.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0006_auto__add_field_target_image_size__add_field_target_license_manifest_p.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0007_auto__add_helptext.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0008_auto__chg_field_variablehistory_operation__chg_field_recipe_descriptio.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0009_auto__add_projectvariable__add_projectlayer__add_projecttarget__add_pr.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0010_auto__add_field_project_branch__add_field_project_short_description__a.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0011_auto__add_field_projectlayer_dirpath.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0012_auto__add_field_projectlayer_optional__add_field_projecttarget_task.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0013_auto__add_release__add_layerversiondependency__add_unique_layerversion.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0014_auto__chg_field_package_summary__chg_field_layer_summary__chg_field_re.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0015_auto__add_field_layer_vcs_web_url__add_field_layer_vcs_web_tree_base_u.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0016_auto__add_field_release_helptext__chg_field_release_branch__add_index_.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0017_auto__del_toastersettingdefaultlayer__add_releaselayersourcepriority__.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0018_auto__add_field_layer_version_project.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0019_auto__add_buildartifact.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0020_auto__add_field_layer_version_local_path__add_field_recipe_pathflags__.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0021_auto__chg_field_build_project__chg_field_project_bitbake_version__chg_.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0022_auto__add_field_target_task__add_field_layer_version_local_path__del_f.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0023_auto__del_field_build_warnings_no__del_field_build_errors_no__del_fiel.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0024_auto__add_field_recipe_is_image.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0025_auto__add_field_project_is_default.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0026_set_default_project.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0027_auto__add_customimagerecipe__add_unique_customimagerecipe_name_project.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0028_auto__chg_field_logmessage_message.py

--
Regards,
Ed



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH 01/18] toaster: Upgrade to Django 1.8.6 and remove South
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 02/18] toaster: Remove South migrations Ed Bartosh
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

Upgrade Django to long-term support version.

Django now provides its own migration framework, so remove
requirement for South.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/bin/toaster                         | 8 ++------
 bitbake/lib/toaster/toastermain/settings.py | 1 -
 bitbake/toaster-requirements.txt            | 3 +--
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster
index 6d1ec05..528e17e 100755
--- a/bitbake/bin/toaster
+++ b/bitbake/bin/toaster
@@ -176,15 +176,11 @@ notify_chldexit() {
 verify_prereq() {
     # Verify prerequisites
 
-    if ! echo "import django; print (1,) == django.VERSION[0:1] and django.VERSION[1:2][0] in (6,)" | python 2>/dev/null | grep True >/dev/null; then
-        printf "This program needs Django 1.6. Please install with\n\npip install django==1.6\n"
+    if ! echo "import django; print (1,) == django.VERSION[0:1] and django.VERSION[1:2][0] in (8,)" | python 2>/dev/null | grep True >/dev/null; then
+        printf "This program needs Django 1.8. Please install with\n\npip install django<=1.8.7\n"
         return 2
     fi
 
-    if ! echo "import south; print reduce(lambda x, y: 2 if x==2 else 0 if x == 0 else y, map(lambda x: 1+cmp(x[1]-x[0],0), zip([0,8,4], map(int,south.__version__.split(\".\"))))) > 0" | python 2>/dev/null | grep True >/dev/null; then
-        printf "This program needs South 0.8.4. Please install with\n\npip install south==0.8.4\n"
-        return 2
-    fi
     return 0
 }
 
diff --git a/bitbake/lib/toaster/toastermain/settings.py b/bitbake/lib/toaster/toastermain/settings.py
index de686b2..7c559bc 100644
--- a/bitbake/lib/toaster/toastermain/settings.py
+++ b/bitbake/lib/toaster/toastermain/settings.py
@@ -276,7 +276,6 @@ INSTALLED_APPS = (
     'django.contrib.humanize',
     'bldcollector',
     'toastermain',
-    'south',
 )
 
 
diff --git a/bitbake/toaster-requirements.txt b/bitbake/toaster-requirements.txt
index 1d7d21b..5d34494 100644
--- a/bitbake/toaster-requirements.txt
+++ b/bitbake/toaster-requirements.txt
@@ -1,5 +1,4 @@
-Django==1.6
-South==0.8.4
+Django==1.8.6
 argparse==1.2.1
 wsgiref==0.1.2
 beautifulsoup4>=4.4.0
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 02/18] toaster: Remove South migrations
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
  2015-12-08 15:31 ` [PATCH 01/18] toaster: Upgrade to Django 1.8.6 and remove South Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 03/18] toaster: Fix references to app paths Ed Bartosh
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

South has been deprecated in favour of Django's own migration framework,
so remove the old South migrations and replace them with Django ones.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 .../toaster/bldcontrol/migrations/0001_initial.py  | 265 +++---
 ...onment_sourcedir__add_field_buildenvironment.py | 106 ---
 .../0003_auto__add_field_brlayer_dirpath.py        |  99 ---
 .../bldcontrol/migrations/0004_loadinitialdata.py  | 104 ---
 .../migrations/0005_auto__add_brerror.py           | 112 ---
 .../migrations/0006_auto__add_brbitbake.py         | 128 ---
 ...st_environment__chg_field_buildrequest_build.py | 145 ----
 .../bldcontrol/migrations/0008_brarchive.py        | 138 ---
 .../0009_auto__add_field_brlayer_layer_version.py  | 180 ----
 bitbake/lib/toaster/orm/migrations/0001_initial.py | 928 ++++++++++++---------
 .../0002_auto__add_field_build_timespent.py        | 180 ----
 .../lib/toaster/orm/migrations/0003_timespent.py   | 182 ----
 .../0004_auto__add_field_package_installed_name.py | 181 ----
 ...e__add_target_file__add_field_variablehistor.py | 281 -------
 ...ge_size__add_field_target_license_manifest_p.py | 235 ------
 .../orm/migrations/0007_auto__add_helptext.py      | 214 -----
 ...story_operation__chg_field_recipe_descriptio.py | 225 -----
 ..._add_projectlayer__add_projecttarget__add_pr.py | 286 -------
 ...anch__add_field_project_short_description__a.py | 257 ------
 .../0011_auto__add_field_projectlayer_dirpath.py   | 242 ------
 ...layer_optional__add_field_projecttarget_task.py | 252 ------
 ...erversiondependency__add_unique_layerversion.py | 710 ----------------
 ...mmary__chg_field_layer_summary__chg_field_re.py | 336 --------
 ...web_url__add_field_layer_vcs_web_tree_base_u.py | 336 --------
 ...lptext__chg_field_release_branch__add_index_.py | 359 --------
 ...faultlayer__add_releaselayersourcepriority__.py | 396 ---------
 .../0018_auto__add_field_layer_version_project.py  | 331 --------
 .../orm/migrations/0019_auto__add_buildartifact.py | 342 --------
 ...ion_local_path__add_field_recipe_pathflags__.py | 361 --------
 ...ect__chg_field_project_bitbake_version__chg_.py | 371 --------
 ...k__add_field_layer_version_local_path__del_f.py | 343 --------
 ...ings_no__del_field_build_errors_no__del_fiel.py | 353 --------
 .../0024_auto__add_field_recipe_is_image.py        | 338 --------
 .../0025_auto__add_field_project_is_default.py     | 346 --------
 .../orm/migrations/0026_set_default_project.py     | 374 ---------
 ...e__add_unique_customimagerecipe_name_project.py | 375 ---------
 .../0028_auto__chg_field_logmessage_message.py     | 345 --------
 37 files changed, 641 insertions(+), 10115 deletions(-)
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0002_auto__add_field_buildenvironment_sourcedir__add_field_buildenvironment.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0003_auto__add_field_brlayer_dirpath.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0004_loadinitialdata.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0005_auto__add_brerror.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0006_auto__add_brbitbake.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0007_auto__add_field_buildrequest_environment__chg_field_buildrequest_build.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0008_brarchive.py
 delete mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0009_auto__add_field_brlayer_layer_version.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0002_auto__add_field_build_timespent.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0003_timespent.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0004_auto__add_field_package_installed_name.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0005_auto__add_target_image_file__add_target_file__add_field_variablehistor.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0006_auto__add_field_target_image_size__add_field_target_license_manifest_p.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0007_auto__add_helptext.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0008_auto__chg_field_variablehistory_operation__chg_field_recipe_descriptio.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0009_auto__add_projectvariable__add_projectlayer__add_projecttarget__add_pr.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0010_auto__add_field_project_branch__add_field_project_short_description__a.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0011_auto__add_field_projectlayer_dirpath.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0012_auto__add_field_projectlayer_optional__add_field_projecttarget_task.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0013_auto__add_release__add_layerversiondependency__add_unique_layerversion.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0014_auto__chg_field_package_summary__chg_field_layer_summary__chg_field_re.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0015_auto__add_field_layer_vcs_web_url__add_field_layer_vcs_web_tree_base_u.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0016_auto__add_field_release_helptext__chg_field_release_branch__add_index_.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0017_auto__del_toastersettingdefaultlayer__add_releaselayersourcepriority__.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0018_auto__add_field_layer_version_project.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0019_auto__add_buildartifact.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0020_auto__add_field_layer_version_local_path__add_field_recipe_pathflags__.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0021_auto__chg_field_build_project__chg_field_project_bitbake_version__chg_.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0022_auto__add_field_target_task__add_field_layer_version_local_path__del_f.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0023_auto__del_field_build_warnings_no__del_field_build_errors_no__del_fiel.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0024_auto__add_field_recipe_is_image.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0025_auto__add_field_project_is_default.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0026_set_default_project.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0027_auto__add_customimagerecipe__add_unique_customimagerecipe_name_project.py
 delete mode 100644 bitbake/lib/toaster/orm/migrations/0028_auto__chg_field_logmessage_message.py

diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0001_initial.py b/bitbake/lib/toaster/bldcontrol/migrations/0001_initial.py
index a7e6350..67db378 100644
--- a/bitbake/lib/toaster/bldcontrol/migrations/0001_initial.py
+++ b/bitbake/lib/toaster/bldcontrol/migrations/0001_initial.py
@@ -1,154 +1,113 @@
 # -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'BuildEnvironment'
-        db.create_table(u'bldcontrol_buildenvironment', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('address', self.gf('django.db.models.fields.CharField')(max_length=254)),
-            ('betype', self.gf('django.db.models.fields.IntegerField')()),
-            ('bbaddress', self.gf('django.db.models.fields.CharField')(max_length=254, blank=True)),
-            ('bbport', self.gf('django.db.models.fields.IntegerField')(default=-1)),
-            ('bbtoken', self.gf('django.db.models.fields.CharField')(max_length=126, blank=True)),
-            ('bbstate', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('lock', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
-            ('updated', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
-        ))
-        db.send_create_signal(u'bldcontrol', ['BuildEnvironment'])
-
-        # Adding model 'BuildRequest'
-        db.create_table(u'bldcontrol_buildrequest', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Project'])),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'], null=True)),
-            ('state', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
-            ('updated', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
-        ))
-        db.send_create_signal(u'bldcontrol', ['BuildRequest'])
-
-        # Adding model 'BRLayer'
-        db.create_table(u'bldcontrol_brlayer', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('req', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['bldcontrol.BuildRequest'])),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('giturl', self.gf('django.db.models.fields.CharField')(max_length=254)),
-            ('commit', self.gf('django.db.models.fields.CharField')(max_length=254)),
-        ))
-        db.send_create_signal(u'bldcontrol', ['BRLayer'])
-
-        # Adding model 'BRVariable'
-        db.create_table(u'bldcontrol_brvariable', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('req', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['bldcontrol.BuildRequest'])),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('value', self.gf('django.db.models.fields.TextField')(blank=True)),
-        ))
-        db.send_create_signal(u'bldcontrol', ['BRVariable'])
-
-        # Adding model 'BRTarget'
-        db.create_table(u'bldcontrol_brtarget', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('req', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['bldcontrol.BuildRequest'])),
-            ('target', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('task', self.gf('django.db.models.fields.CharField')(max_length=100, null=True)),
-        ))
-        db.send_create_signal(u'bldcontrol', ['BRTarget'])
-
-
-    def backwards(self, orm):
-        # Deleting model 'BuildEnvironment'
-        db.delete_table(u'bldcontrol_buildenvironment')
-
-        # Deleting model 'BuildRequest'
-        db.delete_table(u'bldcontrol_buildrequest')
-
-        # Deleting model 'BRLayer'
-        db.delete_table(u'bldcontrol_brlayer')
-
-        # Deleting model 'BRVariable'
-        db.delete_table(u'bldcontrol_brvariable')
-
-        # Deleting model 'BRTarget'
-        db.delete_table(u'bldcontrol_brtarget')
-
-
-    models = {
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('orm', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='BRBitbake',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('giturl', models.CharField(max_length=254)),
+                ('commit', models.CharField(max_length=254)),
+                ('dirpath', models.CharField(max_length=254)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='BRError',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('errtype', models.CharField(max_length=100)),
+                ('errmsg', models.TextField()),
+                ('traceback', models.TextField()),
+            ],
+        ),
+        migrations.CreateModel(
+            name='BRLayer',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(max_length=100)),
+                ('giturl', models.CharField(max_length=254)),
+                ('commit', models.CharField(max_length=254)),
+                ('dirpath', models.CharField(max_length=254)),
+                ('layer_version', models.ForeignKey(to='orm.Layer_Version', null=True)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='BRTarget',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('target', models.CharField(max_length=100)),
+                ('task', models.CharField(max_length=100, null=True)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='BRVariable',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(max_length=100)),
+                ('value', models.TextField(blank=True)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='BuildEnvironment',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('address', models.CharField(max_length=254)),
+                ('betype', models.IntegerField(choices=[(0, b'local'), (1, b'ssh')])),
+                ('bbaddress', models.CharField(max_length=254, blank=True)),
+                ('bbport', models.IntegerField(default=-1)),
+                ('bbtoken', models.CharField(max_length=126, blank=True)),
+                ('bbstate', models.IntegerField(default=0, choices=[(0, b'stopped'), (1, b'started')])),
+                ('sourcedir', models.CharField(max_length=512, blank=True)),
+                ('builddir', models.CharField(max_length=512, blank=True)),
+                ('lock', models.IntegerField(default=0, choices=[(0, b'free'), (1, b'lock'), (2, b'running')])),
+                ('created', models.DateTimeField(auto_now_add=True)),
+                ('updated', models.DateTimeField(auto_now=True)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='BuildRequest',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('state', models.IntegerField(default=0, choices=[(0, b'created'), (1, b'queued'), (2, b'in progress'), (3, b'completed'), (4, b'failed'), (5, b'deleted'), (6, b'archive')])),
+                ('created', models.DateTimeField(auto_now_add=True)),
+                ('updated', models.DateTimeField(auto_now=True)),
+                ('build', models.OneToOneField(null=True, to='orm.Build')),
+                ('environment', models.ForeignKey(to='bldcontrol.BuildEnvironment', null=True)),
+                ('project', models.ForeignKey(to='orm.Project')),
+            ],
+        ),
+        migrations.AddField(
+            model_name='brvariable',
+            name='req',
+            field=models.ForeignKey(to='bldcontrol.BuildRequest'),
+        ),
+        migrations.AddField(
+            model_name='brtarget',
+            name='req',
+            field=models.ForeignKey(to='bldcontrol.BuildRequest'),
+        ),
+        migrations.AddField(
+            model_name='brlayer',
+            name='req',
+            field=models.ForeignKey(to='bldcontrol.BuildRequest'),
+        ),
+        migrations.AddField(
+            model_name='brerror',
+            name='req',
+            field=models.ForeignKey(to='bldcontrol.BuildRequest'),
+        ),
+        migrations.AddField(
+            model_name='brbitbake',
+            name='req',
+            field=models.OneToOneField(to='bldcontrol.BuildRequest'),
+        ),
+    ]
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0002_auto__add_field_buildenvironment_sourcedir__add_field_buildenvironment.py b/bitbake/lib/toaster/bldcontrol/migrations/0002_auto__add_field_buildenvironment_sourcedir__add_field_buildenvironment.py
deleted file mode 100644
index f522a50..0000000
--- a/bitbake/lib/toaster/bldcontrol/migrations/0002_auto__add_field_buildenvironment_sourcedir__add_field_buildenvironment.py
+++ /dev/null
@@ -1,106 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'BuildEnvironment.sourcedir'
-        db.add_column(u'bldcontrol_buildenvironment', 'sourcedir',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=512, blank=True),
-                      keep_default=False)
-
-        # Adding field 'BuildEnvironment.builddir'
-        db.add_column(u'bldcontrol_buildenvironment', 'builddir',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=512, blank=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'BuildEnvironment.sourcedir'
-        db.delete_column(u'bldcontrol_buildenvironment', 'sourcedir')
-
-        # Deleting field 'BuildEnvironment.builddir'
-        db.delete_column(u'bldcontrol_buildenvironment', 'builddir')
-
-
-    models = {
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0003_auto__add_field_brlayer_dirpath.py b/bitbake/lib/toaster/bldcontrol/migrations/0003_auto__add_field_brlayer_dirpath.py
deleted file mode 100644
index b9ba838..0000000
--- a/bitbake/lib/toaster/bldcontrol/migrations/0003_auto__add_field_brlayer_dirpath.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'BRLayer.dirpath'
-        db.add_column(u'bldcontrol_brlayer', 'dirpath',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=254),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'BRLayer.dirpath'
-        db.delete_column(u'bldcontrol_brlayer', 'dirpath')
-
-
-    models = {
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0004_loadinitialdata.py b/bitbake/lib/toaster/bldcontrol/migrations/0004_loadinitialdata.py
deleted file mode 100644
index d908578..0000000
--- a/bitbake/lib/toaster/bldcontrol/migrations/0004_loadinitialdata.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import DataMigration
-from django.db import models
-
-class Migration(DataMigration):
-
-    def forwards(self, orm):
-        "Write your forwards methods here."
-        # Note: Don't use "from appname.models import ModelName".
-        # Use orm.ModelName to refer to models in this application,
-        # and orm['appname.ModelName'] for models in other applications.
-        try:
-            orm.BuildEnvironment.objects.get(pk = 1)
-        except:
-            from django.utils import timezone
-            orm.BuildEnvironment.objects.create(pk = 1,
-                created = timezone.now(),
-                updated = timezone.now(),
-                betype = 0)
-
-    def backwards(self, orm):
-        "Write your backwards methods here."
-
-    models = {
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
-    symmetrical = True
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0005_auto__add_brerror.py b/bitbake/lib/toaster/bldcontrol/migrations/0005_auto__add_brerror.py
deleted file mode 100644
index 98aeb41..0000000
--- a/bitbake/lib/toaster/bldcontrol/migrations/0005_auto__add_brerror.py
+++ /dev/null
@@ -1,112 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'BRError'
-        db.create_table(u'bldcontrol_brerror', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('req', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['bldcontrol.BuildRequest'])),
-            ('errtype', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('errmsg', self.gf('django.db.models.fields.TextField')()),
-            ('traceback', self.gf('django.db.models.fields.TextField')()),
-        ))
-        db.send_create_signal(u'bldcontrol', ['BRError'])
-
-
-    def backwards(self, orm):
-        # Deleting model 'BRError'
-        db.delete_table(u'bldcontrol_brerror')
-
-
-    models = {
-        u'bldcontrol.brerror': {
-            'Meta': {'object_name': 'BRError'},
-            'errmsg': ('django.db.models.fields.TextField', [], {}),
-            'errtype': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'traceback': ('django.db.models.fields.TextField', [], {})
-        },
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0006_auto__add_brbitbake.py b/bitbake/lib/toaster/bldcontrol/migrations/0006_auto__add_brbitbake.py
deleted file mode 100644
index 74388f8..0000000
--- a/bitbake/lib/toaster/bldcontrol/migrations/0006_auto__add_brbitbake.py
+++ /dev/null
@@ -1,128 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'BRBitbake'
-        db.create_table(u'bldcontrol_brbitbake', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('req', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['bldcontrol.BuildRequest'], unique=True)),
-            ('giturl', self.gf('django.db.models.fields.CharField')(max_length=254)),
-            ('commit', self.gf('django.db.models.fields.CharField')(max_length=254)),
-            ('dirpath', self.gf('django.db.models.fields.CharField')(max_length=254)),
-        ))
-        db.send_create_signal(u'bldcontrol', ['BRBitbake'])
-
-
-    def backwards(self, orm):
-        # Deleting model 'BRBitbake'
-        db.delete_table(u'bldcontrol_brbitbake')
-
-
-    models = {
-        u'bldcontrol.brbitbake': {
-            'Meta': {'object_name': 'BRBitbake'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']", 'unique': 'True'})
-        },
-        u'bldcontrol.brerror': {
-            'Meta': {'object_name': 'BRError'},
-            'errmsg': ('django.db.models.fields.TextField', [], {}),
-            'errtype': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'traceback': ('django.db.models.fields.TextField', [], {})
-        },
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0007_auto__add_field_buildrequest_environment__chg_field_buildrequest_build.py b/bitbake/lib/toaster/bldcontrol/migrations/0007_auto__add_field_buildrequest_environment__chg_field_buildrequest_build.py
deleted file mode 100644
index 70677a2..0000000
--- a/bitbake/lib/toaster/bldcontrol/migrations/0007_auto__add_field_buildrequest_environment__chg_field_buildrequest_build.py
+++ /dev/null
@@ -1,145 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'BuildRequest.environment'
-        db.add_column(u'bldcontrol_buildrequest', 'environment',
-                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['bldcontrol.BuildEnvironment'], null=True),
-                      keep_default=False)
-
-
-        # Changing field 'BuildRequest.build'
-        db.alter_column(u'bldcontrol_buildrequest', 'build_id', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['orm.Build'], unique=True, null=True))
-        # Adding unique constraint on 'BuildRequest', fields ['build']
-        db.create_unique(u'bldcontrol_buildrequest', ['build_id'])
-
-
-    def backwards(self, orm):
-        # Removing unique constraint on 'BuildRequest', fields ['build']
-        db.delete_unique(u'bldcontrol_buildrequest', ['build_id'])
-
-        # Deleting field 'BuildRequest.environment'
-        db.delete_column(u'bldcontrol_buildrequest', 'environment_id')
-
-
-        # Changing field 'BuildRequest.build'
-        db.alter_column(u'bldcontrol_buildrequest', 'build_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'], null=True))
-
-    models = {
-        u'bldcontrol.brbitbake': {
-            'Meta': {'object_name': 'BRBitbake'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']", 'unique': 'True'})
-        },
-        u'bldcontrol.brerror': {
-            'Meta': {'object_name': 'BRError'},
-            'errmsg': ('django.db.models.fields.TextField', [], {}),
-            'errtype': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'traceback': ('django.db.models.fields.TextField', [], {})
-        },
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['orm.Build']", 'unique': 'True', 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'environment': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildEnvironment']", 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0008_brarchive.py b/bitbake/lib/toaster/bldcontrol/migrations/0008_brarchive.py
deleted file mode 100644
index f546960..0000000
--- a/bitbake/lib/toaster/bldcontrol/migrations/0008_brarchive.py
+++ /dev/null
@@ -1,138 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import DataMigration
-from django.db import models
-
-class Migration(DataMigration):
-    # ids that cannot be imported from BuildRequest
-
-    def forwards(self, orm):
-        REQ_COMPLETED = 3
-        REQ_ARCHIVE = 6
-        "Write your forwards methods here."
-        # Note: Don't use "from appname.models import ModelName".
-        # Use orm.ModelName to refer to models in this application,
-        # and orm['appname.ModelName'] for models in other applications.
-        orm.BuildRequest.objects.filter(state=REQ_COMPLETED).update(state=REQ_ARCHIVE)
-
-    def backwards(self, orm):
-        REQ_COMPLETED = 3
-        REQ_ARCHIVE = 6
-        "Write your backwards methods here."
-        orm.BuildRequest.objects.filter(state=REQ_ARCHIVE).update(state=REQ_COMPLETED)
-
-    models = {
-        u'bldcontrol.brbitbake': {
-            'Meta': {'object_name': 'BRBitbake'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']", 'unique': 'True'})
-        },
-        u'bldcontrol.brerror': {
-            'Meta': {'object_name': 'BRError'},
-            'errmsg': ('django.db.models.fields.TextField', [], {}),
-            'errtype': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'traceback': ('django.db.models.fields.TextField', [], {})
-        },
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['orm.Build']", 'unique': 'True', 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'environment': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildEnvironment']", 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
-    symmetrical = True
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0009_auto__add_field_brlayer_layer_version.py b/bitbake/lib/toaster/bldcontrol/migrations/0009_auto__add_field_brlayer_layer_version.py
deleted file mode 100644
index 9b50bc1..0000000
--- a/bitbake/lib/toaster/bldcontrol/migrations/0009_auto__add_field_brlayer_layer_version.py
+++ /dev/null
@@ -1,180 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'BRLayer.layer_version'
-        db.add_column(u'bldcontrol_brlayer', 'layer_version',
-                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer_Version'], null=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'BRLayer.layer_version'
-        db.delete_column(u'bldcontrol_brlayer', 'layer_version_id')
-
-
-    models = {
-        u'bldcontrol.brbitbake': {
-            'Meta': {'object_name': 'BRBitbake'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']", 'unique': 'True'})
-        },
-        u'bldcontrol.brerror': {
-            'Meta': {'object_name': 'BRError'},
-            'errmsg': ('django.db.models.fields.TextField', [], {}),
-            'errtype': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'traceback': ('django.db.models.fields.TextField', [], {})
-        },
-        u'bldcontrol.brlayer': {
-            'Meta': {'object_name': 'BRLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
-        },
-        u'bldcontrol.brtarget': {
-            'Meta': {'object_name': 'BRTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'bldcontrol.brvariable': {
-            'Meta': {'object_name': 'BRVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'bldcontrol.buildenvironment': {
-            'Meta': {'object_name': 'BuildEnvironment'},
-            'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
-            'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
-            'betype': ('django.db.models.fields.IntegerField', [], {}),
-            'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'bldcontrol.buildrequest': {
-            'Meta': {'object_name': 'BuildRequest'},
-            'build': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['orm.Build']", 'unique': 'True', 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'environment': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildEnvironment']", 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        }
-    }
-
-    complete_apps = ['bldcontrol']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0001_initial.py b/bitbake/lib/toaster/orm/migrations/0001_initial.py
index dedeef8..27fd057 100644
--- a/bitbake/lib/toaster/orm/migrations/0001_initial.py
+++ b/bitbake/lib/toaster/orm/migrations/0001_initial.py
@@ -1,400 +1,530 @@
 # -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'Build'
-        db.create_table(u'orm_build', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('machine', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('image_fstypes', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('distro', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('distro_version', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('started_on', self.gf('django.db.models.fields.DateTimeField')()),
-            ('completed_on', self.gf('django.db.models.fields.DateTimeField')()),
-            ('outcome', self.gf('django.db.models.fields.IntegerField')(default=2)),
-            ('errors_no', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('warnings_no', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('cooker_log_path', self.gf('django.db.models.fields.CharField')(max_length=500)),
-            ('build_name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('bitbake_version', self.gf('django.db.models.fields.CharField')(max_length=50)),
-        ))
-        db.send_create_signal(u'orm', ['Build'])
-
-        # Adding model 'Target'
-        db.create_table(u'orm_target', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'])),
-            ('target', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('is_image', self.gf('django.db.models.fields.BooleanField')(default=False)),
-            ('file_name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('file_size', self.gf('django.db.models.fields.IntegerField')()),
-        ))
-        db.send_create_signal(u'orm', ['Target'])
-
-        # Adding model 'Task'
-        db.create_table(u'orm_task', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(related_name='task_build', to=orm['orm.Build'])),
-            ('order', self.gf('django.db.models.fields.IntegerField')(null=True)),
-            ('task_executed', self.gf('django.db.models.fields.BooleanField')(default=False)),
-            ('outcome', self.gf('django.db.models.fields.IntegerField')(default=5)),
-            ('sstate_checksum', self.gf('django.db.models.fields.CharField')(max_length=100, blank=True)),
-            ('path_to_sstate_obj', self.gf('django.db.models.fields.FilePathField')(max_length=500, blank=True)),
-            ('recipe', self.gf('django.db.models.fields.related.ForeignKey')(related_name='build_recipe', to=orm['orm.Recipe'])),
-            ('task_name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('source_url', self.gf('django.db.models.fields.FilePathField')(max_length=255, blank=True)),
-            ('work_directory', self.gf('django.db.models.fields.FilePathField')(max_length=255, blank=True)),
-            ('script_type', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('line_number', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('disk_io', self.gf('django.db.models.fields.IntegerField')(null=True)),
-            ('cpu_usage', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=6, decimal_places=2)),
-            ('elapsed_time', self.gf('django.db.models.fields.CharField')(default=0, max_length=50)),
-            ('sstate_result', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('message', self.gf('django.db.models.fields.CharField')(max_length=240)),
-            ('logfile', self.gf('django.db.models.fields.FilePathField')(max_length=255, blank=True)),
-        ))
-        db.send_create_signal(u'orm', ['Task'])
-
-        # Adding model 'Task_Dependency'
-        db.create_table(u'orm_task_dependency', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('task', self.gf('django.db.models.fields.related.ForeignKey')(related_name='task_dependencies_task', to=orm['orm.Task'])),
-            ('depends_on', self.gf('django.db.models.fields.related.ForeignKey')(related_name='task_dependencies_depends', to=orm['orm.Task'])),
-        ))
-        db.send_create_signal(u'orm', ['Task_Dependency'])
-
-        # Adding model 'Package'
-        db.create_table(u'orm_package', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'])),
-            ('recipe', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Recipe'], null=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('version', self.gf('django.db.models.fields.CharField')(max_length=100, blank=True)),
-            ('revision', self.gf('django.db.models.fields.CharField')(max_length=32, blank=True)),
-            ('summary', self.gf('django.db.models.fields.CharField')(max_length=200, blank=True)),
-            ('description', self.gf('django.db.models.fields.CharField')(max_length=200, blank=True)),
-            ('size', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('installed_size', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('section', self.gf('django.db.models.fields.CharField')(max_length=80, blank=True)),
-            ('license', self.gf('django.db.models.fields.CharField')(max_length=80, blank=True)),
-        ))
-        db.send_create_signal(u'orm', ['Package'])
-
-        # Adding model 'Package_Dependency'
-        db.create_table(u'orm_package_dependency', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('package', self.gf('django.db.models.fields.related.ForeignKey')(related_name='package_dependencies_source', to=orm['orm.Package'])),
-            ('depends_on', self.gf('django.db.models.fields.related.ForeignKey')(related_name='package_dependencies_target', to=orm['orm.Package'])),
-            ('dep_type', self.gf('django.db.models.fields.IntegerField')()),
-            ('target', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Target'], null=True)),
-        ))
-        db.send_create_signal(u'orm', ['Package_Dependency'])
-
-        # Adding model 'Target_Installed_Package'
-        db.create_table(u'orm_target_installed_package', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('target', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Target'])),
-            ('package', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Package'])),
-        ))
-        db.send_create_signal(u'orm', ['Target_Installed_Package'])
-
-        # Adding model 'Package_File'
-        db.create_table(u'orm_package_file', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('package', self.gf('django.db.models.fields.related.ForeignKey')(related_name='buildfilelist_package', to=orm['orm.Package'])),
-            ('path', self.gf('django.db.models.fields.FilePathField')(max_length=255, blank=True)),
-            ('size', self.gf('django.db.models.fields.IntegerField')()),
-        ))
-        db.send_create_signal(u'orm', ['Package_File'])
-
-        # Adding model 'Recipe'
-        db.create_table(u'orm_recipe', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100, blank=True)),
-            ('version', self.gf('django.db.models.fields.CharField')(max_length=100, blank=True)),
-            ('layer_version', self.gf('django.db.models.fields.related.ForeignKey')(related_name='recipe_layer_version', to=orm['orm.Layer_Version'])),
-            ('summary', self.gf('django.db.models.fields.CharField')(max_length=100, blank=True)),
-            ('description', self.gf('django.db.models.fields.CharField')(max_length=100, blank=True)),
-            ('section', self.gf('django.db.models.fields.CharField')(max_length=100, blank=True)),
-            ('license', self.gf('django.db.models.fields.CharField')(max_length=200, blank=True)),
-            ('licensing_info', self.gf('django.db.models.fields.TextField')(blank=True)),
-            ('homepage', self.gf('django.db.models.fields.URLField')(max_length=200, blank=True)),
-            ('bugtracker', self.gf('django.db.models.fields.URLField')(max_length=200, blank=True)),
-            ('file_path', self.gf('django.db.models.fields.FilePathField')(max_length=255)),
-        ))
-        db.send_create_signal(u'orm', ['Recipe'])
-
-        # Adding model 'Recipe_Dependency'
-        db.create_table(u'orm_recipe_dependency', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('recipe', self.gf('django.db.models.fields.related.ForeignKey')(related_name='r_dependencies_recipe', to=orm['orm.Recipe'])),
-            ('depends_on', self.gf('django.db.models.fields.related.ForeignKey')(related_name='r_dependencies_depends', to=orm['orm.Recipe'])),
-            ('dep_type', self.gf('django.db.models.fields.IntegerField')()),
-        ))
-        db.send_create_signal(u'orm', ['Recipe_Dependency'])
-
-        # Adding model 'Layer'
-        db.create_table(u'orm_layer', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('local_path', self.gf('django.db.models.fields.FilePathField')(max_length=255)),
-            ('layer_index_url', self.gf('django.db.models.fields.URLField')(max_length=200)),
-        ))
-        db.send_create_signal(u'orm', ['Layer'])
-
-        # Adding model 'Layer_Version'
-        db.create_table(u'orm_layer_version', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(related_name='layer_version_build', to=orm['orm.Build'])),
-            ('layer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='layer_version_layer', to=orm['orm.Layer'])),
-            ('branch', self.gf('django.db.models.fields.CharField')(max_length=50)),
-            ('commit', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('priority', self.gf('django.db.models.fields.IntegerField')()),
-        ))
-        db.send_create_signal(u'orm', ['Layer_Version'])
-
-        # Adding model 'Variable'
-        db.create_table(u'orm_variable', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(related_name='variable_build', to=orm['orm.Build'])),
-            ('variable_name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('variable_value', self.gf('django.db.models.fields.TextField')(blank=True)),
-            ('changed', self.gf('django.db.models.fields.BooleanField')(default=False)),
-            ('human_readable_name', self.gf('django.db.models.fields.CharField')(max_length=200)),
-            ('description', self.gf('django.db.models.fields.TextField')(blank=True)),
-        ))
-        db.send_create_signal(u'orm', ['Variable'])
-
-        # Adding model 'VariableHistory'
-        db.create_table(u'orm_variablehistory', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('variable', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Variable'])),
-            ('file_name', self.gf('django.db.models.fields.FilePathField')(max_length=255)),
-            ('line_number', self.gf('django.db.models.fields.IntegerField')(null=True)),
-            ('operation', self.gf('django.db.models.fields.CharField')(max_length=16)),
-        ))
-        db.send_create_signal(u'orm', ['VariableHistory'])
-
-        # Adding model 'LogMessage'
-        db.create_table(u'orm_logmessage', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'])),
-            ('level', self.gf('django.db.models.fields.IntegerField')(default=0)),
-            ('message', self.gf('django.db.models.fields.CharField')(max_length=240)),
-            ('pathname', self.gf('django.db.models.fields.FilePathField')(max_length=255, blank=True)),
-            ('lineno', self.gf('django.db.models.fields.IntegerField')(null=True)),
-        ))
-        db.send_create_signal(u'orm', ['LogMessage'])
-
-
-    def backwards(self, orm):
-        # Deleting model 'Build'
-        db.delete_table(u'orm_build')
-
-        # Deleting model 'Target'
-        db.delete_table(u'orm_target')
-
-        # Deleting model 'Task'
-        db.delete_table(u'orm_task')
-
-        # Deleting model 'Task_Dependency'
-        db.delete_table(u'orm_task_dependency')
-
-        # Deleting model 'Package'
-        db.delete_table(u'orm_package')
-
-        # Deleting model 'Package_Dependency'
-        db.delete_table(u'orm_package_dependency')
-
-        # Deleting model 'Target_Installed_Package'
-        db.delete_table(u'orm_target_installed_package')
-
-        # Deleting model 'Package_File'
-        db.delete_table(u'orm_package_file')
-
-        # Deleting model 'Recipe'
-        db.delete_table(u'orm_recipe')
-
-        # Deleting model 'Recipe_Dependency'
-        db.delete_table(u'orm_recipe_dependency')
-
-        # Deleting model 'Layer'
-        db.delete_table(u'orm_layer')
-
-        # Deleting model 'Layer_Version'
-        db.delete_table(u'orm_layer_version')
-
-        # Deleting model 'Variable'
-        db.delete_table(u'orm_variable')
-
-        # Deleting model 'VariableHistory'
-        db.delete_table(u'orm_variablehistory')
-
-        # Deleting model 'LogMessage'
-        db.delete_table(u'orm_logmessage')
-
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_fstypes': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'licensing_info': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.CharField', [], {'default': '0', 'max_length': '50'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '5'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='BitbakeVersion',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(unique=True, max_length=32)),
+                ('giturl', models.URLField()),
+                ('branch', models.CharField(max_length=32)),
+                ('dirpath', models.CharField(max_length=255)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Branch',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('up_id', models.IntegerField(default=None, null=True)),
+                ('up_date', models.DateTimeField(default=None, null=True)),
+                ('name', models.CharField(max_length=50)),
+                ('short_description', models.CharField(max_length=50, blank=True)),
+            ],
+            options={
+                'verbose_name_plural': 'Branches',
+            },
+        ),
+        migrations.CreateModel(
+            name='Build',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('machine', models.CharField(max_length=100)),
+                ('distro', models.CharField(max_length=100)),
+                ('distro_version', models.CharField(max_length=100)),
+                ('started_on', models.DateTimeField()),
+                ('completed_on', models.DateTimeField()),
+                ('outcome', models.IntegerField(default=2, choices=[(0, b'Succeeded'), (1, b'Failed'), (2, b'In Progress')])),
+                ('cooker_log_path', models.CharField(max_length=500)),
+                ('build_name', models.CharField(max_length=100)),
+                ('bitbake_version', models.CharField(max_length=50)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='BuildArtifact',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('file_name', models.FilePathField()),
+                ('file_size', models.IntegerField()),
+                ('build', models.ForeignKey(to='orm.Build')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='CustomImageRecipe',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(max_length=100)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='HelpText',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('area', models.IntegerField(choices=[(0, b'variable')])),
+                ('key', models.CharField(max_length=100)),
+                ('text', models.TextField()),
+                ('build', models.ForeignKey(related_name='helptext_build', to='orm.Build')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Layer',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('up_id', models.IntegerField(default=None, null=True)),
+                ('up_date', models.DateTimeField(default=None, null=True)),
+                ('name', models.CharField(max_length=100)),
+                ('layer_index_url', models.URLField()),
+                ('vcs_url', models.URLField(default=None, null=True)),
+                ('vcs_web_url', models.URLField(default=None, null=True)),
+                ('vcs_web_tree_base_url', models.URLField(default=None, null=True)),
+                ('vcs_web_file_base_url', models.URLField(default=None, null=True)),
+                ('summary', models.TextField(default=None, help_text=b'One-line description of the layer', null=True)),
+                ('description', models.TextField(default=None, null=True)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Layer_Version',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('up_id', models.IntegerField(default=None, null=True)),
+                ('up_date', models.DateTimeField(default=None, null=True)),
+                ('branch', models.CharField(max_length=80)),
+                ('commit', models.CharField(max_length=100)),
+                ('dirpath', models.CharField(default=None, max_length=255, null=True)),
+                ('priority', models.IntegerField(default=0)),
+                ('local_path', models.FilePathField(default=b'/', max_length=1024)),
+                ('build', models.ForeignKey(related_name='layer_version_build', default=None, to='orm.Build', null=True)),
+                ('layer', models.ForeignKey(related_name='layer_version_layer', to='orm.Layer')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='LayerSource',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(unique=True, max_length=63)),
+                ('sourcetype', models.IntegerField(choices=[(0, b'local'), (1, b'layerindex'), (2, b'imported')])),
+                ('apiurl', models.CharField(default=None, max_length=255, null=True)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='LayerVersionDependency',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('up_id', models.IntegerField(default=None, null=True)),
+                ('depends_on', models.ForeignKey(related_name='dependees', to='orm.Layer_Version')),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
+                ('layer_version', models.ForeignKey(related_name='dependencies', to='orm.Layer_Version')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='LogMessage',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('level', models.IntegerField(default=0, choices=[(0, b'info'), (1, b'warn'), (2, b'error'), (3, b'critical'), (-1, b'toaster exception')])),
+                ('message', models.TextField(null=True, blank=True)),
+                ('pathname', models.FilePathField(max_length=255, blank=True)),
+                ('lineno', models.IntegerField(null=True)),
+                ('build', models.ForeignKey(to='orm.Build')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Machine',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('up_id', models.IntegerField(default=None, null=True)),
+                ('up_date', models.DateTimeField(default=None, null=True)),
+                ('name', models.CharField(max_length=255)),
+                ('description', models.CharField(max_length=255)),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
+                ('layer_version', models.ForeignKey(to='orm.Layer_Version')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Package',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(max_length=100)),
+                ('installed_name', models.CharField(default=b'', max_length=100)),
+                ('version', models.CharField(max_length=100, blank=True)),
+                ('revision', models.CharField(max_length=32, blank=True)),
+                ('summary', models.TextField(blank=True)),
+                ('description', models.TextField(blank=True)),
+                ('size', models.IntegerField(default=0)),
+                ('installed_size', models.IntegerField(default=0)),
+                ('section', models.CharField(max_length=80, blank=True)),
+                ('license', models.CharField(max_length=80, blank=True)),
+                ('build', models.ForeignKey(to='orm.Build', null=True)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Package_Dependency',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'depends'), (3, b'recommends'), (2, b'recommends'), (4, b'suggests'), (5, b'provides'), (6, b'replaces'), (7, b'conflicts')])),
+                ('depends_on', models.ForeignKey(related_name='package_dependencies_target', to='orm.Package')),
+                ('package', models.ForeignKey(related_name='package_dependencies_source', to='orm.Package')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Package_File',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('path', models.FilePathField(max_length=255, blank=True)),
+                ('size', models.IntegerField()),
+                ('package', models.ForeignKey(related_name='buildfilelist_package', to='orm.Package')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Project',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(max_length=100)),
+                ('short_description', models.CharField(max_length=50, blank=True)),
+                ('created', models.DateTimeField(auto_now_add=True)),
+                ('updated', models.DateTimeField(auto_now=True)),
+                ('user_id', models.IntegerField(null=True)),
+                ('is_default', models.BooleanField(default=False)),
+                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', null=True)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='ProjectLayer',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('optional', models.BooleanField(default=True)),
+                ('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True)),
+                ('project', models.ForeignKey(to='orm.Project')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='ProjectTarget',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('target', models.CharField(max_length=100)),
+                ('task', models.CharField(max_length=100, null=True)),
+                ('project', models.ForeignKey(to='orm.Project')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='ProjectVariable',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(max_length=100)),
+                ('value', models.TextField(blank=True)),
+                ('project', models.ForeignKey(to='orm.Project')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Recipe',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('up_id', models.IntegerField(default=None, null=True)),
+                ('up_date', models.DateTimeField(default=None, null=True)),
+                ('name', models.CharField(max_length=100, blank=True)),
+                ('version', models.CharField(max_length=100, blank=True)),
+                ('summary', models.TextField(blank=True)),
+                ('description', models.TextField(blank=True)),
+                ('section', models.CharField(max_length=100, blank=True)),
+                ('license', models.CharField(max_length=200, blank=True)),
+                ('homepage', models.URLField(blank=True)),
+                ('bugtracker', models.URLField(blank=True)),
+                ('file_path', models.FilePathField(max_length=255)),
+                ('pathflags', models.CharField(max_length=200, blank=True)),
+                ('is_image', models.BooleanField(default=False)),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
+                ('layer_version', models.ForeignKey(related_name='recipe_layer_version', to='orm.Layer_Version')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Recipe_Dependency',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'rdepends')])),
+                ('depends_on', models.ForeignKey(related_name='r_dependencies_depends', to='orm.Recipe')),
+                ('recipe', models.ForeignKey(related_name='r_dependencies_recipe', to='orm.Recipe')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Release',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(unique=True, max_length=32)),
+                ('description', models.CharField(max_length=255)),
+                ('branch_name', models.CharField(default=b'', max_length=50)),
+                ('helptext', models.TextField(null=True)),
+                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='ReleaseDefaultLayer',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('layer_name', models.CharField(default=b'', max_length=100)),
+                ('release', models.ForeignKey(to='orm.Release')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='ReleaseLayerSourcePriority',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('priority', models.IntegerField(default=0)),
+                ('layer_source', models.ForeignKey(to='orm.LayerSource')),
+                ('release', models.ForeignKey(to='orm.Release')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Target',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('target', models.CharField(max_length=100)),
+                ('task', models.CharField(max_length=100, null=True)),
+                ('is_image', models.BooleanField(default=False)),
+                ('image_size', models.IntegerField(default=0)),
+                ('license_manifest_path', models.CharField(max_length=500, null=True)),
+                ('build', models.ForeignKey(to='orm.Build')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Target_File',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('path', models.FilePathField()),
+                ('size', models.IntegerField()),
+                ('inodetype', models.IntegerField(choices=[(1, b'regular'), (2, b'directory'), (3, b'symlink'), (4, b'socket'), (5, b'fifo'), (6, b'character'), (7, b'block')])),
+                ('permission', models.CharField(max_length=16)),
+                ('owner', models.CharField(max_length=128)),
+                ('group', models.CharField(max_length=128)),
+                ('directory', models.ForeignKey(related_name='directory_set', to='orm.Target_File', null=True)),
+                ('sym_target', models.ForeignKey(related_name='symlink_set', to='orm.Target_File', null=True)),
+                ('target', models.ForeignKey(to='orm.Target')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Target_Image_File',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('file_name', models.FilePathField(max_length=254)),
+                ('file_size', models.IntegerField()),
+                ('target', models.ForeignKey(to='orm.Target')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Target_Installed_Package',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package')),
+                ('target', models.ForeignKey(to='orm.Target')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Task',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('order', models.IntegerField(null=True)),
+                ('task_executed', models.BooleanField(default=False)),
+                ('outcome', models.IntegerField(default=-1, choices=[(-1, b'Not Available'), (0, b'Succeeded'), (1, b'Covered'), (2, b'Cached'), (3, b'Prebuilt'), (4, b'Failed'), (5, b'Empty')])),
+                ('sstate_checksum', models.CharField(max_length=100, blank=True)),
+                ('path_to_sstate_obj', models.FilePathField(max_length=500, blank=True)),
+                ('task_name', models.CharField(max_length=100)),
+                ('source_url', models.FilePathField(max_length=255, blank=True)),
+                ('work_directory', models.FilePathField(max_length=255, blank=True)),
+                ('script_type', models.IntegerField(default=0, choices=[(0, b'N/A'), (2, b'Python'), (3, b'Shell')])),
+                ('line_number', models.IntegerField(default=0)),
+                ('disk_io', models.IntegerField(null=True)),
+                ('cpu_usage', models.DecimalField(null=True, max_digits=8, decimal_places=2)),
+                ('elapsed_time', models.DecimalField(null=True, max_digits=8, decimal_places=2)),
+                ('sstate_result', models.IntegerField(default=0, choices=[(0, b'Not Applicable'), (1, b'File not in cache'), (2, b'Failed'), (3, b'Succeeded')])),
+                ('message', models.CharField(max_length=240)),
+                ('logfile', models.FilePathField(max_length=255, blank=True)),
+                ('build', models.ForeignKey(related_name='task_build', to='orm.Build')),
+                ('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe')),
+            ],
+            options={
+                'ordering': ('order', 'recipe'),
+            },
+        ),
+        migrations.CreateModel(
+            name='Task_Dependency',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('depends_on', models.ForeignKey(related_name='task_dependencies_depends', to='orm.Task')),
+                ('task', models.ForeignKey(related_name='task_dependencies_task', to='orm.Task')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='ToasterSetting',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('name', models.CharField(max_length=63)),
+                ('helptext', models.TextField()),
+                ('value', models.CharField(max_length=255)),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Variable',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('variable_name', models.CharField(max_length=100)),
+                ('variable_value', models.TextField(blank=True)),
+                ('changed', models.BooleanField(default=False)),
+                ('human_readable_name', models.CharField(max_length=200)),
+                ('description', models.TextField(blank=True)),
+                ('build', models.ForeignKey(related_name='variable_build', to='orm.Build')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='VariableHistory',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('value', models.TextField(blank=True)),
+                ('file_name', models.FilePathField(max_length=255)),
+                ('line_number', models.IntegerField(null=True)),
+                ('operation', models.CharField(max_length=64)),
+                ('variable', models.ForeignKey(related_name='vhistory', to='orm.Variable')),
+            ],
+        ),
+        migrations.AddField(
+            model_name='project',
+            name='release',
+            field=models.ForeignKey(to='orm.Release', null=True),
+        ),
+        migrations.AddField(
+            model_name='package_dependency',
+            name='target',
+            field=models.ForeignKey(to='orm.Target', null=True),
+        ),
+        migrations.AddField(
+            model_name='package',
+            name='recipe',
+            field=models.ForeignKey(to='orm.Recipe', null=True),
+        ),
+        migrations.AddField(
+            model_name='logmessage',
+            name='task',
+            field=models.ForeignKey(blank=True, to='orm.Task', null=True),
+        ),
+        migrations.AlterUniqueTogether(
+            name='layersource',
+            unique_together=set([('sourcetype', 'apiurl')]),
+        ),
+        migrations.AddField(
+            model_name='layer_version',
+            name='layer_source',
+            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True),
+        ),
+        migrations.AddField(
+            model_name='layer_version',
+            name='project',
+            field=models.ForeignKey(default=None, to='orm.Project', null=True),
+        ),
+        migrations.AddField(
+            model_name='layer_version',
+            name='up_branch',
+            field=models.ForeignKey(default=None, to='orm.Branch', null=True),
+        ),
+        migrations.AddField(
+            model_name='layer',
+            name='layer_source',
+            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True),
+        ),
+        migrations.AddField(
+            model_name='customimagerecipe',
+            name='base_recipe',
+            field=models.ForeignKey(to='orm.Recipe'),
+        ),
+        migrations.AddField(
+            model_name='customimagerecipe',
+            name='packages',
+            field=models.ManyToManyField(to='orm.Package'),
+        ),
+        migrations.AddField(
+            model_name='customimagerecipe',
+            name='project',
+            field=models.ForeignKey(to='orm.Project'),
+        ),
+        migrations.AddField(
+            model_name='build',
+            name='project',
+            field=models.ForeignKey(to='orm.Project'),
+        ),
+        migrations.AddField(
+            model_name='branch',
+            name='layer_source',
+            field=models.ForeignKey(default=True, to='orm.LayerSource', null=True),
+        ),
+        migrations.CreateModel(
+            name='ImportedLayerSource',
+            fields=[
+            ],
+            options={
+                'proxy': True,
+            },
+            bases=('orm.layersource',),
+        ),
+        migrations.CreateModel(
+            name='LayerIndexLayerSource',
+            fields=[
+            ],
+            options={
+                'proxy': True,
+            },
+            bases=('orm.layersource',),
+        ),
+        migrations.CreateModel(
+            name='LocalLayerSource',
+            fields=[
+            ],
+            options={
+                'proxy': True,
+            },
+            bases=('orm.layersource',),
+        ),
+        migrations.AlterUniqueTogether(
+            name='task',
+            unique_together=set([('build', 'recipe', 'task_name')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='releaselayersourcepriority',
+            unique_together=set([('release', 'layer_source')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='recipe',
+            unique_together=set([('layer_version', 'file_path', 'pathflags')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='projectlayer',
+            unique_together=set([('project', 'layercommit')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='machine',
+            unique_together=set([('layer_source', 'up_id')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='layerversiondependency',
+            unique_together=set([('layer_source', 'up_id')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='layer_version',
+            unique_together=set([('layer_source', 'up_id')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='layer',
+            unique_together=set([('layer_source', 'up_id'), ('layer_source', 'name')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='customimagerecipe',
+            unique_together=set([('name', 'project')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='branch',
+            unique_together=set([('layer_source', 'up_id'), ('layer_source', 'name')]),
+        ),
+    ]
diff --git a/bitbake/lib/toaster/orm/migrations/0002_auto__add_field_build_timespent.py b/bitbake/lib/toaster/orm/migrations/0002_auto__add_field_build_timespent.py
deleted file mode 100644
index 61421ca..0000000
--- a/bitbake/lib/toaster/orm/migrations/0002_auto__add_field_build_timespent.py
+++ /dev/null
@@ -1,180 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Build.timespent'
-        db.add_column(u'orm_build', 'timespent',
-                      self.gf('django.db.models.fields.IntegerField')(default=0),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Build.timespent'
-        db.delete_column(u'orm_build', 'timespent')
-
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_fstypes': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'licensing_info': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.CharField', [], {'default': '0', 'max_length': '50'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '5'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0003_timespent.py b/bitbake/lib/toaster/orm/migrations/0003_timespent.py
deleted file mode 100644
index 9600f9e..0000000
--- a/bitbake/lib/toaster/orm/migrations/0003_timespent.py
+++ /dev/null
@@ -1,182 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import DataMigration
-from django.db import models
-
-class Migration(DataMigration):
-
-    def forwards(self, orm):
-        "Write your forwards methods here."
-        # Note: Don't use "from appname.models import ModelName".
-        # Use orm.ModelName to refer to models in this application,
-        # and orm['appname.ModelName'] for models in other applications.
-
-        for build in orm.Build.objects.all():
-            build.timespent = int((build.completed_on - build.started_on).total_seconds())
-            build.save()
-
-    def backwards(self, orm):
-        "Write your backwards methods here."
-        raise RuntimeError("Cannot reverse this migration.")
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_fstypes': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'licensing_info': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.CharField', [], {'default': '0', 'max_length': '50'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '5'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
-    symmetrical = True
diff --git a/bitbake/lib/toaster/orm/migrations/0004_auto__add_field_package_installed_name.py b/bitbake/lib/toaster/orm/migrations/0004_auto__add_field_package_installed_name.py
deleted file mode 100644
index 134445b..0000000
--- a/bitbake/lib/toaster/orm/migrations/0004_auto__add_field_package_installed_name.py
+++ /dev/null
@@ -1,181 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Package.installed_name'
-        db.add_column(u'orm_package', 'installed_name',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=100),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Package.installed_name'
-        db.delete_column(u'orm_package', 'installed_name')
-
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_fstypes': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'licensing_info': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.CharField', [], {'default': '0', 'max_length': '50'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '5'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0005_auto__add_target_image_file__add_target_file__add_field_variablehistor.py b/bitbake/lib/toaster/orm/migrations/0005_auto__add_target_image_file__add_target_file__add_field_variablehistor.py
deleted file mode 100644
index 7be7ac3..0000000
--- a/bitbake/lib/toaster/orm/migrations/0005_auto__add_target_image_file__add_target_file__add_field_variablehistor.py
+++ /dev/null
@@ -1,281 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'Target_File'
-        db.create_table(u'orm_target_file', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('target', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Target'])),
-            ('path', self.gf('django.db.models.fields.FilePathField')(max_length=100)),
-            ('size', self.gf('django.db.models.fields.IntegerField')()),
-            ('inodetype', self.gf('django.db.models.fields.IntegerField')()),
-            ('permission', self.gf('django.db.models.fields.IntegerField')()),
-            ('owner', self.gf('django.db.models.fields.CharField')(max_length=128)),
-            ('group', self.gf('django.db.models.fields.CharField')(max_length=128)),
-            ('directory', self.gf('django.db.models.fields.related.ForeignKey')(related_name='directory_set', to=orm['orm.Target_File'])),
-            ('sym_target', self.gf('django.db.models.fields.related.ForeignKey')(related_name='symlink_set', blank=True, to=orm['orm.Target_File'])),
-        ))
-        db.send_create_signal(u'orm', ['Target_File'])
-
-        # Adding model 'Target_Image_File'
-        db.create_table(u'orm_target_image_file', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('target', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Target'])),
-            ('file_name', self.gf('django.db.models.fields.FilePathField')(max_length=100)),
-            ('file_size', self.gf('django.db.models.fields.IntegerField')()),
-        ))
-        db.send_create_signal(u'orm', ['Target_Image_File'])
-
-        # Adding field 'VariableHistory.value'
-        db.add_column(u'orm_variablehistory', 'value',
-                      self.gf('django.db.models.fields.TextField')(default='', blank=True),
-                      keep_default=False)
-
-        # Deleting field 'Recipe.licensing_info'
-        db.delete_column(u'orm_recipe', 'licensing_info')
-
-        # Deleting field 'Target.file_name'
-        db.delete_column(u'orm_target', 'file_name')
-
-        # Deleting field 'Target.file_size'
-        db.delete_column(u'orm_target', 'file_size')
-
-        # Deleting field 'Build.image_fstypes'
-        db.delete_column(u'orm_build', 'image_fstypes')
-
-        # Adding field 'LogMessage.task'
-        db.add_column(u'orm_logmessage', 'task',
-                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Task'], null=True, blank=True),
-                      keep_default=False)
-
-
-        # Changing field 'Task.elapsed_time'
-        db.alter_column(u'orm_task', 'elapsed_time', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=6, decimal_places=2))
-        # Adding unique constraint on 'Task', fields ['build', 'recipe', 'task_name']
-        db.create_unique(u'orm_task', ['build_id', 'recipe_id', 'task_name'])
-
-
-    def backwards(self, orm):
-        # Removing unique constraint on 'Task', fields ['build', 'recipe', 'task_name']
-        db.delete_unique(u'orm_task', ['build_id', 'recipe_id', 'task_name'])
-
-        # Deleting model 'Target_File'
-        db.delete_table(u'orm_target_file')
-
-        # Deleting model 'Target_Image_File'
-        db.delete_table(u'orm_target_image_file')
-
-        # Deleting field 'VariableHistory.value'
-        db.delete_column(u'orm_variablehistory', 'value')
-
-        # Adding field 'Recipe.licensing_info'
-        db.add_column(u'orm_recipe', 'licensing_info',
-                      self.gf('django.db.models.fields.TextField')(default='', blank=True),
-                      keep_default=False)
-
-        # Adding field 'Target.file_name'
-        db.add_column(u'orm_target', 'file_name',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=100),
-                      keep_default=False)
-
-        # Adding field 'Target.file_size'
-        db.add_column(u'orm_target', 'file_size',
-                      self.gf('django.db.models.fields.IntegerField')(default=0),
-                      keep_default=False)
-
-        # Adding field 'Build.image_fstypes'
-        db.add_column(u'orm_build', 'image_fstypes',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=100),
-                      keep_default=False)
-
-        # Deleting field 'LogMessage.task'
-        db.delete_column(u'orm_logmessage', 'task_id')
-
-
-        # Changing field 'Task.elapsed_time'
-        db.alter_column(u'orm_task', 'elapsed_time', self.gf('django.db.models.fields.CharField')(max_length=50))
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.IntegerField', [], {}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'blank': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0006_auto__add_field_target_image_size__add_field_target_license_manifest_p.py b/bitbake/lib/toaster/orm/migrations/0006_auto__add_field_target_image_size__add_field_target_license_manifest_p.py
deleted file mode 100644
index b2be30a..0000000
--- a/bitbake/lib/toaster/orm/migrations/0006_auto__add_field_target_image_size__add_field_target_license_manifest_p.py
+++ /dev/null
@@ -1,235 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Target.image_size'
-        db.add_column(u'orm_target', 'image_size',
-                      self.gf('django.db.models.fields.IntegerField')(default=0),
-                      keep_default=False)
-
-        # Adding field 'Target.license_manifest_path'
-        db.add_column(u'orm_target', 'license_manifest_path',
-                      self.gf('django.db.models.fields.CharField')(max_length=500, null=True),
-                      keep_default=False)
-
-
-        # Changing field 'Target_File.permission'
-        db.alter_column(u'orm_target_file', 'permission', self.gf('django.db.models.fields.CharField')(max_length=16))
-
-        # Changing field 'Target_File.sym_target'
-        db.alter_column(u'orm_target_file', 'sym_target_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['orm.Target_File']))
-
-        # Changing field 'Target_File.directory'
-        db.alter_column(u'orm_target_file', 'directory_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['orm.Target_File']))
-
-    def backwards(self, orm):
-        # Deleting field 'Target.image_size'
-        db.delete_column(u'orm_target', 'image_size')
-
-        # Deleting field 'Target.license_manifest_path'
-        db.delete_column(u'orm_target', 'license_manifest_path')
-
-
-        # Changing field 'Target_File.permission'
-        db.alter_column(u'orm_target_file', 'permission', self.gf('django.db.models.fields.IntegerField')())
-
-        # User chose to not deal with backwards NULL issues for 'Target_File.sym_target'
-        raise RuntimeError("Cannot reverse this migration. 'Target_File.sym_target' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration
-        # Changing field 'Target_File.sym_target'
-        db.alter_column(u'orm_target_file', 'sym_target_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Target_File']))
-
-        # User chose to not deal with backwards NULL issues for 'Target_File.directory'
-        raise RuntimeError("Cannot reverse this migration. 'Target_File.directory' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration
-        # Changing field 'Target_File.directory'
-        db.alter_column(u'orm_target_file', 'directory_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Target_File']))
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0007_auto__add_helptext.py b/bitbake/lib/toaster/orm/migrations/0007_auto__add_helptext.py
deleted file mode 100644
index 1e4c536..0000000
--- a/bitbake/lib/toaster/orm/migrations/0007_auto__add_helptext.py
+++ /dev/null
@@ -1,214 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'HelpText'
-        db.create_table(u'orm_helptext', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(related_name='helptext_build', to=orm['orm.Build'])),
-            ('area', self.gf('django.db.models.fields.IntegerField')()),
-            ('key', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('text', self.gf('django.db.models.fields.TextField')()),
-        ))
-        db.send_create_signal(u'orm', ['HelpText'])
-
-
-    def backwards(self, orm):
-        # Deleting model 'HelpText'
-        db.delete_table(u'orm_helptext')
-
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0008_auto__chg_field_variablehistory_operation__chg_field_recipe_descriptio.py b/bitbake/lib/toaster/orm/migrations/0008_auto__chg_field_variablehistory_operation__chg_field_recipe_descriptio.py
deleted file mode 100644
index ece408a..0000000
--- a/bitbake/lib/toaster/orm/migrations/0008_auto__chg_field_variablehistory_operation__chg_field_recipe_descriptio.py
+++ /dev/null
@@ -1,225 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-
-        # Changing field 'VariableHistory.operation'
-        db.alter_column(u'orm_variablehistory', 'operation', self.gf('django.db.models.fields.CharField')(max_length=64))
-
-        # Changing field 'Recipe.description'
-        db.alter_column(u'orm_recipe', 'description', self.gf('django.db.models.fields.TextField')())
-
-        # Changing field 'Target_Image_File.file_name'
-        db.alter_column(u'orm_target_image_file', 'file_name', self.gf('django.db.models.fields.FilePathField')(max_length=254))
-
-        # Changing field 'Package.description'
-        db.alter_column(u'orm_package', 'description', self.gf('django.db.models.fields.TextField')())
-
-    def backwards(self, orm):
-
-        # Changing field 'VariableHistory.operation'
-        db.alter_column(u'orm_variablehistory', 'operation', self.gf('django.db.models.fields.CharField')(max_length=16))
-
-        # Changing field 'Recipe.description'
-        db.alter_column(u'orm_recipe', 'description', self.gf('django.db.models.fields.CharField')(max_length=100))
-
-        # Changing field 'Target_Image_File.file_name'
-        db.alter_column(u'orm_target_image_file', 'file_name', self.gf('django.db.models.fields.FilePathField')(max_length=100))
-
-        # Changing field 'Package.description'
-        db.alter_column(u'orm_package', 'description', self.gf('django.db.models.fields.CharField')(max_length=200))
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0009_auto__add_projectvariable__add_projectlayer__add_projecttarget__add_pr.py b/bitbake/lib/toaster/orm/migrations/0009_auto__add_projectvariable__add_projectlayer__add_projecttarget__add_pr.py
deleted file mode 100644
index 7a58dc2..0000000
--- a/bitbake/lib/toaster/orm/migrations/0009_auto__add_projectvariable__add_projectlayer__add_projecttarget__add_pr.py
+++ /dev/null
@@ -1,286 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'ProjectVariable'
-        db.create_table(u'orm_projectvariable', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Project'])),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('value', self.gf('django.db.models.fields.TextField')(blank=True)),
-        ))
-        db.send_create_signal(u'orm', ['ProjectVariable'])
-
-        # Adding model 'ProjectLayer'
-        db.create_table(u'orm_projectlayer', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Project'])),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('giturl', self.gf('django.db.models.fields.CharField')(max_length=254)),
-            ('commit', self.gf('django.db.models.fields.CharField')(max_length=254)),
-        ))
-        db.send_create_signal(u'orm', ['ProjectLayer'])
-
-        # Adding model 'ProjectTarget'
-        db.create_table(u'orm_projecttarget', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Project'])),
-            ('target', self.gf('django.db.models.fields.CharField')(max_length=100)),
-        ))
-        db.send_create_signal(u'orm', ['ProjectTarget'])
-
-        # Adding model 'Project'
-        db.create_table(u'orm_project', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
-            ('updated', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
-        ))
-        db.send_create_signal(u'orm', ['Project'])
-
-        # Adding field 'Build.project'
-        db.add_column(u'orm_build', 'project',
-                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Project'], null=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting model 'ProjectVariable'
-        db.delete_table(u'orm_projectvariable')
-
-        # Deleting model 'ProjectLayer'
-        db.delete_table(u'orm_projectlayer')
-
-        # Deleting model 'ProjectTarget'
-        db.delete_table(u'orm_projecttarget')
-
-        # Deleting model 'Project'
-        db.delete_table(u'orm_project')
-
-        # Deleting field 'Build.project'
-        db.delete_column(u'orm_build', 'project_id')
-
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'object_name': 'ProjectLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0010_auto__add_field_project_branch__add_field_project_short_description__a.py b/bitbake/lib/toaster/orm/migrations/0010_auto__add_field_project_branch__add_field_project_short_description__a.py
deleted file mode 100644
index aa1ce1f..0000000
--- a/bitbake/lib/toaster/orm/migrations/0010_auto__add_field_project_branch__add_field_project_short_description__a.py
+++ /dev/null
@@ -1,257 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Project.branch'
-        db.add_column(u'orm_project', 'branch',
-                      self.gf('django.db.models.fields.CharField')(default='master', max_length=50),
-                      keep_default=False)
-
-        # Adding field 'Project.short_description'
-        db.add_column(u'orm_project', 'short_description',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=50, blank=True),
-                      keep_default=False)
-
-        # Adding field 'Project.user_id'
-        db.add_column(u'orm_project', 'user_id',
-                      self.gf('django.db.models.fields.IntegerField')(null=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Project.branch'
-        db.delete_column(u'orm_project', 'branch')
-
-        # Deleting field 'Project.short_description'
-        db.delete_column(u'orm_project', 'short_description')
-
-        # Deleting field 'Project.user_id'
-        db.delete_column(u'orm_project', 'user_id')
-
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'object_name': 'ProjectLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0011_auto__add_field_projectlayer_dirpath.py b/bitbake/lib/toaster/orm/migrations/0011_auto__add_field_projectlayer_dirpath.py
deleted file mode 100644
index 8a65221..0000000
--- a/bitbake/lib/toaster/orm/migrations/0011_auto__add_field_projectlayer_dirpath.py
+++ /dev/null
@@ -1,242 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'ProjectLayer.dirpath'
-        db.add_column(u'orm_projectlayer', 'dirpath',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=254),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'ProjectLayer.dirpath'
-        db.delete_column(u'orm_projectlayer', 'dirpath')
-
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'object_name': 'ProjectLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0012_auto__add_field_projectlayer_optional__add_field_projecttarget_task.py b/bitbake/lib/toaster/orm/migrations/0012_auto__add_field_projectlayer_optional__add_field_projecttarget_task.py
deleted file mode 100644
index 9e483f5..0000000
--- a/bitbake/lib/toaster/orm/migrations/0012_auto__add_field_projectlayer_optional__add_field_projecttarget_task.py
+++ /dev/null
@@ -1,252 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'ProjectLayer.optional'
-        db.add_column(u'orm_projectlayer', 'optional',
-                      self.gf('django.db.models.fields.BooleanField')(default=True),
-                      keep_default=False)
-
-        # Adding field 'ProjectTarget.task'
-        db.add_column(u'orm_projecttarget', 'task',
-                      self.gf('django.db.models.fields.CharField')(max_length=100, null=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'ProjectLayer.optional'
-        db.delete_column(u'orm_projectlayer', 'optional')
-
-        # Deleting field 'ProjectTarget.task'
-        db.delete_column(u'orm_projecttarget', 'task')
-
-
-    models = {
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'object_name': 'Layer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_build'", 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'object_name': 'ProjectLayer'},
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0013_auto__add_release__add_layerversiondependency__add_unique_layerversion.py b/bitbake/lib/toaster/orm/migrations/0013_auto__add_release__add_layerversiondependency__add_unique_layerversion.py
deleted file mode 100644
index 7c954e6..0000000
--- a/bitbake/lib/toaster/orm/migrations/0013_auto__add_release__add_layerversiondependency__add_unique_layerversion.py
+++ /dev/null
@@ -1,710 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'Release'
-        db.create_table(u'orm_release', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=32)),
-            ('description', self.gf('django.db.models.fields.CharField')(max_length=255)),
-            ('bitbake_version', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.BitbakeVersion'])),
-            ('branch', self.gf('django.db.models.fields.CharField')(max_length=32)),
-        ))
-        db.send_create_signal(u'orm', ['Release'])
-
-        # Adding model 'LayerVersionDependency'
-        db.create_table(u'orm_layerversiondependency', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('layer_source', self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.LayerSource'], null=True)),
-            ('up_id', self.gf('django.db.models.fields.IntegerField')(default=None, null=True)),
-            ('layer_version', self.gf('django.db.models.fields.related.ForeignKey')(related_name='dependencies', to=orm['orm.Layer_Version'])),
-            ('depends_on', self.gf('django.db.models.fields.related.ForeignKey')(related_name='dependees', to=orm['orm.Layer_Version'])),
-        ))
-        db.send_create_signal(u'orm', ['LayerVersionDependency'])
-
-        # Adding unique constraint on 'LayerVersionDependency', fields ['layer_source', 'up_id']
-        db.create_unique(u'orm_layerversiondependency', ['layer_source_id', 'up_id'])
-
-        # Adding model 'ToasterSetting'
-        db.create_table(u'orm_toastersetting', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=63)),
-            ('helptext', self.gf('django.db.models.fields.TextField')()),
-            ('value', self.gf('django.db.models.fields.CharField')(max_length=255)),
-        ))
-        db.send_create_signal(u'orm', ['ToasterSetting'])
-
-        # Adding model 'Machine'
-        db.create_table(u'orm_machine', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('layer_source', self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.LayerSource'], null=True)),
-            ('up_id', self.gf('django.db.models.fields.IntegerField')(default=None, null=True)),
-            ('up_date', self.gf('django.db.models.fields.DateTimeField')(default=None, null=True)),
-            ('layer_version', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer_Version'])),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
-            ('description', self.gf('django.db.models.fields.CharField')(max_length=255)),
-        ))
-        db.send_create_signal(u'orm', ['Machine'])
-
-        # Adding unique constraint on 'Machine', fields ['layer_source', 'up_id']
-        db.create_unique(u'orm_machine', ['layer_source_id', 'up_id'])
-
-        # Adding model 'ReleaseDefaultLayer'
-        db.create_table(u'orm_releasedefaultlayer', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('release', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Release'])),
-            ('layer', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer'])),
-        ))
-        db.send_create_signal(u'orm', ['ReleaseDefaultLayer'])
-
-        # Adding model 'BitbakeVersion'
-        db.create_table(u'orm_bitbakeversion', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=32)),
-            ('giturl', self.gf('django.db.models.fields.URLField')(max_length=200)),
-            ('branch', self.gf('django.db.models.fields.CharField')(max_length=32)),
-            ('dirpath', self.gf('django.db.models.fields.CharField')(max_length=255)),
-        ))
-        db.send_create_signal(u'orm', ['BitbakeVersion'])
-
-        # Adding model 'Branch'
-        db.create_table(u'orm_branch', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('layer_source', self.gf('django.db.models.fields.related.ForeignKey')(default=True, to=orm['orm.LayerSource'], null=True)),
-            ('up_id', self.gf('django.db.models.fields.IntegerField')(default=None, null=True)),
-            ('up_date', self.gf('django.db.models.fields.DateTimeField')(default=None, null=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=50)),
-            ('bitbake_branch', self.gf('django.db.models.fields.CharField')(max_length=50, blank=True)),
-            ('short_description', self.gf('django.db.models.fields.CharField')(max_length=50, blank=True)),
-        ))
-        db.send_create_signal(u'orm', ['Branch'])
-
-        # Adding unique constraint on 'Branch', fields ['layer_source', 'name']
-        db.create_unique(u'orm_branch', ['layer_source_id', 'name'])
-
-        # Adding unique constraint on 'Branch', fields ['layer_source', 'up_id']
-        db.create_unique(u'orm_branch', ['layer_source_id', 'up_id'])
-
-        # Adding model 'ToasterSettingDefaultLayer'
-        db.create_table(u'orm_toastersettingdefaultlayer', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('layer_version', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer_Version'])),
-        ))
-        db.send_create_signal(u'orm', ['ToasterSettingDefaultLayer'])
-
-        # Adding model 'LayerSource'
-        db.create_table(u'orm_layersource', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=63)),
-            ('sourcetype', self.gf('django.db.models.fields.IntegerField')()),
-            ('apiurl', self.gf('django.db.models.fields.CharField')(default=None, max_length=255, null=True)),
-        ))
-        db.send_create_signal(u'orm', ['LayerSource'])
-
-        # Adding unique constraint on 'LayerSource', fields ['sourcetype', 'apiurl']
-        db.create_unique(u'orm_layersource', ['sourcetype', 'apiurl'])
-
-        # Deleting field 'ProjectLayer.name'
-        db.delete_column(u'orm_projectlayer', 'name')
-
-        # Deleting field 'ProjectLayer.dirpath'
-        db.delete_column(u'orm_projectlayer', 'dirpath')
-
-        # Deleting field 'ProjectLayer.commit'
-        db.delete_column(u'orm_projectlayer', 'commit')
-
-        # Deleting field 'ProjectLayer.giturl'
-        db.delete_column(u'orm_projectlayer', 'giturl')
-
-        # Adding field 'ProjectLayer.layercommit'
-        db.add_column(u'orm_projectlayer', 'layercommit',
-                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer_Version'], null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer_Version.layer_source'
-        db.add_column(u'orm_layer_version', 'layer_source',
-                      self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.LayerSource'], null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer_Version.up_id'
-        db.add_column(u'orm_layer_version', 'up_id',
-                      self.gf('django.db.models.fields.IntegerField')(default=None, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer_Version.up_date'
-        db.add_column(u'orm_layer_version', 'up_date',
-                      self.gf('django.db.models.fields.DateTimeField')(default=None, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer_Version.up_branch'
-        db.add_column(u'orm_layer_version', 'up_branch',
-                      self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.Branch'], null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer_Version.dirpath'
-        db.add_column(u'orm_layer_version', 'dirpath',
-                      self.gf('django.db.models.fields.CharField')(default=None, max_length=255, null=True),
-                      keep_default=False)
-
-
-        # Changing field 'Layer_Version.build'
-        db.alter_column(u'orm_layer_version', 'build_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['orm.Build']))
-
-        # Changing field 'Layer_Version.branch'
-        db.alter_column(u'orm_layer_version', 'branch', self.gf('django.db.models.fields.CharField')(max_length=80))
-        # Adding unique constraint on 'Layer_Version', fields ['layer_source', 'up_id']
-        db.create_unique(u'orm_layer_version', ['layer_source_id', 'up_id'])
-
-        # Adding field 'Recipe.layer_source'
-        db.add_column(u'orm_recipe', 'layer_source',
-                      self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.LayerSource'], null=True),
-                      keep_default=False)
-
-        # Adding field 'Recipe.up_id'
-        db.add_column(u'orm_recipe', 'up_id',
-                      self.gf('django.db.models.fields.IntegerField')(default=None, null=True),
-                      keep_default=False)
-
-        # Adding field 'Recipe.up_date'
-        db.add_column(u'orm_recipe', 'up_date',
-                      self.gf('django.db.models.fields.DateTimeField')(default=None, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer.layer_source'
-        db.add_column(u'orm_layer', 'layer_source',
-                      self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.LayerSource'], null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer.up_id'
-        db.add_column(u'orm_layer', 'up_id',
-                      self.gf('django.db.models.fields.IntegerField')(default=None, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer.up_date'
-        db.add_column(u'orm_layer', 'up_date',
-                      self.gf('django.db.models.fields.DateTimeField')(default=None, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer.vcs_url'
-        db.add_column(u'orm_layer', 'vcs_url',
-                      self.gf('django.db.models.fields.URLField')(default=None, max_length=200, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer.vcs_web_file_base_url'
-        db.add_column(u'orm_layer', 'vcs_web_file_base_url',
-                      self.gf('django.db.models.fields.URLField')(default=None, max_length=200, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer.summary'
-        db.add_column(u'orm_layer', 'summary',
-                      self.gf('django.db.models.fields.CharField')(default=None, max_length=200, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer.description'
-        db.add_column(u'orm_layer', 'description',
-                      self.gf('django.db.models.fields.TextField')(default=None, null=True),
-                      keep_default=False)
-
-
-        # Changing field 'Layer.local_path'
-        db.alter_column(u'orm_layer', 'local_path', self.gf('django.db.models.fields.FilePathField')(max_length=255, null=True))
-        # Adding unique constraint on 'Layer', fields ['layer_source', 'up_id']
-        db.create_unique(u'orm_layer', ['layer_source_id', 'up_id'])
-
-        # Adding unique constraint on 'Layer', fields ['layer_source', 'name']
-        db.create_unique(u'orm_layer', ['layer_source_id', 'name'])
-
-        # Deleting field 'Project.branch'
-        db.delete_column(u'orm_project', 'branch')
-
-        # Adding field 'Project.bitbake_version'
-        db.add_column(u'orm_project', 'bitbake_version',
-                      self.gf('django.db.models.fields.related.ForeignKey')(default=-1, to=orm['orm.BitbakeVersion']),
-                      keep_default=False)
-
-        # Adding field 'Project.release'
-        db.add_column(u'orm_project', 'release',
-                      self.gf('django.db.models.fields.related.ForeignKey')(default=-1, to=orm['orm.Release']),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Removing unique constraint on 'Layer', fields ['layer_source', 'name']
-        db.delete_unique(u'orm_layer', ['layer_source_id', 'name'])
-
-        # Removing unique constraint on 'Layer', fields ['layer_source', 'up_id']
-        db.delete_unique(u'orm_layer', ['layer_source_id', 'up_id'])
-
-        # Removing unique constraint on 'Layer_Version', fields ['layer_source', 'up_id']
-        db.delete_unique(u'orm_layer_version', ['layer_source_id', 'up_id'])
-
-        # Removing unique constraint on 'LayerSource', fields ['sourcetype', 'apiurl']
-        db.delete_unique(u'orm_layersource', ['sourcetype', 'apiurl'])
-
-        # Removing unique constraint on 'Branch', fields ['layer_source', 'up_id']
-        db.delete_unique(u'orm_branch', ['layer_source_id', 'up_id'])
-
-        # Removing unique constraint on 'Branch', fields ['layer_source', 'name']
-        db.delete_unique(u'orm_branch', ['layer_source_id', 'name'])
-
-        # Removing unique constraint on 'Machine', fields ['layer_source', 'up_id']
-        db.delete_unique(u'orm_machine', ['layer_source_id', 'up_id'])
-
-        # Removing unique constraint on 'LayerVersionDependency', fields ['layer_source', 'up_id']
-        db.delete_unique(u'orm_layerversiondependency', ['layer_source_id', 'up_id'])
-
-        # Deleting model 'Release'
-        db.delete_table(u'orm_release')
-
-        # Deleting model 'LayerVersionDependency'
-        db.delete_table(u'orm_layerversiondependency')
-
-        # Deleting model 'ToasterSetting'
-        db.delete_table(u'orm_toastersetting')
-
-        # Deleting model 'Machine'
-        db.delete_table(u'orm_machine')
-
-        # Deleting model 'ReleaseDefaultLayer'
-        db.delete_table(u'orm_releasedefaultlayer')
-
-        # Deleting model 'BitbakeVersion'
-        db.delete_table(u'orm_bitbakeversion')
-
-        # Deleting model 'Branch'
-        db.delete_table(u'orm_branch')
-
-        # Deleting model 'ToasterSettingDefaultLayer'
-        db.delete_table(u'orm_toastersettingdefaultlayer')
-
-        # Deleting model 'LayerSource'
-        db.delete_table(u'orm_layersource')
-
-
-        # User chose to not deal with backwards NULL issues for 'ProjectLayer.name'
-        raise RuntimeError("Cannot reverse this migration. 'ProjectLayer.name' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'ProjectLayer.name'
-        db.add_column(u'orm_projectlayer', 'name',
-                      self.gf('django.db.models.fields.CharField')(max_length=100),
-                      keep_default=False)
-
-
-        # User chose to not deal with backwards NULL issues for 'ProjectLayer.dirpath'
-        raise RuntimeError("Cannot reverse this migration. 'ProjectLayer.dirpath' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'ProjectLayer.dirpath'
-        db.add_column(u'orm_projectlayer', 'dirpath',
-                      self.gf('django.db.models.fields.CharField')(max_length=254),
-                      keep_default=False)
-
-
-        # User chose to not deal with backwards NULL issues for 'ProjectLayer.commit'
-        raise RuntimeError("Cannot reverse this migration. 'ProjectLayer.commit' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'ProjectLayer.commit'
-        db.add_column(u'orm_projectlayer', 'commit',
-                      self.gf('django.db.models.fields.CharField')(max_length=254),
-                      keep_default=False)
-
-
-        # User chose to not deal with backwards NULL issues for 'ProjectLayer.giturl'
-        raise RuntimeError("Cannot reverse this migration. 'ProjectLayer.giturl' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'ProjectLayer.giturl'
-        db.add_column(u'orm_projectlayer', 'giturl',
-                      self.gf('django.db.models.fields.CharField')(max_length=254),
-                      keep_default=False)
-
-        # Deleting field 'ProjectLayer.layercommit'
-        db.delete_column(u'orm_projectlayer', 'layercommit_id')
-
-        # Deleting field 'Layer_Version.layer_source'
-        db.delete_column(u'orm_layer_version', 'layer_source_id')
-
-        # Deleting field 'Layer_Version.up_id'
-        db.delete_column(u'orm_layer_version', 'up_id')
-
-        # Deleting field 'Layer_Version.up_date'
-        db.delete_column(u'orm_layer_version', 'up_date')
-
-        # Deleting field 'Layer_Version.up_branch'
-        db.delete_column(u'orm_layer_version', 'up_branch_id')
-
-        # Deleting field 'Layer_Version.dirpath'
-        db.delete_column(u'orm_layer_version', 'dirpath')
-
-
-        # User chose to not deal with backwards NULL issues for 'Layer_Version.build'
-        raise RuntimeError("Cannot reverse this migration. 'Layer_Version.build' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration
-        # Changing field 'Layer_Version.build'
-        db.alter_column(u'orm_layer_version', 'build_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build']))
-
-        # Changing field 'Layer_Version.branch'
-        db.alter_column(u'orm_layer_version', 'branch', self.gf('django.db.models.fields.CharField')(max_length=50))
-        # Deleting field 'Recipe.layer_source'
-        db.delete_column(u'orm_recipe', 'layer_source_id')
-
-        # Deleting field 'Recipe.up_id'
-        db.delete_column(u'orm_recipe', 'up_id')
-
-        # Deleting field 'Recipe.up_date'
-        db.delete_column(u'orm_recipe', 'up_date')
-
-        # Deleting field 'Layer.layer_source'
-        db.delete_column(u'orm_layer', 'layer_source_id')
-
-        # Deleting field 'Layer.up_id'
-        db.delete_column(u'orm_layer', 'up_id')
-
-        # Deleting field 'Layer.up_date'
-        db.delete_column(u'orm_layer', 'up_date')
-
-        # Deleting field 'Layer.vcs_url'
-        db.delete_column(u'orm_layer', 'vcs_url')
-
-        # Deleting field 'Layer.vcs_web_file_base_url'
-        db.delete_column(u'orm_layer', 'vcs_web_file_base_url')
-
-        # Deleting field 'Layer.summary'
-        db.delete_column(u'orm_layer', 'summary')
-
-        # Deleting field 'Layer.description'
-        db.delete_column(u'orm_layer', 'description')
-
-
-        # User chose to not deal with backwards NULL issues for 'Layer.local_path'
-        raise RuntimeError("Cannot reverse this migration. 'Layer.local_path' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration
-        # Changing field 'Layer.local_path'
-        db.alter_column(u'orm_layer', 'local_path', self.gf('django.db.models.fields.FilePathField')(max_length=255))
-
-        # User chose to not deal with backwards NULL issues for 'Project.branch'
-        raise RuntimeError("Cannot reverse this migration. 'Project.branch' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'Project.branch'
-        db.add_column(u'orm_project', 'branch',
-                      self.gf('django.db.models.fields.CharField')(max_length=50),
-                      keep_default=False)
-
-        # Deleting field 'Project.bitbake_version'
-        db.delete_column(u'orm_project', 'bitbake_version_id')
-
-        # Deleting field 'Project.release'
-        db.delete_column(u'orm_project', 'release_id')
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            'bitbake_branch': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer']"}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.toastersettingdefaultlayer': {
-            'Meta': {'object_name': 'ToasterSettingDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0014_auto__chg_field_package_summary__chg_field_layer_summary__chg_field_re.py b/bitbake/lib/toaster/orm/migrations/0014_auto__chg_field_package_summary__chg_field_layer_summary__chg_field_re.py
deleted file mode 100644
index 7945f15..0000000
--- a/bitbake/lib/toaster/orm/migrations/0014_auto__chg_field_package_summary__chg_field_layer_summary__chg_field_re.py
+++ /dev/null
@@ -1,336 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-
-        # Changing field 'Package.summary'
-        db.alter_column(u'orm_package', 'summary', self.gf('django.db.models.fields.TextField')())
-
-        # Changing field 'Layer.summary'
-        db.alter_column(u'orm_layer', 'summary', self.gf('django.db.models.fields.TextField')(null=True))
-
-        # Changing field 'Recipe.summary'
-        db.alter_column(u'orm_recipe', 'summary', self.gf('django.db.models.fields.TextField')())
-
-    def backwards(self, orm):
-
-        # Changing field 'Package.summary'
-        db.alter_column(u'orm_package', 'summary', self.gf('django.db.models.fields.CharField')(max_length=200))
-
-        # Changing field 'Layer.summary'
-        db.alter_column(u'orm_layer', 'summary', self.gf('django.db.models.fields.CharField')(max_length=200, null=True))
-
-        # Changing field 'Recipe.summary'
-        db.alter_column(u'orm_recipe', 'summary', self.gf('django.db.models.fields.CharField')(max_length=100))
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            'bitbake_branch': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer']"}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.toastersettingdefaultlayer': {
-            'Meta': {'object_name': 'ToasterSettingDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0015_auto__add_field_layer_vcs_web_url__add_field_layer_vcs_web_tree_base_u.py b/bitbake/lib/toaster/orm/migrations/0015_auto__add_field_layer_vcs_web_url__add_field_layer_vcs_web_tree_base_u.py
deleted file mode 100644
index 6e664c9..0000000
--- a/bitbake/lib/toaster/orm/migrations/0015_auto__add_field_layer_vcs_web_url__add_field_layer_vcs_web_tree_base_u.py
+++ /dev/null
@@ -1,336 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Layer.vcs_web_url'
-        db.add_column(u'orm_layer', 'vcs_web_url',
-                      self.gf('django.db.models.fields.URLField')(default=None, max_length=200, null=True),
-                      keep_default=False)
-
-        # Adding field 'Layer.vcs_web_tree_base_url'
-        db.add_column(u'orm_layer', 'vcs_web_tree_base_url',
-                      self.gf('django.db.models.fields.URLField')(default=None, max_length=200, null=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Layer.vcs_web_url'
-        db.delete_column(u'orm_layer', 'vcs_web_url')
-
-        # Deleting field 'Layer.vcs_web_tree_base_url'
-        db.delete_column(u'orm_layer', 'vcs_web_tree_base_url')
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            'bitbake_branch': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer']"}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.toastersettingdefaultlayer': {
-            'Meta': {'object_name': 'ToasterSettingDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0016_auto__add_field_release_helptext__chg_field_release_branch__add_index_.py b/bitbake/lib/toaster/orm/migrations/0016_auto__add_field_release_helptext__chg_field_release_branch__add_index_.py
deleted file mode 100644
index 545c0ba..0000000
--- a/bitbake/lib/toaster/orm/migrations/0016_auto__add_field_release_helptext__chg_field_release_branch__add_index_.py
+++ /dev/null
@@ -1,359 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Release.helptext'
-        db.add_column(u'orm_release', 'helptext',
-                      self.gf('django.db.models.fields.TextField')(null=True),
-                      keep_default=False)
-
-
-        # Renaming column for 'Release.branch' to match new field type.
-        db.delete_column(u'orm_release', 'branch')
-
-        # Changing field 'Release.branch'
-        db.add_column(u'orm_release', 'branch', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Branch'], default=-1))
-
-        # Deleting field 'Branch.bitbake_branch'
-        db.delete_column(u'orm_branch', 'bitbake_branch')
-
-        # Adding unique constraint on 'Recipe', fields ['layer_version', 'file_path']
-        db.create_unique(u'orm_recipe', ['layer_version_id', 'file_path'])
-
-        # Adding unique constraint on 'ProjectLayer', fields ['project', 'layercommit']
-        db.create_unique(u'orm_projectlayer', ['project_id', 'layercommit_id'])
-
-
-    def backwards(self, orm):
-        # Removing unique constraint on 'ProjectLayer', fields ['project', 'layercommit']
-        db.delete_unique(u'orm_projectlayer', ['project_id', 'layercommit_id'])
-
-        # Removing unique constraint on 'Recipe', fields ['layer_version', 'file_path']
-        db.delete_unique(u'orm_recipe', ['layer_version_id', 'file_path'])
-
-        # Deleting field 'Release.helptext'
-        db.delete_column(u'orm_release', 'helptext')
-
-        # Renaming column for 'Release.branch' to match new field type.
-        db.rename_column(u'orm_release', 'branch_id', 'branch')
-        # Changing field 'Release.branch'
-        db.alter_column(u'orm_release', 'branch', self.gf('django.db.models.fields.CharField')(max_length=32))
-        # Adding field 'Branch.bitbake_branch'
-        db.add_column(u'orm_branch', 'bitbake_branch',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=50, blank=True),
-                      keep_default=False)
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Branch']"}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer']"}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.toastersettingdefaultlayer': {
-            'Meta': {'object_name': 'ToasterSettingDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0017_auto__del_toastersettingdefaultlayer__add_releaselayersourcepriority__.py b/bitbake/lib/toaster/orm/migrations/0017_auto__del_toastersettingdefaultlayer__add_releaselayersourcepriority__.py
deleted file mode 100644
index 6685b55..0000000
--- a/bitbake/lib/toaster/orm/migrations/0017_auto__del_toastersettingdefaultlayer__add_releaselayersourcepriority__.py
+++ /dev/null
@@ -1,396 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Deleting model 'ToasterSettingDefaultLayer'
-        db.delete_table(u'orm_toastersettingdefaultlayer')
-
-        # Adding model 'ReleaseLayerSourcePriority'
-        db.create_table(u'orm_releaselayersourcepriority', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('release', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Release'])),
-            ('layer_source', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.LayerSource'])),
-            ('priority', self.gf('django.db.models.fields.IntegerField')(default=0)),
-        ))
-        db.send_create_signal(u'orm', ['ReleaseLayerSourcePriority'])
-
-        # Adding unique constraint on 'ReleaseLayerSourcePriority', fields ['release', 'layer_source']
-        db.create_unique(u'orm_releaselayersourcepriority', ['release_id', 'layer_source_id'])
-
-        # Deleting field 'Release.branch'
-        db.delete_column(u'orm_release', 'branch_id')
-
-        # Adding field 'Release.branch_name'
-        db.add_column(u'orm_release', 'branch_name',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=50),
-                      keep_default=False)
-
-        # Adding unique constraint on 'LayerSource', fields ['name']
-        db.create_unique(u'orm_layersource', ['name'])
-
-        # Deleting field 'ReleaseDefaultLayer.layer'
-        db.delete_column(u'orm_releasedefaultlayer', 'layer_id')
-
-        # Adding field 'ReleaseDefaultLayer.layer_name'
-        db.add_column(u'orm_releasedefaultlayer', 'layer_name',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=100),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Removing unique constraint on 'LayerSource', fields ['name']
-        db.delete_unique(u'orm_layersource', ['name'])
-
-        # Removing unique constraint on 'ReleaseLayerSourcePriority', fields ['release', 'layer_source']
-        db.delete_unique(u'orm_releaselayersourcepriority', ['release_id', 'layer_source_id'])
-
-        # Adding model 'ToasterSettingDefaultLayer'
-        db.create_table(u'orm_toastersettingdefaultlayer', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('layer_version', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer_Version'])),
-        ))
-        db.send_create_signal(u'orm', ['ToasterSettingDefaultLayer'])
-
-        # Deleting model 'ReleaseLayerSourcePriority'
-        db.delete_table(u'orm_releaselayersourcepriority')
-
-
-        # User chose to not deal with backwards NULL issues for 'Release.branch'
-        raise RuntimeError("Cannot reverse this migration. 'Release.branch' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'Release.branch'
-        db.add_column(u'orm_release', 'branch',
-                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Branch']),
-                      keep_default=False)
-
-        # Deleting field 'Release.branch_name'
-        db.delete_column(u'orm_release', 'branch_name')
-
-
-        # User chose to not deal with backwards NULL issues for 'ReleaseDefaultLayer.layer'
-        raise RuntimeError("Cannot reverse this migration. 'ReleaseDefaultLayer.layer' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'ReleaseDefaultLayer.layer'
-        db.add_column(u'orm_releasedefaultlayer', 'layer',
-                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer']),
-                      keep_default=False)
-
-        # Deleting field 'ReleaseDefaultLayer.layer_name'
-        db.delete_column(u'orm_releasedefaultlayer', 'layer_name')
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0018_auto__add_field_layer_version_project.py b/bitbake/lib/toaster/orm/migrations/0018_auto__add_field_layer_version_project.py
deleted file mode 100644
index 7284bb8..0000000
--- a/bitbake/lib/toaster/orm/migrations/0018_auto__add_field_layer_version_project.py
+++ /dev/null
@@ -1,331 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Layer_Version.project'
-        db.add_column(u'orm_layer_version', 'project',
-                      self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.Project'], null=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Layer_Version.project'
-        db.delete_column(u'orm_layer_version', 'project_id')
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0019_auto__add_buildartifact.py b/bitbake/lib/toaster/orm/migrations/0019_auto__add_buildartifact.py
deleted file mode 100644
index 0dce9ea..0000000
--- a/bitbake/lib/toaster/orm/migrations/0019_auto__add_buildartifact.py
+++ /dev/null
@@ -1,342 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'BuildArtifact'
-        db.create_table(u'orm_buildartifact', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('build', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'])),
-            ('file_name', self.gf('django.db.models.fields.FilePathField')(max_length=100)),
-            ('file_size', self.gf('django.db.models.fields.IntegerField')()),
-        ))
-        db.send_create_signal(u'orm', ['BuildArtifact'])
-
-
-    def backwards(self, orm):
-        # Deleting model 'BuildArtifact'
-        db.delete_table(u'orm_buildartifact')
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0020_auto__add_field_layer_version_local_path__add_field_recipe_pathflags__.py b/bitbake/lib/toaster/orm/migrations/0020_auto__add_field_layer_version_local_path__add_field_recipe_pathflags__.py
deleted file mode 100644
index 0ec5795..0000000
--- a/bitbake/lib/toaster/orm/migrations/0020_auto__add_field_layer_version_local_path__add_field_recipe_pathflags__.py
+++ /dev/null
@@ -1,361 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Removing unique constraint on 'Recipe', fields ['layer_version', 'file_path']
-        db.delete_unique(u'orm_recipe', ['layer_version_id', 'file_path'])
-
-        # Adding field 'Layer_Version.local_path'
-        db.add_column(u'orm_layer_version', 'local_path',
-                      self.gf('django.db.models.fields.FilePathField')(default="/", max_length=1024),
-                      keep_default=False)
-
-        # Adding field 'Recipe.pathflags'
-        db.add_column(u'orm_recipe', 'pathflags',
-                      self.gf('django.db.models.fields.CharField')(default='', max_length=200, blank=True),
-                      keep_default=False)
-
-        # Adding unique constraint on 'Recipe', fields ['layer_version', 'file_path', 'pathflags']
-        db.create_unique(u'orm_recipe', ['layer_version_id', 'file_path', 'pathflags'])
-
-        # Migrate data from Layer.local_path to Layer_Version.local_path
-        if not db.dry_run:
-            for lv in orm.Layer_Version.objects.all():
-                if lv.layer.local_path is not None:
-                    lv.local_path = lv.layer.local_path
-                else:
-                    lv.local_path = "/"
-                lv.save()
-
-        db.delete_column(u'orm_layer', 'local_path')
-
-
-    def backwards(self, orm):
-        raise RuntimeError("Cannot reverse this migration")
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'), ('file_path', 'pathflags'))", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0021_auto__chg_field_build_project__chg_field_project_bitbake_version__chg_.py b/bitbake/lib/toaster/orm/migrations/0021_auto__chg_field_build_project__chg_field_project_bitbake_version__chg_.py
deleted file mode 100644
index a62ddb7..0000000
--- a/bitbake/lib/toaster/orm/migrations/0021_auto__chg_field_build_project__chg_field_project_bitbake_version__chg_.py
+++ /dev/null
@@ -1,371 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    no_dry_run = True
-
-    def forwards(self, orm):
-
-        # Changing field 'Build.project'
-        db.alter_column(u'orm_build', 'project_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Project']))
-
-        # Changing field 'Project.bitbake_version'
-        db.alter_column(u'orm_project', 'bitbake_version_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.BitbakeVersion'], null=True))
-
-        # Changing field 'Project.release'
-        db.alter_column(u'orm_project', 'release_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Release'], null=True))
-
-        # Changing field 'Task.cpu_usage'
-        db.alter_column(u'orm_task', 'cpu_usage', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=8, decimal_places=2))
-
-        # Changing field 'Task.elapsed_time'
-        db.alter_column(u'orm_task', 'elapsed_time', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=8, decimal_places=2))
-
-    def backwards(self, orm):
-
-        # Changing field 'Build.project'
-        db.alter_column(u'orm_build', 'project_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Project'], null=True))
-
-        # User chose to not deal with backwards NULL issues for 'Project.bitbake_version'
-        raise RuntimeError("Cannot reverse this migration. 'Project.bitbake_version' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration
-        # Changing field 'Project.bitbake_version'
-        db.alter_column(u'orm_project', 'bitbake_version_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.BitbakeVersion']))
-
-        # User chose to not deal with backwards NULL issues for 'Project.release'
-        raise RuntimeError("Cannot reverse this migration. 'Project.release' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration
-        # Changing field 'Project.release'
-        db.alter_column(u'orm_project', 'release_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Release']))
-
-        # Changing field 'Task.cpu_usage'
-        db.alter_column(u'orm_task', 'cpu_usage', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=6, decimal_places=2))
-
-        # Changing field 'Task.elapsed_time'
-        db.alter_column(u'orm_task', 'elapsed_time', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=6, decimal_places=2))
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0022_auto__add_field_target_task__add_field_layer_version_local_path__del_f.py b/bitbake/lib/toaster/orm/migrations/0022_auto__add_field_target_task__add_field_layer_version_local_path__del_f.py
deleted file mode 100644
index 3dec391..0000000
--- a/bitbake/lib/toaster/orm/migrations/0022_auto__add_field_target_task__add_field_layer_version_local_path__del_f.py
+++ /dev/null
@@ -1,343 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Target.task'
-        db.add_column(u'orm_target', 'task',
-                      self.gf('django.db.models.fields.CharField')(max_length=100, null=True),
-                      keep_default=False)
-
-
-
-
-
-    def backwards(self, orm):
-        # Deleting field 'Target.task'
-        db.delete_column(u'orm_target', 'task')
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0023_auto__del_field_build_warnings_no__del_field_build_errors_no__del_fiel.py b/bitbake/lib/toaster/orm/migrations/0023_auto__del_field_build_warnings_no__del_field_build_errors_no__del_fiel.py
deleted file mode 100644
index b5b200cd..0000000
--- a/bitbake/lib/toaster/orm/migrations/0023_auto__del_field_build_warnings_no__del_field_build_errors_no__del_fiel.py
+++ /dev/null
@@ -1,353 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Deleting field 'Build.warnings_no'
-        db.delete_column(u'orm_build', 'warnings_no')
-
-        # Deleting field 'Build.errors_no'
-        db.delete_column(u'orm_build', 'errors_no')
-
-        # Deleting field 'Build.timespent'
-        db.delete_column(u'orm_build', 'timespent')
-
-
-    def backwards(self, orm):
-        # Adding field 'Build.warnings_no'
-        db.add_column(u'orm_build', 'warnings_no',
-                      self.gf('django.db.models.fields.IntegerField')(default=0),
-                      keep_default=False)
-
-        # Adding field 'Build.errors_no'
-        db.add_column(u'orm_build', 'errors_no',
-                      self.gf('django.db.models.fields.IntegerField')(default=0),
-                      keep_default=False)
-
-        # Adding field 'Build.timespent'
-        db.add_column(u'orm_build', 'timespent',
-                      self.gf('django.db.models.fields.IntegerField')(default=0),
-                      keep_default=False)
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0024_auto__add_field_recipe_is_image.py b/bitbake/lib/toaster/orm/migrations/0024_auto__add_field_recipe_is_image.py
deleted file mode 100644
index 88f60a9..0000000
--- a/bitbake/lib/toaster/orm/migrations/0024_auto__add_field_recipe_is_image.py
+++ /dev/null
@@ -1,338 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding field 'Recipe.is_image'
-        db.add_column(u'orm_recipe', 'is_image',
-                      self.gf('django.db.models.fields.BooleanField')(default=False),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Recipe.is_image'
-        db.delete_column(u'orm_recipe', 'is_image')
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0025_auto__add_field_project_is_default.py b/bitbake/lib/toaster/orm/migrations/0025_auto__add_field_project_is_default.py
deleted file mode 100644
index e76990d..0000000
--- a/bitbake/lib/toaster/orm/migrations/0025_auto__add_field_project_is_default.py
+++ /dev/null
@@ -1,346 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # work-around for http://south.aeracode.org/ticket/578:
-        # SQLite boolean fields aren't set to the correct default value
-        # (needs to be 0 or 1, rather than True or False)
-        default = False
-        if db.backend_name == 'sqlite3':
-           default = 0
-
-        # Adding field 'Project.is_default'
-        db.add_column(u'orm_project', 'is_default',
-                      self.gf('django.db.models.fields.BooleanField')(default=default),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Project.is_default'
-        db.delete_column(u'orm_project', 'is_default')
-
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0026_set_default_project.py b/bitbake/lib/toaster/orm/migrations/0026_set_default_project.py
deleted file mode 100644
index 6240abd..0000000
--- a/bitbake/lib/toaster/orm/migrations/0026_set_default_project.py
+++ /dev/null
@@ -1,374 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-# data-only migration to set the is_default field correctly
-# across all projects, so it has the correct value on a single
-# record only; this will add or amend default project (marked with
-# is_default = True)
-class Migration(SchemaMigration):
-
-    no_dry_run = True
-
-    # work-around for http://south.aeracode.org/ticket/578:
-    # SQLite boolean fields aren't set to the correct default value
-    # when added to existing records (value needs to be 0 or 1, rather
-    # than True or False), so manually update that field for all
-    # existing records
-    def _sqlite_update_all_projects_is_default(self, orm):
-        if db.backend_name == 'sqlite3':
-            for project in orm.Project.objects.all():
-                project.is_default = 0
-                project.save()
-
-    def forwards(self, orm):
-        # fix is_default field
-        self._sqlite_update_all_projects_is_default(orm)
-
-        # now create or modify the default project
-        project = None
-
-        # check for existing default project with ID 0 which has
-        # already been added in code
-        projects = orm.Project.objects.filter(pk = 0)
-
-        if len(projects) == 1:
-            project = projects[0]
-        else:
-            # create default project
-            options = {
-                "name": "Command line builds",
-                "short_description": "Project for builds started outside Toaster"
-            }
-            project = orm.Project.objects.create(**options)
-
-        project.is_default = True
-        project.save()
-
-    def backwards(self, orm):
-        # don't do anything when reversing this migration, as we can safely
-        # keep any generated default project which has builds attached;
-        # it's just that the old code won't use that project as the
-        # container for any new builds, as it doesn't have an ID of 0
-        pass
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
diff --git a/bitbake/lib/toaster/orm/migrations/0027_auto__add_customimagerecipe__add_unique_customimagerecipe_name_project.py b/bitbake/lib/toaster/orm/migrations/0027_auto__add_customimagerecipe__add_unique_customimagerecipe_name_project.py
deleted file mode 100644
index 6030605..0000000
--- a/bitbake/lib/toaster/orm/migrations/0027_auto__add_customimagerecipe__add_unique_customimagerecipe_name_project.py
+++ /dev/null
@@ -1,375 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Adding model 'CustomImageRecipe'
-        db.create_table(u'orm_customimagerecipe', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
-            ('base_recipe', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Recipe'])),
-            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Project'])),
-        ))
-        db.send_create_signal(u'orm', ['CustomImageRecipe'])
-
-        # Adding M2M table for field packages on 'CustomImageRecipe'
-        m2m_table_name = db.shorten_name(u'orm_customimagerecipe_packages')
-        db.create_table(m2m_table_name, (
-            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
-            ('customimagerecipe', models.ForeignKey(orm[u'orm.customimagerecipe'], null=False)),
-            ('package', models.ForeignKey(orm[u'orm.package'], null=False))
-        ))
-        db.create_unique(m2m_table_name, ['customimagerecipe_id', 'package_id'])
-
-        # Adding unique constraint on 'CustomImageRecipe', fields ['name', 'project']
-        db.create_unique(u'orm_customimagerecipe', ['name', 'project_id'])
-
-
-        # Changing field 'Package.build'
-        db.alter_column(u'orm_package', 'build_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'], null=True))
-
-    def backwards(self, orm):
-        # Removing unique constraint on 'CustomImageRecipe', fields ['name', 'project']
-        db.delete_unique(u'orm_customimagerecipe', ['name', 'project_id'])
-
-        # Deleting model 'CustomImageRecipe'
-        db.delete_table(u'orm_customimagerecipe')
-
-        # Removing M2M table for field packages on 'CustomImageRecipe'
-        db.delete_table(db.shorten_name(u'orm_customimagerecipe_packages'))
-
-
-        # Changing field 'Package.build'
-        db.alter_column(u'orm_package', 'build_id', self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.Build']))
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.customimagerecipe': {
-            'Meta': {'unique_together': "(('name', 'project'),)", 'object_name': 'CustomImageRecipe'},
-            'base_recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'packages': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['orm.Package']", 'symmetrical': 'False'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']", 'null': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
diff --git a/bitbake/lib/toaster/orm/migrations/0028_auto__chg_field_logmessage_message.py b/bitbake/lib/toaster/orm/migrations/0028_auto__chg_field_logmessage_message.py
deleted file mode 100644
index a2f8661..0000000
--- a/bitbake/lib/toaster/orm/migrations/0028_auto__chg_field_logmessage_message.py
+++ /dev/null
@@ -1,345 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-
-        # Changing field 'LogMessage.message'
-        db.alter_column(u'orm_logmessage', 'message', self.gf('django.db.models.fields.TextField')(null=True))
-
-    def backwards(self, orm):
-
-        # Changing field 'LogMessage.message'
-        db.alter_column(u'orm_logmessage', 'message', self.gf('django.db.models.fields.CharField')(default='', max_length=240))
-
-    models = {
-        u'orm.bitbakeversion': {
-            'Meta': {'object_name': 'BitbakeVersion'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.branch': {
-            'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.build': {
-            'Meta': {'object_name': 'Build'},
-            'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
-            'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
-            'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'started_on': ('django.db.models.fields.DateTimeField', [], {})
-        },
-        u'orm.buildartifact': {
-            'Meta': {'object_name': 'BuildArtifact'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        u'orm.customimagerecipe': {
-            'Meta': {'unique_together': "(('name', 'project'),)", 'object_name': 'CustomImageRecipe'},
-            'base_recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'packages': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['orm.Package']", 'symmetrical': 'False'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.helptext': {
-            'Meta': {'object_name': 'HelpText'},
-            'area': ('django.db.models.fields.IntegerField', [], {}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'text': ('django.db.models.fields.TextField', [], {})
-        },
-        u'orm.layer': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
-            'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
-            'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
-        },
-        u'orm.layer_version': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
-            'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
-            'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'local_path': ('django.db.models.fields.FilePathField', [], {'default': "'/'", 'max_length': '1024'}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
-            'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.layersource': {
-            'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
-            'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
-            'sourcetype': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.layerversiondependency': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.logmessage': {
-            'Meta': {'object_name': 'LogMessage'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
-        },
-        u'orm.machine': {
-            'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
-        },
-        u'orm.package': {
-            'Meta': {'object_name': 'Package'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']", 'null': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
-            'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.package_dependency': {
-            'Meta': {'object_name': 'Package_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
-        },
-        u'orm.package_file': {
-            'Meta': {'object_name': 'Package_File'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {})
-        },
-        u'orm.project': {
-            'Meta': {'object_name': 'Project'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']", 'null': 'True'}),
-            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']", 'null': 'True'}),
-            'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
-        },
-        u'orm.projectlayer': {
-            'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
-            'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
-        },
-        u'orm.projecttarget': {
-            'Meta': {'object_name': 'ProjectTarget'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.projectvariable': {
-            'Meta': {'object_name': 'ProjectVariable'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.recipe': {
-            'Meta': {'unique_together': "(('layer_version', 'file_path', 'pathflags'),)", 'object_name': 'Recipe'},
-            'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
-            'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
-            'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'pathflags': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
-            'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
-            'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
-            'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
-        },
-        u'orm.recipe_dependency': {
-            'Meta': {'object_name': 'Recipe_Dependency'},
-            'dep_type': ('django.db.models.fields.IntegerField', [], {}),
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
-        },
-        u'orm.release': {
-            'Meta': {'object_name': 'Release'},
-            'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
-            'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
-        },
-        u'orm.releasedefaultlayer': {
-            'Meta': {'object_name': 'ReleaseDefaultLayer'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.releaselayersourcepriority': {
-            'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
-            'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
-        },
-        u'orm.target': {
-            'Meta': {'object_name': 'Target'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
-            'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
-        },
-        u'orm.target_file': {
-            'Meta': {'object_name': 'Target_File'},
-            'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inodetype': ('django.db.models.fields.IntegerField', [], {}),
-            'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-            'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
-            'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
-            'size': ('django.db.models.fields.IntegerField', [], {}),
-            'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_image_file': {
-            'Meta': {'object_name': 'Target_Image_File'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
-            'file_size': ('django.db.models.fields.IntegerField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.target_installed_package': {
-            'Meta': {'object_name': 'Target_Installed_Package'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
-            'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
-        },
-        u'orm.task': {
-            'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
-            'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '8', 'decimal_places': '2'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
-            'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
-            'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tasks'", 'to': u"orm['orm.Recipe']"}),
-            'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
-            'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
-            'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        u'orm.task_dependency': {
-            'Meta': {'object_name': 'Task_Dependency'},
-            'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
-        },
-        u'orm.toastersetting': {
-            'Meta': {'object_name': 'ToasterSetting'},
-            'helptext': ('django.db.models.fields.TextField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
-            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        u'orm.variable': {
-            'Meta': {'object_name': 'Variable'},
-            'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
-            'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
-        },
-        u'orm.variablehistory': {
-            'Meta': {'object_name': 'VariableHistory'},
-            'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
-            'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
-            'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
-            'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
-        }
-    }
-
-    complete_apps = ['orm']
\ No newline at end of file
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 03/18] toaster: Fix references to app paths
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
  2015-12-08 15:31 ` [PATCH 01/18] toaster: Upgrade to Django 1.8.6 and remove South Ed Bartosh
  2015-12-08 15:31 ` [PATCH 02/18] toaster: Remove South migrations Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 04/18] toaster: Create default project with get_or_create* method Ed Bartosh
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

The buildinfohelper runs outside of Django, but still needs
access to our Django app classes.

Previously, the imports referenced the toaster.* app, which worked
fine. But in Django 1.8, this causes an error about the same
module being loaded multiple times from different paths.

Change the paths to our Django modules so they don't cause
this error to be thrown. We can do this as we've added our
application libraries to sys.path in the buildinfohelper anyway.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/bb/ui/buildinfohelper.py | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index 1d41bba..c099551 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -33,14 +33,14 @@ def _configure_toaster():
     sys.path.append(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'toaster'))
 _configure_toaster()
 
-from toaster.orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage, HelpText
-from toaster.orm.models import Target_Image_File, BuildArtifact
-from toaster.orm.models import Variable, VariableHistory
-from toaster.orm.models import Package, Package_File, Target_Installed_Package, Target_File
-from toaster.orm.models import Task_Dependency, Package_Dependency
-from toaster.orm.models import Recipe_Dependency
-
-from toaster.orm.models import Project
+from orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage, HelpText
+from orm.models import Target_Image_File, BuildArtifact
+from orm.models import Variable, VariableHistory
+from orm.models import Package, Package_File, Target_Installed_Package, Target_File
+from orm.models import Task_Dependency, Package_Dependency
+from orm.models import Recipe_Dependency
+
+from orm.models import Project
 from bldcontrol.models import BuildEnvironment, BuildRequest
 
 from bb.msg import BBLogFormatter as formatter
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 04/18] toaster: Create default project with get_or_create* method
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (2 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 03/18] toaster: Fix references to app paths Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 05/18] toaster: Start Django machinery for database access Ed Bartosh
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

Rather than maintain data as part of the migrations (as was
done for the default project previously), create the default
(cli builds) project on demand as a by-product of getting
it from the database.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/bb/ui/buildinfohelper.py    |  9 +++++++--
 bitbake/lib/toaster/orm/models.py       | 23 +++++++++++++++--------
 bitbake/lib/toaster/toastergui/views.py |  2 +-
 3 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index c099551..87e03e7 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -146,7 +146,7 @@ class ORMWrapper(object):
             prj = Project.objects.get(pk = project_id)
 
         else:                           # this build was triggered by a legacy system, or command line interactive mode
-            prj = Project.objects.get_default_project()
+            prj = Project.objects.get_or_create_default_project()
             logger.debug(1, "buildinfohelper: project is not specified, defaulting to %s" % prj)
 
 
@@ -308,6 +308,11 @@ class ORMWrapper(object):
         # then we are wholly responsible for the data
         # and therefore we return the 'real' recipe rather than the build
         # history copy of the recipe.
+        if  recipe_information['layer_version'].build is not None and \
+            recipe_information['layer_version'].build.project == \
+                Project.objects.get_or_create_default_project():
+            return recipe
+
         if built_recipe is None:
             return recipe
 
@@ -345,7 +350,7 @@ class ORMWrapper(object):
         # If we're doing a command line build then associate this new layer with the
         # project to avoid it 'contaminating' toaster data
         project = None
-        if build_obj.project == Project.objects.get_default_project():
+        if build_obj.project == Project.objects.get_or_create_default_project():
             project = build_obj.project
 
         layer_version_object, _ = Layer_Version.objects.get_or_create(
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 0174233..4a868e7 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -91,18 +91,25 @@ class ProjectManager(models.Manager):
 
         return prj
 
-    def create(self, *args, **kwargs):
-        raise Exception("Invalid call to Project.objects.create. Use Project.objects.create_project() to create a project")
-
     # return single object with is_default = True
-    def get_default_project(self):
+    def get_or_create_default_project(self):
         projects = super(ProjectManager, self).filter(is_default = True)
+
         if len(projects) > 1:
-            raise Exception("Inconsistent project data: multiple " +
-                            "default projects (i.e. with is_default=True)")
+            raise Exception('Inconsistent project data: multiple ' +
+                            'default projects (i.e. with is_default=True)')
         elif len(projects) < 1:
-            raise Exception("Inconsistent project data: no default project found")
-        return projects[0]
+            options = {
+                'name': 'Command line builds',
+                'short_description': 'Project for builds started outside Toaster',
+                'is_default': True
+            }
+            project = Project.objects.create(**options)
+            project.save()
+
+            return project
+        else:
+            return projects[0]
 
 class Project(models.Model):
     search_allowed_fields = ['name', 'short_description', 'release__name', 'release__branch_name']
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 243bb09..16f27b8 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -73,7 +73,7 @@ class MimeTypeFinder(object):
 def landing(request):
     # in build mode, we redirect to the command-line builds page
     # if there are any builds for the default (cli builds) project
-    default_project = Project.objects.get_default_project()
+    default_project = Project.objects.get_or_create_default_project()
     default_project_builds = Build.objects.filter(project = default_project)
 
     # we only redirect to projects page if there is a user-generated project
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 05/18] toaster: Start Django machinery for database access
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (3 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 04/18] toaster: Create default project with get_or_create* method Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 06/18] toaster: rename get_query_set -> get_queryset Ed Bartosh
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

buildinfohelper, with the new import paths for our Django models
and Django 1.8, was not getting an active connection to the database.

In buildinfohelper, call django.setup() explicitly to make sure
that the database connection is ready and models can be queried
and saved.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/bb/ui/buildinfohelper.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index 87e03e7..04ce23a 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -24,6 +24,7 @@ import os
 os.environ["DJANGO_SETTINGS_MODULE"] = "toaster.toastermain.settings"
 
 
+import django
 from django.utils import timezone
 
 
@@ -33,6 +34,8 @@ def _configure_toaster():
     sys.path.append(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'toaster'))
 _configure_toaster()
 
+django.setup()
+
 from orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage, HelpText
 from orm.models import Target_Image_File, BuildArtifact
 from orm.models import Variable, VariableHistory
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 06/18] toaster: rename get_query_set -> get_queryset
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (4 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 05/18] toaster: Start Django machinery for database access Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 07/18] toaster: Update API used to make runbuilds methods run in transactions Ed Bartosh
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

Renamed get_query_set to get_queryset as get_queryset causes
deprecation warning in Django 1.7 and is deprecated in Django 1.8

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/orm/models.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 4a868e7..b25910a 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -598,8 +598,8 @@ class Package(models.Model):
 class Package_DependencyManager(models.Manager):
     use_for_related_fields = True
 
-    def get_query_set(self):
-        return super(Package_DependencyManager, self).get_query_set().exclude(package_id = F('depends_on__id'))
+    def get_queryset(self):
+        return super(Package_DependencyManager, self).get_queryset().exclude(package_id = F('depends_on__id'))
 
 class Package_Dependency(models.Model):
     TYPE_RDEPENDS = 0
@@ -699,8 +699,8 @@ class Recipe(models.Model):
 class Recipe_DependencyManager(models.Manager):
     use_for_related_fields = True
 
-    def get_query_set(self):
-        return super(Recipe_DependencyManager, self).get_query_set().exclude(recipe_id = F('depends_on__id'))
+    def get_queryset(self):
+        return super(Recipe_DependencyManager, self).get_queryset().exclude(recipe_id = F('depends_on__id'))
 
 class Recipe_Dependency(models.Model):
     TYPE_DEPENDS = 0
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 07/18] toaster: Update API used to make runbuilds methods run in transactions
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (5 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 06/18] toaster: rename get_query_set -> get_queryset Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 08/18] toaster: Prevent deprecation warnings for RedirectView Ed Bartosh
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

runbuilds previously had its methods decorated with
transaction.commit_on_success, which is now deprecated. transaction.atomic
is an (almost) drop-in replacement for this, so use this instead.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
index 48dc618..d40dedb 100644
--- a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
+++ b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
@@ -14,14 +14,14 @@ class Command(NoArgsCommand):
     help    = "Schedules and executes build requests as possible. Does not return (interrupt with Ctrl-C)"
 
 
-    @transaction.commit_on_success
+    @transaction.atomic
     def _selectBuildEnvironment(self):
         bec = getBuildEnvironmentController(lock = BuildEnvironment.LOCK_FREE)
         bec.be.lock = BuildEnvironment.LOCK_LOCK
         bec.be.save()
         return bec
 
-    @transaction.commit_on_success
+    @transaction.atomic
     def _selectBuildRequest(self):
         br = BuildRequest.objects.filter(state = BuildRequest.REQ_QUEUED).order_by('pk')[0]
         br.state = BuildRequest.REQ_INPROGRESS
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 08/18] toaster: Prevent deprecation warnings for RedirectView
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (6 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 07/18] toaster: Update API used to make runbuilds methods run in transactions Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 09/18] toaster: Update deprecated manage.py command Ed Bartosh
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

The API for RedirectView is due to change in Django 1.9, which
means that Toaster generates deprecation warnings.

Set the "permanent" flag when constructing RedirectView instances
to prevent this warning.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/bldcollector/urls.py | 1 -
 bitbake/lib/toaster/toastergui/urls.py   | 2 +-
 bitbake/lib/toaster/toastermain/urls.py  | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/bitbake/lib/toaster/bldcollector/urls.py b/bitbake/lib/toaster/bldcollector/urls.py
index 144387b..64722f2 100644
--- a/bitbake/lib/toaster/bldcollector/urls.py
+++ b/bitbake/lib/toaster/bldcollector/urls.py
@@ -18,7 +18,6 @@
 
 
 from django.conf.urls import patterns, include, url
-from django.views.generic import RedirectView
 
 urlpatterns = patterns('bldcollector.views',
         # landing point for pushing a bitbake_eventlog.json file to this toaster instace
diff --git a/bitbake/lib/toaster/toastergui/urls.py b/bitbake/lib/toaster/toastergui/urls.py
index a1adbb7..2bf2d99 100644
--- a/bitbake/lib/toaster/toastergui/urls.py
+++ b/bitbake/lib/toaster/toastergui/urls.py
@@ -168,5 +168,5 @@ urlpatterns = patterns('toastergui.views',
             name='xhr_customrecipe'),
 
           # default redirection
-        url(r'^$', RedirectView.as_view( url= 'landing')),
+        url(r'^$', RedirectView.as_view(url='landing', permanent=True)),
 )
diff --git a/bitbake/lib/toaster/toastermain/urls.py b/bitbake/lib/toaster/toastermain/urls.py
index 5ce5a92..534679d 100644
--- a/bitbake/lib/toaster/toastermain/urls.py
+++ b/bitbake/lib/toaster/toastermain/urls.py
@@ -45,7 +45,7 @@ urlpatterns = patterns('',
     url(r'^orm/eventfile$', 'bldcollector.views.eventfile'),
 
     # if no application is selected, we have the magic toastergui app here
-    url(r'^$', never_cache(RedirectView.as_view(url='/toastergui/'))),
+    url(r'^$', never_cache(RedirectView.as_view(url='/toastergui/', permanent=True))),
 )
 
 import toastermain.settings
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 09/18] toaster: Update deprecated manage.py command
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (7 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 08/18] toaster: Prevent deprecation warnings for RedirectView Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 10/18] toaster: Check Django version against toaster-requirements.txt Ed Bartosh
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

syncdb is deprecated in favour of migrate in Django 1.7:
https://docs.djangoproject.com/en/1.8/releases/1.7/#schema-migrations

Update to the "migrate" command in Toaster's start script.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/bin/toaster | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster
index 528e17e..e3c7867 100755
--- a/bitbake/bin/toaster
+++ b/bitbake/bin/toaster
@@ -56,7 +56,7 @@ webserverStartAll()
     retval=0
     # you can always add a superuser later via
     # python bitbake/lib/toaster/manage.py python manage.py createsuperuser --username=<ME>
-    python $BBBASEDIR/lib/toaster/manage.py syncdb --noinput || retval=1
+    python $BBBASEDIR/lib/toaster/manage.py migrate --noinput || retval=1
 
     python $BBBASEDIR/lib/toaster/manage.py migrate orm || retval=2
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 10/18] toaster: Check Django version against toaster-requirements.txt
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (8 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 09/18] toaster: Update deprecated manage.py command Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 11/18] toaster: Remove compatible_layerversions() method Ed Bartosh
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

Instead of hard-coding the required Django version in the start
script, look it up from the toaster-requirements.txt file.

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/bin/toaster | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster
index e3c7867..0862a35 100755
--- a/bitbake/bin/toaster
+++ b/bitbake/bin/toaster
@@ -175,9 +175,15 @@ notify_chldexit() {
 
 verify_prereq() {
     # Verify prerequisites
+    regex="([0-9])\.([0-9])"
+    for line in `cat $BBBASEDIR/toaster-requirements.txt | grep Django` ; do
+        [[ `echo $line` =~ $regex ]]
+        required_major_version="${BASH_REMATCH[1]}"
+        required_minor_version="${BASH_REMATCH[2]}"
+    done
 
-    if ! echo "import django; print (1,) == django.VERSION[0:1] and django.VERSION[1:2][0] in (8,)" | python 2>/dev/null | grep True >/dev/null; then
-        printf "This program needs Django 1.8. Please install with\n\npip install django<=1.8.7\n"
+    if ! echo "import django; print ($required_major_version,) == django.VERSION[0:1] and django.VERSION[1:2][0] in ($required_minor_version,)" | python 2>/dev/null | grep True >/dev/null; then
+        printf "This program needs Django $required_major_version.$required_minor_version. Please install with\n\npip install -r $BBBASEDIR/toaster-requirements.txt\n"
         return 2
     fi
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 11/18] toaster: Remove compatible_layerversions() method
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (9 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 10/18] toaster: Check Django version against toaster-requirements.txt Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:31 ` [PATCH 12/18] toaster: Amend regex for MySQL database URLs Ed Bartosh
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

Remove compatible_layerversions() and replace calls to it with
calls to get_all_compatible_layer_versions().

The sorting done in compatible_layerversions() is not relevant,
and the code can be simplified by using get_all_compatible_layer_versions().

[YOCTO #8364]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/orm/models.py       | 20 ++------------------
 bitbake/lib/toaster/toastergui/views.py | 22 ++++++++++++++--------
 2 files changed, 16 insertions(+), 26 deletions(-)

diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index b25910a..5b8a45d 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -195,23 +195,6 @@ class Project(models.Model):
         except (Variable.DoesNotExist,IndexError):
             return( "not_found" )
 
-    # returns a queryset of compatible layers for a project
-    def compatible_layerversions(self, release = None, layer_name = None):
-        logger.warning("This function is deprecated")
-        if release == None:
-            release = self.release
-        # layers on the same branch or layers specifically set for this project
-        queryset = Layer_Version.objects.filter(((Q(up_branch__name = release.branch_name) & Q(project = None)) | Q(project = self)) & Q(build__isnull=True))
-
-        if layer_name is not None:
-            # we select only a layer name
-            queryset = queryset.filter(layer__name = layer_name)
-
-        # order by layer version priority
-        queryset = queryset.filter(Q(layer_source=None) | Q(layer_source__releaselayersourcepriority__release = release)).select_related('layer_source', 'layer', 'up_branch', "layer_source__releaselayersourcepriority__priority").order_by("-layer_source__releaselayersourcepriority__priority")
-
-        return queryset
-
     def get_all_compatible_layer_versions(self):
         """ Returns Queryset of all Layer_Versions which are compatible with
         this project"""
@@ -1184,7 +1167,8 @@ class Layer_Version(models.Model):
         return self._handle_url_path(self.layer.vcs_web_tree_base_url, '')
 
     def get_equivalents_wpriority(self, project):
-        return project.compatible_layerversions(layer_name = self.layer.name)
+        layer_versions = project.get_all_compatible_layer_versions()
+        return layer_versions.filter(layer__name = self.layer.name)
 
     def get_vcs_reference(self):
         if self.branch is not None and len(self.branch) > 0:
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 16f27b8..bd334b9 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -2264,16 +2264,17 @@ if True:
                 prj.bitbake_version = prj.release.bitbake_version
                 prj.save()
                 # we need to change the layers
-                for i in prj.projectlayer_set.all():
+                for project in prj.projectlayer_set.all():
                     # find and add a similarly-named layer on the new branch
                     try:
-                        lv = prj.compatible_layerversions(layer_name = i.layercommit.layer.name)[0]
-                        ProjectLayer.objects.get_or_create(project = prj, layercommit = lv)
+                        layer_versions = prj.get_all_compatible_layer_versions()
+                        layer_versions = layer_versions.filter(layer__name = project.layercommit.layer.name)
+                        ProjectLayer.objects.get_or_create(project = prj, layercommit = layer_versions.first())
                     except IndexError:
                         pass
                     finally:
                         # get rid of the old entry
-                        i.delete()
+                        project.delete()
 
             if 'machineName' in request.POST:
                 machinevar = prj.projectvariable_set.get(name="MACHINE")
@@ -2383,12 +2384,17 @@ if True:
 
             retval = []
 
-            for i in prj.projectlayer_set.all():
-                lv = prj.compatible_layerversions(release = Release.objects.get(pk=new_release_id)).filter(layer__name = i.layercommit.layer.name)
+            for project in prj.projectlayer_set.all():
+                release = Release.objects.get(pk = new_release_id)
+
+                layer_versions = prj.get_all_compatible_layer_versions()
+                layer_versions = layer_versions.filter(release = release)
+                layer_versions = layer_versions.filter(layer__name = project.layercommit.layer.name)
+
                 # there is no layer_version with the new release id,
                 # and the same name
-                if lv.count() < 1:
-                    retval.append(i)
+                if layer_versions.count() < 1:
+                    retval.append(project)
 
             return response({"error":"ok",
                              "rows" : map( _lv_to_dict(prj),
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 12/18] toaster: Amend regex for MySQL database URLs
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (10 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 11/18] toaster: Remove compatible_layerversions() method Ed Bartosh
@ 2015-12-08 15:31 ` Ed Bartosh
  2015-12-08 15:32 ` [PATCH 13/18] toaster: use OneToOneField instead of ForeignKey Ed Bartosh
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:31 UTC (permalink / raw)
  To: toaster

From: Elliot Smith <elliot.smith@intel.com>

The database URL detection doesn't admit a MySQL URL without a port.

As this is a common case (e.g. you would set the HOST to a mysql.sock
path if pointing at a local MySQL server, with no port setting),
amend the regex so it will correctly recognise paths, as well
as HOST:PORT URLs.

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/toastermain/settings.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/bitbake/lib/toaster/toastermain/settings.py b/bitbake/lib/toaster/toastermain/settings.py
index 7c559bc..b6bdcd8 100644
--- a/bitbake/lib/toaster/toastermain/settings.py
+++ b/bitbake/lib/toaster/toastermain/settings.py
@@ -64,6 +64,7 @@ if 'sqlite' in DATABASES['default']['ENGINE']:
 
 if 'DATABASE_URL' in os.environ:
     dburl = os.environ['DATABASE_URL']
+
     if dburl.startswith('sqlite3://'):
         result = re.match('sqlite3://(.*)', dburl)
         if result is None:
@@ -78,7 +79,7 @@ if 'DATABASE_URL' in os.environ:
         }
     elif dburl.startswith('mysql://'):
         # URL must be in this form: mysql://user:pass@host:port/name
-        result = re.match(r"mysql://([^:]*):([^@]*)@([^:]*):(\d+)/([^/]*)", dburl)
+        result = re.match(r"mysql://([^:]*):([^@]*)@([^:]*):(\d*)/([^/]*)", dburl)
         if result is None:
             raise Exception("ERROR: Could not read mysql database url: %s" % dburl)
         DATABASES['default'] = {
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 13/18] toaster: use OneToOneField instead of ForeignKey
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (11 preceding siblings ...)
  2015-12-08 15:31 ` [PATCH 12/18] toaster: Amend regex for MySQL database URLs Ed Bartosh
@ 2015-12-08 15:32 ` Ed Bartosh
  2015-12-08 15:32 ` [PATCH 14/18] toaster: fixed format strings Ed Bartosh
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:32 UTC (permalink / raw)
  To: toaster

Used OneToOneField to reference BuildRequest in BRBitbake model.

Fixed django warning:
WARNINGS: Setting unique=True on a ForeignKey has the same effect
          as using a OneToOneField.

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/bldcontrol/bbcontroller.py              |  4 ++--
 bitbake/lib/toaster/bldcontrol/localhostbecontroller.py     | 13 ++++++-------
 .../lib/toaster/bldcontrol/management/commands/runbuilds.py |  2 +-
 bitbake/lib/toaster/bldcontrol/models.py                    |  2 +-
 bitbake/lib/toaster/bldcontrol/tests.py                     |  6 +++---
 5 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/bitbake/lib/toaster/bldcontrol/bbcontroller.py b/bitbake/lib/toaster/bldcontrol/bbcontroller.py
index 8b99318..1b8587b 100644
--- a/bitbake/lib/toaster/bldcontrol/bbcontroller.py
+++ b/bitbake/lib/toaster/bldcontrol/bbcontroller.py
@@ -138,10 +138,10 @@ class BuildEnvironmentController(object):
         raise Exception("FIXME: Must override in order to actually start the BB server")
 
 
-    def setLayers(self, bbs, ls):
+    def setLayers(self, bitbake, ls):
         """ Checks-out bitbake executor and layers from git repositories.
             Sets the layer variables in the config file, after validating local layer paths.
-            The bitbakes must be a 1-length list of BRBitbake
+            bitbake must be a single BRBitbake instance
             The layer paths must be in a list of BRLayer object
 
             a word of attention: by convention, the first layer for any build will be poky!
diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
index 92d9ac5..f0edcb0 100644
--- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
+++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
@@ -115,18 +115,17 @@ class LocalhostBEController(BuildEnvironmentController):
         return local_checkout_path
 
 
-    def setLayers(self, bitbakes, layers, targets):
+    def setLayers(self, bitbake, layers, targets):
         """ a word of attention: by convention, the first layer for any build will be poky! """
 
         assert self.be.sourcedir is not None
-        assert len(bitbakes) == 1
         # set layers in the layersource
 
         # 1. get a list of repos with branches, and map dirpaths for each layer
         gitrepos = {}
 
-        gitrepos[(bitbakes[0].giturl, bitbakes[0].commit)] = []
-        gitrepos[(bitbakes[0].giturl, bitbakes[0].commit)].append( ("bitbake", bitbakes[0].dirpath) )
+        gitrepos[(bitbake.giturl, bitbake.commit)] = []
+        gitrepos[(bitbake.giturl, bitbake.commit)].append( ("bitbake", bitbake.dirpath) )
 
         for layer in layers:
             # we don't process local URLs
@@ -198,7 +197,7 @@ class LocalhostBEController(BuildEnvironmentController):
                 # make sure we have a working bitbake
                 if not os.path.exists(os.path.join(self.pokydirname, 'bitbake')):
                     logger.debug("localhostbecontroller: checking bitbake into the poky dirname %s " % self.pokydirname)
-                    self._shellcmd("git clone -b \"%s\" \"%s\" \"%s\" " % (bitbakes[0].commit, bitbakes[0].giturl, os.path.join(self.pokydirname, 'bitbake')))
+                    self._shellcmd("git clone -b \"%s\" \"%s\" \"%s\" " % (bitbake.commit, bitbake.giturl, os.path.join(self.pokydirname, 'bitbake')))
 
             # verify our repositories
             for name, dirpath in gitrepos[(giturl, commit)]:
@@ -224,7 +223,7 @@ class LocalhostBEController(BuildEnvironmentController):
         for target in targets:
             try:
                 customrecipe = CustomImageRecipe.objects.get(name=target.target,
-                                                             project=bitbakes[0].req.project)
+                                                             project=bitbake.req.project)
             except CustomImageRecipe.DoesNotExist:
                 continue # not a custom recipe, skip
 
@@ -278,7 +277,7 @@ class LocalhostBEController(BuildEnvironmentController):
 
 
     def triggerBuild(self, bitbake, layers, variables, targets):
-        # set up the buid environment with the needed layers
+        # set up the build environment with the needed layers
         self.setLayers(bitbake, layers, targets)
 
         # get the bb server running with the build req id and build env id
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
index d40dedb..edf71a7 100644
--- a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
+++ b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
@@ -57,7 +57,7 @@ class Command(NoArgsCommand):
             br.save()
 
             # this triggers an async build
-            bec.triggerBuild(br.brbitbake_set.all(), br.brlayer_set.all(), br.brvariable_set.all(), br.brtarget_set.all())
+            bec.triggerBuild(br.brbitbake, br.brlayer_set.all(), br.brvariable_set.all(), br.brtarget_set.all())
 
         except Exception as e:
             logger.error("runbuilds: Error launching build %s" % e)
diff --git a/bitbake/lib/toaster/bldcontrol/models.py b/bitbake/lib/toaster/bldcontrol/models.py
index ab41105..a3a49ce 100644
--- a/bitbake/lib/toaster/bldcontrol/models.py
+++ b/bitbake/lib/toaster/bldcontrol/models.py
@@ -106,7 +106,7 @@ class BRLayer(models.Model):
     layer_version = models.ForeignKey(Layer_Version, null=True)
 
 class BRBitbake(models.Model):
-    req         = models.ForeignKey(BuildRequest, unique = True)    # only one bitbake for a request
+    req         = models.OneToOneField(BuildRequest)    # only one bitbake for a request
     giturl      = models.CharField(max_length =254)
     commit      = models.CharField(max_length = 254)
     dirpath     = models.CharField(max_length = 254)
diff --git a/bitbake/lib/toaster/bldcontrol/tests.py b/bitbake/lib/toaster/bldcontrol/tests.py
index f54cf7f..141b42a 100644
--- a/bitbake/lib/toaster/bldcontrol/tests.py
+++ b/bitbake/lib/toaster/bldcontrol/tests.py
@@ -18,7 +18,7 @@ import subprocess
 import os
 
 # standard poky data hardcoded for testing
-BITBAKE_LAYERS = [type('bitbake_info', (object,), { "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "", "commit": "HEAD"})]
+BITBAKE_LAYER = type('bitbake_info', (object,), { "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "", "commit": "HEAD"})
 POKY_LAYERS = [
     type('poky_info', (object,), { "name": "meta", "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "meta", "commit": "HEAD"}),
     type('poky_info', (object,), { "name": "meta-yocto", "giturl": "git://git.yoctoproject.org/poky.git", "dirpath": "meta-yocto", "commit": "HEAD"}),
@@ -53,7 +53,7 @@ class BEControllerTests(object):
         bc = self._getBEController(obe)
         try:
             # setting layers, skip any layer info
-            bc.setLayers(BITBAKE_LAYERS, POKY_LAYERS)
+            bc.setLayers(BITBAKE_LAYER, POKY_LAYERS)
         except NotImplementedException,  e:
             print "Test skipped due to command not implemented yet"
             return True
@@ -80,7 +80,7 @@ class BEControllerTests(object):
         layerSet = False
         try:
             # setting layers, skip any layer info
-            layerSet = bc.setLayers(BITBAKE_LAYERS, POKY_LAYERS)
+            layerSet = bc.setLayers(BITBAKE_LAYER, POKY_LAYERS)
         except NotImplementedException:
             print "Test skipped due to command not implemented yet"
             return True
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 14/18] toaster: fixed format strings
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (12 preceding siblings ...)
  2015-12-08 15:32 ` [PATCH 13/18] toaster: use OneToOneField instead of ForeignKey Ed Bartosh
@ 2015-12-08 15:32 ` Ed Bartosh
  2015-12-08 15:32 ` [PATCH 15/18] toaster: work around 'database is locked' error Ed Bartosh
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:32 UTC (permalink / raw)
  To: toaster

Printing id as a number breaks toaster if object is not saved
yet as id/pk is None in this case.

Changed format spec to print id as a string in __str__
and __unicode__ methods of Build, Task and LayerVersion models.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/orm/models.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 5b8a45d..7b99a1f 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -370,7 +370,7 @@ class Build(models.Model):
             return self.get_outcome_text()
 
     def __str__(self):
-        return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()]))
+        return "%s %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()]))
 
 
 # an Artifact is anything that results from a Build, and may be of interest to the user, and is not stored elsewhere
@@ -552,7 +552,7 @@ class Task(models.Model):
     sstate_text  = property(get_sstate_text)
 
     def __unicode__(self):
-        return "%d(%d) %s:%s" % (self.pk, self.build.pk, self.recipe.name, self.task_name)
+        return "%s(%s) %s:%s" % (self.pk, self.build.pk, self.recipe.name, self.task_name)
 
     class Meta:
         ordering = ('order', 'recipe' ,)
@@ -1202,7 +1202,7 @@ class Layer_Version(models.Model):
         return sorted(result, key=lambda x: x.layer.name)
 
     def __unicode__(self):
-        return "%d %s (VCS %s, Project %s)" % (self.pk, str(self.layer), self.get_vcs_reference(), self.build.project if self.build is not None else "No project")
+        return "%s %s (VCS %s, Project %s)" % (self.pk, str(self.layer), self.get_vcs_reference(), self.build.project if self.build is not None else "No project")
 
     class Meta:
         unique_together = ("layer_source", "up_id")
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 15/18] toaster: work around 'database is locked' error
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (13 preceding siblings ...)
  2015-12-08 15:32 ` [PATCH 14/18] toaster: fixed format strings Ed Bartosh
@ 2015-12-08 15:32 ` Ed Bartosh
  2015-12-08 15:32 ` [PATCH 16/18] toaster: removed extra calls of migrate Ed Bartosh
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:32 UTC (permalink / raw)
  To: toaster

When sqlite can not cope with a stream of 'insert' queries it throws
'database is locked' exception.

Wrapping model.save in transaction.atomic context and repeating the call
should solve this issue.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/orm/models.py | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 7b99a1f..630c395 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -29,10 +29,28 @@ from django.core import validators
 from django.conf import settings
 import django.db.models.signals
 
-
 import logging
 logger = logging.getLogger("toaster")
 
+if 'sqlite' in settings.DATABASES['default']['ENGINE']:
+    from django.db import transaction, OperationalError
+    from time import sleep
+
+    _base_save = models.Model.save
+    def save(self, *args, **kwargs):
+        while True:
+            try:
+                with transaction.atomic():
+                    return _base_save(self, *args, **kwargs)
+            except OperationalError as err:
+                if 'database is locked' in str(err):
+                    logger.warning("%s, model: %s, args: %s, kwargs: %s",
+                                   err, self.__class__, args, kwargs)
+                    sleep(0.5)
+                    continue
+                raise
+
+    models.Model.save = save
 
 class GitURLValidator(validators.URLValidator):
     import re
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 16/18] toaster: removed extra calls of migrate
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (14 preceding siblings ...)
  2015-12-08 15:32 ` [PATCH 15/18] toaster: work around 'database is locked' error Ed Bartosh
@ 2015-12-08 15:32 ` Ed Bartosh
  2015-12-08 15:32 ` [PATCH 17/18] toaster: monkey patch Queryset Ed Bartosh
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:32 UTC (permalink / raw)
  To: toaster

One manage.py migrate should be enough to apply migrations for
all applications. Extra calls just slow toaster script down.

Removed calls of migrate for orm and bldcontrol apps.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/bin/toaster | 20 +-------------------
 1 file changed, 1 insertion(+), 19 deletions(-)

diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster
index 0862a35..7645c56 100755
--- a/bitbake/bin/toaster
+++ b/bitbake/bin/toaster
@@ -58,26 +58,8 @@ webserverStartAll()
     # python bitbake/lib/toaster/manage.py python manage.py createsuperuser --username=<ME>
     python $BBBASEDIR/lib/toaster/manage.py migrate --noinput || retval=1
 
-    python $BBBASEDIR/lib/toaster/manage.py migrate orm || retval=2
-
-    if [ $retval -eq 1 ]; then
-        echo "Failed db sync, aborting system start" 1>&2
-        return $retval
-    fi
-
-    python $BBBASEDIR/lib/toaster/manage.py migrate orm || retval=1
-
-    if [ $retval -eq 1 ]; then
-        printf "\nError on orm migration, rolling back...\n"
-        python $BBBASEDIR/lib/toaster/manage.py migrate orm 0001_initial --fake
-        return $retval
-    fi
-
-    python $BBBASEDIR/lib/toaster/manage.py migrate bldcontrol || retval=1
-
     if [ $retval -eq 1 ]; then
-        printf "\nError on bldcontrol migration, rolling back...\n"
-        python $BBBASEDIR/lib/toaster/manage.py migrate bldcontrol 0001_initial --fake
+        echo "Failed migrations, aborting system start" 1>&2
         return $retval
     fi
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 17/18] toaster: monkey patch Queryset
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (15 preceding siblings ...)
  2015-12-08 15:32 ` [PATCH 16/18] toaster: removed extra calls of migrate Ed Bartosh
@ 2015-12-08 15:32 ` Ed Bartosh
  2015-12-08 15:32 ` [PATCH 18/18] toaster: rework check for Django version Ed Bartosh
  2015-12-09 11:59 ` [PATCH 00/18] Upgrade to Django 1.8 Barros Pena, Belen
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:32 UTC (permalink / raw)
  To: toaster

Fixed 'database is locked' issue by monkey patching django QuerySet
methods.

The actual patching places were found by bisecting Django codebase.

This commit should be removed after Django is fixed if it's fixed
at all.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/orm/models.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 630c395..0df3ca3 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -52,6 +52,36 @@ if 'sqlite' in settings.DATABASES['default']['ENGINE']:
 
     models.Model.save = save
 
+    # HACK: Monkey patch Django to fix 'database is locked' issue
+
+    from django.db.models.query import QuerySet
+    _base_insert = QuerySet._insert
+    def _insert(self,  *args, **kwargs):
+        with transaction.atomic(using=self.db, savepoint=False):
+            return _base_insert(self, *args, **kwargs)
+    QuerySet._insert = _insert
+
+    from django.utils import six
+    def _create_object_from_params(self, lookup, params):
+        """
+        Tries to create an object using passed params.
+        Used by get_or_create and update_or_create
+        """
+        try:
+            obj = self.create(**params)
+            return obj, True
+        except IntegrityError:
+            exc_info = sys.exc_info()
+            try:
+                return self.get(**lookup), False
+            except self.model.DoesNotExist:
+                pass
+            six.reraise(*exc_info)
+
+    QuerySet._create_object_from_params = _create_object_from_params
+
+    # end of HACK
+
 class GitURLValidator(validators.URLValidator):
     import re
     regex = re.compile(
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH 18/18] toaster: rework check for Django version
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (16 preceding siblings ...)
  2015-12-08 15:32 ` [PATCH 17/18] toaster: monkey patch Queryset Ed Bartosh
@ 2015-12-08 15:32 ` Ed Bartosh
  2015-12-09 11:59 ` [PATCH 00/18] Upgrade to Django 1.8 Barros Pena, Belen
  18 siblings, 0 replies; 24+ messages in thread
From: Ed Bartosh @ 2015-12-08 15:32 UTC (permalink / raw)
  To: toaster

Checked django version considering information from
toaster-requirements.txt, e.g. if requirements file contains
Django<1.9 line toaster should be able to check that requirement
correctly.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/bin/toaster              | 21 +++++++--------------
 bitbake/toaster-requirements.txt |  2 +-
 2 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster
index 7645c56..aa184ba 100755
--- a/bitbake/bin/toaster
+++ b/bitbake/bin/toaster
@@ -156,16 +156,12 @@ notify_chldexit() {
 
 
 verify_prereq() {
-    # Verify prerequisites
-    regex="([0-9])\.([0-9])"
-    for line in `cat $BBBASEDIR/toaster-requirements.txt | grep Django` ; do
-        [[ `echo $line` =~ $regex ]]
-        required_major_version="${BASH_REMATCH[1]}"
-        required_minor_version="${BASH_REMATCH[2]}"
-    done
-
-    if ! echo "import django; print ($required_major_version,) == django.VERSION[0:1] and django.VERSION[1:2][0] in ($required_minor_version,)" | python 2>/dev/null | grep True >/dev/null; then
-        printf "This program needs Django $required_major_version.$required_minor_version. Please install with\n\npip install -r $BBBASEDIR/toaster-requirements.txt\n"
+    # Verify Django version
+    reqfile=$BBBASEDIR/toaster-requirements.txt
+    if ! sed -n 's/Django\([><=]\+\)\(.\+\)/import sys,django;sys.exit(not django.get_version().split(".")\1"\2".split("."))/p' \
+           $reqfile | python - ; then
+        req=`grep ^Django $reqfile`
+        printf "This program needs $req\nPlease install with pip install -r $BBBASEDIR/toaster-requirements.txt\n"
         return 2
     fi
 
@@ -265,10 +261,7 @@ if [ "$1" = 'restart-bitbake' ] ; then
     return $rc
 fi
 
-if ! verify_prereq; then
-    echo "Error: Could not verify that the needed dependencies are installed. Please use virtualenv and pip to install dependencies listed in toaster-requirements.txt" 1>&2
-    return 1
-fi
+verify_prereq || return 1
 
 # We make sure we're running in the current shell and in a good environment
 if [ -z "$BUILDDIR" ] ||  ! which bitbake >/dev/null 2>&1 ; then
diff --git a/bitbake/toaster-requirements.txt b/bitbake/toaster-requirements.txt
index 5d34494..96408c5 100644
--- a/bitbake/toaster-requirements.txt
+++ b/bitbake/toaster-requirements.txt
@@ -1,4 +1,4 @@
-Django==1.8.6
+Django<1.9
 argparse==1.2.1
 wsgiref==0.1.2
 beautifulsoup4>=4.4.0
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [PATCH 00/18] Upgrade to Django 1.8
  2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
                   ` (17 preceding siblings ...)
  2015-12-08 15:32 ` [PATCH 18/18] toaster: rework check for Django version Ed Bartosh
@ 2015-12-09 11:59 ` Barros Pena, Belen
  2015-12-09 14:47   ` Michael Wood
  18 siblings, 1 reply; 24+ messages in thread
From: Barros Pena, Belen @ 2015-12-09 11:59 UTC (permalink / raw)
  To: toaster@yoctoproject.org



On 08/12/2015 15:31, "toaster-bounces@yoctoproject.org on behalf of Ed
Bartosh" <toaster-bounces@yoctoproject.org on behalf of
ed.bartosh@linux.intel.com> wrote:

>Hi,
>
>This patchset upgrades Toaster to work correctly under Django 1.8.
>It was tested with Django 1.8.6

I tried to run Toaster with this, but when I call the toaster script I get
this message:

Unknown command: 'migrate'
Type 'manage.py help' for usage.
Failed migrations, aborting system start
Failed start.


Any ideas about what's I am doing wrong?

Thanks!

Belén

>
>Please review and submit upstream.
>
>The following changes since commit
>befaceb2873ff8c8cc791d48f0324442c15cbcdc:
>
>  toaster: return back 'New project' button (2015-12-08 13:10:33 +0200)
>
>are available in the git repository at:
>
>  git://git.yoctoproject.org/poky-contrib ed/toaster/django_upgrade-8364
>  
>http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/django
>_upgrade-8364
>
>Ed Bartosh (9):
>  toaster: Remove South migrations
>  toaster: Fix references to app paths
>  toaster: rename get_query_set -> get_queryset
>  toaster: use OneToOneField instead of ForeignKey
>  toaster: fixed format strings
>  toaster: work around 'database is locked' error
>  toaster: removed extra calls of migrate
>  toaster: monkey patch Queryset
>  toaster: rework check for Django version
>
>Elliot Smith (9):
>  toaster: Upgrade to Django 1.8.6 and remove South
>  toaster: Create default project with get_or_create* method
>  toaster: Start Django machinery for database access
>  toaster: Update API used to make runbuilds methods run in transactions
>  toaster: Prevent deprecation warnings for RedirectView
>  toaster: Update deprecated manage.py command
>  toaster: Check Django version against toaster-requirements.txt
>  toaster: Remove compatible_layerversions() method
>  toaster: Amend regex for MySQL database URLs
>
> bitbake/bin/toaster                                |  41 +-
> bitbake/lib/bb/ui/buildinfohelper.py               |  26 +-
> bitbake/lib/toaster/bldcollector/urls.py           |   1 -
> bitbake/lib/toaster/bldcontrol/bbcontroller.py     |   4 +-
> .../toaster/bldcontrol/localhostbecontroller.py    |  13 +-
> .../bldcontrol/management/commands/runbuilds.py    |   6 +-
> .../toaster/bldcontrol/migrations/0001_initial.py  | 265 +++---
> ...onment_sourcedir__add_field_buildenvironment.py | 106 ---
> .../0003_auto__add_field_brlayer_dirpath.py        |  99 ---
> .../bldcontrol/migrations/0004_loadinitialdata.py  | 104 ---
> .../migrations/0005_auto__add_brerror.py           | 112 ---
> .../migrations/0006_auto__add_brbitbake.py         | 128 ---
> ...st_environment__chg_field_buildrequest_build.py | 145 ----
> .../bldcontrol/migrations/0008_brarchive.py        | 138 ---
> .../0009_auto__add_field_brlayer_layer_version.py  | 180 ----
> bitbake/lib/toaster/bldcontrol/models.py           |   2 +-
> bitbake/lib/toaster/bldcontrol/tests.py            |   6 +-
> bitbake/lib/toaster/orm/migrations/0001_initial.py | 928
>++++++++++++---------
> .../0002_auto__add_field_build_timespent.py        | 180 ----
> .../lib/toaster/orm/migrations/0003_timespent.py   | 182 ----
> .../0004_auto__add_field_package_installed_name.py | 181 ----
> ...e__add_target_file__add_field_variablehistor.py | 281 -------
> ...ge_size__add_field_target_license_manifest_p.py | 235 ------
> .../orm/migrations/0007_auto__add_helptext.py      | 214 -----
> ...story_operation__chg_field_recipe_descriptio.py | 225 -----
> ..._add_projectlayer__add_projecttarget__add_pr.py | 286 -------
> ...anch__add_field_project_short_description__a.py | 257 ------
> .../0011_auto__add_field_projectlayer_dirpath.py   | 242 ------
> ...layer_optional__add_field_projecttarget_task.py | 252 ------
> ...erversiondependency__add_unique_layerversion.py | 710 ----------------
> ...mmary__chg_field_layer_summary__chg_field_re.py | 336 --------
> ...web_url__add_field_layer_vcs_web_tree_base_u.py | 336 --------
> ...lptext__chg_field_release_branch__add_index_.py | 359 --------
> ...faultlayer__add_releaselayersourcepriority__.py | 396 ---------
> .../0018_auto__add_field_layer_version_project.py  | 331 --------
> .../orm/migrations/0019_auto__add_buildartifact.py | 342 --------
> ...ion_local_path__add_field_recipe_pathflags__.py | 361 --------
> ...ect__chg_field_project_bitbake_version__chg_.py | 371 --------
> ...k__add_field_layer_version_local_path__del_f.py | 343 --------
> ...ings_no__del_field_build_errors_no__del_fiel.py | 353 --------
> .../0024_auto__add_field_recipe_is_image.py        | 338 --------
> .../0025_auto__add_field_project_is_default.py     | 346 --------
> .../orm/migrations/0026_set_default_project.py     | 374 ---------
> ...e__add_unique_customimagerecipe_name_project.py | 375 ---------
> .../0028_auto__chg_field_logmessage_message.py     | 345 --------
> bitbake/lib/toaster/orm/models.py                  | 107 ++-
> bitbake/lib/toaster/toastergui/urls.py             |   2 +-
> bitbake/lib/toaster/toastergui/views.py            |  24 +-
> bitbake/lib/toaster/toastermain/settings.py        |   4 +-
> bitbake/lib/toaster/toastermain/urls.py            |   2 +-
> bitbake/toaster-requirements.txt                   |   3 +-
> 51 files changed, 775 insertions(+), 10222 deletions(-)
> delete mode 100644
>bitbake/lib/toaster/bldcontrol/migrations/0002_auto__add_field_buildenviro
>nment_sourcedir__add_field_buildenvironment.py
> delete mode 100644
>bitbake/lib/toaster/bldcontrol/migrations/0003_auto__add_field_brlayer_dir
>path.py
> delete mode 100644
>bitbake/lib/toaster/bldcontrol/migrations/0004_loadinitialdata.py
> delete mode 100644
>bitbake/lib/toaster/bldcontrol/migrations/0005_auto__add_brerror.py
> delete mode 100644
>bitbake/lib/toaster/bldcontrol/migrations/0006_auto__add_brbitbake.py
> delete mode 100644
>bitbake/lib/toaster/bldcontrol/migrations/0007_auto__add_field_buildreques
>t_environment__chg_field_buildrequest_build.py
> delete mode 100644
>bitbake/lib/toaster/bldcontrol/migrations/0008_brarchive.py
> delete mode 100644
>bitbake/lib/toaster/bldcontrol/migrations/0009_auto__add_field_brlayer_lay
>er_version.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0002_auto__add_field_build_timespent.py
> delete mode 100644 bitbake/lib/toaster/orm/migrations/0003_timespent.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0004_auto__add_field_package_installed_
>name.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0005_auto__add_target_image_file__add_t
>arget_file__add_field_variablehistor.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0006_auto__add_field_target_image_size_
>_add_field_target_license_manifest_p.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0007_auto__add_helptext.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0008_auto__chg_field_variablehistory_op
>eration__chg_field_recipe_descriptio.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0009_auto__add_projectvariable__add_pro
>jectlayer__add_projecttarget__add_pr.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0010_auto__add_field_project_branch__ad
>d_field_project_short_description__a.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0011_auto__add_field_projectlayer_dirpa
>th.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0012_auto__add_field_projectlayer_optio
>nal__add_field_projecttarget_task.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0013_auto__add_release__add_layerversio
>ndependency__add_unique_layerversion.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0014_auto__chg_field_package_summary__c
>hg_field_layer_summary__chg_field_re.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0015_auto__add_field_layer_vcs_web_url_
>_add_field_layer_vcs_web_tree_base_u.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0016_auto__add_field_release_helptext__
>chg_field_release_branch__add_index_.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0017_auto__del_toastersettingdefaultlay
>er__add_releaselayersourcepriority__.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0018_auto__add_field_layer_version_proj
>ect.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0019_auto__add_buildartifact.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0020_auto__add_field_layer_version_loca
>l_path__add_field_recipe_pathflags__.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0021_auto__chg_field_build_project__chg
>_field_project_bitbake_version__chg_.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0022_auto__add_field_target_task__add_f
>ield_layer_version_local_path__del_f.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0023_auto__del_field_build_warnings_no_
>_del_field_build_errors_no__del_fiel.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0024_auto__add_field_recipe_is_image.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0025_auto__add_field_project_is_default
>.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0026_set_default_project.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0027_auto__add_customimagerecipe__add_u
>nique_customimagerecipe_name_project.py
> delete mode 100644
>bitbake/lib/toaster/orm/migrations/0028_auto__chg_field_logmessage_message
>.py
>
>--
>Regards,
>Ed
>
>-- 
>_______________________________________________
>toaster mailing list
>toaster@yoctoproject.org
>https://lists.yoctoproject.org/listinfo/toaster



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 00/18] Upgrade to Django 1.8
  2015-12-09 11:59 ` [PATCH 00/18] Upgrade to Django 1.8 Barros Pena, Belen
@ 2015-12-09 14:47   ` Michael Wood
  2015-12-09 17:28     ` Brian Avery
  0 siblings, 1 reply; 24+ messages in thread
From: Michael Wood @ 2015-12-09 14:47 UTC (permalink / raw)
  To: toaster

On 09/12/15 11:59, Barros Pena, Belen wrote:
>
> On 08/12/2015 15:31, "toaster-bounces@yoctoproject.org on behalf of Ed
> Bartosh" <toaster-bounces@yoctoproject.org on behalf of
> ed.bartosh@linux.intel.com> wrote:
>
>> Hi,
>>
>> This patchset upgrades Toaster to work correctly under Django 1.8.
>> It was tested with Django 1.8.6
> I tried to run Toaster with this, but when I call the toaster script I get
> this message:
>
> Unknown command: 'migrate'
> Type 'manage.py help' for usage.
> Failed migrations, aborting system start
> Failed start.
>
>
> Any ideas about what's I am doing wrong?

looks like you've got the wrong version of django installed


>
> Thanks!
>
> Belén
>
>> Please review and submit upstream.
>>
>> The following changes since commit
>> befaceb2873ff8c8cc791d48f0324442c15cbcdc:
>>
>>   toaster: return back 'New project' button (2015-12-08 13:10:33 +0200)
>>
>> are available in the git repository at:
>>
>>   git://git.yoctoproject.org/poky-contrib ed/toaster/django_upgrade-8364
>>   
>> http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/django
>> _upgrade-8364
>>
>> Ed Bartosh (9):
>>   toaster: Remove South migrations
>>   toaster: Fix references to app paths
>>   toaster: rename get_query_set -> get_queryset
>>   toaster: use OneToOneField instead of ForeignKey
>>   toaster: fixed format strings
>>   toaster: work around 'database is locked' error
>>   toaster: removed extra calls of migrate
>>   toaster: monkey patch Queryset
>>   toaster: rework check for Django version
>>
>> Elliot Smith (9):
>>   toaster: Upgrade to Django 1.8.6 and remove South
>>   toaster: Create default project with get_or_create* method
>>   toaster: Start Django machinery for database access
>>   toaster: Update API used to make runbuilds methods run in transactions
>>   toaster: Prevent deprecation warnings for RedirectView
>>   toaster: Update deprecated manage.py command
>>   toaster: Check Django version against toaster-requirements.txt
>>   toaster: Remove compatible_layerversions() method
>>   toaster: Amend regex for MySQL database URLs
>>
>> bitbake/bin/toaster                                |  41 +-
>> bitbake/lib/bb/ui/buildinfohelper.py               |  26 +-
>> bitbake/lib/toaster/bldcollector/urls.py           |   1 -
>> bitbake/lib/toaster/bldcontrol/bbcontroller.py     |   4 +-
>> .../toaster/bldcontrol/localhostbecontroller.py    |  13 +-
>> .../bldcontrol/management/commands/runbuilds.py    |   6 +-
>> .../toaster/bldcontrol/migrations/0001_initial.py  | 265 +++---
>> ...onment_sourcedir__add_field_buildenvironment.py | 106 ---
>> .../0003_auto__add_field_brlayer_dirpath.py        |  99 ---
>> .../bldcontrol/migrations/0004_loadinitialdata.py  | 104 ---
>> .../migrations/0005_auto__add_brerror.py           | 112 ---
>> .../migrations/0006_auto__add_brbitbake.py         | 128 ---
>> ...st_environment__chg_field_buildrequest_build.py | 145 ----
>> .../bldcontrol/migrations/0008_brarchive.py        | 138 ---
>> .../0009_auto__add_field_brlayer_layer_version.py  | 180 ----
>> bitbake/lib/toaster/bldcontrol/models.py           |   2 +-
>> bitbake/lib/toaster/bldcontrol/tests.py            |   6 +-
>> bitbake/lib/toaster/orm/migrations/0001_initial.py | 928
>> ++++++++++++---------
>> .../0002_auto__add_field_build_timespent.py        | 180 ----
>> .../lib/toaster/orm/migrations/0003_timespent.py   | 182 ----
>> .../0004_auto__add_field_package_installed_name.py | 181 ----
>> ...e__add_target_file__add_field_variablehistor.py | 281 -------
>> ...ge_size__add_field_target_license_manifest_p.py | 235 ------
>> .../orm/migrations/0007_auto__add_helptext.py      | 214 -----
>> ...story_operation__chg_field_recipe_descriptio.py | 225 -----
>> ..._add_projectlayer__add_projecttarget__add_pr.py | 286 -------
>> ...anch__add_field_project_short_description__a.py | 257 ------
>> .../0011_auto__add_field_projectlayer_dirpath.py   | 242 ------
>> ...layer_optional__add_field_projecttarget_task.py | 252 ------
>> ...erversiondependency__add_unique_layerversion.py | 710 ----------------
>> ...mmary__chg_field_layer_summary__chg_field_re.py | 336 --------
>> ...web_url__add_field_layer_vcs_web_tree_base_u.py | 336 --------
>> ...lptext__chg_field_release_branch__add_index_.py | 359 --------
>> ...faultlayer__add_releaselayersourcepriority__.py | 396 ---------
>> .../0018_auto__add_field_layer_version_project.py  | 331 --------
>> .../orm/migrations/0019_auto__add_buildartifact.py | 342 --------
>> ...ion_local_path__add_field_recipe_pathflags__.py | 361 --------
>> ...ect__chg_field_project_bitbake_version__chg_.py | 371 --------
>> ...k__add_field_layer_version_local_path__del_f.py | 343 --------
>> ...ings_no__del_field_build_errors_no__del_fiel.py | 353 --------
>> .../0024_auto__add_field_recipe_is_image.py        | 338 --------
>> .../0025_auto__add_field_project_is_default.py     | 346 --------
>> .../orm/migrations/0026_set_default_project.py     | 374 ---------
>> ...e__add_unique_customimagerecipe_name_project.py | 375 ---------
>> .../0028_auto__chg_field_logmessage_message.py     | 345 --------
>> bitbake/lib/toaster/orm/models.py                  | 107 ++-
>> bitbake/lib/toaster/toastergui/urls.py             |   2 +-
>> bitbake/lib/toaster/toastergui/views.py            |  24 +-
>> bitbake/lib/toaster/toastermain/settings.py        |   4 +-
>> bitbake/lib/toaster/toastermain/urls.py            |   2 +-
>> bitbake/toaster-requirements.txt                   |   3 +-
>> 51 files changed, 775 insertions(+), 10222 deletions(-)
>> delete mode 100644
>> bitbake/lib/toaster/bldcontrol/migrations/0002_auto__add_field_buildenviro
>> nment_sourcedir__add_field_buildenvironment.py
>> delete mode 100644
>> bitbake/lib/toaster/bldcontrol/migrations/0003_auto__add_field_brlayer_dir
>> path.py
>> delete mode 100644
>> bitbake/lib/toaster/bldcontrol/migrations/0004_loadinitialdata.py
>> delete mode 100644
>> bitbake/lib/toaster/bldcontrol/migrations/0005_auto__add_brerror.py
>> delete mode 100644
>> bitbake/lib/toaster/bldcontrol/migrations/0006_auto__add_brbitbake.py
>> delete mode 100644
>> bitbake/lib/toaster/bldcontrol/migrations/0007_auto__add_field_buildreques
>> t_environment__chg_field_buildrequest_build.py
>> delete mode 100644
>> bitbake/lib/toaster/bldcontrol/migrations/0008_brarchive.py
>> delete mode 100644
>> bitbake/lib/toaster/bldcontrol/migrations/0009_auto__add_field_brlayer_lay
>> er_version.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0002_auto__add_field_build_timespent.py
>> delete mode 100644 bitbake/lib/toaster/orm/migrations/0003_timespent.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0004_auto__add_field_package_installed_
>> name.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0005_auto__add_target_image_file__add_t
>> arget_file__add_field_variablehistor.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0006_auto__add_field_target_image_size_
>> _add_field_target_license_manifest_p.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0007_auto__add_helptext.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0008_auto__chg_field_variablehistory_op
>> eration__chg_field_recipe_descriptio.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0009_auto__add_projectvariable__add_pro
>> jectlayer__add_projecttarget__add_pr.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0010_auto__add_field_project_branch__ad
>> d_field_project_short_description__a.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0011_auto__add_field_projectlayer_dirpa
>> th.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0012_auto__add_field_projectlayer_optio
>> nal__add_field_projecttarget_task.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0013_auto__add_release__add_layerversio
>> ndependency__add_unique_layerversion.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0014_auto__chg_field_package_summary__c
>> hg_field_layer_summary__chg_field_re.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0015_auto__add_field_layer_vcs_web_url_
>> _add_field_layer_vcs_web_tree_base_u.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0016_auto__add_field_release_helptext__
>> chg_field_release_branch__add_index_.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0017_auto__del_toastersettingdefaultlay
>> er__add_releaselayersourcepriority__.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0018_auto__add_field_layer_version_proj
>> ect.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0019_auto__add_buildartifact.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0020_auto__add_field_layer_version_loca
>> l_path__add_field_recipe_pathflags__.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0021_auto__chg_field_build_project__chg
>> _field_project_bitbake_version__chg_.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0022_auto__add_field_target_task__add_f
>> ield_layer_version_local_path__del_f.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0023_auto__del_field_build_warnings_no_
>> _del_field_build_errors_no__del_fiel.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0024_auto__add_field_recipe_is_image.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0025_auto__add_field_project_is_default
>> .py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0026_set_default_project.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0027_auto__add_customimagerecipe__add_u
>> nique_customimagerecipe_name_project.py
>> delete mode 100644
>> bitbake/lib/toaster/orm/migrations/0028_auto__chg_field_logmessage_message
>> .py
>>
>> --
>> Regards,
>> Ed
>>
>> -- 
>> _______________________________________________
>> toaster mailing list
>> toaster@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/toaster



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 00/18] Upgrade to Django 1.8
  2015-12-09 14:47   ` Michael Wood
@ 2015-12-09 17:28     ` Brian Avery
  2015-12-09 22:22       ` Ed Bartosh
  0 siblings, 1 reply; 24+ messages in thread
From: Brian Avery @ 2015-12-09 17:28 UTC (permalink / raw)
  To: Ed Bartosh; +Cc: toaster

Hi,

Belen-> The new push on Ed's branch will check this for you !

Ed->
I was in the process of pushing this upstream:
The good:
 great new check for versions! very forward supportable :)
The sad:
one of the orm tests fails:
FAIL: test_dual_layersource (orm.tests.LayerVersionEquivalenceTestCase)

if you could fix and repush I'll upstream tonite.
ty,
b
p.s. i'm using django 1.8.7




On Wed, Dec 9, 2015 at 6:47 AM, Michael Wood <michael.g.wood@intel.com> wrote:
> On 09/12/15 11:59, Barros Pena, Belen wrote:
>>
>>
>> On 08/12/2015 15:31, "toaster-bounces@yoctoproject.org on behalf of Ed
>> Bartosh" <toaster-bounces@yoctoproject.org on behalf of
>> ed.bartosh@linux.intel.com> wrote:
>>
>>> Hi,
>>>
>>> This patchset upgrades Toaster to work correctly under Django 1.8.
>>> It was tested with Django 1.8.6
>>
>> I tried to run Toaster with this, but when I call the toaster script I get
>> this message:
>>
>> Unknown command: 'migrate'
>> Type 'manage.py help' for usage.
>> Failed migrations, aborting system start
>> Failed start.
>>
>>
>> Any ideas about what's I am doing wrong?
>
>
> looks like you've got the wrong version of django installed
>
>
>
>>
>> Thanks!
>>
>> Belén
>>
>>> Please review and submit upstream.
>>>
>>> The following changes since commit
>>> befaceb2873ff8c8cc791d48f0324442c15cbcdc:
>>>
>>>   toaster: return back 'New project' button (2015-12-08 13:10:33 +0200)
>>>
>>> are available in the git repository at:
>>>
>>>   git://git.yoctoproject.org/poky-contrib ed/toaster/django_upgrade-8364
>>>
>>> http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/django
>>> _upgrade-8364
>>>
>>> Ed Bartosh (9):
>>>   toaster: Remove South migrations
>>>   toaster: Fix references to app paths
>>>   toaster: rename get_query_set -> get_queryset
>>>   toaster: use OneToOneField instead of ForeignKey
>>>   toaster: fixed format strings
>>>   toaster: work around 'database is locked' error
>>>   toaster: removed extra calls of migrate
>>>   toaster: monkey patch Queryset
>>>   toaster: rework check for Django version
>>>
>>> Elliot Smith (9):
>>>   toaster: Upgrade to Django 1.8.6 and remove South
>>>   toaster: Create default project with get_or_create* method
>>>   toaster: Start Django machinery for database access
>>>   toaster: Update API used to make runbuilds methods run in transactions
>>>   toaster: Prevent deprecation warnings for RedirectView
>>>   toaster: Update deprecated manage.py command
>>>   toaster: Check Django version against toaster-requirements.txt
>>>   toaster: Remove compatible_layerversions() method
>>>   toaster: Amend regex for MySQL database URLs
>>>
>>> bitbake/bin/toaster                                |  41 +-
>>> bitbake/lib/bb/ui/buildinfohelper.py               |  26 +-
>>> bitbake/lib/toaster/bldcollector/urls.py           |   1 -
>>> bitbake/lib/toaster/bldcontrol/bbcontroller.py     |   4 +-
>>> .../toaster/bldcontrol/localhostbecontroller.py    |  13 +-
>>> .../bldcontrol/management/commands/runbuilds.py    |   6 +-
>>> .../toaster/bldcontrol/migrations/0001_initial.py  | 265 +++---
>>> ...onment_sourcedir__add_field_buildenvironment.py | 106 ---
>>> .../0003_auto__add_field_brlayer_dirpath.py        |  99 ---
>>> .../bldcontrol/migrations/0004_loadinitialdata.py  | 104 ---
>>> .../migrations/0005_auto__add_brerror.py           | 112 ---
>>> .../migrations/0006_auto__add_brbitbake.py         | 128 ---
>>> ...st_environment__chg_field_buildrequest_build.py | 145 ----
>>> .../bldcontrol/migrations/0008_brarchive.py        | 138 ---
>>> .../0009_auto__add_field_brlayer_layer_version.py  | 180 ----
>>> bitbake/lib/toaster/bldcontrol/models.py           |   2 +-
>>> bitbake/lib/toaster/bldcontrol/tests.py            |   6 +-
>>> bitbake/lib/toaster/orm/migrations/0001_initial.py | 928
>>> ++++++++++++---------
>>> .../0002_auto__add_field_build_timespent.py        | 180 ----
>>> .../lib/toaster/orm/migrations/0003_timespent.py   | 182 ----
>>> .../0004_auto__add_field_package_installed_name.py | 181 ----
>>> ...e__add_target_file__add_field_variablehistor.py | 281 -------
>>> ...ge_size__add_field_target_license_manifest_p.py | 235 ------
>>> .../orm/migrations/0007_auto__add_helptext.py      | 214 -----
>>> ...story_operation__chg_field_recipe_descriptio.py | 225 -----
>>> ..._add_projectlayer__add_projecttarget__add_pr.py | 286 -------
>>> ...anch__add_field_project_short_description__a.py | 257 ------
>>> .../0011_auto__add_field_projectlayer_dirpath.py   | 242 ------
>>> ...layer_optional__add_field_projecttarget_task.py | 252 ------
>>> ...erversiondependency__add_unique_layerversion.py | 710 ----------------
>>> ...mmary__chg_field_layer_summary__chg_field_re.py | 336 --------
>>> ...web_url__add_field_layer_vcs_web_tree_base_u.py | 336 --------
>>> ...lptext__chg_field_release_branch__add_index_.py | 359 --------
>>> ...faultlayer__add_releaselayersourcepriority__.py | 396 ---------
>>> .../0018_auto__add_field_layer_version_project.py  | 331 --------
>>> .../orm/migrations/0019_auto__add_buildartifact.py | 342 --------
>>> ...ion_local_path__add_field_recipe_pathflags__.py | 361 --------
>>> ...ect__chg_field_project_bitbake_version__chg_.py | 371 --------
>>> ...k__add_field_layer_version_local_path__del_f.py | 343 --------
>>> ...ings_no__del_field_build_errors_no__del_fiel.py | 353 --------
>>> .../0024_auto__add_field_recipe_is_image.py        | 338 --------
>>> .../0025_auto__add_field_project_is_default.py     | 346 --------
>>> .../orm/migrations/0026_set_default_project.py     | 374 ---------
>>> ...e__add_unique_customimagerecipe_name_project.py | 375 ---------
>>> .../0028_auto__chg_field_logmessage_message.py     | 345 --------
>>> bitbake/lib/toaster/orm/models.py                  | 107 ++-
>>> bitbake/lib/toaster/toastergui/urls.py             |   2 +-
>>> bitbake/lib/toaster/toastergui/views.py            |  24 +-
>>> bitbake/lib/toaster/toastermain/settings.py        |   4 +-
>>> bitbake/lib/toaster/toastermain/urls.py            |   2 +-
>>> bitbake/toaster-requirements.txt                   |   3 +-
>>> 51 files changed, 775 insertions(+), 10222 deletions(-)
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/bldcontrol/migrations/0002_auto__add_field_buildenviro
>>> nment_sourcedir__add_field_buildenvironment.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/bldcontrol/migrations/0003_auto__add_field_brlayer_dir
>>> path.py
>>> delete mode 100644
>>> bitbake/lib/toaster/bldcontrol/migrations/0004_loadinitialdata.py
>>> delete mode 100644
>>> bitbake/lib/toaster/bldcontrol/migrations/0005_auto__add_brerror.py
>>> delete mode 100644
>>> bitbake/lib/toaster/bldcontrol/migrations/0006_auto__add_brbitbake.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/bldcontrol/migrations/0007_auto__add_field_buildreques
>>> t_environment__chg_field_buildrequest_build.py
>>> delete mode 100644
>>> bitbake/lib/toaster/bldcontrol/migrations/0008_brarchive.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/bldcontrol/migrations/0009_auto__add_field_brlayer_lay
>>> er_version.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0002_auto__add_field_build_timespent.py
>>> delete mode 100644 bitbake/lib/toaster/orm/migrations/0003_timespent.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0004_auto__add_field_package_installed_
>>> name.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0005_auto__add_target_image_file__add_t
>>> arget_file__add_field_variablehistor.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0006_auto__add_field_target_image_size_
>>> _add_field_target_license_manifest_p.py
>>> delete mode 100644
>>> bitbake/lib/toaster/orm/migrations/0007_auto__add_helptext.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0008_auto__chg_field_variablehistory_op
>>> eration__chg_field_recipe_descriptio.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0009_auto__add_projectvariable__add_pro
>>> jectlayer__add_projecttarget__add_pr.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0010_auto__add_field_project_branch__ad
>>> d_field_project_short_description__a.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0011_auto__add_field_projectlayer_dirpa
>>> th.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0012_auto__add_field_projectlayer_optio
>>> nal__add_field_projecttarget_task.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0013_auto__add_release__add_layerversio
>>> ndependency__add_unique_layerversion.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0014_auto__chg_field_package_summary__c
>>> hg_field_layer_summary__chg_field_re.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0015_auto__add_field_layer_vcs_web_url_
>>> _add_field_layer_vcs_web_tree_base_u.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0016_auto__add_field_release_helptext__
>>> chg_field_release_branch__add_index_.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0017_auto__del_toastersettingdefaultlay
>>> er__add_releaselayersourcepriority__.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0018_auto__add_field_layer_version_proj
>>> ect.py
>>> delete mode 100644
>>> bitbake/lib/toaster/orm/migrations/0019_auto__add_buildartifact.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0020_auto__add_field_layer_version_loca
>>> l_path__add_field_recipe_pathflags__.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0021_auto__chg_field_build_project__chg
>>> _field_project_bitbake_version__chg_.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0022_auto__add_field_target_task__add_f
>>> ield_layer_version_local_path__del_f.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0023_auto__del_field_build_warnings_no_
>>> _del_field_build_errors_no__del_fiel.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0024_auto__add_field_recipe_is_image.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0025_auto__add_field_project_is_default
>>> .py
>>> delete mode 100644
>>> bitbake/lib/toaster/orm/migrations/0026_set_default_project.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0027_auto__add_customimagerecipe__add_u
>>> nique_customimagerecipe_name_project.py
>>> delete mode 100644
>>>
>>> bitbake/lib/toaster/orm/migrations/0028_auto__chg_field_logmessage_message
>>> .py
>>>
>>> --
>>> Regards,
>>> Ed
>>>
>>> --
>>> _______________________________________________
>>> toaster mailing list
>>> toaster@yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/toaster
>
>
> --
> _______________________________________________
> toaster mailing list
> toaster@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/toaster


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 00/18] Upgrade to Django 1.8
  2015-12-09 17:28     ` Brian Avery
@ 2015-12-09 22:22       ` Ed Bartosh
  2015-12-10  3:58         ` Brian Avery
  0 siblings, 1 reply; 24+ messages in thread
From: Ed Bartosh @ 2015-12-09 22:22 UTC (permalink / raw)
  To: Brian Avery; +Cc: toaster

Hi Brian,

On Wed, Dec 09, 2015 at 09:28:49AM -0800, Brian Avery wrote:
> Hi,
> 
> Belen-> The new push on Ed's branch will check this for you !
> 
> Ed->
> I was in the process of pushing this upstream:
> The good:
>  great new check for versions! very forward supportable :)
> The sad:
> one of the orm tests fails:
> FAIL: test_dual_layersource (orm.tests.LayerVersionEquivalenceTestCase)
> 
> if you could fix and repush I'll upstream tonite.
Fixed&repushed. Please, send it upstream.

Regards,
Ed



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH 00/18] Upgrade to Django 1.8
  2015-12-09 22:22       ` Ed Bartosh
@ 2015-12-10  3:58         ` Brian Avery
  0 siblings, 0 replies; 24+ messages in thread
From: Brian Avery @ 2015-12-10  3:58 UTC (permalink / raw)
  To: Ed Bartosh, Elliot Smith; +Cc: toaster

pushed!
ty both of you !

-b

On Wed, Dec 9, 2015 at 2:22 PM, Ed Bartosh <ed.bartosh@linux.intel.com> wrote:
> Hi Brian,
>
> On Wed, Dec 09, 2015 at 09:28:49AM -0800, Brian Avery wrote:
>> Hi,
>>
>> Belen-> The new push on Ed's branch will check this for you !
>>
>> Ed->
>> I was in the process of pushing this upstream:
>> The good:
>>  great new check for versions! very forward supportable :)
>> The sad:
>> one of the orm tests fails:
>> FAIL: test_dual_layersource (orm.tests.LayerVersionEquivalenceTestCase)
>>
>> if you could fix and repush I'll upstream tonite.
> Fixed&repushed. Please, send it upstream.
>
> Regards,
> Ed
>


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2015-12-10  3:58 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-08 15:31 [PATCH 00/18] Upgrade to Django 1.8 Ed Bartosh
2015-12-08 15:31 ` [PATCH 01/18] toaster: Upgrade to Django 1.8.6 and remove South Ed Bartosh
2015-12-08 15:31 ` [PATCH 02/18] toaster: Remove South migrations Ed Bartosh
2015-12-08 15:31 ` [PATCH 03/18] toaster: Fix references to app paths Ed Bartosh
2015-12-08 15:31 ` [PATCH 04/18] toaster: Create default project with get_or_create* method Ed Bartosh
2015-12-08 15:31 ` [PATCH 05/18] toaster: Start Django machinery for database access Ed Bartosh
2015-12-08 15:31 ` [PATCH 06/18] toaster: rename get_query_set -> get_queryset Ed Bartosh
2015-12-08 15:31 ` [PATCH 07/18] toaster: Update API used to make runbuilds methods run in transactions Ed Bartosh
2015-12-08 15:31 ` [PATCH 08/18] toaster: Prevent deprecation warnings for RedirectView Ed Bartosh
2015-12-08 15:31 ` [PATCH 09/18] toaster: Update deprecated manage.py command Ed Bartosh
2015-12-08 15:31 ` [PATCH 10/18] toaster: Check Django version against toaster-requirements.txt Ed Bartosh
2015-12-08 15:31 ` [PATCH 11/18] toaster: Remove compatible_layerversions() method Ed Bartosh
2015-12-08 15:31 ` [PATCH 12/18] toaster: Amend regex for MySQL database URLs Ed Bartosh
2015-12-08 15:32 ` [PATCH 13/18] toaster: use OneToOneField instead of ForeignKey Ed Bartosh
2015-12-08 15:32 ` [PATCH 14/18] toaster: fixed format strings Ed Bartosh
2015-12-08 15:32 ` [PATCH 15/18] toaster: work around 'database is locked' error Ed Bartosh
2015-12-08 15:32 ` [PATCH 16/18] toaster: removed extra calls of migrate Ed Bartosh
2015-12-08 15:32 ` [PATCH 17/18] toaster: monkey patch Queryset Ed Bartosh
2015-12-08 15:32 ` [PATCH 18/18] toaster: rework check for Django version Ed Bartosh
2015-12-09 11:59 ` [PATCH 00/18] Upgrade to Django 1.8 Barros Pena, Belen
2015-12-09 14:47   ` Michael Wood
2015-12-09 17:28     ` Brian Avery
2015-12-09 22:22       ` Ed Bartosh
2015-12-10  3:58         ` Brian Avery

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.