[Toaster] [review-request] toaster: Remove circular dependecies from packages/recipes
Damian, Alexandru
alexandru.damian at intel.com
Thu Mar 20 08:53:15 PDT 2014
Taken in.
Alex
On Wed, Mar 19, 2014 at 12:24 PM, Irina Patru <irina.patru at intel.com> wrote:
> The RelatedManager for Package_Dependency and Recipe_Dependency is changed
> so that circular dependacies are hidden in the UI, but will still remain in
> the database.
>
> [YOCTO #5655]
>
> Signed-off-by: Irina Patru <irina.patru at intel.com>
> ---
> bitbake/lib/toaster/orm/models.py | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/bitbake/lib/toaster/orm/models.py
> b/bitbake/lib/toaster/orm/models.py
> index 93506d7..612bdb1 100644
> --- a/bitbake/lib/toaster/orm/models.py
> +++ b/bitbake/lib/toaster/orm/models.py
> @@ -20,6 +20,7 @@
> # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
>
> from django.db import models
> +from django.db.models import F
> from django.utils.encoding import python_2_unicode_compatible
>
>
> @@ -208,6 +209,12 @@ class Package(models.Model):
> section = models.CharField(max_length=80, blank=True)
> license = models.CharField(max_length=80, blank=True)
>
> +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'))
> +
> class Package_Dependency(models.Model):
> TYPE_RDEPENDS = 0
> TYPE_TRDEPENDS = 1
> @@ -247,6 +254,7 @@ class Package_Dependency(models.Model):
> depends_on = models.ForeignKey(Package,
> related_name='package_dependencies_target') # soft dependency
> dep_type = models.IntegerField(choices=DEPENDS_TYPE)
> target = models.ForeignKey(Target, null=True)
> + objects = Package_DependencyManager()
>
> class Target_Installed_Package(models.Model):
> target = models.ForeignKey(Target)
> @@ -270,6 +278,11 @@ class Recipe(models.Model):
> bugtracker = models.URLField(blank=True)
> file_path = models.FilePathField(max_length=255)
>
> +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'))
>
> class Recipe_Dependency(models.Model):
> TYPE_DEPENDS = 0
> @@ -282,6 +295,7 @@ class Recipe_Dependency(models.Model):
> recipe = models.ForeignKey(Recipe,
> related_name='r_dependencies_recipe')
> depends_on = models.ForeignKey(Recipe,
> related_name='r_dependencies_depends')
> dep_type = models.IntegerField(choices=DEPENDS_TYPE)
> + objects = Recipe_DependencyManager()
>
> class Layer(models.Model):
> name = models.CharField(max_length=100)
> --
> 1.7.9.5
>
> --
> _______________________________________________
> toaster mailing list
> toaster at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/toaster
>
--
Alex Damian
Yocto Project
SSG / OTC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20140320/99bab95c/attachment.html>
More information about the toaster
mailing list