On Tue, Mar 26, 2024 at 12:09 PM Andrew Dunstan <and...@dunslane.net> wrote:
> > > On Tue, Mar 26, 2024 at 6:10 AM Andrew Dunstan <and...@dunslane.net> > wrote: > >> >> >> On Tue, Mar 26, 2024 at 5:15 AM Magnus Hagander <mag...@hagander.net> >> wrote: >> >>> >>> >>> On Tue, Mar 26, 2024 at 9:13 AM Andrew Dunstan <and...@dunslane.net> >>> wrote: >>> >>>> >>>> >>>> On Tue, Mar 26, 2024 at 3:20 AM Peter Eisentraut <pe...@eisentraut.org> >>>> wrote: >>>> >>>>> On 25.03.24 23:20, Andrew Dunstan wrote: >>>>> > The problem occurs because except in vpath mode the buildfarm >>>>> operates >>>>> > on a copy of the code, and for efficiency reasons we don't copy the >>>>> ,git >>>>> > directory. >>>>> > >>>>> > The simplest fix is probably to change the machine's config to use a >>>>> > vpath build. >>>>> > >>>>> > In the config file change the undef here to a 1: >>>>> > >>>>> > 'use_vpath' => undef, >>>>> > >>>>> > That worked for me in a quick test. >>>>> >>>>> Note that "make dist" doesn't work with vpath in backbranches. :-/ >>>>> >>>> >>>> >>>> Ugh. >>>> >>>> OK, plan B : >>>> >>>> In the Module's setup code, right after the "die", put >>>> >>>> symlink("$buildroot/$branch/pgsql/.git","$pgsql/.git"); >>>> >>>> >>> If I understand you right, you meant: >>> >>> die "can't run this module with vpath builds" >>> if $conf->{vpath}; >>> + symlink("$buildroot/$branch/pgsql/.git","$pgsql/.git"); >>> >>> my $self = {buildroot => $buildroot, pgbranch=> $branch, bfconf >>> => $conf, pgsql => $pgsql}; >>> bless ($self, $class); >>> >>> If so, I tried that, but it didn't work. That's this run here: >>> https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=guaibasaurus&dt=2024-03-26%2009%3A02%3A51&stg=make-dist >>> >>> >>> >> *sigh* >> >> OK, instead of speculating I'll experiment and come up with an answer. >> > > > OK, this should work. Put these lines after the first print statement of > the module's build() routine - the setup() routine runs too early: > > my $src = "$self->{buildroot}/$self->{pgbranch}/pgsql"; > symlink("$src/.git", "$self->{pgsql}/.git"); > > > That seems to have sorted it. I did a manual force run and that made it recovered. Let's see if it's also happy after the first regular run, but it definitely look right. Thanks! //Magnus