diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2013-05-12 18:29:39 +0100 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2013-06-03 10:59:10 +0100 |
commit | 38e8791c211703e3b8830587c33aab190d120811 (patch) | |
tree | 502a652bf5fd16e239d8b798a74c0e29f41e9b69 /layerindex | |
parent | e72a33e16add142f7f5561f510907ff92d320425 (diff) | |
download | openembedded-core-contrib-38e8791c211703e3b8830587c33aab190d120811.tar.gz |
Collect BUGTRACKER, PROVIDES and BBCLASSEXTEND for each recipe
* Show BUGTRACKER in the recipe detail page if set
* Track the other two variables for possible future use
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'layerindex')
-rw-r--r-- | layerindex/migrations/0003_auto__add_field_recipe_bugtracker__add_field_recipe_provides__add_fiel.py | 127 | ||||
-rw-r--r-- | layerindex/models.py | 4 | ||||
-rwxr-xr-x | layerindex/update.py | 3 |
3 files changed, 134 insertions, 0 deletions
diff --git a/layerindex/migrations/0003_auto__add_field_recipe_bugtracker__add_field_recipe_provides__add_fiel.py b/layerindex/migrations/0003_auto__add_field_recipe_bugtracker__add_field_recipe_provides__add_fiel.py new file mode 100644 index 0000000000..43ee9a9042 --- /dev/null +++ b/layerindex/migrations/0003_auto__add_field_recipe_bugtracker__add_field_recipe_provides__add_fiel.py @@ -0,0 +1,127 @@ +# -*- coding: utf-8 -*- +import 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.bugtracker' + db.add_column('layerindex_recipe', 'bugtracker', + self.gf('django.db.models.fields.URLField')(default='', max_length=200, blank=True), + keep_default=False) + + # Adding field 'Recipe.provides' + db.add_column('layerindex_recipe', 'provides', + self.gf('django.db.models.fields.CharField')(default='', max_length=255, blank=True), + keep_default=False) + + # Adding field 'Recipe.bbclassextend' + db.add_column('layerindex_recipe', 'bbclassextend', + self.gf('django.db.models.fields.CharField')(default='', max_length=100, blank=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'Recipe.bugtracker' + db.delete_column('layerindex_recipe', 'bugtracker') + + # Deleting field 'Recipe.provides' + db.delete_column('layerindex_recipe', 'provides') + + # Deleting field 'Recipe.bbclassextend' + db.delete_column('layerindex_recipe', 'bbclassextend') + + + models = { + 'layerindex.branch': { + 'Meta': {'object_name': 'Branch'}, + 'bitbake_branch': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), + 'sort_priority': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'layerindex.layerbranch': { + 'Meta': {'object_name': 'LayerBranch'}, + 'branch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['layerindex.Branch']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['layerindex.LayerItem']"}), + 'vcs_last_commit': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'vcs_last_fetch': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'vcs_last_rev': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}), + 'vcs_subdir': ('django.db.models.fields.CharField', [], {'max_length': '40', 'blank': 'True'}) + }, + 'layerindex.layerdependency': { + 'Meta': {'object_name': 'LayerDependency'}, + 'dependency': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependents_set'", 'to': "orm['layerindex.LayerItem']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layerbranch': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies_set'", 'to': "orm['layerindex.LayerBranch']"}) + }, + 'layerindex.layeritem': { + 'Meta': {'object_name': 'LayerItem'}, + 'description': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'index_preference': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'layer_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'mailing_list_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '40'}), + 'status': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'usage_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'vcs_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'vcs_web_file_base_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'vcs_web_tree_base_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'vcs_web_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'layerindex.layermaintainer': { + 'Meta': {'object_name': 'LayerMaintainer'}, + 'email': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layerbranch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['layerindex.LayerBranch']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'responsibility': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'status': ('django.db.models.fields.CharField', [], {'default': "'A'", 'max_length': '1'}) + }, + 'layerindex.layernote': { + 'Meta': {'object_name': 'LayerNote'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['layerindex.LayerItem']"}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'layerindex.machine': { + 'Meta': {'object_name': 'Machine'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layerbranch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['layerindex.LayerBranch']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'layerindex.recipe': { + 'Meta': {'object_name': 'Recipe'}, + 'bbclassextend': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'filepath': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layerbranch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['layerindex.LayerBranch']"}), + 'license': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'pn': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'provides': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'pv': ('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': '200', 'blank': 'True'}) + }, + 'layerindex.recipefiledependency': { + 'Meta': {'object_name': 'RecipeFileDependency'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layerbranch': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['layerindex.LayerBranch']"}), + 'path': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), + 'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['layerindex.Recipe']"}) + } + } + + complete_apps = ['layerindex']
\ No newline at end of file diff --git a/layerindex/models.py b/layerindex/models.py index bad95cd0d2..f4d8cc18bb 100644 --- a/layerindex/models.py +++ b/layerindex/models.py @@ -8,6 +8,7 @@ from django.db import models from datetime import datetime from django.contrib.auth.models import User from django.core.urlresolvers import reverse +from django.core.validators import URLValidator import os.path import re import posixpath @@ -219,6 +220,9 @@ class Recipe(models.Model): section = models.CharField(max_length=100, blank=True) license = models.CharField(max_length=100, blank=True) homepage = models.URLField(blank=True) + bugtracker = models.URLField(blank=True) + provides = models.CharField(max_length=255, blank=True) + bbclassextend = models.CharField(max_length=100, blank=True) def vcs_web_url(self): url = self.layerbranch.file_url(os.path.join(self.filepath, self.filename)) diff --git a/layerindex/update.py b/layerindex/update.py index dac69b5f9f..f946eb9638 100755 --- a/layerindex/update.py +++ b/layerindex/update.py @@ -89,6 +89,9 @@ def update_recipe_file(data, path, recipe, layerdir_start, repodir): recipe.section = envdata.getVar("SECTION", True) recipe.license = envdata.getVar("LICENSE", True) recipe.homepage = envdata.getVar("HOMEPAGE", True) + recipe.bugtracker = envdata.getVar("BUGTRACKER", True) or "" + recipe.provides = envdata.getVar("PROVIDES", True) or "" + recipe.bbclassextend = envdata.getVar("BBCLASSEXTEND", True) or "" recipe.save() # Get file dependencies within this layer |