Re: SageMath packaging work

2024-05-22 Thread Andreas Enge
Am Wed, May 22, 2024 at 03:50:43PM +0100 schrieb Sharlatan Hellseher:
> https://issues.guix.gnu.org/search?query=SageMath+is%3Aopen
> 56729 patch[RFC PATCH 00/10] Add sagemath.
> 70924 patch[PATCH 00/10] Add some SageMath standard packages.
> Maybe it needs some love to bring to the master branch.

Indeed that would be welcome. Concerning #70924, we would need to check
with the python-team branch to not duplicate the patches. I will not be
available for the next two weeks, but will be happy to take part in patch
reviewing after that.

Andreas




Re: Scheduling a new release?

2024-05-15 Thread Andreas Enge
Am Tue, May 14, 2024 at 11:41:26AM +0200 schrieb Ludovic Courtès:
> As discussed at the 2023 Guix Days (!), we could follow a model similar
> to that of NixOS: form a release team (~4 people) dedicated to keeping
> track of issues in particular wrt. the installer, and committed to
> publishing a release within 4–6 months. (I think several people actually
> volunteered back in Feb. 2023. :-))

That is a good approach, of course.

The two things I think should happen before a release is merging
core-updates, and making a rebuild round (or several rounds? I am unsure
whether it is safe to do everything at once) ungrafting everything.
Plus testing the installer etc.

Andreas




Re: Core updates status

2024-05-10 Thread Andreas Enge
Thanks, Felix and Maxim, for your explanations!

Andreas




Re: Core updates status

2024-05-08 Thread Andreas Enge
Hello,

Am Mon, May 06, 2024 at 10:47:13AM +0200 schrieb Josselin Poiret:
> Maxim Cournoyer  writes:
> > I don't mind too much; when we re-enable the change we should add a
> > phase to the gnu-build-system automatically deleting/moving the libtool
> > archives. so that we're covered.
> 
> I agree, although we'll have to be careful since some packages might
> need them if they don't use pkg-config!

I am a little bit confused by the suggestion; you mean removing all .la
files from all packages? I thought they were there for a reason, and
usually recorded the dependencies. For instance, doing a "guix build mpc"
and looking at libmpc.la, my impression is that I see correct information.
Why would one want to force upstream to add a pkgconfig dependency
additionally to libtool? Or do I misunderstand the suggestion?

Andreas




Re: Changing the defaults for --localstatedir and --sysconfdir?

2024-05-02 Thread Andreas Enge
Am Thu, May 02, 2024 at 11:00:15AM +0200 schrieb Ludovic Courtès:
> That was 8 years ago though (eight!).  At this point I think defaulting
> to /var and /etc would do more good than harm.
> What do others think?

I have always been in favour of /var and /etc as defaults, and
unsurprisingly still am. That would make the "technical" default coincide
with the "social" default.

Another option discussed at the time, but which would require to start from
scratch in a sense, is to have everything Guix related under /gnu. I have
always found it weird that the database registering the contents of
/gnu/store was not close to /gnu/store; by moving it into /gnu, one could
delete/backup/restore the directory easily.

Andreas




Re: Vim helper config for Guix

2024-04-29 Thread Andreas Enge
Hello Efraim,

Am Thu, Apr 04, 2024 at 09:43:02AM +0300 schrieb Efraim Flashner:
> Most of the line indentation works pretty well. Vim, by default for lisp
> languages, hardcodes an indent as 2 spaces, and I haven't gotten around
> to learning how to write an indentexpr to make it work for guix. As a
> result some of the indentation is close but not quite correct

actually I would suggest to change to a standard (such as "always 2 spaces")
that is easy to remember by a human; as far as I understood, almost nobody
knows how this Guix indentation works, one needs to either use Emacs or
copy-and-paste. Since mistakes in the current system seem to be unavoidable
without special tooling, maybe we should change the definition of "mistake"
instead of wasting time for the tooling.

I do not know whether there is a reason to sometimes indent only by 1.

Andreas




Re: Change logs: usage of square brackets

2024-04-29 Thread Andreas Enge
Am Tue, Apr 23, 2024 at 11:10:14AM +0500 schrieb Nigko Yerden:
> I wonder what is the proper usage of square brackets in change logs.
> According to https://www.gnu.org/prep/standards/standards.html#Change-Logs
> square brackets are used for conditional changes, the name of the condition
> is specified inside '[ ]'.  However looking over the commit history I mostly
> see another usage of '[ ]' for specifying the name of a record field which
> content is being changed.

It looks like we have created our own conventions that have diverged
from the GNU changelog format. That sounds okay to me.

Andreas




Re: Managing patches and branches, retrospective and futher changes?

2024-04-29 Thread Andreas Enge
Hello,

Am Wed, Apr 24, 2024 at 02:21:56PM +0100 schrieb Christopher Baines:
> Let me know if you have any thoughts or questions!

in this part:
+@item
+Minimise the changes on master that are missing on the branch prior to
+merging the branch in to master.  Merging master in to the branch can be
+appropriate for this purpose.

I would drop the second sentence. It mildly contradicts the previous
"avoid merging master into the branch". Writing "avoid merging" instead
of "never merge" already allows for some leeway, I would prefer not to
insist on it.

Andreas




Re: backdoor injection via release tarballs combined with binary artifacts (was Re: Backdoor in upstream xz-utils)

2024-04-11 Thread Andreas Enge
Am Thu, Apr 11, 2024 at 02:56:24PM +0200 schrieb Ekaitz Zarraga:
> I think it's just better to
> obtain the exact same code that is easy to find

The exact same code as what? Actually I often wonder when looking for
a project and end up with a Github repository how I could distinguish
the "original" from its clones in a VCS. With the signature by the
known (this may also be a wrong assumption, admittedly) maintainer
there is at least some form of assurance of origin.

> and everybody is reading.

This is a steep claim! I agree that nobody reads generated files in
a release tarball, but I am not sure how many other files are actually
read.

Andreas




Re: backdoor injection via release tarballs combined with binary artifacts (was Re: Backdoor in upstream xz-utils)

2024-04-11 Thread Andreas Enge
Hello,

Am Wed, Apr 10, 2024 at 03:57:20PM +0200 schrieb Ludovic Courtès:
> I think we should gradually move to building everything from
> source—i.e., fetching code from VCS and adding Autoconf & co. as inputs.

the big drawback of this approach is that we would lose maintainers'
signatures, right?

Would the suggestion to use signed tarballs, but to autoreconf the
generated files, not be a better compromise between trusting and
distrusting upstream maintainers?

Andreas




Re: rewriting history; Was: Concerns/questions around Software Heritage Archive

2024-03-18 Thread Andreas Enge
Am Mon, Mar 18, 2024 at 04:33:49PM +0200 schrieb MSavoritias:
> Actually gitlab already is facing something like that and they are doing
> what was proposed elsewhere: mapping of UUIDs to display names
> https://gitlab.com/gitlab-org/gitlab/-/issues/20960

Interesting, thanks! It is something that maybe could be implemented by
Savannah, but it would probably require a bit of thought. And yet again,
somehow the mapping uuid<->"real" names would have to be public (people
would "git clone" commits with uuids, and would need to locally replace
them by "real" names); so people can always keep copies of the mapping
over time.

I am also not quite sure about the signing process for committers;
in principle keys are enough, but in GPG they are tied to email addresses,
and I do not know whether we use this in Guix.

In the end, my impression is this will not achieve much more than what we
already have with the .mailmap approach. In a sense, everyone would use
a pseudonym (their uuid), and then we would keep a mapping between these
pseudonyms and, well, "real" names or other pseudonyms chosen by the
contributors...

Hm, this could indeed be implemented exactly with .mailmap, no?
We would need to enforce that authors use a uuid of a specific format,
and potentially an empty or dummy email address, or another uuid.
Then we could keep a .mailmap file. The history of "real" identities
would still be visible in the git history, but as said above, anyway
we could not prevent people from storing the association information
over time.

> Right fair. As I have said before SWH does break Guix CoC effectively right
> now.
> So what Guix does from this point on will effectively dictate if the CoC is
> valid or not.

Well, the CoC is valid on our communication channels; so what SWH does with
our software is outside its scope (that is governed by the license).

Andreas




Re: rewriting history; Was: Concerns/questions around Software Heritage Archive

2024-03-18 Thread Andreas Enge
Am Mon, Mar 18, 2024 at 04:03:20PM +0200 schrieb MSavoritias:
> Rewriting history is the wrong question imo. I dont think a request to
> change all of the history of Guix will be accepted anyway.
> A much easier thing to do is to change the approach in the future. And let
> all the past history untouched.

I was well thinking about the future history as well as the past one...
Everything we do now becomes unmutable history in the future; so the
question how we can rewrite an a priori unmutable history remains the same,
regardless of the date when person X wants to be known as person Y: Also in
the future, someone may wish to travel to a time before the change.
And the fundamental problem of history rewriting remains; I do not see
how we could simplify it. So I do not think that it is "a much easier
thing to do". Please feel free to prove me wrong by making a concrete
suggestion!

Am Mon, Mar 18, 2024 at 04:00:38PM +0200 schrieb MSavoritias:
> On 3/18/24 15:12, Simon Tournier wrote:
> > Again, this is an incorrect frame, IMHO.  Software Heritage (SWH) do the
> > things you granted them to do.  SWH respects the “ethical” definition of
> > “free software”.
> You are bringing the legal argument again. The argument that you can do what
> you want with Free Software is based around a licence which is a legal
> construct of states.

I think there is a misunderstanding here, rooted in the use of "you" in
"you can do what you want". We need to be clear about whom we are speaking.
There is SWH, and what they can do is a result of the free license. The
other question is what we as the Guix community want to do (and can do);
I would suggest to concentrate in our discussion on the latter, which is
where we have agency.

Andreas




Re: rewriting history; Was: Concerns/questions around Software Heritage Archive

2024-03-18 Thread Andreas Enge
Hello all,

Am Mon, Mar 18, 2024 at 12:26:18PM +0100 schrieb Simon Tournier:
> Therefore, it would be more constructive if you come with a
> proof-of-concept allowing “history rewrite” and strong “software
> identification” property

the one thing I can think of, and which would allow time travel to coexist
with history rewriting, is an additional layer of metainformation.

First of all, when rewriting history, all commits from the bifurcation
to an alternate universe must be signed again by the person doing the
"time split"; so there is a loss of information there.

Second, we need to create a table that associates every old, lost commit
hash to the corresponding new commit hash; this should also be signed by
the person rewriting history.

Of course this will have to be continued to the future: If Guix has n
commits and m history rewrites, then the m-th rewrite may have to create
a table of n entries that link commit hashes of the m-th rewrite to those
of the (m-1)-th rewrite. Total memory would become m*n entries.

When doing time travel to a commit hash, one would need to check whether
it is available in the current, m-th history rewrite; if not, one would
need to look for it in the (m-1)-th rewrite and map it to a commit hash
in the m-th rewrite; if not, one would have to look for it in the (m-2)-th
rewrite and map it to a hash in the (m-1)-th rewrite, and then check
whether or not it has been overwritten in the m-th rewrite. The total
time complexity would be m look-ups in tables of size n each.


It is a lot of effort; and probably for little gain, since we cannot
eradicate each and every fork of the Guix git repo. The old data will
still be available at SWH, and probably at random forks on lots of random
forges all over the world. As Simon, I think that history, fundamentally,
cannot be rewritten: What has happened in the past, has happened in the
past. If you have done some public activity as the person known as X, and
then change your name to Y, you cannot prevent your past activity to be
known under identity X. Also, the time split would have to be publicly
documented somehow; if we add as rationale for a history rewrite "person X
is now known as Y", not much is gained compared to just keeping the old
commits. Not documenting the rationales for history rewrites would not help
to instill trust in the codebase, and probably not solve the problem either,
since it is quite likely that the request by person X to now be addressed
as Y will have been made on the mailing list or some other public forum.

