public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Christophe Lyon <christophe.lyon@linaro.org>
To: Thomas Schwinge <tschwinge@baylibre.com>
Cc: Sam James <sam@gentoo.org>, Mark Wielaard <mark@klomp.org>,
	binutils@sourceware.org,  gcc@gcc.gnu.org,
	gdb-patches@sourceware.org,  David Malcolm <dmalcolm@redhat.com>,
	arsen@gentoo.org,  Alexandre Oliva <aoliva@gcc.gnu.org>
Subject: Re: Help needed with maintainer-mode
Date: Mon, 4 Mar 2024 11:42:47 +0100	[thread overview]
Message-ID: <CAPS5khbYGki+=BFrnL+g5pP3HVHCm76VT0XZ9bs+_zuubLqLjw@mail.gmail.com> (raw)
In-Reply-To: <87le6y7303.fsf@euler.schwinge.ddns.net>

Hi!

On Mon, 4 Mar 2024 at 10:36, Thomas Schwinge <tschwinge@baylibre.com> wrote:
>
> Hi!
>
> On 2024-03-04T00:30:05+0000, Sam James <sam@gentoo.org> wrote:
> > Mark Wielaard <mark@klomp.org> writes:
> >> On Fri, Mar 01, 2024 at 05:32:15PM +0100, Christophe Lyon wrote:
> >>> [...], I read
> >>> https://gcc.gnu.org/wiki/Regenerating_GCC_Configuration
> >>> which basically says "run autoreconf in every dir where there is a
> >>> configure script"
> >>> but this is not exactly what autoregen.py is doing. IIRC it is based
> >>> on a script from Martin Liska, do you know/remember why it follows a
> >>> different process?
> >>
> >> CCing Sam and Arsen who helped refine the autoregen.py script, who
> >> might remember more details. We wanted a script that worked for both
> >> gcc and binutils-gdb. And as far as I know autoreconf simply didn't
> >> work in all directories. We also needed to skip some directories that
> >> did contain a configure script, but that were imported (gotools,
> >> readline, minizip).
> >
> > What we really need to do is, for a start, land tschwinge/aoliva's patches [0]
> > for AC_CONFIG_SUBDIRS.
>
> Let me allocate some time this week to get that one completed.
>
> > Right now, the current situation is janky and it's nowhere near
> > idiomatic autotools usage. It is not a comfortable experience
> > interacting with it even as someone who is familiar and happy with using
> > autotools otherwise.
> >
> > I didn't yet play with maintainer-mode myself but I also didn't see much
> > point given I knew of more fundamental problems like this.
> >
> > [0] https://inbox.sourceware.org/gcc-patches/oril72c4yh.fsf@lxoliva.fsfla.org/
>

Thanks for the background. I didn't follow that discussion at that time :-)

So... I was confused because I noticed many warnings when doing a simple
find . -name configure |while read f; do echo $f;d=$(dirname $f) &&
autoreconf -f $d && echo $d; done
as suggested by https://gcc.gnu.org/wiki/Regenerating_GCC_Configuration

Then I tried with autoregen.py, and saw the same.... and now just
checked Sourceware's bot logs and saw the same numerous warnings at
least in GCC (didn't check binutils yet). Looks like this is
"expected" ....

I started looking at auto-regenerating these files in our CI a couple
of weeks ago, after we received several "complaints" from contributors
saying that our precommit CI was useless / bothering since it didn't
regenerate files, leading to false alarms.
But now I'm wondering how such contributors regenerate the files
impacted by their patches before committing, they probably just
regenerate things in their subdir of interest, not noticing the whole
picture :-(

As a first step, we can probably use autoregen.py too, and declare
maintainer-mode broken. However, I do notice that besides the rules
about regenerating configure/Makefile.in/..., maintainer-mode is also
used to update some files.
In gcc:
fixincludes: fixincl.x
libffi: doc/version.texi
libgfortran: some stuff :-)
libiberty: functions.texi

in binutils/bfd:
gdb/sim
bfd/po/SRC-POTFILES.in
bfd/po/BLD-POTFILES.in
bfd/bfd-in2.h
bfd/libbfd.h
bfd/libcoff.h
binutils/po/POTFILES.in
gas/po/POTFILES.in
opcodes/i386*.h
gdb/copying.c
gdb/data-directory/*.xml
gold/po/POTFILES.in
gprof/po/POTFILES.in
gfprofng/doc/version.texi
ld/po/SRC-POTFILES.in
ld/po/BLD-POTFILES.in
ld: ldgram/ldlex... and all emulation sources
libiberty/functions.texi
opcodes/po/POTFILES.in
opcodes/aarch64-{asm,dis,opc}-2.c
opcodes/ia64 msp430 rl78 rx z8k decoders

How are these files "normally" expected to be updated? Do people just
manually uncomment the corresponding maintainer lines in the Makefiles
and update manually?   In particular we hit issues several times with
files under opcodes, that we don't regenerate currently. Maybe we
could build binutils in maintainer-mode at -j1 but, well....

README-maintainer-mode in binutils/gdb only mentions a problem with
'make distclean' and maintainer mode
binutils/README-how-to-make-a-release indicates to use
--enable-maintainer-mode, and the sample 'make' invocations do not
include any -j flag, is that an indication that only -j1 is supposed
to work?
Similarly, the src-release.sh script does not use -j.

Thanks,

Christophe

>
> Grüße
>  Thomas

  reply	other threads:[~2024-03-04 10:42 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-29 10:22 Christophe Lyon
2024-02-29 10:41 ` Richard Earnshaw (lists)
2024-02-29 17:36   ` Christophe Lyon
2024-02-29 11:00 ` Mark Wielaard
2024-02-29 17:39   ` Christophe Lyon
2024-03-01 13:08     ` Mark Wielaard
2024-03-01 13:21       ` Christophe Lyon
2024-03-01 16:32       ` Christophe Lyon
2024-03-03 21:15         ` Mark Wielaard
2024-03-04  0:30           ` Sam James
2024-03-04  9:36             ` Thomas Schwinge
2024-03-04 10:42               ` Christophe Lyon [this message]
2024-03-04 11:25                 ` Jonathan Wakely
2024-03-04 14:46                   ` Christophe Lyon
2024-03-04 15:36                     ` Richard Earnshaw (lists)
2024-03-04 15:40                       ` Richard Earnshaw
2024-03-04 16:42                         ` Christophe Lyon
2024-03-04 17:38                           ` Richard Earnshaw (lists)
2024-03-04 19:27                             ` Vladimir Mezentsev
2024-03-04 20:04                               ` Jonathan Wakely
2024-03-05 14:26                                 ` Richard Earnshaw (lists)
2024-03-05 15:39                                   ` Richard Earnshaw
2024-03-06 15:04     ` Andrew Carlotti
2024-03-06 17:22       ` Richard Earnshaw (lists)
2024-02-29 19:49 ` Thiago Jung Bauermann
2024-03-01 10:09   ` Christophe Lyon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPS5khbYGki+=BFrnL+g5pP3HVHCm76VT0XZ9bs+_zuubLqLjw@mail.gmail.com' \
    --to=christophe.lyon@linaro.org \
    --cc=aoliva@gcc.gnu.org \
    --cc=arsen@gentoo.org \
    --cc=binutils@sourceware.org \
    --cc=dmalcolm@redhat.com \
    --cc=gcc@gcc.gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=mark@klomp.org \
    --cc=sam@gentoo.org \
    --cc=tschwinge@baylibre.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).