Re: [gentoo-dev] The uncertain future of repository mirrors

2025-03-23 Thread Gerion Entrup
Am Freitag, 21. März 2025, 14:32:31 Mitteleuropäische Normalzeit schrieb Michał 
Górny:
> Hello, everyone.
> 
> TL;DR: I'm thinking of shutting down all gentoo-mirror repositories,
> except for gentoo and guru.
> 
> 
> Over 10 years ago, I've started the repository mirror & CI project. 
> What started as a bunch of shell scripts on a user-donated server, has
> organically grown into a bigger bunch of shell scripts managed by Infra.
> Nevertheless, it's still a bunch of hacks glued together.
> 
> Things don't work well all the time.  Sometimes stuff randomly crashes,
> and I have to SSH and remove local checkouts to make it work.  Sometimes
> the git repositories used to transfer logs grow so big they kill infra.
> Often some repository starts crashing this or another part and needs to
> be disabled.
> 
> To be honest, I have no energy to keep maintaining this.  I'm really
> tired of having to deal with stuff crashing and spamming my mailbox with
> failure mails.  I'm tired of having to go through all the infra hoops
> just to disable another repository that can't work for one reason or
> another.  In fact, I'm even tired that whenever people add new
> repositories to api.gentoo.org, I have to go through that idiotic GitHub
> clickety-click UI to stop receiving notifications for everything that
> happens in these repositories.
> 
> So what I'm thinking about is winding most of the project down.  We'd
> stop mirroring third-party repositories, and remove most of gentoo-
> mirror organization.  What I'd like to leave is mirroring of gentoo
> and guru repositories, since these two we have control of, and are very
> important to Gentoo users.
> 
> So, well, unless someone convinces me otherwise, I'm going to disable
> all other repositories over the next weekend, and remove their mirrors.
> Gentoo and GURU will still be mirrored, and CI will keep running
> as usual.

First of all, thank you for running it in the first place!

Maybe you like to also continuing mirroring semi-official dev repos like kde 
and qt.
They are exclusively maintained by Gentoo devs, very large, and beneficial for 
users who want bleeding edge software.
I would expect that these repos are not the main factor of the maintenance due 
to their high quality.
And, if I'm right, this reduces sync times per user since the CI's metadata 
creation (I remember the days, when eix-sync needed extremely long).

Currently, you completely provide the repo mirror infrastructure and also deal 
with all the problems.
Is it possible to shift this in a large part to the overlay maintainer (in a 
opt-in approach)?

E.g. something like this (I don't know if the Gentoo git directly provide a CI 
for users, but maybe Github can do this):
- Per default a overlay is not mirrored, this is an "award" that must be earned.
- Enable a CI controlled by each overlay dev (overlay devs must take care of 
the CI scripts, they get all the emails).
- (Just) provide CI scripts that do the necessary overlay checking (if I'm not 
wrong, you already need these scripts for Gentoo and GURU).
- Overlay devs are responsible to run these CI scripts in their overlay, fix 
errors etc.
- Provide infrastructure that provides a mirror with metadata only for overlays 
that have enabled the CI, pass it, and the overlay dev asked for being mirrored.
- Before mirroring a commit, wait for the overlay CI to pass to make sure to 
get no errors on your side.
- If an overlay dev somehow changes the CI scripts in a way that it make the 
mirroring infrastructure to fail: Remove the overlay permanently.


Best,
Gerion






signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Re: The uncertain future of repository mirrors

2025-03-23 Thread Anna Vyalkova
On 2025-03-21, Michał Górny wrote:
> Hello, everyone.
> 
> TL;DR: I'm thinking of shutting down all gentoo-mirror repositories,
> except for gentoo and guru.
> 
> 
> Over 10 years ago, I've started the repository mirror & CI project. 
> What started as a bunch of shell scripts on a user-donated server, has
> organically grown into a bigger bunch of shell scripts managed by Infra.
> Nevertheless, it's still a bunch of hacks glued together.
> 
> Things don't work well all the time.  Sometimes stuff randomly crashes,
> and I have to SSH and remove local checkouts to make it work.  Sometimes
> the git repositories used to transfer logs grow so big they kill infra.
> Often some repository starts crashing this or another part and needs to
> be disabled.
> 
> To be honest, I have no energy to keep maintaining this.  I'm really
> tired of having to deal with stuff crashing and spamming my mailbox with
> failure mails.  I'm tired of having to go through all the infra hoops
> just to disable another repository that can't work for one reason or
> another.  In fact, I'm even tired that whenever people add new
> repositories to api.gentoo.org, I have to go through that idiotic GitHub
> clickety-click UI to stop receiving notifications for everything that
> happens in these repositories.
> 
> So what I'm thinking about is winding most of the project down.  We'd
> stop mirroring third-party repositories, and remove most of gentoo-
> mirror organization.  What I'd like to leave is mirroring of gentoo
> and guru repositories, since these two we have control of, and are very
> important to Gentoo users.
> 
> So, well, unless someone convinces me otherwise, I'm going to disable
> all other repositories over the next weekend, and remove their mirrors.
> Gentoo and GURU will still be mirrored, and CI will keep running
> as usual.