So my impression is that the .mailmap approach in the Guix project is a
good compromise between acknowledging the wish of people to be known under
identity Y, and what can reasonably be achieved to hide identity X.

Well, there are things people can do individually:
1) Use a pseudonym P from the start instead of X (which is admitted in
   the Guix community, just look at a few of the names: there are pseudo-
   nyms with clearly made-up first and last names, there are very obvious
   one-word pseudonyms, and maybe some of the names that look like real
   names are not from the persons' passports, who would know).
2) This does not help, of course, if you are already known as X and want
   to be known as Y. Then either you can somehow make the change publicly,
   and transfer your reputation and also the information that you used
   to be known as X, or disappear as X and reappear as a new person Y
   and lose X's reputation. Doing both is impossible, I would say.

Andreas




Re: (Lx)Qt team in Guix

2024-03-08 Thread Andreas Enge
Hello,

Am Thu, Mar 07, 2024 at 08:46:12PM -0500 schrieb Maxim Cournoyer:
> I think the reason qt.scm is part of the lxqt team is historical; lxqt-team
> predates qt-team.  We should probably just remove qt.scm from
> lxqt-team's scope.  What do you think?
> 
> I'd keep both team separated; I'm interested in maintaining qt upgrades
> but not much lxqt.

that sounds good to me as well; and I would then encourage 宋文武 and
Hilton to join the Qt team, too.

Andreas




Re: You're invited to the first patch review session!

2024-03-06 Thread Andreas Enge
Hello,

Am Tue, Mar 05, 2024 at 07:19:46PM + schrieb Etienne B. Roesch:
> Anything we need to have prepared by Thursday?
> I imagine a ubuntu vm running with vanilla guix installed is installed?

you should have a means of running Guix, and so that your store gets
populated with recent basic things, I would also suggest to run a
"guix pull". It can be a virtual machine, a full Guix system, or simply
a "foreign" distribution with Guix as a package manager.
(I am not sure what you mean by "is installed"; I do not think Steve
plans to install a machine shared between the participants, please
bring your own!)

Then you should clone the git repository as the basis to apply patches,
as explained here:
   https://guix.gnu.org/en/manual/devel/en/html_node/Contributing.html
I think reading the first two subsections 22.1 and 22.2 is enough to
get started.

Notice that building Guix takes a rather long time; on my oldish laptop
with two cores, about half an hour. So this should be done before.

Looking forward to tomorrow,

Andreas




Re: Contribute or create a channel?

2024-03-04 Thread Andreas Enge
Am Sat, Mar 02, 2024 at 11:32:37AM +0100 schrieb Hartmut Goebel:
> Maybe using one file per release (and accept duplicate code) would be a
> suitable workaround.

I think that would be okay if you think it will be easier to maintain
(not needing to "roll over" code from an old package at the inheritance
root when it is deleted), assuming that the old packages are removed
from time to time.

Andreas




Re: Guix Days: Patch flow discussion

2024-02-29 Thread Andreas Enge
Hello Dan,

thanks for your thoughts! I think I will restrict my replies to guix-devel
to keep them in one place; the following are just my personal opinions.

Am Thu, Feb 29, 2024 at 03:41:41PM + schrieb Daniel Littlewood:
> Something that is not obvious to me when people refer to reviewing patches, is
> whether this is purely a matter of adding new packages to the main guix
> channel, or of reviewing changes to the system in general, or both. As a
> novice, I can imagine becoming comfortable as a package reviewer much more
> quickly than as a reviewer of core patches to the system.

Both! And indeed what you write is correct, reviewing packages is easier
than services, which is probably easier than other changes. (Personally,
I feel confident only with packages.) Of course then people should only
review things they are comfortable with.

> It's also not obvious to me whether you mean exactly "reviewing a backlog of
> existing patches" or additionally "increasing the amount of patches submitted
> and applied". I feel like both are probably good things but I can't tell what
> you're focussing on exactly. If lots of gems were imported from other repos
> like RubyGems and PyPi, which as I understand it is currently a
> partly-automatic partly-manual process, would that be considered a win? What
> about increasing version coverage among those packages that are covered?

The discussion was about the backlog; in particular also about negative
feelings by contributors of patches that take a long time to be applied.
Of course adding more packages is also a welcome activitiy (but only
makes sense if enough of them are applied in the end...). We concentrated
on "reviewing" to ease the burden of "committers", since reviewing is open
to anybody.

> One point brought up here is about tooling. I wonder whether there is any 
> scope
> for fully automatic review.

I do not think so. Quality is an important aspect of Guix; for instance,
we ask for non-marketing descriptions, which would be difficult to test
automatically. We already have "guix lint", which does some of the work.
And there are fully automated channels such as for CRAN, but which then
are potentially of a lesser quality.

Notice that "easy" packages are also easy to review; most of the time,
there is not much to do about the result of "guix import pypi ...".
Things become more tricky when phases need to be added, to understand
what is going on, and then I usually also look at comments (or criticise
their absence).

> I think some people are just scared off socially by the idea of having to 
> join a
> meeting in order to learn how to do reviews well.

Agreed, there should not be any "having to join a meeting". The idea of
organising one comes from the goal of making the activity more social and
less boring. Apart from that, you can start today and need not wait for
a bug squashing party :)

Andreas




Re: You're invited to the first patch review session!

2024-02-29 Thread Andreas Enge
Am Thu, Feb 29, 2024 at 05:10:56PM + schrieb Daniel Littlewood:
> * I think the meeting is at 18:00 UTC, which is the same as 18:00 GMT,
> which is the same (on March 7th) as 18:00 London time
> Meetup also says 18:00 GMT.

Yes, that is the plan!

Andreas




Re: Creating 2024 internship page

2024-02-29 Thread Andreas Enge
Hello,

Am Thu, Feb 29, 2024 at 12:28:29AM +0100 schrieb Gábor Boskovits:
> I had a look at the libreplanet today and tried to add an internship page for
> 2024, but it look like I have no permission to create a page in the guix 
> group.
> It also shows me the group main page as protected. Can someone arrange access
> for me or create the page and send me the link. It looks like I can edit pages
> without any issue once they are created.

I do not know where I gathered this magical power, but I can create pages;
here it should be:
   https://libreplanet.org/wiki/Group:Guix/Outreachy-2024
Strangely, it is not (yet?) referenced from the main page
   https://libreplanet.org/wiki/Group:Guix
but I hope it can get you going.

Andreas




Rust team branch merged

2024-02-28 Thread Andreas Enge
$ git status 
On branch master
Your branch is behind 'origin/master' by 1438 commits, and can be 
fast-forwarded.
  (use "git pull" to update your local branch)

$ git log origin/master
commit f29f80c194d0c534a92354b2bc19022a9b70ecf8 (origin/master, origin/HEAD)
Merge: c034088e37 7947d47c9b
Author: Efraim Flashner 
Date:   Wed Feb 28 12:18:45 2024 +0200
Merge branch 'rust-team'
Change-Id: Iee31c5de29c357c822f60df4fa8ce758779eb349

Congratulations to the Rust team (aka Efraim) for this big endeavour!

Andreas




Re: Core-updates coordination and plans

2024-02-27 Thread Andreas Enge
Hello Felix,

Am Mon, Feb 26, 2024 at 07:26:57AM -0800 schrieb Felix Lechner:
> How about a 48-hour period every month in which commits are permitted
> even if they cause "world rebuilds"?
> We could pause the substitute builders during that period. It would get
> rid of core-updates forever.

a time-based approach sounds like a good idea indeed; if just for things
like ungrafting, which are considered extremely low risk. It might still
be good to do it in a separate branch instead of master, and to merge it
after substitutes are available. Since "guix pull" takes the latest commit
from the master branch, users could otherwise end up with a world-rebuild
commit without substitutes.

So maybe we could have a time window, but also discuss and prepare before-
hand which big changes we would like to push?

Having a team or a dedicated individual (in both senses of the terms,
a designated person with a lot of dedication) to shepherd this through
would also be good.

Andreas




Re: Proposal to turn off AOT in clojure-build-system

2024-02-22 Thread Andreas Enge
Am Thu, Feb 22, 2024 at 03:57:41PM +0100 schrieb Maxime Devos:
> Yes. It appears you are unfamiliar with (...)
> It also appears you are unfamiliar with (...)

May I suggest to not make assumptions about what other people are familiar
with or not? There is no point in claiming that others are less knowledge-
able than you; they may know as much or even more than you, and still come
to different conclusions. (And even if people were unfamiliar with
something, I would object to this haughty tone and suggest a more pleasant
way of making suggestions.)

For instance concerning the topic at hand, knowing that users may transform
packages as they wish to me seems to be independent of which default choice
we should make for the distribution.

Andreas




Re: Guix Days: Patch flow discussion

2024-02-16 Thread Andreas Enge
Am Fri, Feb 16, 2024 at 11:56:50AM +0100 schrieb Clément Lassieur:
> Would it makes sense to have a "does-not-apply" tag too?

Should this not appear in the QA page, assuming that once all the new
issues are closed, older ones will bubble to the top and be treated by QA?
(I am not sure if just looking at the n latests issues is how QA works,
but I think so.)

Andreas




Re: Committers available for Patch hacking/review meet-up?

2024-02-14 Thread Andreas Enge
Hello,

thanks, Steve, for getting things going!

Am Tue, Feb 13, 2024 at 02:48:08PM + schrieb Steve George:
> We said they'd be every 13 days, for 3 months to see if it has interest.
> Proposed calendar:
> 7th March (Thursday)

I will be around on this day.

> 2nd April (Tuesday)
> 15th April (Monday)
> 3rd May (Friday)
> 16th May (Thursday)
> 29th May (Wednesday)
> Each one held at 19:00 CET / 18:00 BST / 13:00 EST [0] for 1.5 hours.

For these, we will have the daylight savings time switch; so maybe we
should move to 19:00 CEST. Something we can do later.

> What I propose is that we'd do the following:
> 1 - 30 mins: a committer runs through their review process, and shows a
> recent patch or patches they've reviewed. Really informal showing what they
> do.

Well, I only ever look at simple packages, and do not think I have anything
resembling a process to share. But I will try to be around in any case :)

Andreas




Re: QA is back, who wants to review patches?

2024-02-11 Thread Andreas Enge
Am Fri, Feb 09, 2024 at 04:08:45PM +0100 schrieb Tanguy LE CARROUR:
> I’m "reviewing" `[bug#68997] gnu: lightning: Update to 2.2.3`… please
> find another one! 

Now that you jump to complicated and not even yet built by QA packages,
you are safe from my competition :)

Andreas




Re: Guix Days: Patch flow discussion

2024-02-09 Thread Andreas Enge
Hello,

Am Fri, Feb 09, 2024 at 05:35:44PM +0100 schrieb Edouard Klein:
> Am Thu, Feb 08, 2024 at 07:56:48PM + schrieb Skyler Ferris:
> > I'd like to do my part to keep the project in a good state. However, I
> > am new to interacting with large FLOSS projects so I'm nervous about
> > causing more problems than I solve if I just start doing things.
> Same here.

no need to be nervous! I would suggest to just start somewhere and learn
by doing. For patches, anyway the committer takes the final responsibility;
so if you can just add, for instance, "I use this package and it works for
me" this will be a useful point.

And do not be afraid to make mistakes; I have been taking part in Guix for
a long time now, and of course make mistakes from time to time. That
happens, and they can be corrected if they occur. What I find important
is to be upfront about them, and to ask for help if needed.

Andreas




Re: QA is back, who wants to review patches?

2024-02-09 Thread Andreas Enge
Hello,

I see a few "Failed to process revision", for instance here:
   https://qa.guix.gnu.org/issue/68778
