Subject: Re: CVS commit: pkgsrc/doc/guide/files
To: Roland Illig <rillig@NetBSD.org>
From: Alistair Crooks <agc@pkgsrc.org>
List: pkgsrc-changes
Date: 07/01/2006 13:20:19
On Sat, Jul 01, 2006 at 11:24:39AM +0200, Roland Illig wrote:
> Alistair Crooks wrote:
> >On Fri, Jun 30, 2006 at 09:41:39AM +0000, Roland Illig wrote:
> >
> >>Module Name:	pkgsrc
> >>Committed By:	rillig
> >>Date:		Fri Jun 30 09:41:39 UTC 2006
> >>
> >>Modified Files:
> >>	pkgsrc/doc/guide/files: fixes.xml
> >>
> >>Log Message:
> >>INTERACTIVE_STAGE should not be set to "fetch".
> >
> >
> >There is no reason that this should be the case.
> >
> >The reason that you give in the text for this that if the distfile
> >already exists, then an interactive fetch would be attempted.
> 
> I hope you misinterpreted the text, since I didn't want to say that. If 
> I've chosen any wrong wording, please tell me or just fix it. I thought 
> it would be clear that <quote>fetching the distfiles is only needed 
> once</quote>.

The text you added (between revision 1.58 and 1.60) is:

+       <para>You should not use <varname>INTERACTIVE_STAGE</varname>
+       when fetching the distfiles needs to be done manually. See <xref
+       linkend="fixes.fetch"/> instead. The reason for this is that
+       fetching the distfiles is only needed once, where the phases in
+       <varname>INTERACTIVE_STAGE</varname> are needed everytime when
+       building the package. This distinction is useful for the bulk
+       builds, where the <quote>interactive</quote> distfiles can be
+       downloaded in advance by a human, and then the build is
+       completely non-interactive.</para>

The first sentence does not read correctly - I think the words "the
distfiles" should be removed, or the sentence should be reworded to
say "when the distfiles need to be fetched manually".

HOWEVER, I have no idea where you come up with this "policy" from - it
is incorrect. I know, because I added the feature.

It is perfectly valid to have an INTERACTIVE_STAGE of fetch - that is
one of the reasons it was introduced. However, the infrastructure should
be savvy enough to cope with it. If this is not the case, then it needs
to be made good.

There are a depressingly large number of packages where authors want
to know who is using it, and so ask you to fill in web forms in order
to direct you to a download page.

What the pkgsrc infrastructure should say is either:

"I have a distfile locally, I couldn't give a monkey's that the package
is INTERACTIVE_STAGE= fetch", or

"I don't have the distfile, I'll fetch it. Oh, INTERACTIVE_STAGE=fetch,
I'll get user input to do that. Oh, BATCH is set, OK, move on to the
next package".

The wording you are proposing to people is the exact opposite of what
is intended. If there is an interactive fetch stage, it needs to be in
the Makefile. If the new infrastructure does not handle this properly,
it needs to be fixed.

Please amend your wording to reflect this.

Regards,
Alistair