I believe there's a good reason to also keep the "science" overlay 
mirrored, as otherwise it will be probably removed from Repology:

https://github.com/repology/repology-updater/blob/94a135accee475d72ff32a1eb8982b8b307847c1/repos.d/gentoo/overlays.yaml#L90



[gentoo-dev] Last rites: dev-python/pip-run, dev-python/autocommand, dev-python/jaraco-env

2025-03-23 Thread Michał Górny
# Michał Górny  (2025-03-23)
# dev-python/pip-run is a NIH package with significant number of NIH
# deps.  New versions require "coherent" build system that's designed
# to be completely incompatible with downstream packaging.
# No revdeps left.
#
# Includes a number of NIH dependencies, some of them abandoned.
#
# Removal on 2025-04-22.  Bug #951933.
dev-python/autocommand
dev-python/jaraco-env
dev-python/pip-run

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Last rites: dev-python/django-bootstrap5

2025-03-23 Thread Alfredo Tupone
On Tue, 18 Mar 2025 06:56:24 +0100
Michał Górny  wrote:

> > Bug fixed, and python team removed  
> 
> The tests still fail:
> 
> FAILED (failures=3, errors=1)
> 
Here they are not. Maybe I miss further dependency.
Mind to share the log ?

Alfredo



Re: [gentoo-dev] [PATCH] 1/1] autotools.eclass: add slibtool dir for aclocal

2025-03-23 Thread Sam James
Eli Schwartz  writes:

> On 3/14/25 11:31 AM, orbea wrote:
>> Changing it as you suggested I think would be significantly more
>> complicated and would require refactoring the eclass.
>
>
> Yes, it's unfortunately the type of thing that would be a somewhat
> involved change. :(
>
>
>> However I wonder if my patch still has merit since in the case of
>> slibtoolize it only needs to be set for aclocal and not all the other
>> tools that are executed during eautoreconf? Although including it
>> everywhere doesn't seem to cause any problems yet either.
>
>
> Not sure I understand what you mean. :) This is only used for aclocal
> either way.
>
> And your patch is I think fundamentally correct.
>
> The externally injected AT_SYS_M4DIR documented in the wiki is an
> understandable hack but nonetheless a *hack* and we should move away
> from it by treating slibtool the same as our generic aclocal handling.
>
> That's true even though I'd *also* like to see AT_SYS_M4DIR unbroken. It
> is nominally for "cases such as slibtool but where the user / system
> integrator has added it in ways ::gentoo cannot predict", but given
> slibtool is packaged in ::gentoo it is eminently reasonable to just
> include it directly in the list.
>
> ...
>
> Hmm, now that makes me think. Sam, maybe we can fix AT_SYS_M4DIR by
> making it not get passed as -I but instead get concatenated into
> ${T}/aclocal/dirlist

I agree, and I think it was an oversight to not do that when introducing
it...

Eli or orbea, do you want to send a patch for that (on top of this one)?



[gentoo-dev] [PATCH] cargo.eclass: Only tell Cargo to cross-compile when actually needed

2025-03-23 Thread James Le Cuirot
This avoids the build host vs target flag separation issue. Sometimes it
is important for the build host to use the right flags. We cannot fix
this for cross-compiling now, but it should at least work for native
builds.

Closes: https://bugs.gentoo.org/951740
Signed-off-by: James Le Cuirot 
---
 eclass/cargo.eclass | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index dae2b93f24f31..95d485ab20c34 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -448,7 +448,9 @@ _cargo_gen_git_config() {
 # Return the directory within target that contains the build, e.g.
 # target/aarch64-unknown-linux-gnu/release.
 cargo_target_dir() {
-   echo "${CARGO_TARGET_DIR:-target}/$(rust_abi)/$(usex debug debug 
release)"
+   local abi
+   tc-is-cross-compiler && abi=/$(rust_abi)
+   echo "${CARGO_TARGET_DIR:-target}${abi}/$(usex debug debug release)"
 }
 
 # @FUNCTION: cargo_update_crates
@@ -762,6 +764,10 @@ cargo_env() {
# locally. Do this in a subshell so that they remain set 
afterwards.
unset CARGO_BUILD_RUSTFLAGS CARGO_ENCODED_RUSTFLAGS RUSTFLAGS
 
+   # Only tell Cargo to cross-compile when actually needed to 
avoid the
+   # aforementioned build host vs target flag separation issue.
+   tc-is-cross-compiler || unset CARGO_BUILD_TARGET
+
"${@}"
)
 }
-- 
2.48.1




Re: [gentoo-dev] Last rites: dev-python/django-bootstrap5

2025-03-23 Thread Alfredo Tupone
On Sun, 23 Mar 2025 14:22:30 +0100
Michał Górny  wrote:

> On Sun, 2025-03-23 at 08:39 +0100, Alfredo Tupone wrote:
> > On Tue, 18 Mar 2025 06:56:24 +0100
> > Michał Górny  wrote:
> >   
> > > > Bug fixed, and python team removed
> > > 
> > > The tests still fail:
> > > 
> > > FAILED (failures=3, errors=1)
> > >   
> > Here they are not. Maybe I miss further dependency.
> > Mind to share the log ?
> >   
> 
> Attached.
> 

Fixed, thanks

Alfredo