While I am not sure why, these look like transient (?) build failures,
at least failures not related to the patch in question. What is there to do?

Andreas




Re: QA is back, who wants to review patches?

2024-02-09 Thread Andreas Enge
Am Fri, Feb 09, 2024 at 02:53:59PM +0100 schrieb Tanguy LE CARROUR:
> Quoting Christopher Baines (2024-02-09 14:44:25)
> > Tanguy LE CARROUR  writes:
> > > Can I safely close it?!
> > 
> > Yep, this unfortunately looks like a case where there was a duplication
> > of effort and the original patch got ignored.
> > 
> > It looks like the issue has been closed now.
> Not me! 

As the old German saying goes, "two idiots, one idea" :-)
I also immediately jumped to this easy looking patch, came to the same
conclusion as you and closed it. This is a lot of review work for a patch
where there is nothing to do...

Actually the next patch I tried to apply was also already there, and the
committer had just forgotten to close the issue.

Andreas




Re: bug#68920: Issues with issues.guix.gnu.org (502 Bad Gateway)

2024-02-06 Thread Andreas Enge
Am Tue, Feb 06, 2024 at 09:22:43AM -0500 schrieb Maxim Cournoyer:
> Thanks for the report.  It occurred a few times in the past weeks, where
> the 'mumi' service had to be restarted on Berlin.  Let's keep this open
> to see if it'll occur again.  Otherwise I'll close it in a week or two.

It has happened for me last evening, so it does not seem to be definitely
fixed.

Andreas




Re: Core-updates coordination and plans

2024-01-31 Thread Andreas Enge
Hello,

Am Wed, Jan 31, 2024 at 05:44:21PM +0100 schrieb Josselin Poiret:
> One conundrum we have for now: glibc 2.38 has a couple of new CVEs, and
> we have three options:
> 1) change glibc to track the 2.38 release branch → world rebuild.
> 2) graft glibc → bad user experience (and we're not supposed to graft
> outside of master).
> 3) switch to 2.39 → world rebuild + possibly more work fixing new build
> failures.

I would go for whatever fixes the security problems (obviously) and leads
to a faster merge. Probably 1), which, if I understand correctly, means
using a newer point release or git commit of glibc-2.38 that fixes the CVEs
and has a low chance of fundamentally breaking things. Then in the spirit
of feature branches, we could have a feature branch "core-team" (not
"core-updates"!; well, I do not care about the names, but about the mental
idea we attach to them) updating glibc.

2.39 might delay the merge for more months if things do not go well, but
you are probably better placed to judge how big the risks are of a lot
of breakage.

I am also not that worried about world-rebuilds: We should be able to do
a world-rebuild not once or twice a year, but at least every month, say,
or maybe every week. If this is not the case currently, it is an infra-
structure problem that we should try to address. (Relatedly, we should
ungraft more often; there are now packages with over 100 grafts, and in
updating the system behind a fast internet line, grafting ends up taking
a non-negligible proportion of the total time, even on an SSD.)

In any case, thanks for your work on getting things in shape!

Andreas




Re: [bug#68606] role of core-updates

2024-01-25 Thread Andreas Enge
Am Wed, Jan 24, 2024 at 02:22:08PM -0500 schrieb Maxim Cournoyer:
> Since patchelf is core material, if the rest of the series depend on
> that update, it should go to core-updates as well.

If I understand correctly, the series just needs patchelf 0.18, which is
already in core-updates. So I will wait until core-updates is merged to
look at the remainder of the series.

Andreas




Re: role of core-updates

2024-01-24 Thread Andreas Enge
Hello,

Am Sat, Dec 09, 2023 at 11:33:54AM +0100 schrieb Andreas Enge:
> Am Sat, Dec 09, 2023 at 11:16:14AM +0100 schrieb Ludovic Courtès:
> > With that in mind, ‘core-updates’ would effectively become the branch of
> > the ‘core-packages’ team: the branch where we update packages in these
> > files (primarily the toolchain and Guile), perhaps also (guix build
> > utils), and that’s all.
> > How does that sound?
> Sounds good, thanks to you and Maxim for thinking it through!

is the current core-updates branch ready for building and merging?
I am looking at an issue:
   https://issues.guix.gnu.org/68606
that adds a patch (updating patchelf) that, as far as I understand, is
already available on core-updates. So I feel somewhat blocked for the
issue.

The last merge was in spring of 2023, I think, and my patch updating wget
is lingering in the branch since last July. So I am afraid we are reenacting
the problems we had with the historic core-updates branch. It would be nice
to merge and to move the branch to its new purpose.

Also,
   https://issues.guix.gnu.org/65200
from last August is blocked by a core-updates merge (it should probably go
to the new-style core-updates branch, and would be the starting point of
working on bootstrapping from a newer GMP).

Andreas




Re: Guix at 37C3 Chaos Communication Congress in late Dec?

2024-01-19 Thread Andreas Enge
Hello,

Am Thu, Jan 18, 2024 at 07:22:01PM + schrieb Fabio Natali:
> The advantage of a Lisp assembly is the economy of scale. That'd combine
> together various projects that were all massively under-represented at
> 37c3 - I'm primarily thinking of Guix, Guile, and Emacs as those are the
> projects I care about, but there are others too.

I think that indeed anything that will assemble the Guix and Guile
communities is a good thing! Something to decide by the people who will
attend, for me CCC comes at one of the least convenient times of the year.
All the best in your community building endeavours!

Andreas




Re: Guix at 37C3 Chaos Communication Congress in late Dec?

2024-01-18 Thread Andreas Enge
Hello Fabio,

Am Mon, Jan 01, 2024 at 01:49:24PM + schrieb Fabio Natali:
> The introductory session on Day 1 wasn't so bad, I think. Given the low
> level of feedback on the Fediverse I was expecting very few people,
> instead I think we were north of 30 participants!

thanks for your report! This is quite amazing. One of the most depressing
experiences at a CCC was when I went to a Lisp assembly, and there were at
most a dozen people around a table, none of whom used the same Lisp
dialect. So gathering so many people around Guix is very encouraging.
And my (admittedly dated) experience seems to indicate that there is not
much point in joining non-existant Lisp forces.

Andreas




Re: [Guix-europe-sac] Shutting down qa.guix?

2024-01-18 Thread Andreas Enge
Hello,

Am Sat, Dec 09, 2023 at 11:54:59AM +0100 schrieb Ludovic Courtès:
> I think this underlines a collective failure to get our act together.

indeed, and besides what Simon mentioned about the bank situation I think
there was a certain lack of consistency between deciding on the technical
and on the financial questions. And of course the lack of urgency, since
anyway things continued thanks to Chris... So thank you for all you have
done, Chris, and thank you for taking action now to force us to get our act
together! Indeed QA has become a central part of our project infrastructure.

I suggest the following, which resolves the lockstep between technology and
finance:
- Decide that the funds at the FSF pay for the hosting in its current form.
  Ideally move the billing to Guix Foundation, and then, as we use to do
  for bayfront, periodically ask the FSF to reimburse the hosting cost.
  I think we have an informal consensus for this, and just require a formal
  vote at the Guix spending committee and at the Guix Foundation SAC.
- Reimburse Chris for the costs incurred for hosting before this move.
  As Simon has said, we have a vote for this already, but could also
  start over with the exact amount once the first point is handled, so
  that Chris does not pay for future hosting any more.

Then in a separate step, other people can discuss about potential
technical changes to the hosting situation. It would probably be good
to have a small group of people, including Chris at least for a
transitory period, who take care of the sysadmin part.

Any thoughts on this proposal?

Andreas




Re: Unreleased wget

2024-01-18 Thread Andreas Enge
Am Sat, Dec 09, 2023 at 12:47:32PM +0100 schrieb Ludovic Courtès:
> I’ve now uploaded a copy of that tarball to ftp.gnu.org/gnu/guix/mirror.
> As a rule of thumb, we should always store upstream tarball copies or
> variants thereof on that server.

Thank you for the fix, and sorry again for my mistake.

Andreas




Re: role of core-updates

2023-12-09 Thread Andreas Enge
Am Sat, Dec 09, 2023 at 11:16:14AM +0100 schrieb Ludovic Courtès:
> With that in mind, ‘core-updates’ would effectively become the branch of
> the ‘core-packages’ team: the branch where we update packages in these
> files (primarily the toolchain and Guile), perhaps also (guix build
> utils), and that’s all.
> How does that sound?

Sounds good, thanks to you and Maxim for thinking it through!

Andreas




Re: Questions about packages because of license and other

2023-12-06 Thread Andreas Enge
Hello Christian,

Am Wed, Dec 06, 2023 at 09:36:06PM +0100 schrieb Christian Miller:
> 1. PrismLauncher[0]: The software itself is licensed as GPL3 but it is
> used to download and launch a proprietary videogame called
> "Minecraft".  Since it is itself GPL3 licensed but used for a
> proprietary videogame, would it be allowed for upstream or not?
> 
> 2: PCSX2[1]: Software itself is licensed as GPL3 but is used to
> emulate a PlayStation 2 (game console), which is highly proprietary
> hardware.  It is also wishlisted on libreplanet[2].  It requires the
> original proprietary BIOS (not distributed by the software) to run.
> Since it is a game console, it also requires proprietary video games
> (not distributed by the software).

since we do not advertise non-free software and do not encourage users
to install it, these two are not suitable for inclusion into Guix.

> 3. impatient-mode[3]: This is an Emacs mode to write HTML and see it
> in realtime rendered in the web browser.  It has no license file.  In
> the file "impatient-mode.el" it says "This is free and unencumbered
> software released into the public domain.".  Is this suitable for an
> upstream package?  It looks to me not correctly licensed but I am also
> not an expert in this and therefore unsure.

This looks okay, we have a license:public-domain.

Andreas




Unreleased wget

2023-12-04 Thread Andreas Enge
Speaking of core-updates, I made a mistake during the latest merge
last spring. We needed a new wget release and the wget maintainers took
some time, so I rolled a "non-release" 1.21.3.24 before the 1.21.4
release (in core-updates, commit 93f9c260ac333ae7b86bfaeeead674fe01d924ce
updates wget to the 1.21.4 release, one more reason to hope for a merge
soon), for which I stored a .tar.lz on a server of my own.

However, this release does not exist (and I actually removed the file from
the server, but for the time being keep it still around on my laptop, and
it is still available in the build farm); and I did not realise it would
break the time machine (which I did not use at the time).

Is there a good way forward to allow a way backward?

Sorry for the breakage,

Andreas




Re: role of core-updates

2023-12-04 Thread Andreas Enge
Am Sun, Nov 26, 2023 at 10:53:46PM -0800 schrieb Andy Tai:
> Hi, hope Guix maintainers can clarify the role of the now core-updates
> branch; the current documentation does not specify the core-updates
> branch as a thing but there are clearly interests and uses of this
> branch for package updates not belonging to a feature branch like
> gnome and it is useful for, say, updating to the GNU make package
> which would have caused world rebuild.  Thanks

When we started implementing the teams idea, I thought we would get rid
of the core-updates branch altogether. I still think it should not exist
as such, but be folded into the teams workflow. I am still mildly worried
that we have this branch into which many unrelated things get dumped,
without a clear responsibility who pushes it forward and on which timeline.

There is a "core" team, but this is probably not the same thing: I think
there are packages outside of the core team scope that cause now inside
the core-updates branch.

Andreas




Re: "random check" approach to Guix QA?

2023-12-04 Thread Andreas Enge
Hello,

Am Mon, Nov 20, 2023 at 03:11:29PM -0800 schrieb Andy Tai:
> Can the same approach be borrowed here, so when there is large number
> of impacted packages from a patch, say larger than 200, Guix QA just
> randomly select a subset sample out of these packages and build them,
> and in case of (new) failures ask the submitter to fix the (new)
> failure? And repeat this as needed.   This way patches can go thru the
> QA process more quickly.

notice that this approach requires to build a complete connected subgraph
starting with the changed package, so simple random sampling will not work.

For instance, if B depends on A, then C_1 to C_1000 depend on B, one needs
to always include B. Or if B_1 depends on A, B_2 on B_1, and so on until
B_1000 depends on B_999, one would need to only build a few steps
on the path.

Maybe it would make sense, one day when we have lots of idle build
power, to start by building at least the immediate dependents to get
an idea?

Andreas




Re: Feedback (was Re: Meet Guix at Capitole du Libre in Toulouse)

2023-12-04 Thread Andreas Enge
Hello,

Am Wed, Nov 29, 2023 at 05:01:12PM +0100 schrieb Simon Tournier:
> Guix on foreign distro:
>   a) do not interact with foreign distro
>   => good complement and rolling release
>   b) containerized  shell
>   => please developers

