[error-report-web][PATCH] Add configuations as error details
Changqing Li <[email protected]>
| Newsgroups | org.yoctoproject.lists.yocto-patches |
|---|---|
| Message-ID | <[email protected]> |
Support to display local.conf,auto.conf,site.conf, toolcfg.conf on error
report web, if the genreated error report not contains these
configuations, set them to "" by default, and nothing will displayed.
if they are set, configurations will be displayed like:
Similar errors:
1
Local Conf:
INHERIT += "report-error"
Site Conf:
DL_DIR ?= "/bitbake-setup/bitbake-builds/.bitbake-setup-downloads"
SSTATE_DIR ?= "/bitbake-setup/bitbake-builds/.sstate-cache"
BB_HASHSERVE_DB_DIR ?= "${SSTATE_DIR}"
Toolcfg Conf:
OE_FRAGMENTS += "distro/poky machine/qemux86-64"
Releted oe commits:
7adf9707c0 report-error.bbclass: add local.conf/auto.conf into error report [master]
e3342d6d73 report-error.bbclass: add site.conf/toolcfg.conf into error report [maillist]
[YOCTO #13252]
Signed-off-by: Changqing Li <[email protected]>
---
...ild_local_conf_build_site_conf_and_more.py | 33 +++++++++++++++++++
Post/models.py | 4 +++
Post/parser.py | 7 +++-
Post/test.py | 4 +++
templates/error-details.html | 20 +++++++++++
test-data/test-payload.json | 8 +++--
6 files changed, 73 insertions(+), 3 deletions(-)
create mode 100644 Post/migrations/0010_build_auto_conf_build_local_conf_build_site_conf_and_more.py
diff --git a/Post/migrations/0010_build_auto_conf_build_local_conf_build_site_conf_and_more.py b/Post/migrations/0010_build_auto_conf_build_local_conf_build_site_conf_and_more.py
new file mode 100644
index 0000000..f2ddfb8
--- /dev/null
+++ b/Post/migrations/0010_build_auto_conf_build_local_conf_build_site_conf_and_more.py
@@ -0,0 +1,33 @@
+# Generated by Django 4.2.30 on 2026-05-15 07:47
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('Post', '0009_build_idx_date'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='build',
+ name='AUTO_CONF',
+ field=models.TextField(default='', max_length=5242880),
+ ),
+ migrations.AddField(
+ model_name='build',
+ name='LOCAL_CONF',
+ field=models.TextField(default='', max_length=5242880),
+ ),
+ migrations.AddField(
+ model_name='build',
+ name='SITE_CONF',
+ field=models.TextField(default='', max_length=5242880),
+ ),
+ migrations.AddField(
+ model_name='build',
+ name='TOOLCFG_CONF',
+ field=models.TextField(default='', max_length=5242880),
+ ),
+ ]
diff --git a/Post/models.py b/Post/models.py
index 541f394..01c5271 100644
--- a/Post/models.py
+++ b/Post/models.py
@@ -47,6 +47,10 @@ class Build(models.Model):
LINK_BACK = models.TextField(max_length=300, blank=True, null=True)
ERROR_TYPE = models.CharField(max_length=20, choices=ERROR_TYPE_CHOICES,
default=ErrorType.RECIPE)
+ LOCAL_CONF = models.TextField(max_length=int(settings.MAX_UPLOAD_SIZE), default="")
+ AUTO_CONF = models.TextField(max_length=int(settings.MAX_UPLOAD_SIZE), default="")
+ SITE_CONF = models.TextField(max_length=int(settings.MAX_UPLOAD_SIZE), default="")
+ TOOLCFG_CONF = models.TextField(max_length=int(settings.MAX_UPLOAD_SIZE), default="")
class Meta:
indexes = [
diff --git a/Post/parser.py b/Post/parser.py
index 08f471d..7b6df06 100644
--- a/Post/parser.py
+++ b/Post/parser.py
@@ -50,7 +50,12 @@ class Parser:
b.EMAIL = str(jsondata['email'])
b.LINK_BACK = jsondata.get("link_back", None)
b.ERROR_TYPE = jsondata.get("error_type", ErrorType.RECIPE)
-
+
+ b.LOCAL_CONF = str(jsondata.get('local_conf', ""))
+ b.AUTO_CONF = str(jsondata.get('auto_conf', ""))
+ b.SITE_CONF = str(jsondata.get('site_conf', ""))
+ b.TOOLCFG_CONF = str(jsondata.get('toolcfg_conf', ""))
+
# Extract the branch and commit
g = re.match(r'(.*): (.*)', jsondata['branch_commit'])
diff --git a/Post/test.py b/Post/test.py
index 5acb68e..82316ff 100755
--- a/Post/test.py
+++ b/Post/test.py
@@ -46,6 +46,10 @@ def compare_db_obj_with_payload(self, bf_object):
self.assertEqual(bf_object.BUILD.NAME == str(payload['username']), True)
self.assertEqual(bf_object.BUILD.EMAIL == str(payload['email']), True)
self.assertEqual(bf_object.BUILD.LINK_BACK == payload.get("link_back", None), True)
+ self.assertEqual(bf_object.BUILD.LOCAL_CONF == payload.get("local_conf", None), True)
+ self.assertEqual(bf_object.BUILD.AUTO_CONF == payload.get("auto_conf", None), True)
+ self.assertEqual(bf_object.BUILD.SITE_CONF == payload.get("site_conf", None), True)
+ self.assertEqual(bf_object.BUILD.TOOLCFG_CONF == payload.get("toolcfg_conf", None), True)
g = re.match(r'(.*): (.*)', payload['branch_commit'])
diff --git a/templates/error-details.html b/templates/error-details.html
index 35bf0aa..7f8bda2 100644
--- a/templates/error-details.html
+++ b/templates/error-details.html
@@ -81,6 +81,26 @@
{% endwith %}
</dd>
+ {% if detail.BUILD.LOCAL_CONF != "" %}
+ <dt></a>Local Conf:</dt>
+ <dd style="white-space: pre-wrap;">{{ detail.BUILD.LOCAL_CONF }}</dd>
+ {% endif %}
+
+ {% if detail.BUILD.AUTO_CONF != "" %}
+ <dt></a>Auto Conf:</dt>
+ <dd style="white-space: pre-wrap;">{{ detail.BUILD.AUTO_CONF }}</dd>
+ {% endif %}
+
+ {% if detail.BUILD.SITE_CONF != "" %}
+ <dt></a>Site Conf:</dt>
+ <dd style="white-space: pre-wrap;">{{ detail.BUILD.SITE_CONF }}</dd>
+ {% endif %}
+
+ {% if detail.BUILD.TOOLCFG_CONF != "" %}
+ <dt></a>Toolcfg Conf:</dt>
+ <dd style="white-space: pre-wrap;">{{ detail.BUILD.TOOLCFG_CONF }}</dd>
+ {% endif %}
+
</dl>
<div>
<a class="btn btn-block" target="_blank" href="{{bugzilla_url}}/enter_bug.cgi?classification=__all" >Open a bug</a>
diff --git a/test-data/test-payload.json b/test-data/test-payload.json
index 0428a16..c712d20 100644
--- a/test-data/test-payload.json
+++ b/test-data/test-payload.json
@@ -1,4 +1,5 @@
{
+ "auto_conf": "",
"branch_commit": "(master-test): 736b49449233c936e3099b314a58e91ad17f9774",
"build_sys": "x86_64-linux",
"component": "base-passwd",
@@ -11,8 +12,11 @@
"package": "base-passwd-3.5.29-r0",
"task": "do_install"
}
- ],
+ ],
+ "local_conf": "",
"machine": "qemux86",
"nativelsb": "Ubuntu-14.04",
- "target_sys": "i586-poky-linux"
+ "site_conf": "",
+ "target_sys": "i586-poky-linux",
+ "toolcfg_conf":""
}
--
2.34.1