From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id DEEC9138247 for ; Sat, 11 Jan 2014 18:27:14 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9E7F1E0ADD; Sat, 11 Jan 2014 18:27:07 +0000 (UTC) Received: from mail-pa0-f46.google.com (mail-pa0-f46.google.com [209.85.220.46]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 789F9E0AC1 for ; Sat, 11 Jan 2014 18:27:06 +0000 (UTC) Received: by mail-pa0-f46.google.com with SMTP id rd3so280989pab.19 for ; Sat, 11 Jan 2014 10:27:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=WcMVJmSEBCn1Q6OJJ45b0iBGc0HGZDnkl6nK3cZWYNM=; b=1KTS5r8I+JNzTaDkXXdzsIrGOH3HeYUne7CDtVdTyIp13z0sTXXBsRoDfbWrqTXvzf BpzceeB+EyV5lwZ4256HwbJsjuguXSDa6TuuRcii5GkExCJTbeKh8pBknOANVlVNaRMV 0dBw09atFYRLT06v0bnNUtHGS31MMLuWGJ6whwC7fSebwIvBG7NrQsReN+2tG6y123Ka OPqOK/mlg2jMnJW3apJB7aHFsHa8KIOF+vkZw6imw8sK+7gltIKF776w5dTLKNXBlwt9 nyRmAZXQisQSVG4w7V8kWyKsglRjDmX1Z4LTWOaJrOx8zV8LsuQcRaFgkM4zTFWZv67J xh+Q== Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 X-Received: by 10.68.29.4 with SMTP id f4mr19526980pbh.85.1389464825344; Sat, 11 Jan 2014 10:27:05 -0800 (PST) Received: by 10.66.135.52 with HTTP; Sat, 11 Jan 2014 10:27:05 -0800 (PST) In-Reply-To: References: <20140110055849.50796563@gentoo.org> Date: Sat, 11 Jan 2014 12:27:05 -0600 Message-ID: Subject: Re: [gentoo-dev] Portage Feature Request: making thirdpartymirrors easier to manage From: Gordon Pettey To: gentoo-dev@lists.gentoo.org Content-Type: multipart/alternative; boundary=bcaec520f3f157c26204efb5fd5c X-Archives-Salt: 6202f488-6e9d-4493-a317-4f23c19c79e9 X-Archives-Hash: f5be1ae78f882eb1d05bd50165a92b5a --bcaec520f3f157c26204efb5fd5c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Thu, Jan 9, 2014 at 9:26 AM, Ben Kohler wrote: > > On Mon, Jan 6, 2014 at 2:20 PM, Robin H. Johnson wrot= e: > >> I would like to make it a directory instead of a single file, and extend >> the internal syntax. >> > I'm not sure I see much real value in allowing individual profiles to > add/remove mirrors from each group, to be honest. Maybe I'm just not > thinking of the right scenarios. > Ignorant question: Can overlays modify profile easily (if at all?) If not, then taking mirror lists out of profile seems rather sane, and would allow overlays to add their own mirrors. Spec thought: 1. make.conf should define MIRROR_REGIONS, which is a space separated list of Region/Subregion/Locality strings (e.g. "north_america/united_states/texas europe/germany/d=C3=BCsseldorf"). 2. Using the file layout as bkohler suggested (e.g. mirrors/{mirrorname,othermirrorname,thirdmirrorname}/{Asia,Europe}: mirrorname may be a file or a directory. If it is a directory, it may contain a file named "mirrorlist" if there are global mirrors, and it may contain any number of region-named files or directories. 3. If a region-named "file" is a directory, then it must contain either a file mirrorlist if it has region-level mirrors, or files/directories for subregions. 4. When emerge fetches a file, if the most specific region (of the first entry, if there are multiple entries) is not found, move up to the next greater-sized region (one directory up). If that region exists, then concatenate all of its subregions into the list to select a URL from. If it doesn't exist, move up another level, and again, if it is found, concatenate everything below it into the list of possible URLs. If the final top-level region isn't found, move to the next MIRROR_REGIONS entry, if it exists. Otherwise, concatenate every available region for that mirror into the list. This could all be done in a flat XML (or YAML, to avoid boilerplate) file, too. --bcaec520f3f157c26204efb5fd5c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Thu, Jan 9, 2014 at 9:26 AM, Ben Kohler &l= t;bkohler@gmail.com<= /a>> wrote:

On Mon, Jan 6, 2014 = at 2:20 PM, Robin H. Johnson <robbat2@gentoo.org> wrote:
I would like to make it a directory instead of a single file, and extend the internal syntax.
I'm not sure I see much real value in allowing individual profiles to= =20 add/remove mirrors from each group, to be honest. =C2=A0Maybe I'm just = not=20 thinking of the right scenarios.

Ignorant question: Can overlays modify profile easily (if at all= ?) If not, then taking mirror lists out of profile seems rather sane, and w= ould allow overlays to add their own mirrors.

Spec thought:

1. make.conf should define MIRRO= R_REGIONS, which is a space separated list=20 of Region/Subregion/Locality strings (e.g. "north_america/united_state= s/texas europe/germany/d=C3=BCsseldorf").
2. Using the=20 file layout as bkohler suggested (e.g. mirrors/{mirrorname,othermirrorname,= thirdmirrorname}/{Asia,Europe}: mirrorname may be a file or a directory. If= it is a=20 directory, it may contain a file named "mirrorlist" if there are = global mirrors, and it may contain any number of region-named files or dire= ctories.
3. If a region-named "file" is a directory= , then it must contain either a file mirrorlist if it has region-level mirr= ors, or files/directories for subregions.
4. When emerge fetches a file, if the most specific region (of t= he first entry, if there are multiple entries) is not found, move up to the= next greater-sized region (one directory up). If that region exists, then = concatenate all of its subregions into the list to select a URL from. If it= doesn't exist, move up another level, and again, if it is found, conca= tenate everything below it into the list of possible URLs. If the final top= -level region isn't found, move to the next MIRROR_REGIONS entry, if it= exists. Otherwise, concatenate every available region for that mirror into= the list.

This could all be done in a flat XML (or YAML, to avoid boil= erplate) file, too.
--bcaec520f3f157c26204efb5fd5c--