and also "roll-back", although it is more important for keeping a
bootable system.

>  2. An explanation about what makes Guix different compared to X
> where X is:
> ii) Nix and NixOS
> Sadly, we do not have a clear story for ii) IMHO.

I would say "free software only" and "quality" (I am still traumatised
by Nix "packaging" texlive through wrapping binary Debian packages).
Plus what you mention about the unified programming language throughout.

Andreas




Re: Upgrading Guix's security team

2023-11-16 Thread Andreas Enge
Hello,

Am Thu, Nov 16, 2023 at 03:22:42PM +0100 schrieb Ludovic Courtès:
> Yes, we definitely need a rotation here!  I for one have my name there
> but regardless of my interest, I have to admit that I’ve been unable to
> be sufficiently responsive.  It’s time to let new folks take
> responsibility.
> I think we should make this a fixed-term position, to make it easier for
> people to commit to actually being active when needed, with the
> understanding that it’s not a commitment for life.

all this sounds good. Maybe we should also clean up the mailing list.
I am on the list, but not mentioned on the security team site, and will
be happy to be removed. (My being here probably comes from a mismatch
between being interested in "security" and knowing things about "crypto-
graphy", and my inability to act upon concrete situations of security
problems in packages.)

Andreas




Re: Reproducible Builds 2023 in Hamburg

2023-11-06 Thread Andreas Enge
Am Fri, Nov 03, 2023 at 12:26:52PM + schrieb Christopher Baines:
> Oh, and I forgot to say with the help of Bernhard I added Guix support
> to [3].
> 3: https://ismypackagereproducibleyet.org/

Exciting, congratulations!

Andreas




Re: Meet Guix at Capitole du Libre in Toulouse, nov. 18-19

2023-10-25 Thread Andreas Enge
Am Tue, Oct 24, 2023 at 10:17:01PM +0200 schrieb Vivien Kraus:
> > Some of us will be in Toulouse, INP-N7, 26 rue Riquet on 18 & 19
> > november for Capitole du Libre:
> > We will stand in Village Associatif.  Let us know if you can help us
> > at the event.  Well, I do not know exactly what means "a stand" since
> > it will be the first for me. :-)  I guess it mainly consists to be
> > around the Guix booth, chat with people about why Guix is awesome!
> > and
> > maybe demo some Guix features.
> > Feel free to share your ideas. :-)

Personally I am always drawn to strange hardware. So if anyone coming
has a single board computer running Guix (Guix system?), this would be
nice to show. Actually we would also need a screen then; I have a spare
one, but it would be difficult to transport by bus and train.

We need stickers! Julien, were you not the one buying our latest batch?
Maybe we could order more, we should have Guix Foundation pay for it.

We need flyers! Maybe print a number of reference cards? It looks like the
project is missing a promotional flyer to be given to attract newcomers.

> Je compte bien y aller !

Chouette! L'idée serait que plus on est nombreux, plus on peut alterner
sur le stand et aussi profiter nous-mêmes de quelques présentations et
autres stands. Je viens les deux jours, mais arrive assez tard samedi
(11h27 à la gare) et repars assez tôt dimanche (17h24 de la gare).

Andreas




Re: [workflow] Automatically close bug report when a patch is committed

2023-09-14 Thread Andreas Enge
Hello,

Am Wed, Sep 13, 2023 at 09:14:52PM +0200 schrieb Liliana Marie Prikler:
> I do wonder how the ChangeId would work in practice.  Since it's not
> really assigned by the committer, it would have to be generated "on the
> fly" and attached to the mail in between, which could result in all
> kinds of nasty behaviour like unstable Ids or duplicated ones.

this one would be easy to solve: it could just be the hash of something.
For instance, it could actually be the commit "number" itself of the
commit when it is first created.

Andreas




Re: Guidelines for pre-trained ML model weight binaries

2023-09-06 Thread Andreas Enge
Hello,

related to this thread, I just came across an entry in Cory Doctorow's blog:
   
https://pluralistic.net/2023/08/18/openwashing/#you-keep-using-that-word-i-do-not-think-it-means-what-you-think-it-means

It is already interesting in its disection of the terms "open" vs. "free",
which is quite relevant to us (but just echoes the sentiment I had anyway).
The end can be seen as an invitation to *not* package neurol network
related software at all: by packaging "big corporation X"'s free software,
but which is untrainable on anything but big corporations' hardware, we
actually help big corporation X to entrap users into its "ecosystem".

Andreas




Re: How can we decrease the cognitive overhead for contributors?

2023-09-04 Thread Andreas Enge
Am Mon, Sep 04, 2023 at 10:23:45AM + schrieb Attila Lendvai:
>  - large backlog. contributions somtimes even fall through the cracks.

My impression/hope is that the recent introduction of teams leads to
improvements on this front. I am on the science and texlive teams and
have been getting emails from the patch submission workflow; so these
end up in my inbox and I feel responsible for them. As a consequence,
I have been reviewing more commits recently.

For this to work, we would need a 100% coverage of modules by teams
(a necessary, not a sufficient condition...). A consequence of my
focussing on email is that I essentially ignore everything that does
not come in by email (well, I also look at the green badges in QA
from time to time). So, my impression/hope is that also QA leads to
improvements.

This does not solve the problem of finite time and competence, however.

Andreas




Re: How can we decrease the cognitive overhead for contributors?

2023-09-04 Thread Andreas Enge
Am Mon, Sep 04, 2023 at 08:44:18AM -0400 schrieb brian via Development of GNU 
Guix and the GNU System distribution.:
> >  - strict adherence to changelog style commit messages without a
> >clearly worded and documented argument about why it's worth the
> >effort in 2023. whenever 'C' fails to add an entry to the commit
> >message in Emacs, i groan out loud.
> Regarding the GNU changelog commits, I really dislike them. They're
> redundant busy-work as far as I'm concerned. And while I'd like to say
> they're no longer necessary, because we have better tooling

As said before, I use them all the time through
   git log | grep "whatever I am looking for"
or the interactive
   git log
then "/" for searching inside the less command; I find it useful to a point
that I have moved to this style for all my coding projects.

So as far as I am concerned, they are tremendously useful. Well, that may
be due to a lack of git knowledge, of course! But while in other projects
I often find I need to look at the content of commits, in Guix it is often
enough to just look at the changelog.

Andreas




Re: Current Issues with Patch Review Workflow Using git.guix-patches.cbaines.net

2023-09-04 Thread Andreas Enge
Hello jgart,

Am Mon, Sep 04, 2023 at 05:48:05PM + schrieb jgart:
> Old tickets are not kept around.
> For example, A branch for ticket 51810* does not exist anymore.

this is probably due to the fact that the git repo did not yet exist
at the time. The oldest issue I see is 60286 from December 2022, which
looks compatible with this hypothesis.

So this patch fell completely through the cracks! We should indeed
spend some time going through old tickets (this, for instance, at first
glance looks like it could be applied, others may simply be dropped).

Andreas




Re: How can we decrease the cognitive overhead for contributors?

2023-08-30 Thread Andreas Enge
Hello Katherine,

thanks for your summary, which contains many points I would agree with and
actionable items (disclaimer: I do not promise to act on them).

Am Wed, Aug 30, 2023 at 10:11:02AM -0600 schrieb Katherine Cox-Buday:
> Here's my understanding of the process to contribute a patch:

My process is actually a bit easier...

>   5. Create a git worktree for your patch
>   6. Run `./bootstrap`, then `./configure --localstatedir=/var
> --sysconfdir=/etc`

You can drop 6 assuming you do not create a new .scm file.
Instead of 5, I usually just branch off from master, or simply work on
master itself (for instance, for a simple package update). In the latter
case, after creating and sending the patches, a
"git reset --hard origin/master" drops all my work.

>   8. Make your changes
>   9. Build to ensure your changes are workable.
>   10. Try and determine how your changes should be factored into individual
>   commits (sometimes it's not always so clear when changing two things
> might
>   need to be done atomically).
>   11. Try and get each commit message close to correct and commit.

Usually I start with 10, and then make the changes incrementally.
For instance, today I wanted to update a package and change an input.
I simply changed the input first, built and made a commit.
And then I updated the package, built and invoked ./etc/committer.scm.

Admittedly, I also do not do all the checks you mention, like closure
sizes or reproducibility of the builds.

Andreas




Re: How can we decrease the cognitive overhead for contributors?

2023-08-30 Thread Andreas Enge
Am Wed, Aug 30, 2023 at 02:22:01AM +0200 schrieb Danny Milosavljevic:
> Writing the metadata into the commit messages is annoying. It totally should
> be automated, especially since Scheme has pretty simple syntax (so it should
> be easy to write such a thing/famous-last-words). It should just figure out
> which procedures the changed lines were in, automatically.

It does exist inside git itself for C code; "git diff" always shows the
function in which I make a change. I agree it should be easy to have the
same support for scheme.

Andreas




Re: SSSD, Kerberized NFSv4 and Bacula

2023-08-30 Thread Andreas Enge
Hello,

just a tiny comment to one of your points:

Am Thu, Aug 24, 2023 at 07:55:05PM + schrieb Martin Baulig:
>  1. GNU Guix is currently using nfs-utils 2.4.3, whereas 2.6.3 is currently 
> the
> latest version.  We don't need to upgrade, but I would like to backport 
> one
> change, affecting a single function.  This is needed for idmap-daemon to
> work with arbitrary plugins.

Is there a drawback to updating? We usually ship the latest version
(as long as a volunteer does the update, that is); so if there are no
compatibility problems, a patch to update to the latest version would
be welcome.

Andreas




Re: How can we decrease the cognitive overhead for contributors?

