On 17.12.22 06:42, Sam James wrote:
On 15 Dec 2022, at 19:22, Florian Schmaus <f...@gentoo.org> wrote:
I personally would prefer portage simply adjusting its behavior based on the
owner of the repository. That is, if it's the 'portage' user then assume full
control, and if it is a different user, then fall back to a preserving,
conservative mode of operation. Unfortunately, for me, this idea was received
skeptically at best in a recent discussion in #gentoo-portage.
This wouldn't work for Prefix and also FEATURES="-usersync".
Simply do not apply the approach on Prefix. That should be fine. I am
not sure how usersync being disabled (or enabled) plays a role here, though.
I believe something like this would make everyone happy:
if volatile_explicitly_configured:
volatile = explicitly_configured_volatile_value
else if prefix
volatile = false
else if Path(repo_dir).user != (root|portage) # Or, if uid >= 1000
volatile = true
else
volatile = false
Assuming that the "if target repo is not shallow, then no shallow clone
(unless explicitly requested)" check is only applied if volatile=true,
then you even have the desired effect that users get their repo
automatically converted to shallow ones. Which makes you happy. And the
above logic would make me happy, since the "if Path(repo_dir).uid >=
1000" branch would be taken for me.
That sounds like a win/win to me.
- Flow