
On sob, cze 22, 2019 at 4:04 AM, Ignacio Taranto <itaranto7@gmail.com> wrote:
Before you throw everything at me....
I Love openSUSE, it has one of if not THE the best package management tools available.
But the problem is recommended packages. Y You must be tired of reading about this topic right?
Today I spent the entire afternoon "cleaning-up" my Tumbleweed installation by removing a ton of packages I didn't installed/I don't use.
I get that the default of installing recommended packages is all about user experience, but this has gone to far:
- I had three display Managers installed, THREE! SDDM, LightDM, XDM.
This is not an issue with recommends, you can't remove XDM even if you wanted to, because xdm holds the base scripts that start other stuff, because update-alternatives handling. Fixing that will require a little bit more than just removing recommends. This will certainly also make dropping Xorg from Factory in 50 years harder than it needs to be ;)
- I had a ton unneeded of 32bit libraries/binaries, yes I installed Wine, but I removed several libraries/binaries that weren't needed by Wine. I even had systemd-32bit installed!
I don't really see that looking at the zypper search results:
zypper se --recommends systemd-32bit
S | Name | Summary | Type --+----------------------------------+------------------------+-------- | patterns-base-minimal_base-32bit | Minimal Appliance Base | package | patterns-media-rest_cd_core | Remaining Software | package | patterns-media-rest_core_dvd | Remaining Software | package by the looks of it, those patterns are required or recommended by nothing, unless I'm missing something.
- I'm currently a ZSH user, but when I first installed Tumbleweed I had at least three shells installed (bash, zsh, tcsh) why?!
tcsh is required, not recommended by cvs: https://build.opensuse.org/package/view_file/openSUSE:Factory/cvs/cvs.spec cvs (and git-cvs) in turn is recommended by git, which is not installed by default with any default system role afaik.
And that's about things I specifically searched for deletion. I'm sure there's a lot more bloat hiding there.
So, I'm nowhere near expert about packaging or about zypp/libzypp internals. But this is (kind of) what I propose:
- Turn OFF "Recommended Packages" by default - If after this something is broken by missing packages, then those packages should be Dependencies not Recommendations. - Correct me here if I'm wrong, but patterns don't do anything unless the "Recommended Packages" setting is enabled. So, make the packages you want to be in the patterns as Dependencies not Recommendations.
This will break a few things, for example in case of branding packages, we don't really need to have branding elements installed on a server installation, so instead of using direct dependencies for the 'distribution-logos-openSUSE' packages (there are 4), recommends are used to install the correct one by the product packages. Now you might be asking, why isn't this handled with supplements, so differentiation between Kubic and MicroOS isn't done by the product package (they share the same one), but by different set of components, which means that if it was done through supplements, we would have a bunch of stuff conflicting with each other. You should probably talk with people that manage Kubic and MicroOS stuff though, I'm not enough of an expert in the area ;) And obviously, if anybody has a better idea, I'm open to anything, because that's just a mess :P
Again, I'm sure a lot I'm saying here is probably inaccurate. But I'm addressing a real issue here. I'm not surprised outside users form other distros say "openSUSE is bloated".
In conclusion, this isn't just a childish rant. I really want to openSUSE to improve in this matter. I want to help too, please point me in the right direction.
Changing zypp defaults wouldn't be that hard, they are all in libzypp repo: https://github.com/openSUSE/libzypp/blob/master/zypp.conf#L346-L354 I am actually curious, for the sake of cleaning dependencies, how far did implementing python dependency generator go? It would make cleaning up at least that side of the dependency problem a little easier. I wish more languages had dependency generators, some of the "typelib is missing" bugs with js applications is a little bit annoying ;) LCP [Stasiek] https://lcp.world -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org