2023-08-30 Thread Andreas Enge
Am Wed, Aug 30, 2023 at 08:39:17AM + schrieb Attila Lendvai:
> just now i wanted to take a look at mumi's sources, but the link in the 
> manual (https://git.elephly.net/gitweb.cgi?p=software/mumi.git) times out.

There is a mumi package in guix, and it gives the source location as
   https://git.savannah.gnu.org/git/guix/mumi.git/
So this has become an official guix subproject!

Andreas




Re: documentation in TeX Live collections

2023-08-28 Thread Andreas Enge
Hello,

Am Mon, Aug 28, 2023 at 06:54:35PM +0200 schrieb Nicolas Goaziou:
> Emmanuel Beffara  writes:
> > I don't understand how "out" and "doc" are different in this respect. The
> > "out" output of a collection meta-package has no content of its own and it
> > only serves to gather the "out" outputs of its inputs. Similarly, the "doc"
> > output would have no content of its own and only gather the "doc" outputs of
> > its inputs. How is that inconsistent?
> >
> Outputs are used to split files to be installed after building
> a package. Since meta-packages do not build anything, there is nothing
> to install, and therefore, to split. The default output is enough.

if I understand things correctly, we would like the following behaviour
for propagated inputs in the texlive context:
We have these metapackages with propagated inputs; all of these inputs
have "out" and "doc". Then we would like to automatically create "out"
and "doc" for the metapackage, into which the corresponding "out" and
"doc" of their "ingredients" are propagated.

Well, more precisely, the metapackages are empty, so it is a bit fuzzy
what I mean by "into which" above.

We would like the following:
- If a user installs metapackage:out, they get all the ingredient:out
  in their profile.
- If a user installs metapackage:doc, they get all the ingredient:doc
  in their profile.
I am quite certain this is not how propagated inputs work, and I do not
know whether their behaviour could be changed in this way.

The documentation is a bit unclear:
   
https://guix.gnu.org/de/manual/devel/en/guix.html#package_002dpropagated_002dinputs
"propagated-inputs is similar to inputs, but the specified packages will be 
automatically installed to profiles"
What is a "package" in this context? I think it means all outputs of
a package. But then we should already have all the documentation with
the metapackages, right? And indeed, when installing texlive-scheme-medium
into my profile, I have lots of downloads such as
 texlive-tex-ini-files-66594  3KiB   452KiB/s 
00:00 ▕██▏ 100.0%
 texlive-tex-ini-files-66594-doc  1KiB   257KiB/s 
00:00 ▕██▏ 100.0%
(every package twice with its -doc).
So as a first observation, separating the doc output serves no purpose:
it will be downloaded anyway, and actually forms the bulk of the whole
texmf-dist. The above package is not typical in this respect, here is
another one:
 texlive-upmendex-66594  77B  33KiB/s 
00:00 ▕██▏ 100.0%
 texlive-upmendex-66594-doc  945KiB  2.0MiB/s 
00:00 ▕██▏ 100.0%

But strangely, $HOME/.guix-profile/share/texmf-dist/doc is just a pointer to
   
/gnu/store/a184f1m1mbwkccxyi86dn4mdamay6lw5-texlive-bin-20230313/share/texmf-dist/doc

However, the doc output of texlive-tex-ini-files has a share/temxf-dist/doc
with a subdirectory generic/, which thus does not appear in the profile.

See also
   https://issues.guix.gnu.org/65550

I do not really understand what is happening. All outputs are downloaded,
but only the out outputs are propagated?

If this is true, then I think it would make sense to not split into two
outputs, but to always include the documentation in the texlive packages.

Andreas

PS: Something else that is strange: I end up with
$HOME/.guix-profile/share/texmf (without the -dist suffix) that points to
/gnu/store/lzq5fd5b2l3341s0da5a1vzhxc1li3yb-asymptote-2.86/share/texmf




Non-committer comments on patches

2023-08-27 Thread Andreas Enge
Hello,

Am Sat, Aug 26, 2023 at 07:42:13PM +0200 schrieb kias...@disroot.org:
> I would like to hear from committers if non-committer reviews are helpful,
> because I don't really know how or what I can comment on for incoming
> patches on packages I'm not really familiar with.
> Also do "this builds and works locally" comments help?

+1 for Liliana's comment on "works locally". "Builds locally" is superfluous,
as I always rebuild packages I commit (and there is QA).

As a member of the science team, I end up being "responsible" for packages
I do not use and cannot really judge. So having a second person comment
that a change works as expected, or that an old version can be dropped,
or cannot be dropped because everyone in the community uses it, or anything
indeed related to the use of the package, is a big help. I have even ended
up solliciting comments by people who have worked on the package in the past.

I can also imagine a go team, say, of non-committers, and then committing
on their behalf when two team members agree with a patch, for instance.
(With the goal of adding committer(s) from the team eventually.)

Andreas




Re: Why does Guix duplicate dependency versions from Cargo.toml?

2023-08-26 Thread Andreas Enge
Am Fri, Aug 25, 2023 at 03:56:56PM +0100 schrieb (:
> Zhu Zihao  writes:
> > and AFIAK, Maxime Devos is working on new build system called
> > "Antioxidant", which can build rust application without cargo (Yes,
> > invoke rustc directly!), The new build system will cache the rlib
> > intermediate result of crate and share between different builds. 
> Sadly, I think that's been abandoned :(

My impression is that Maxime has left the Guix project, so that the
work was naturally abandoned, but there was no conscious decision that
it should be dropped. So it would be nice if someone knowledgeable about
the topic could pick it up and finish the build system.

Andreas




Re: How can we decrease the cognitive overhead for contributors?

2023-08-25 Thread Andreas Enge
Hello,

just a quick reply with what I do personally as one irrelevant data point :)

Am Fri, Aug 25, 2023 at 08:07:53AM + schrieb Attila Lendvai:
> i couldn't even find out which tools are used by those who are comfortable 
> with the email based workflow. i looked around once, even in the manual, but 
> maybe i should look again.

No tools at all, I would say, which indeed may be a bit inefficient...
Or: terminal, mutt, vim, git
A bit of web for browsing the manuals (of Guix and Guile)
and issues.guix.gnu.org
But then I type much faster than I click.

> i'm pretty sure most maintainers have a setup where the emailed patches can 
> be applied to a new branch with a single press of a button, otherwise it'd be 
> hell of a time-waster.

mutt
save message to /tmp/x
git am /tmp/x
or something like this

or:
git clone https://git.guix-patches.cbaines.net/guix-patches/
git checkout issue-x
git format-patch ...
then in the development checkout of Guix:
git am ...; make; ./pre-inst-env guix build

> one fundamental issue with the email based workflow is that its underlying 
> data model simply does not formally encode enough information to be able to 
> implement a slick workflow and frontend. e.g. with a PR based model the 
> obsolete versions of a PR is hidden until needed (rarely). the email based 
> model is just a flat list of messages that includes all the past mistakes, 
> and the by now irrelevant versions.

For this, I either go to issues.guix.gnu.org to download the newest patches,
in case the message is not in my inbox.
Otherwise I do not get your point: I keep untreated messages with the latest
patch version in my Guix inbox, and file away the others in a separate mbox.
So things are not flat, but have two levels: "to be treated" or "done".

Nothing to be documented, really, and I do not know whether these are just
personal habits or whether others work similarly. These might be the ways
of an aging non-emacs hacker...

> https://sourcehut.org/

This comes up a lot in the discussion and looks like an interesting
solution. It would be nice to be able to accomodate diverse styles
of working on Guix beyond (but including) emacs and vim.

Andreas




Re: How can we decrease the cognitive overhead for contributors?

2023-08-23 Thread Andreas Enge
Hello,

Am Wed, Aug 23, 2023 at 10:27:31AM -0700 schrieb Felix Lechner via Development 
of GNU Guix and the GNU System distribution.:
> >  I can't ever seem to get the GNU style commit messages correct.
> Neither can I. The style apparently helps with automated maintenance
> of the changelog, but I do not understand why a changelog is useful
> for a rolling release model.

personally, I find them super helpful to grep through commit messages
to find changes, like when a file was touched for the last time (now
I think that git wizards will have a better solution; but you get the
idea). Or when a package was added. Or updated to a specific version.
I have ended up adopting the style for all of my other coding projects
as well because I find it so useful.

For simple updates, there is etc/committer.scm. I use it for package
updates. It would be nice if it could handle more cases, such as removing
patches.

> >  I don't use the email-based patch workflow day-to-day
> Yeah, I can deal with small inline patches, but Guix requires changes
> to be split into many tiny commits.

This is explained here:
   https://guix.gnu.org/de/manual/devel/en/html_node/Sending-a-Patch-Series.html

I also cannot remember what to do when there is more than one patch,
so I follow this approach every time. (Well, this is a white lie; mostly
I propose single patches or work in a branch...)

All in all, I think better tooling will be welcome (but is not a joy to
write).

Am Wed, Aug 23, 2023 at 10:25:58AM -0600 schrieb Katherine Cox-Buday:
> * Contributing to Guix is not for you
> * It's OK to make lots of mistakes

Definitely "no" to the first one, and "yes" to the second one!
I think that even when one only contributes from time to time, but
regularly, habits will form and mistakes disappear.

> * We could support a managed web-based workflow

I am all for it if it supplements the email based workflow (every
time I need to do a modern style pull request type action, I am
completely out of my depths and lost in the web interfaces...).
But someone would have to write and maintain them...

> * Encourage upstream communities like "Guix 'R Us"

Why not, but they also require management (adjusting the schedules
of several busy people, for instance).

Andreas




Re: poetry: python-poetry?

2023-07-27 Thread Andreas Enge
Am Wed, Jul 26, 2023 at 09:25:43PM -0700 schrieb Andy Tai:
> curious poetry is not named python-poetry in Guix as following
> convention of most python packages

See here:
   https://guix.gnu.org/de/manual/devel/en/html_node/Python-Modules.html

The idea is that "libraries" (or "modules") start with python-, while
"applications" do not emphasize the language they are written in. Calibre,
for instance, also is not called python-calibre.

Of course with script languages there is no clear technical barrier;
but a package with lots of binaries will not start with python-, while
software that is mainly used in lines "import xyz;" tends to be called
python-something.

Andreas




Re: pending mate upgrade patches to 1.26

2023-07-24 Thread Andreas Enge
Am Mon, Jul 24, 2023 at 09:28:38AM -0700 schrieb Andy Tai:
> Hi, these patches have been merged by Mr. Song (iyzs...@envs.net) . He worked
> to get these built without the two extra patches. Thanks

So closing the bugs
   https://issues.guix.gnu.org/64001 and
   https://issues.guix.gnu.org/64012 ;
if this was a misunderstanding, please feel free to reopen them or to
submit new patches.

Andreas




Re: Scheduled monthly update for (gnu packages astronomy)

2023-07-24 Thread Andreas Enge
Am Sun, Jul 02, 2023 at 10:36:26PM +0200 schrieb Ludovic Courtès:
> You’re now well known so pretty much the only thing I would wait for as
> a reviewer before applying these updates is (1) a green light from
> qa.guix,

This looks like it lags behind now.

> and (2) a bit of spare time.

Ah, we should not wait for the impossible to happen! ;-)

The status of the patches is unclear to me, it looks as if some of them
have been rewritten and merged by Tobias (maybe this also confuses QA?
do the patches still apply?) But I find it difficult to understand what
needs to be done still. For instance, there is a patch "stuff: Update to
1.26.0-0.9008dc0", but it is already at version 2.0.1 in master.

How about sending a second version for the remaining patches on top of
current master?

Andreas




Re: python-nbconvert build fails

2023-07-24 Thread Andreas Enge
Am Sun, Jul 23, 2023 at 08:23:36PM +0100 schrieb Christina O'Donnell:
> Sorry, I've just seen this is a duplicate of 
> https://issues.guix.gnu.org/64729.
> I should have checked there first!

No problem, thanks for the report anyway! The package builds now, so a new
"guix pull" should be enough.

Andreas




Re: pending mate upgrade patches to 1.26

2023-07-24 Thread Andreas Enge
Hello Andy,

Am Mon, Jun 26, 2023 at 12:09:41PM -0700 schrieb Andy Tai:
> The state of them is that there are two prerequisites that have passed
> Guix QA check:
> https://issues.guix.gnu.org/64001

I had a quick look at this patch, but am a bit confused. If I read it
correctly, it updates tzdata (which causes a lot of rebuilds, and without
updating python-pytz as stipulated by a comment in the code of tzdata),
and then it creates a new variable tzdata-next which looks to be the same.

Would the good approach not be to update tzdata and python-pytz, and to
copy the old version into tzdata-for-tests?

It is quite possible I am misunderstanding something, and in any case I
would like to defer to someone more knowledgeable about the core packages.

Andreas




Re: guidelines for package names (namespaces?)

