From 4bf82a6369750e957ca7feb7972ea2657f87068c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= Date: Thu, 10 Nov 2016 23:25:10 +0100 Subject: Fix auto-adoption MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Look up the packager using the UserFinder class, and create a PackageRelation. Signed-off-by: Johannes Löthberg --- devel/management/commands/reporead.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/devel/management/commands/reporead.py b/devel/management/commands/reporead.py index 6e26710f..3ebd45c4 100644 --- a/devel/management/commands/reporead.py +++ b/devel/management/commands/reporead.py @@ -396,10 +396,13 @@ def db_update(archname, reponame, pkgs, force=False): with transaction.atomic(): populate_pkg(dbpkg, pkg, timestamp=timestamp) Update.objects.log_update(None, dbpkg) - prel = PackageRelation(pkgbase=dbpkg.pkgbase, - user=dbpkg.packager, - type=PackageRelation.MAINTAINER) - prel.save() + + packager = finder.find(pkg.packager) + if packager: + prel = PackageRelation(pkgbase=dbpkg.pkgbase, + user=packager, + type=PackageRelation.MAINTAINER) + prel.save() except IntegrityError: -- cgit v1.2.2 From a66f5cc34821f4094122b77bc06d293a8aaf176f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= Date: Sun, 1 Jan 2017 15:42:44 +0100 Subject: reporead: Only try to add maintainer if none exists MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New split packages and packages added to testing add a new package to the db but with the same pkgbase, so the same package relations apply to both of them. Signed-off-by: Johannes Löthberg --- devel/management/commands/reporead.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/devel/management/commands/reporead.py b/devel/management/commands/reporead.py index 3ebd45c4..08853a32 100644 --- a/devel/management/commands/reporead.py +++ b/devel/management/commands/reporead.py @@ -30,6 +30,7 @@ from django.core.management.base import BaseCommand, CommandError from django.db import connections, router, transaction from django.db.utils import IntegrityError from django.utils.timezone import now +from django.contrib.auth.models import User from devel.utils import UserFinder from main.models import Arch, Package, PackageFile, Repo @@ -397,12 +398,16 @@ def db_update(archname, reponame, pkgs, force=False): populate_pkg(dbpkg, pkg, timestamp=timestamp) Update.objects.log_update(None, dbpkg) - packager = finder.find(pkg.packager) - if packager: - prel = PackageRelation(pkgbase=dbpkg.pkgbase, - user=packager, - type=PackageRelation.MAINTAINER) - prel.save() + maintainers = User.objects.filter( + package_relations__pkgbase=dbpkg.pkgbase, + package_relations__type=PackageRelation.MAINTAINER) + if not maintainers: + packager = finder.find(pkg.packager) + if packager: + prel = PackageRelation(pkgbase=dbpkg.pkgbase, + user=packager, + type=PackageRelation.MAINTAINER) + prel.save() except IntegrityError: -- cgit v1.2.2 From 174fb4612d72d52f518d5bd23aaecb2f525d45c4 Mon Sep 17 00:00:00 2001 From: Alad Wenter Date: Wed, 19 Oct 2016 17:10:39 +0200 Subject: Remove link to Beginners' guide The Beginners' guide has been merged with the Installation guide. https://lists.archlinux.org/pipermail/arch-dev-public/2016-July/028140.html --- templates/public/index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/templates/public/index.html b/templates/public/index.html index fdb136cf..2eba1fdb 100644 --- a/templates/public/index.html +++ b/templates/public/index.html @@ -113,8 +113,6 @@ title="Community documentation">Wiki
  • Installation Guide
  • -
  • Beginners' Guide
  • Community

    -- cgit v1.2.2 From 72ddf3b134a21896f40c94e8a9c7173f4274b7fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= Date: Mon, 2 Jan 2017 11:32:40 +0100 Subject: reporead: Check if package exists in other repo before adopting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auto-adoption should only happen on new packages, so rebuilds of orphaned packages pushed to staging shouldn't cause them to be adopted. Signed-off-by: Johannes Löthberg --- devel/management/commands/reporead.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/devel/management/commands/reporead.py b/devel/management/commands/reporead.py index 08853a32..70526bfd 100644 --- a/devel/management/commands/reporead.py +++ b/devel/management/commands/reporead.py @@ -398,16 +398,18 @@ def db_update(archname, reponame, pkgs, force=False): populate_pkg(dbpkg, pkg, timestamp=timestamp) Update.objects.log_update(None, dbpkg) - maintainers = User.objects.filter( - package_relations__pkgbase=dbpkg.pkgbase, - package_relations__type=PackageRelation.MAINTAINER) - if not maintainers: - packager = finder.find(pkg.packager) - if packager: - prel = PackageRelation(pkgbase=dbpkg.pkgbase, - user=packager, - type=PackageRelation.MAINTAINER) - prel.save() + if not Package.objects.filter( + pkgname=pkg.name).exclude(id=dbpkg.id).exists(): + if not User.objects.filter( + package_relations__pkgbase=dbpkg.pkgbase, + package_relations__type=PackageRelation.MAINTAINER + ).exists(): + packager = finder.find(pkg.packager) + if packager: + prel = PackageRelation(pkgbase=dbpkg.pkgbase, + user=packager, + type=PackageRelation.MAINTAINER) + prel.save() except IntegrityError: -- cgit v1.2.2