[buildinfo.debian.net] 02/02: We can reject duplicate entries in Build-Installed-Depends (Closes: #13)

Chris Lamb chris at chris-lamb.co.uk
Mon Nov 7 10:38:36 UTC 2016


This is an automated email from the git hooks/post-receive script.

lamby pushed a commit to branch master
in repository buildinfo.debian.net.

commit 03a1e59657eebd1e0cff994741dcf1e1036224d4
Author: Chris Lamb <lamby at debian.org>
Date:   Mon Nov 7 10:38:24 2016 +0000

    We can reject duplicate entries in Build-Installed-Depends (Closes: #13)
    
    Signed-off-by: Chris Lamb <lamby at debian.org>
---
 bidb/api/utils.py | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/bidb/api/utils.py b/bidb/api/utils.py
index 0e3d639..42b3698 100644
--- a/bidb/api/utils.py
+++ b/bidb/api/utils.py
@@ -3,7 +3,7 @@ import hashlib
 
 from debian import deb822
 
-from django.db import transaction
+from django.db import transaction, IntegrityError
 
 from bidb.keys.models import Key
 from bidb.packages.models import Source, Architecture, Binary
@@ -149,9 +149,13 @@ def parse_submission(request):
 
         binary = Binary.objects.get_or_create(name=m.group('package'))[0]
 
-        buildinfo.installed_build_depends.get_or_create(
-            binary=binary,
-            version=m.group('version'),
-        )
+        try:
+            buildinfo.installed_build_depends.create(
+                binary=binary,
+                version=m.group('version'),
+            )
+        except IntegrityError:
+            raise InvalidSubmission("Duplicate entry in "
+                "Installed-Build-Depends: {}".format(binary.name))
 
     return create_submission(buildinfo), True

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/buildinfo.debian.net.git



More information about the Reproducible-commits mailing list