2023-07-06 Thread Andreas Enge
Am Wed, Jul 05, 2023 at 08:19:48PM + schrieb John Kehayias:
> This is a good question and one I wonder about when packaging
> sometimes. The general guideline I've seen expressed in Python land at
> least (not sure if this is in the manual, but this discussion can go
> towards clarifying) is that generally "libraries" get the "python-"
> prefix but end user "applications" don't. I believe this is true for
> Golang as well, though exceptions abound.

See here:
   https://guix.gnu.org/de/manual/devel/en/html_node/Package-Naming.html
   https://guix.gnu.org/de/manual/devel/en/html_node/Python-Modules.html
   https://guix.gnu.org/de/manual/devel/en/html_node/Perl-Modules.html

I think there are no explicit rules for other languages, but the Perl and
Python approach has been taken as a general model.

> a related issue is that currently there are two parallel registries for guix 
> packages:
>  1) module-global variables in the guile module system
>  2) the reified package registry of guix.
> the relationship between these two is not clear, there are no formal rules, 
> or even guidelines. they are pretty much orthogonal.

See the first link above: "Both are usually the same and correspond to the
lowercase conversion of the project name chosen upstream (...)".

Andreas




Re: Branch (and team?) for mesa updates

2023-07-05 Thread Andreas Enge
Am Wed, Jul 05, 2023 at 09:47:06AM -0600 schrieb Katherine Cox-Buday:
> I disagree with this because it seems like Mesa moves along at a pretty
> brisk pace and I feel like we'd be constantly recreating the same branch:
> 23.1.3, 2023-06-22 (14 days)
> 23.1.2, 2023-06-08 ( 9 days)
> 23.0.4, 2023-05-30 ( 5 days)
> 23.1.1, 2023-05-25 (15 days)
> 23.1.0, 2023-05-10

I doubt we would be able to move at such a brisk pace and update mesa
every other week! It is a package with more than 4000 dependents, so in
any case it would be good to regroup with somewhat related changes.

Andreas




Re: Branch (and team?) for mesa updates

2023-07-02 Thread Andreas Enge
Hello,

Am Mon, Jun 19, 2023 at 06:25:04PM + schrieb John Kehayias:
> Master can be merged into this branch just prior to a patches going to this 
> branch with the expectation merging back to master will be soon after and 
> changes are only affecting packages that won't be touched on master anyway. I 
> think this should be relatively clean and straightforward, a good use of our 
> new branching/building strategy.

I am a bit wary of branches just sitting around; after a while we will
forget whether a branch still needs merging, or is just a placeholder.
So I would suggest to delete every branch right after merging, and then
branch off of master later when a new patch is going to be applied.
This will also create a cleaner history by avoiding a merge.

This is compatible with how cuirass works. We can keep the mesa-updates job,
and when the branch does not exist, it will just do nothing. You just need
to be sure to use the same branch name again next time, and it should be
picked up by the cuirass job.

Andreas




Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.]

2023-06-12 Thread Andreas Enge
Hello,

Am Sun, Jun 11, 2023 at 06:10:37PM -0700 schrieb Felix Lechner:
> That was probably a misunderstanding. I meant to suggest with some
> trepidation that 'master' is merged into the feature branch, and then
> the feature branch is merged back into 'master'. I thought the two
> merge commits would be signed by the person performing the merges
> while the "origin seal" of the accepted change is also preserved.

indeed, that is what we had been doing with the very long lived staging
and core-updates branches in the past. Well, we used to repeatedly merge
the master branch to core-updates, which if I remember well makes the
master commits end up first in "git log". So the core-updates specific
commits gradually disappear below thousands of master commits. So this is
a problem.

But Maxim is right about signatures, sorry for forgetting them time and
again!

One policy would be to *not* merge master back to the feature branch
(or maybe just before merging the feature branch to master). This would
work well for short-lived branches.

Andreas




Re: Changes to the branching/commit policy

2023-06-11 Thread Andreas Enge
Am Sun, Jun 11, 2023 at 10:37:14AM +0100 schrieb Christopher Baines:
> My reading of this line is that "adjusted" is probably not the right
> word to use, but I think the intent here is to talk about how currently
> it's accepted that people can and will push non-controversial changes on
> parts they’re familiar with directly to master.

I read it the other way round: Right now it is not accepted, but it might
be adjusted to allow non-controversial changes in the future. Actually
the concept of "non-controversial commits" is probably controversial
in itself...

Andreas




Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.]

2023-06-11 Thread Andreas Enge
Hello,

Am Sat, Jun 10, 2023 at 11:17:44PM -0400 schrieb Maxim Cournoyer:
> > That to me says this should go to staging.
> Correct.  Except there's no staging branch anymore.  I guess we should
> create one?  :-)

I would say it should go to a team branch; xsystem?

Regardless of name, I think the idea behind the team branch concept is
that a branch should regroup related changes (as much as possible), but
in any case there should be an identified person or group of persons taking
responsibility for shepherding the branch up to its merge; and for repairing
potential breakage. So we could extend the concept to have a
june-2023-disruptive-changes branch, with the aim of regrouping several
maybe unrelated changes leading to bigger rebuilds (and identified
responsibilities). We should not create a random branch where lots of big
changes accumulate for which nobody takes responsibility.

The changes suggested at
   https://issues.guix.gnu.org/63459
remove the staging and core-updates branches from the documentation.
Does it leave open problems behind?

One thing I wonder about is whether we should not rebase all team branches
on master instead of merging master back in. In this way, at least the
commits specific to a branch would be visible since they are on top; with
the former merging concept of staging and core-updates, they would end up
buried deep in the commit history. It could also help keeping changes
focused. What do you think?

Andreas




Re: ping on a build fix for a build failure (main branch)

2023-06-09 Thread Andreas Enge
Hello Andy,

Am Tue, May 30, 2023 at 10:54:20AM -0700 schrieb Andy Tai:
> Hi, following previous comments (thanks) I have submitted a patch to
> correctly fix a build failure due to compiler warnings, instead of
> avoiding not building tests, on this Guix bug issue:
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63526
> Please review the patch (which shall be a simple and low risk fix).  Thanks!

I have reworked a bit the punctuation of the commit message, shortened
the patch file name and pushed. By this I am closing the two corresponding
bug reports (it would have been enough to send a second version of the
patch to the first bug).

Did you contact upstream? Looking at the test, it looked wrong before and
after your patch...
if (len < token->data.character.len) {
   hubbub_token t = { 0 };
   t.type = HUBBUB_TOKEN_CHARACTER;
   t.data.character.ptr += len;
   t.data.character.len -= len;
...
Adding to a previously undefined, now 0 pointer .ptr raised a warning
for a reason, I think; and it looks like the t.data maybe should be
token->data. But it is quite possible that this branch is not even
reached by the test.

Andreas




Re: Changes to the branching/commit policy

2023-06-09 Thread Andreas Enge
Hello Chris,

thanks for taking up this issue! I agreed with Ludovic's comments, so
things look good now for me. A very minor point: In the section on
"trivial" changes, I would drop this sentence (which was already there
before):
"This is subject to being adjusted, allowing individuals to commit directly
on non-controversial changes on parts they’re familiar with."
The sentence is meaningless, as everything is all the time subject to being
adjusted; and we do not have immediate plans to adjust it.

Looking forward to the merge since it clarifies things and removes the
staging and core-updates branches not only from our minds, but also the
texts.

Andreas




Re: qtbase 6.3.2 FTBFS

2023-06-01 Thread Andreas Enge
Hello,

Am Wed, May 31, 2023 at 08:20:15PM +0200 schrieb Josselin Poiret:
> Does this happen on master?

on the lastest master commit, qtbase@6 is available as a substitute
(I did not check whether from berlin or bordeaux).

Andreas




Re: Do substitutes download slowly for you? / Speeding up substitute delivery/mirrors

2023-05-26 Thread Andreas Enge
Hello,

Am Thu, May 25, 2023 at 02:52:24PM +0100 schrieb Christopher Baines:
> So please share the output from wget and if you're comfortable doing so,
> the rough real world location of where the computer doing the
> downloading is.

I am in France with a 100Mb/s FTTH link, and download is fast from all
of the mirrors.
FR  5,59MB/sin 39s
US  4,98MB/sin 53s
SG  3,56MB/sin 73s

The ordering looks consistent to me, but I am still surprised how good
the connection is to Singapore!

Andreas




Re: Transformations Shell Syntax

2023-05-23 Thread Andreas Enge
Am Tue, May 23, 2023 at 02:12:02PM + schrieb jgart:
> > I think your semantics ends up meaning "try to make sense of the version
> > field, and give me the package at this version". 
> Aren't these the current semantics of guix package transformations though? 
> I'm just proposing shell syntax for them.

Yes, indeed. So there already is shell syntax, it is just a bit unweildy
and verbose.

What disturbs me with your suggestion is that it reuses the same syntax
that is already used for a different purpose. So in a sense you do
"operator overloading", and the same command line then means different
things depending on whether the package version is already provided by
Guix or not.

Like Simon writes, let us be explicit.

Andreas




Re: Transformations Shell Syntax

2023-05-23 Thread Andreas Enge
Hello,

Am Tue, May 23, 2023 at 01:24:00PM + schrieb jgart:
> I was openly ideating on having shell syntax like we do currently for 
> emacs-ement@0.9.3, for example, but for a subset of package transformation 
> options as well.

I am a bit wary of too much intelligence in interpreting commands, at the
expense of clarity (also for the user - what do they really do?)

Right now, "guix build emacs-ement@0.9.3" means "build the package
emacs-ement at version 0.9.3, which is available somewhere in my
channels".

I think your semantics ends up meaning "try to make sense of the version
field, and give me the package at this version". This is actually quite
different - for instance, it means the package is not vetted by Guix
developers. So there may even be security implications.

In my opinion we should strive for simplicity in commands, it should
always be clear what a specific command line does and not depend on
context, and the guix tool should not second guess what we want to do
when invoking a given command.

Andreas




Re: nudging patches

2023-05-19 Thread Andreas Enge
Hello Remco,

Am Fri, May 19, 2023 at 11:48:08AM +0200 schrieb Remco van 't Veer:
> Ruby 2.6 is EOL and 2.7 got it's "last" release in march
> (https://www.ruby-lang.org/en/news/2023/03/30/ruby-2-7-8-released/).  So
> I guess 2.6 can be dropped and 2.7 may linger for a while?

the announcement states that
"After this release, Ruby 2.7 reaches EOL. In other words, this is expected to 
be the last release of Ruby 2.7 series. We will not release Ruby 2.7.9 even if 
a security vulnerability is found"

So it would be best to try to get rid of it as soon as possible;
if security vulnerabilities are not fixed, the working hypothesis is
that the package has security vulnerabilities...

> > Then there is an internal version ruby/fixed, which is very old, but,
> > strangely, ahead of the public minor ruby version, @2.7.7.
> It seems the ruby-2.7-fixed var has been orphaned by the latest
> core-updates merge.  It was used for grafting (used as an "replacement"
> in the ruby-2.7 var) and my patch was still depending on that.  I can
> update the patch by reinserting the grafting bit.  WDYT?

Oh, I see. I am not familiar at all with grafting. But that would be
an option indeed to avoid rebuilding.

> > Could the remainder of ruby and other packages be made dependent on @3.2
> > instead of @2.7?
> This will probably me a trail and error path leaning on tests included
> in the packages.

With your findings above about ruby@2.7, this looks like a worthwhile path!

Andreas




Re: nudging patches

2023-05-19 Thread Andreas Enge
Am Wed, May 17, 2023 at 04:30:44PM +0200 schrieb Remco van 't Veer:
> What's the preferred / politest way to draw attention to patches (and /
> or bugs) which seem to have been overlooked?

No idea, ideally it should not be necessary ;-)
There is a certain backlog in the QA process so that your patches were not
built out on the build farm. Otherwise I think someone would have applied
(most of) them already.

