Message ID | 20240713180952.3363596-1-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | CI: part 3 (slimline, and PPC/RISCV fixes) | expand |
On Sat, Jul 13, 2024 at 07:09:52PM +0100, Andrew Cooper wrote: > We only need a basic perl environment, not the things that a primarily-perl > project would want. > > Discovered during the Fedora refresh where the difference is ~40M, but it's > more modest for OpenSUSE and Ubuntu. "perl-base" on Ubuntu is quite different from "perl-base" on OpenSUSE Leap. I haven't check Tumbleweed but is probably the same as Leap. So, I think these would deserve to be in separated patches. On Ubuntu, installing "perl" or "perl-base" or none of them makes no difference. We install "build-essentials" which pulls "dpkg-dev" which pulls "perl", so we don't test properly if "perl-base" is enough or if we need more. I tried to find out which Perl module we would need, and I've got this list: - get_maintainer Getopt::Long; - add_maintainer Getopt::Long; File::Basename; List::MoreUtils; IO::Handle; - stubdom/vtpmmgr: Digest::SHA qw(sha1); Math::BigInt only => 'GMP'; - kconfig Getopt::Long; - ocaml/lib/xc/abi-check Data::Dumper; - docs/gen-html-index Getopt::Long; IO::File; File::Basename; - docs/xen-headers Getopt::Long; File::Find; IO::File; (there's also tools/examples/xeninfo.pl, I dont't if that can still work or if we need to purge it) Then I've got whatever module is in "perl-base" pkg. For Leap's perl-base: getopt:long file:basename io:handle io:file file:find data:dumper digest:sha So, add_maintainer.pl and the script in stubdom/vtpmmgr won't work. So that's probably fine for Leap. For Ubuntu 22.04 (not check others, but likely about the same) there's more packages: perl-base getopt::long file:basename io:handle io:file perl-modules-5.34 file:find math:bigint libperl5.34 data:dumper digest:sha liblist-moreutils-perl list:MoreUtils librpc-xml-perl rpc:xml ("perl" pkg pulls "perl-modules-5.34" and "libperl5.34") So with just "perl-base", the ocaml's abi-check wouldn't work, as well as the docs's script (probably ok for "docs" if we don't use containers to build them). Also add_maintainer and stubdom/vtpmmgr like for Leap. So I would suggest to not touch the Ubuntu containers, make the change to the OpenSUSE one and maybe add the limitation to the commit message. Cheers,
On 15/07/2024 1:46 pm, Anthony PERARD wrote: > On Sat, Jul 13, 2024 at 07:09:52PM +0100, Andrew Cooper wrote: >> We only need a basic perl environment, not the things that a primarily-perl >> project would want. >> >> Discovered during the Fedora refresh where the difference is ~40M, but it's >> more modest for OpenSUSE and Ubuntu. > "perl-base" on Ubuntu is quite different from "perl-base" on OpenSUSE > Leap. I haven't check Tumbleweed but is probably the same as Leap. /sigh - because that would have been too easy. > So, I think these would deserve to be in separated patches. > > On Ubuntu, installing "perl" or "perl-base" or none of them makes no > difference. We install "build-essentials" which pulls "dpkg-dev" which > pulls "perl", so we don't test properly if "perl-base" is enough or if > we need more. Fine - lets leave the Ubuntu's alone. > > I tried to find out which Perl module we would need, and I've got this > list: > > - get_maintainer > Getopt::Long; > - add_maintainer > Getopt::Long; > File::Basename; > List::MoreUtils; > IO::Handle; > - stubdom/vtpmmgr: > Digest::SHA qw(sha1); > Math::BigInt only => 'GMP'; > - kconfig > Getopt::Long; > - ocaml/lib/xc/abi-check > Data::Dumper; > - docs/gen-html-index > Getopt::Long; > IO::File; > File::Basename; > - docs/xen-headers > Getopt::Long; > File::Find; > IO::File; > (there's also tools/examples/xeninfo.pl, I dont't if that can still work > or if we need to purge it) Ewww. my %xenhosts = ("192.0.2.10" => {"port" => "9363"}, ... is enough to demonstrate it's a special purpose script. That file isn't referenced by the Makefile, nor is anything in the vnc/ dir, so we should purge the lot. > > Then I've got whatever module is in "perl-base" pkg. > > For Leap's perl-base: > getopt:long > file:basename > io:handle > io:file > file:find > data:dumper > digest:sha > So, add_maintainer.pl and the script in stubdom/vtpmmgr won't work. So > that's probably fine for Leap. vtpmmgr isn't built by default, so gets 0 testing in CI. I don't expect people to be using add_maintainer inside the containers either. > > For Ubuntu 22.04 (not check others, but likely about the same) > there's more packages: > perl-base > getopt::long > file:basename > io:handle > io:file > perl-modules-5.34 > file:find > math:bigint > libperl5.34 > data:dumper > digest:sha > liblist-moreutils-perl > list:MoreUtils > librpc-xml-perl > rpc:xml > ("perl" pkg pulls "perl-modules-5.34" and "libperl5.34") > > So with just "perl-base", the ocaml's abi-check wouldn't work, as well > as the docs's script (probably ok for "docs" if we don't use containers > to build them). Hmm yeah - we wouldn't want to break that. > Also add_maintainer and stubdom/vtpmmgr like for Leap. > > > So I would suggest to not touch the Ubuntu containers, make the change > to the OpenSUSE one and maybe add the limitation to the commit message. Ok - I'll do this. ~Andrew
diff --git a/automation/build/opensuse/leap-15.6-x86_64.dockerfile b/automation/build/opensuse/leap-15.6-x86_64.dockerfile index ea70dffe2afc..d9ee34ff240f 100644 --- a/automation/build/opensuse/leap-15.6-x86_64.dockerfile +++ b/automation/build/opensuse/leap-15.6-x86_64.dockerfile @@ -31,7 +31,7 @@ RUN <<EOF git-core gzip patch - perl + perl-base pkg-config wget # libxenguest dombuilder diff --git a/automation/build/opensuse/tumbleweed-x86_64.dockerfile b/automation/build/opensuse/tumbleweed-x86_64.dockerfile index 61e840fc67da..cd90f7357a50 100644 --- a/automation/build/opensuse/tumbleweed-x86_64.dockerfile +++ b/automation/build/opensuse/tumbleweed-x86_64.dockerfile @@ -31,7 +31,7 @@ RUN <<EOF git-core gzip patch - perl + perl-base pkg-config wget # libxenguest dombuilder diff --git a/automation/build/ubuntu/16.04-x86_64.dockerfile b/automation/build/ubuntu/16.04-x86_64.dockerfile index d8617bfade5e..7dc2ad8c3ef5 100644 --- a/automation/build/ubuntu/16.04-x86_64.dockerfile +++ b/automation/build/ubuntu/16.04-x86_64.dockerfile @@ -27,7 +27,7 @@ RUN <<EOF git-core gzip patch - perl + perl-base pkg-config wget # libxenguest dombuilder diff --git a/automation/build/ubuntu/18.04-x86_64.dockerfile b/automation/build/ubuntu/18.04-x86_64.dockerfile index 336697ad954b..12522cf48045 100644 --- a/automation/build/ubuntu/18.04-x86_64.dockerfile +++ b/automation/build/ubuntu/18.04-x86_64.dockerfile @@ -27,7 +27,7 @@ RUN <<EOF git-core gzip patch - perl + perl-base pkg-config wget # libxenguest dombuilder diff --git a/automation/build/ubuntu/20.04-x86_64.dockerfile b/automation/build/ubuntu/20.04-x86_64.dockerfile index 39fb297519ee..d071949bfe5c 100644 --- a/automation/build/ubuntu/20.04-x86_64.dockerfile +++ b/automation/build/ubuntu/20.04-x86_64.dockerfile @@ -27,7 +27,7 @@ RUN <<EOF git-core gzip patch - perl + perl-base pkg-config wget # libxenguest dombuilder diff --git a/automation/build/ubuntu/22.04-x86_64.dockerfile b/automation/build/ubuntu/22.04-x86_64.dockerfile index 230903f624d9..4f52b9d475ad 100644 --- a/automation/build/ubuntu/22.04-x86_64.dockerfile +++ b/automation/build/ubuntu/22.04-x86_64.dockerfile @@ -27,7 +27,7 @@ RUN <<EOF git-core gzip patch - perl + perl-base pkg-config wget # libxenguest dombuilder diff --git a/automation/build/ubuntu/24.04-x86_64.dockerfile b/automation/build/ubuntu/24.04-x86_64.dockerfile index 277f92facfd9..d125b9f739fa 100644 --- a/automation/build/ubuntu/24.04-x86_64.dockerfile +++ b/automation/build/ubuntu/24.04-x86_64.dockerfile @@ -27,7 +27,7 @@ RUN <<EOF git-core gzip patch - perl + perl-base pkg-config wget # libxenguest dombuilder
We only need a basic perl environment, not the things that a primarily-perl project would want. Discovered during the Fedora refresh where the difference is ~40M, but it's more modest for OpenSUSE and Ubuntu. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Anthony PERARD <anthony.perard@vates.tech> CC: Juergen Gross <jgross@suse.com> CC: Roger Pau Monné <roger.pau@citrix.com> CC: Jan Beulich <JBeulich@suse.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Julien Grall <julien@xen.org> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1372507213 --- automation/build/opensuse/leap-15.6-x86_64.dockerfile | 2 +- automation/build/opensuse/tumbleweed-x86_64.dockerfile | 2 +- automation/build/ubuntu/16.04-x86_64.dockerfile | 2 +- automation/build/ubuntu/18.04-x86_64.dockerfile | 2 +- automation/build/ubuntu/20.04-x86_64.dockerfile | 2 +- automation/build/ubuntu/22.04-x86_64.dockerfile | 2 +- automation/build/ubuntu/24.04-x86_64.dockerfile | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-)