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");

cheers

andrew

Reply via email to