> And while I have your attention and you're wondering which patches I'd
> like to promote.. 
> - #62557 [guix-patches]
>   [PATCH] gnu: ruby-2.7-fixed: Upgrade to 2.7.8 [fixes CVE-2023-{28755, 
> 28756}]
> - #62558 [guix-patches]
>   [PATCH] gnu: ruby-3.0: Upgrade to 3.0.6 [fixes CVE-2023-{28755, 28756}].
> - #62559 [guix-patches]
>   [PATCH] gnu: ruby-3.1: Upgrade to 3.1.4 [fixes CVE-2023-{28755, 28756}].
> - #62561 [guix-patches]
>   [PATCH] gnu: ruby-3.2: Upgrade to 3.2.2 [fixes CVE-2023-{28755, 28756}].

I applied the last three ones, but not the first one, as it requires a very
big amount of rebuilds (more than 8000 dependent packages).

Maybe this could be an occasion for the ruby team to tidy up the
packages. We currently have five publicly visible ruby versions:
$ ./pre-inst-env guix package -A ^ruby$
ruby3.1.4   out gnu/packages/ruby.scm:232:2
ruby2.7.6   out gnu/packages/ruby.scm:163:2
ruby3.2.2   out gnu/packages/ruby.scm:246:2
ruby2.6.10  out gnu/packages/ruby.scm:110:2
ruby3.0.6   out gnu/packages/ruby.scm:215:2

Could the three middle ones be dropped?

Then there is an internal version ruby/fixed, which is very old, but,
strangely, ahead of the public minor ruby version, @2.7.7.
Could the remainder of ruby and other packages be made dependent on @3.2
instead of @2.7?

Andreas




Re: Feature branches

2023-05-10 Thread Andreas Enge
Am Wed, May 10, 2023 at 03:40:31PM +0200 schrieb Andreas Enge:
> I just deleted the rust-team branch, we will see what happens.

Apparently nothing. Here is an excerpt of /var/log/cuirass.log:
2023-05-10 15:44:10 Fetching channels for spec 'gnuzilla-updates'.
2023-05-10 15:44:19 Fetching channels for spec 'guile'.
2023-05-10 15:44:28 Fetching channels for spec 'guix'.
2023-05-10 15:44:28 evaluating spec 'guile'
2023-05-10 15:44:36 Fetching channels for spec 'kernel-updates'.
2023-05-10 15:44:45 Fetching channels for spec 'master'.
2023-05-10 15:44:54 Fetching channels for spec 'rust-team'.
2023-05-10 15:45:02 Fetching channels for spec 'shepherd'.
2023-05-10 15:45:03 Fetching channels for spec 'source'.
2023-05-10 15:45:12 Fetching channels for spec 'tex-team'.
2023-05-10 15:45:20 next evaluation in 300 seconds
2023-05-10 15:47:36 evaluation 459246 for 'guile' completed
2023-05-10 15:47:36 evaluation 459246 registered 0 new derivations
2023-05-10 15:47:40 evaluation 459201 for 'master' completed
2023-05-10 15:47:40 evaluation 459201 registered 136 new derivations
2023-05-10 15:50:20 Fetching channels for spec 'gnuzilla-updates'.
...

Maybe this is a cuirass bug, maybe it is a feature, but it seems to
survive without problem to an unavailable branch :)

Andreas




Re: Feature branches

2023-05-10 Thread Andreas Enge
Am Wed, May 10, 2023 at 09:23:11AM -0400 schrieb Maxim Cournoyer:
> Feel free to remove 'wip-cross-built-rust'

Done!

> We'd have to try, I would assume it may cause errors in Cuirass (it'd
> make sense that it let you know: hey, you've defined a job spec that
> won't build anything!)

I just deleted the rust-team branch, we will see what happens.

Andreas




Tooling for branch workflows

2023-05-10 Thread Andreas Enge
Hello all,

the title says it all, I wish to share some conclusions from working on
the core-updates merge. Clearly our tooling could be improved for the task;
there was some flying by night without instruments, and in the end I
merged the branch without being really able to tell how it compared
to master... (You may also blame it partially on my lack of patience.)
Having feature branches may or may not make things a bit easier, but it
will definitely not solve the problems.
This mail is also of course a bit politically sensitive: It may look like
I am complaining about other people's work, who are volunteers and do what
they can, without offering to work on the code myself. So as a preamble,
let me express my gratitude to the few people who have been working
tirelessly on our tooling and contributing to our infrastructure, without
whom big code changes like we did on core-updates (and now on feature
branches) would simply be impossible; their work is vital to the project
and often not very visible. If I am critical, it is not to diminish their
work, but to discuss about a positive path forward; and I hope more people
will find the motivation to do infrastructure work, which I think will be
decisive for the success of Guix (together with policy and organisational
questions).

We have two build farms, berlin and bordeaux (which is a good thing for
checking reproducibility and for redundancy, but maybe a bit of a problem
concerning hardware requirements for "exotic" architectures), running
two different CI projects, cuirass and the Guix build coordinator (gbc in
the following); both have a very low bus factor (1 to 2?), and it would be
nice to get more people onboard. For this, more documentation would be
helpful. Both have pros and cons, and are architectured quite differently,
so I do not know whether convergence is achievable.

I ended up relying mostly on cuirass for reasons I do not completely
remember any more. The dashboard with its green and red dots is a very
useful tool compared to lists of builds, which become unusable with over
2 packages. The bigger build power on bordeaux is helpful, and I found
the web interface of gbc a bit slow and down a bit too often. With this
experience, I just filed three wishlist bugs for cuirass:
- Topological sorting in cuirass
  https://issues.guix.gnu.org/63412
  The lack of ordering the builds is a big problem wasting a lot of build
  power; it is solved in gbc and, I think, the reason why the bordeaux
  build farm fares better for aarch64 with fewer machines.
  I would tag this as "important".
- Evaluation comparison on cuirass
  https://issues.guix.gnu.org/63414
  Without being able to compare a branch to master, it is difficult to
  decide whether one should merge. This is sort of solved in gbc, but so
  far the bordeaux build farm has been used more for QA of single patches
  (or a short list of patches featuring in a single issue) than for building
  complete branches.
- Stop and restart builds in cuirass
  https://issues.guix.gnu.org/63413
  Manual intervention is not easy in cuirass (I spent hours clicking on
  "restart" or using the REST API with a shell script through wget, which
  resulted in my IP being banned as a DoS suspect...); and to my knowledge,
  there is no web interface for doing so in gbc. In both systems one can
  probably tinker with the underlying databases, but this also does not
  qualify as "easy".

gdb just got a very nice feature on "blocking builds":
   
https://data.guix.gnu.org/revision/8f92dfd9ae7ac491ab7fb4b425799a8c909708a8/blocking-builds?system=aarch64-linux=none_results=50
As I understand them, these are the "first failures", derivations all
inputs of which are available, but which fail themselves; so they give
the place where work is needed (and repairs will immediately make
a difference). Once the topological sorting in cuirass is sorted out,
these should be the builds marked as "Failed" (as opposed to "Failed 
(dependency)"),
so with the first issue above handled, they could easily be shown by
cuirass as well.

This was a long message to say "I filed three bugs", but maybe it can be
the starting point to discuss more items on how to go forward with our
build and CI infrastructure.

Andreas




Re: Substitute not downloading

2023-05-10 Thread Andreas Enge
Am Tue, May 09, 2023 at 11:43:01AM -0400 schrieb Greg Hogan:
> I have an up-to-date Guix but am unable to fetch the substitute from
>   http://ci.guix.gnu.org/build/1332269/details

So the link indicates that the build has succeeded "19 hours ago",
which would mean on May 9 around 14:30 UTC, which was about an hour
before you wrote this message.

> Are substitutes only available after the evaluation has completed?
> --8<---cut here---start->8---
> $ guix describe
> Generation 9May 09 2023 15:18:11(current)
>   guix c1ffe2f
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: c1ffe2f21bd1b9ba6bd527bbabe130144a69af71
> --8<---cut here---end--->8---

I think the substitute not being available may have to do with the
difference between the package being available in the store, and as a
nar file for substitution. As I understand it, the first request for a nar
can fail, then it is built in the background, and a later request after
a timeout will succeed. Hopefully offload specialists can correct potential
misconceptions on my side ;-)

Andreas




Re: Feature branches

2023-05-10 Thread Andreas Enge
Hello,

Am Mon, May 08, 2023 at 01:01:05PM -0400 schrieb Maxim Cournoyer:
> - I'd make the team branches permanent; e.g. the 'gnome-team' branch
>   would always exist, and get synced periodically to master (when enough
>   built/deemed stable).  This should reduce the overhead of constantly
>   having to adjust the Cuirass specification jobs and serve as an
>   integration point for the team (the Cuirass job specs would be defined
>   declaratively in the guix-maintenance repository).

I would argument the other way round :)  For instance, I would now remove
the rust-team branch so that it is clear that currently there is no work
on rust. As soon as there is again, the team could spin off a new branch
from master. This would avoid having branches around of which we do not
know any more what they contain, and whether they contain unmerged changes.

$ git branch -a | grep rust
  remotes/origin/rekados-rust-queue
  remotes/origin/rust-team
  remotes/origin/wip-cross-built-rust
  remotes/origin/wip-rekado-rust-team
  remotes/origin/wip-rust

Can any of these be removed? Or brought up to shape?

Notice that this is independent of the cuirass specifications (I think).
I think we could keep the specifications on cuirass, but am not totally
sure what happens when the branch does not exist. Probably nothing. And
then it should be picked up again once it is recreated.

> - branches judged too experimental to be merged into their team branch
>   could be branched from it, with a name such as 'gnome-team/feature-x'
>   to make it obvious where it should be merged when deemed ready.
>   Cuirass job specifications for such short lived branches would be
>   created manually using the Cuirass web interface (users need to be
>   authorized as can be done following
>   https://issues.guix.gnu.org/63375).
> I don't think team branches should be merged together at any point,
> ideally, to avoid loosing the benefits of feature branches (limited
> scope).

Agreed, if we start branching from branches and merging back, we will
probably lose overview.

With my take of not having permanent team branches, it might not even be
necessary to branch from team branches.

Andreas




Re: Feature branches

2023-05-10 Thread Andreas Enge
Am Mon, May 08, 2023 at 10:15:56AM -0700 schrieb Felix Lechner:
> How about requiring prior to merging a feature branch that substitutes
> exist for all changed derivations? It would prevent build failures and
> preempt local builds, and thereby improve the experience for average
> users.

Taken absolutely, that sounds a bit excessive; but the idea is of course
there, the branch should be built out as much as possible.

It is probably unavoidable that some things stop working going forward,
and I wonder how realistic it is to iron out all problems before a merge.

Andreas




Re: RISC-V (riscv64-linux) substitutes are coming

2023-05-10 Thread Andreas Enge
Hello!

Am Tue, May 09, 2023 at 02:40:21PM +0100 schrieb Christopher Baines:
> This has been somewhat successful, you should be able to see the machine
> (named rochor) on the prototype activity viewer [2].

These are exciting news!

Does it mean that this bug, for instance:
   https://issues.guix.gnu.org/50091
can be closed? And maybe others closed or solved that come up when looking
for risc?

Andreas




Re: rust-team branch merged

2023-05-09 Thread Andreas Enge
PS: Congratulations for getting the first team branch through!
And thanks for waiting until the core-updates merge :-)




Re: rust-team branch merged

2023-05-09 Thread Andreas Enge
Hello,

Am Tue, May 09, 2023 at 11:54:00AM +0300 schrieb Efraim Flashner:
> The way its currently setup all we need to do is re-add aarch64-linux to
> the supported-systems of rust-bootstrap and it'll be enabled again, and
> build successfully eventually.

I am confused by what happened; did you disable rust on aarch64 for everyone,
or just building on the farm? If the first, that sounds like a pity, since
at worst people can still compile packages by themselves.

