From: Sam James <sam@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Eselect repository feature request
Date: Wed, 21 Jun 2023 19:42:57 +0100 [thread overview]
Message-ID: <87bkh8zme0.fsf@gentoo.org> (raw)
In-Reply-To: <e2f0a4b6-1911-5759-7930-4e596381d910@gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 3504 bytes --]
Florian Schmaus <flow@gentoo.org> writes:
> [[PGP Signed Part:Undecided]]
> On 21/06/2023 17.56, Mike Gilbert wrote:
>> On Wed, Jun 21, 2023 at 11:41 AM Florian Schmaus <flow@gentoo.org> wrote:
>>>
>>> On 20.06.23 19:26, Mike Gilbert wrote:
>>>> On Tue, Jun 20, 2023 at 1:08 PM Florian Schmaus <flow@gentoo.org> wrote:
>>>>>
>>>>> On 20.06.23 16:41, TOMAS FABRIZIO ORSI wrote:
>>>>>> Isn't that duplicating the information of metadata/layout.conf's
>>>>>> 'master' key-value pair [1]?
>>>>>>
>>>>>>
>>>>>> Yes, I agree that it would be duplicating that information. As a matter
>>>>>> of fact, Michał Górny pointed the same thing out.
>>>>>> However, Michał also added, quote: "What's really lacking here is
>>>>>> support for specifying dependencies via |repositories.xml|
>>>>>
>>>>> Do we need to duplicate the information in repositories.xml, with all
>>>>> the drawbacks of duplication?
>>>>>
>>>>> Can't eselect repository add the new repository, then read the 'masters'
>>>>> value from layout.conf, and add the missing repositories recursively?
>>>>
>>>> That would be a significant change in behavior for eselect repository.
>>>
>>> Right, but it seems to be a desirable behaviour. Cases where the user
>>> wants to add a repo but not immediately sync it are probably rare.
>>>
>>> Furthermore, it would avoid duplicating the information, which avoids
>>> the typical drawbacks of duplication (e.g., the two sets getting out of
>>> sync).
>>>
>>> I've looked at the eselect-repository code, and it seems not hard to
>>> change the behaviour of "eselect repository add" to add and sync a
>>> repository and then, recursively, add and sync further required
>>> repositories.
>>>
>>> I may give it a shot, but ideally I'd know if it has a chance to be
>>> accepted upstream first. Or maybe there is a good reason why
>>> eselect-repository behaves as it currently does that I am missing?
>> I can't speak for "upstream", but here are my concerns:
>> 1. As a developer, I might just want to create the repos.conf config
>> snippet and sync the repo manually.
>> 2. As a user, I might have any arbitrary reason for not wanting to
>> sync immediately.
>
> Would an opt-out switch be enough to alleviate those concerns of you?
>
>
>> 3. eselect-repository does not currently depend on any particular
>> package manager. It writes config files intended for Portage, but it
>> does not actually invoke any Portage commands. That feels like a
>> significant distinction to me.
>> 4. If you start invoking Portage commands, you then have to deal with
>> the possibility of people using alternate package managers. pkgcore
>> can also utilize Portage's repos.conf, and the user might prefer to
>> use pmaint instead of emaint or emerge --sync.
>
> Those two points seem to be based on the same fundamental concern.
>
> The only portage specific code would be the call to "emaint sync -r
> $repo" (remember that "emerge --sync" is just a wrapper for "emaint
> sync --auto"). I think it would be easy to add later 1. add support
> for different package managers (if the need arises), and 2. make the
> "sync command" user configurable.
While looking at this, it might be worth evaluating 2 other things
which users have mentioned during the migration away from layman:
1. Adding a way to fully disable the cache fetching;
2. Add a way to use the "real" upstream sources instead of our mirrored
ones
best,
sam
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 377 bytes --]
next prev parent reply other threads:[~2023-06-21 18:44 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-18 20:39 [gentoo-dev] Eselect repository feature request TOMAS FABRIZIO ORSI
2023-06-20 13:44 ` Florian Schmaus
2023-06-20 14:41 ` TOMAS FABRIZIO ORSI
2023-06-20 17:08 ` Florian Schmaus
2023-06-20 17:26 ` Mike Gilbert
2023-06-20 18:07 ` Andrew Ammerlaan
2023-06-21 2:17 ` TOMAS FABRIZIO ORSI
2023-06-21 7:15 ` Andrew Ammerlaan
2023-06-21 13:40 ` TOMAS FABRIZIO ORSI
2023-06-21 13:58 ` Andrew Ammerlaan
2023-06-21 14:12 ` TOMAS FABRIZIO ORSI
2023-06-21 14:30 ` Andrew Ammerlaan
2023-06-21 14:43 ` TOMAS FABRIZIO ORSI
2023-06-21 15:07 ` Mike Gilbert
2023-06-21 15:34 ` TOMAS FABRIZIO ORSI
2023-06-21 15:41 ` Florian Schmaus
2023-06-21 15:56 ` Mike Gilbert
2023-06-21 16:47 ` TOMAS FABRIZIO ORSI
2023-06-21 17:45 ` Mike Gilbert
2023-06-21 17:59 ` TOMAS FABRIZIO ORSI
2023-06-24 17:02 ` Florian Schmaus
[not found] ` <8ef315e8-a9fe-c33a-7ab4-ef7653c10cb9@gentoo.org>
[not found] ` <CAHTSwYiXiO2OMU4A5TiunrEy+Zs+UMFwoV3wmSdEW5RNrS5xJA@mail.gmail.com>
[not found] ` <CAHTSwYgO7F2gOOSWHDOBFry4YBb1a1KSy9g8h4iUh+rK0GFRuQ@mail.gmail.com>
[not found] ` <2d264617-f48e-d129-adc2-10aac6cef2a2@gentoo.org>
2023-07-12 18:03 ` TOMAS FABRIZIO ORSI
2023-06-21 17:59 ` Anna
2023-06-21 16:49 ` Florian Schmaus
2023-06-21 17:28 ` Mike Gilbert
2023-06-21 18:42 ` Sam James [this message]
2023-06-21 19:03 ` TOMAS FABRIZIO ORSI
2023-06-21 19:16 ` Sam James
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bkh8zme0.fsf@gentoo.org \
--to=sam@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox