EESSI / compatibility-layer

Compatibility layer of the EESSI project
https://eessi.github.io/docs/compatibility_layer
GNU General Public License v2.0
11 stars 21 forks source link

trim EESSI set for gentoo overlay #172

Open trz42 opened 1 year ago

trz42 commented 1 year ago

Goal: get a more minimal compat layer Ideas/Tasks

bedroge commented 1 year ago

Also see: https://github.com/EESSI/compatibility-layer/issues/139.

Relevant Slack message from Bart:

At the meeting last week there was some talk about the compatibility layer having too many packages. I looked a bit into stacked prefix (two prefixes, where the second depends on the first) but that wasn’t quite what I was looking for. What you can do after a fresh bootstrap is to run emerge --depclean --with-bdeps=n this will remove around 100 packages including Meson, Ninja, Rust, but also the autotools. So here was my exercise in minimalism:

DEPS_TO_FILTER=Autoconf,Automake,Autotools,binutils,bzip2,cURL,DBus,flex,gettext,gperf,help2man,intltool,libreadline,libtool,Lua,M4,makeinfo,ncurses,util-linux,XZ,zlib of those the minimal build-depend stripped Gentoo prefix with Lmod and EB has these: DEPS_TO_FILTER=binutils,bzip2,cURL,libreadline,Lua,ncurses,util-linux,XZ,zlib So that’s one extreme right there. Not sure what you want to take from that; certainly removing the build-deps but adding the things you want to keep explicitly is an option?

bedroge commented 1 year ago

And another relevant message from Guilherme:

My recommendation as long time Gentoo user (and what I do myself in my own system) is to emerge what you want as usual, emerge temporary things with emerge --oneshot, then at the very end just run emerge --clean to remove temporary stuff and build dependencies. I wouldn't go unmerging stuff from the @system set, as that may get you compat layer into a broken state. (edited)

If you really want to drop stuff that we have in the system set, then you may want to create your own profiles, as that will give you such control, but I think you should only do that as last resort.

You can safely remove stuff from the world set, though, then run emerge --clean to get rid of unnecessary stuff. To keep the system up to date, I run emerge ‐NDuavt world

You can also try --keep-going to let emerge do the most it can, even when one or more packages fail to build

boegel commented 1 year ago

@trz42 @bedroge Can this be closed (for 2023.04)?

bedroge commented 1 year ago

@trz42 @bedroge Can this be closed (for 2023.04)?

For 2023.04 we have just removed a given list of packages from the resulting compatibility layer. Perhaps it's still good to investigate if we could/should trim it even more by running for instance the command that Bart suggested (which will remove quite a lot of packages).