Andreas




Feature branches (was: 04/09: gnu: mesa: Update to 23.0.3)

2023-05-08 Thread Andreas Enge
Hello,

indeed someone™ should update the documentation to describe the new
process. Probably we should agree on one before doing that as well...
In principle all big updates should go through a feature branch now.

However, this does not solve the problem of limited build power in our
two build farms. Having feature branches that regroup several related
changes should help in not rebuilding too often. In principle it could
also be okay to regroup unrelated changes (mesa and gcc, for instance),
as long as responsibilities are clear. It should be known who is going
to act on what when breakages occur in the branch. And I think there
should be some kind of "branch manager" and a time frame for the merge
so that the branches are short lived. The goal is to avoid the core-updates
experience of random commits being dropped in the same place, while
hoping that someone at some later point will sort it all out.

So how about this suggestion:
A feature branch is created upon request by a team, with a branch manager
designated by the team. It is accompanied by a short description of what
the branch is supposed to achieve, and in which timeframe.
The branch manager has the responsibility to communicate regularly with
guix-devel on the state of the branch and on what remains to be done, and
requests to merge the branch to master once it is ready, and to subsequently
delete the branch.

This does not yet explain how the branches interact with continuous
integration. The branch manager may or may not have commit rights and may
or may not be able to create specifications for cuirass, so the full
process should take this into account.

As written in a different thread, right now I would also suggest to first
build the branch only on x86 and powerpc to not overload our few arm
machines, but this is a technical detail.

Andreas




Re: Python feature branch

2023-05-08 Thread Andreas Enge
Hello,

I wanted to set up automatic building on cuirass for the Python updates
branch, but was not sure which one it is:
$ git branch -a | grep python
  remotes/origin/python-updates
  remotes/origin/wip-python-graphviz
  remotes/origin/wip-python-mne
  remotes/origin/wip-python-pep517

Some of these have recent commits, others not; it would be nice if you
could clean them up and agree on which one to build.

Since we do not have enough aarch64 build power, I would have the branch
built only by the other architectures in the first place; we could add
aarch64 to build out the branch once we think that it is ready to be merged.

Andreas




Re: `mumi send-email' means no more debbugs dance to send multiple patches

2023-04-26 Thread Andreas Enge
Hello Arun,

this looks all very nice, thanks a lot!

I have a few "bug reports" about "mumi web".

When I start it, it runs on 0.0.0.0, port 1.2.3.4; should it not choose
a sensible default, such as localhost and 8080? Running
   mumi web --address=localhost --port=8080
complains that it does not know localhost.
When I use 127.0.0.1 instead, it starts.
But it complains about
 1. : "DatabaseOpeningError: Couldn't stat 
'/var/mumi/db/mumi.xapian' (No such file or directory)"

I wondered if I needed to "mumi fetch" first (in that case, there could
be a more friendly error message).

But "mumi fetch" fails; it complains about a missing file
/var/mumi/data/spool/index.db.realtime
(which may be missing because as non-root I cannot create it).
Could this be moved to .mumi or .cache/mumi?

Anyway, thanks for moving us forward with our tooling, which I think is
currently our biggest problem.

Andreas




Re: Mesa vulkan layer path fix for core-updates

2023-04-25 Thread Andreas Enge
Hello Kaelyn,

thanks for your research!

Am Wed, Apr 19, 2023 at 04:07:51PM + schrieb Kaelyn:
> * https://issues.guix.gnu.org/62176 can be closed when core-updates is 
> merged, since core-updates contains mesa 22.2.4
> * Though not exactly mesa-related, https://issues.guix.gnu.org/61364 can 
> possibly be closed now, and almost certainly once the core-updates merge is 
> completed. (The ticket is a number of workarounds the user applied in early 
> Feb to be able to build their system profile using core-updates, to pick up 
> Mesa 22 for newer hardware support. I'm not sure if any of the patches are 
> still relevant.)

I just closed these two.

> * https://issues.guix.gnu.org/58887 looks like an alternate way of solving 
> the layer path issues that https://issues.guix.gnu.org/59453 also addresses. 
> Additionally, it adds two new nonstandard VK_*_PATH variables to 
> vulkan-loader, with at least VK_ILAYER_PATH seeming very similar in 
> functionality to VK_LAYER_PATH and VK_ADD_LAYER_PATH described at 
> https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md
> * https://issues.guix.gnu.org/58251 would be fixed by 
> https://issues.guix.gnu.org/59453
> * https://issues.guix.gnu.org/62313 might need a modification to mesa e.g. to 
> add VDPAU_DRIVER_PATH as a native-search-path (one possible solution; in my 
> home profile I made VDPAU work by setting 
> "VDPAU_DRIVER_PATH=/run/current-system/profile/lib/vdpau").
> * https://issues.guix.gnu.org/48868 appears to be the same VDPAU_DRIVER_PATH 
> issue as https://issues.guix.gnu.org/62313.

And leave these to you and anybody who wants to work on them!

Andreas




Core-updates merge

2023-04-25 Thread Andreas Enge
Hello all,

I have just merged core-updates into master and deleted the branch!
This has been a long adventure, which became particularly intensive
after the last Guix Days in February. First and foremost many thanks to
everyone who contributed to the branch, be it by commits, discussions or
by working on the infrastructure.

Each and every package is not yet in shape; please feel free to submit
patches for your favourite packages that fail to build. In particular:
- python-yubikey-manager does not build currently; work to correct this
  is underway.
- R on powerpc does not build; this will also be corrected soon;
- aarch64 has very few substitutes; I think this is mainly due to the build
  farm catching up and not so much to packages not building, but this is
  difficult to know.
If any of these are essential to you, you may wish to wait a little bit
longer before a "guix pull", or for the time being pull to a commit just
before the merge by issuing
   guix pull --commit=472706ae2f9160833951a4e4bcc4c206e03097b0

Every end of a story is the beginning of many new ones. Several areas of
work have already been identified; I will summarise what came up on the
mailing list and who expressed interest to work on it - please feel free
to join if a topic interests you, or launch another initiative if you
want to work on a different subject!
- rust-team already has a branch that is almost ready to be built and
  merged, as a precursor to the team based workflow that we need to invent
  (Efraim Flashner).
- R on powerpc64le needs to be built by changes to valgrind and lz4
  (Simon Tournier, I).
- Many Python packages need updates, in particular with the aim of building
  python-yubikey-manager (John Kehayias, Lars-Dominik Braun, Brian Cully).
- There is still work to do to bootstrap GHC until the latest version on
  i686, and to potentially shorten the bootstrap chain (Lars-Dominik Braun).
- OCaml could be simplified by dropping version 4.07 (Julien Lepiller).
- After the mesa update is before the mesa update, and it looks like more
  features can be enabled (Kaelyn Takata, John Kehayias).
- Too much in Guix depends on too much else, which makes building things
  needlessly entangled; in particular time zone data should not be referred
  to by packages, but be loaded at runtime (Leo Famulari).

All the best in your Guix endeavours,

Andreas




Core-updates merge, d-1

2023-04-24 Thread Andreas Enge
Hello,

people have been working on packages close to the leaves which did not
build any more in core-updates; but as far as I can see, nothing major
has popped up that would prevent a merge.

So unless there is firm opposition, I intend to merge core-updates to
master tomorrow as announced, in the early European afternoon.

Andreas




Re: [PATCH] gnu: python-shiboken-2: Do not rely on _Py_Mangle being available.

2023-04-24 Thread Andreas Enge
Am Mon, Apr 24, 2023 at 12:01:51PM +0200 schrieb Josselin Poiret:
> * gnu/packages/patches/python-shiboken-2-compat.patch: Fix the patch according
> to upstream.

Pushed!

Andreas




Re: Core-updates, the last metres

2023-04-23 Thread Andreas Enge
Hello John,

thanks for your report, and the patch work!

Am Sun, Apr 23, 2023 at 06:51:27PM + schrieb John Kehayias:
> If things continue looking good, are we planning to see the merge in
> the next few days?

Yes, the plan is to merge on Tuesday.

Andreas




Core-updates, the last metres

2023-04-23 Thread Andreas Enge
Hello,

yesterday I updated my system to core-updates. Since I am writing this
message now, you can deduce that it succeeded. Well, there is no reason
you should care, but it could encourage you to do the same. :)

I used commands like "./pre-inst-env guix package/system ...", but this
resulted in strange behaviour; I suppose I may have ended up with a
mixture between old and new guix.
I think the safest approach is to use "guix pull --commit=..." with
a commit from core-updates, or probably just
   guix pull --commit=core-updates
Then I would start by updating the system, followed by the user profiles.

Please tell us if there is a show-stopper for the merge!

We already received a first report:
python-yubikey-manager does not build. It should be repaired very shortly
after the merge (the fix is there, but would cause too many rebuilds now);
so if you rely on it, maybe delay updating your system, or hold this one
package back in your profile ("guix package --do-not-upgrade ... -u").

As for the architectures, x86_64 looks good; i686 and powerpc64le look
okay (or at least not much worse than on master; R does not work on
powerpc64le, and should also be fixed shortly after the merge).
For aarch64 it is difficult to say, since the build farm has trouble
keeping up. We brought back a few machines, but they are churning through
the backlog.

Andreas




Re: Latest news on core-updates

2023-04-23 Thread Andreas Enge
Am Fri, Apr 21, 2023 at 07:04:19PM +0200 schrieb reza.housse...@gmail.com:
> Consider my praise added as well! Was there already a discussion about adding
> liberapay, to at least have some monetary compensation for the hard and
> necessary work done by all these volunteers?

Thanks for the thanks! Well, the volunteers are volunteers; if you want
to donate to Guix (so far, mainly for covering infrastructure costs and
Outreachy internships), you can do so at Guix Europe or the FSF.

Andreas




Re: [PATCH 0/2] Update gfeeds to 2.2.0.

2023-04-23 Thread Andreas Enge
Hello Liliana,

Am Sun, Apr 23, 2023 at 01:45:19AM +0200 schrieb Liliana Marie Prikler:
> as with the recent update to Evolution, this is an update to get a
> package into a working state again.

gfeeds has python-magic as input, which fails on the soon to be merged
core-updates. It would be interesting if you could have a look at this
package. Thanks!

Andreas




Aarch64 on core-updates

2023-04-21 Thread Andreas Enge
Hello,

the dashboard is completely red for aarch64 on core-updates:
   https://ci.guix.gnu.org/eval/397792/dashboard?system=aarch64-linux
but when I follow any dependency chain, I end up with the scheduled build
of xz:
   https://ci.guix.gnu.org/build/512146/details

So I suppose that this is just a side-effect of our build farm not keeping
up on this architecture and prioritising master over core-updates?

I could build a simple profile (with the toolchain to compile Guix) on
my aarch64 machine.

Andreas




Re: Latest news on core-updates

2023-04-21 Thread Andreas Enge
Am Fri, Apr 21, 2023 at 10:20:18AM +0200 schrieb Simon Tournier:
> Since Haskell is also broken on master for i686, I guess the option is
> to apply on some “feature™ branch” after the merge, right?

Yes indeed.

> Therefore, if many things are still missing, I suggest to apply #62967
> [2].  It removes the annoyance you spotted out in #62954 [3].  And as I
> explained in [4], it will be safe because ’valgrind’ appears only in the
> testsuite of ’lz4’ and ’valgrind’ is not even run there.
> Doing so, it will fix failures for powerpc64le and will increase the
> coverage.

CI just disappeared, so I cannot check. If r-minimal builds for powerpc64le
on master, then it is justifiable to fix the regression (leaving open the
possibility of an immediate revert if the patch introduces problems else-
where, which I do not expect). Otherwise I would postpone it until after
the merge.

Andreas




  1   2   3   4   5   6   7   8   9   10   >