[debian-mysql] Bug#809022: Bug#809022: Bug#809022: autopkgtest patch for MariaDB

Otto Kekäläinen otto at debian.org
Fri Sep 9 19:17:37 UTC 2016


Hello!

Thank you very much Kristian for looking into this and producing a
potential fix. Unfortunately I don't have any environment where I
could test it, and I am a bit reluctant to apply the patch and test it
in production unless somebody confirms that this was indeed the
correct fix.

I've included Elena and Vicentiu as CC: can you comment please? Was
there some change in 10.0.27 related to this which might have caused
it to behave differently than in .26?



2016-09-09 16:11 GMT+03:00 Kristian Nielsen <knielsen at knielsen-hq.org>:
> Otto Kekäläinen <otto at debian.org> writes:
>
>> I uploaded now 10.0.27 and even with the recent fixes, it is still
>> failing. I don't know how to fix it. Can you Paul help debug it?
>
>> https://ci.debian.net/data/packages/unstable/amd64/m/mariadb-10.0/20160909_103759.autopkgtest.log.gz
>
>> starting mysql-test-tun.pl...
>> Can't locate lib/mtr_process.pl in @INC (@INC contains: lib /etc/perl
>> /usr/local/lib/x86_64-linux-gnu/perl/5.22.2
>> /usr/local/share/perl/5.22.2 /usr/lib/x86_64-linux-gnu/perl5/5.22
>> /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22
>> /usr/share/perl/5.22 /usr/local/lib/site_perl
>> /usr/lib/x86_64-linux-gnu/perl-base) at ./mysql-test-run.pl line 105.
>
> Jumping into the middle of the discussion ... but I think I see the
> problem. Note that current directory ./ is missing from @INC. This happens
> when perl is running in 'taint' mode, which I'm guessing is what is
> happening here.
>
> According to my quick reading of Perl documentation, taint checks are
> enabled by -T (which does not seem to be happening here), or when running
> setuid/setgid.
>
> Could it be that taint checks become enabled here due to setuid/setgid?
> Perhaps the environment does seteuid() but not setreuid() (or however it
> works in Posix), or maybe fakeroot is confusing Perl or something?
>
> If so, is there some way to avoid that the test environment runs Perl with
> taint checks?
>
> The below patch fixes the problem with missing current directory in @INC.
> However, if taint checks are indeed enabled, this is not sufficient; I don't
> think mysql-test-run.pl is currently written to be able to run under Perl
> taint mode.
>
> -----------------------------------------------------------------------
> diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
> index f3b733a..01410af 100755
> --- a/mysql-test/mysql-test-run.pl
> +++ b/mysql-test/mysql-test-run.pl
> @@ -77,6 +77,9 @@ BEGIN {
>  }
>
>  use lib "lib";
> +BEGIN {
> +  push @INC, '.' unless grep {$_ eq '.'} @INC;
> +}
>
>  use Cwd ;
>  use Cwd 'realpath';
> -----------------------------------------------------------------------
>
>> https://ci.debian.net/packages/m/mariadb-10.0/unstable/amd64/
>
> Hope this helps,
>
>  - Kristian.
>



-- 
Otto Kekäläinen
https://keybase.io/ottok
Seravo Oy and MariaDB Foundation



More information about the pkg-mysql-maint mailing list