From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Lepiller Subject: Re: [PATCH 1/2] bootstrap: Break automake dependency on generated files. (was Re: =?UTF-8?B?TGV04oCZcw==?= translate!) Date: Wed, 24 Apr 2019 12:37:19 +0200 Message-ID: <20190424123719.502ff14f@sybil.lepiller.eu> References: <87zhovlztm.fsf@gnu.org> <87wojyllbk.fsf@riseup.net> <20190423024234.706dcc8a@gmail.com> <20190423024342.1abcff62@gmail.com> <39EC6770-B600-4529-81D3-3DB19119AD7D@lepiller.eu> <87mukghjzx.fsf@gnu.org> <20190424005137.6e07a8b6@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:38781) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hJFHb-0005oL-TM for guix-devel@gnu.org; Wed, 24 Apr 2019 06:37:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hJFHZ-0007LZ-9e for guix-devel@gnu.org; Wed, 24 Apr 2019 06:37:43 -0400 In-Reply-To: <20190424005137.6e07a8b6@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Miguel Cc: guix-devel@gnu.org Le Wed, 24 Apr 2019 00:51:37 +0200, Miguel a =C3=A9crit : > Hi, >=20 > El Tue, 23 Apr 2019 16:30:26 +0200 > Ludovic Court=C3=A8s escribi=C3=B3: > > Hello, > >=20 > > Julien Lepiller skribis: > > =20 > > > This is a very good idea, but I think it leaves a stub texi that > > > won't get rebuilt because it's younger than po files. What if we > > > add a toucgh invocation to reset the modification time of these > > > stubs, to ensure make will want to rebuild them? =20 > >=20 > > Also, I don=E2=80=99t actually use the ./bootstrap script. :-) =20 >=20 > Currently it is only a call to autoreconf -fvi, but it's there for a > reason, isn't it? >=20 > > Shouldn=E2=80=99t we instead replace the existing %.texi targets in > > doc/local.mk with a phony target like =E2=80=98update-texi=E2=80=99, an= d then add: > >=20 > > dist-hook: update-texi > >=20 > > ? =20 >=20 > The procedure needed currently to a new translation for the manual is: > 1. modify doc/local.mk, po/doc/local.mk and so on.=20 > 2. guix.LL.texi must be manually generated somehow even though it is > listed in BUILT_SOURCES. > 3. automake can run without errors with the rules in order to > generate the actual translated file. > 4. The resulting files are committed. >=20 > The problem is that automake parses .texi files for the @setfilename > tag. On the other hand, guix.LL.texi and contributing.LL.texi are > generated files, and they shouldn't be on the VCS, just like neither > configure nor Makefile.in are, though they are distributed. My patch > tries to avoid this issue creating stub files that will be overwritten > with the actual content. This has the advantage of keeping clean git > status from other modifications than .po files changes. >=20 > This may sound familiar to this community, it actually is a bootstrap > problem. Running autoreconf -fvi actually tells you that that file is > missing, so that part is easy to fix. On the other hand, as far as I > tested if it does not contain a line with version-LL.texi, > version-LL.texi won't be generated. >=20 > Happy hacking, > Miguel I actually agree with Miguel here. The phony target would not allow us to update the manual. It's probably a matter of preferences, but I prefer an up to date manual with some English sentences than a fully translated but outdated manual. I wouldn't use a manual that could refer to an older version. Also Miguel's solution looks a lot more clean in the bootstrapping point of view, and I think this is a strong argument in this community :) You will only be bothered when new translations appear, in which case you'll have to run ./bootstrap again, but on the other hand, you will never be bothered by *.texi files being changed all the time.