Slimming down the install or support packages

I’m curious how hard it would be to slim down the install and still be able to run meld. I fully understand that I’d have to give up a few features, but a basic graphical file diff is the ultimate goal (e.g. I don’t need dir compare and other advanced features).

Why? Because I have a dev environment that’s fairly basic; it has the X libs and such, but not a full gnome desktop. I can set my DISPLAY back to my normal box and see GUI programs that way (and have done that with meld in other places). When I tried “apt install meld” in this smaller environment it wanted to install a full desktop with 439 packages, most of which I’ll never use, need, or want. I understand meld is written in python, so I was expecting some python packages, some libgtk stuff, and such, but not pulseaudo, bluetooth, evolution server, password cracker packages … just to name a few. :slight_smile:

I have no idea what I’d have to give up, but I’d like to hope a “lite” version of meld shouldn’t be too hard … or would it? Is all of the GTK stuff so intertwined I should just give up and go find something else for this box and use meld only on my main dev server which has a full desktop?

If my goal of a “lite” version was possible, any pointers on where to start hacking to see how far I might get?


The huge install may be reasoned by a optional “recommend” dependency style for apt. For example meld recommends yelp.

You can give a try the apt-get install --no-install-recommends, but notice that these can lead to some packages would be not-very-functional.

Meld package itself has NOT a lot of deps.
apt show -a meld lists

Depends: python3:any, dconf-gsettings-backend | gsettings-backend, libgtk-3-0 (>= 3.20), python3-gi (>= 3.20), python3-gi-cairo, libgtksourceview-3.0-1 (>= 3.20), gir1.2-gtksource-3.0 (>= 3.20), python3-cairo, libcanberra-gtk3-module, patch

you can try pre-installing those dependencies manually and see which of them is causing huge pack of desktop packages.

Also, with dependencies preinstalled you can install meld via git checkout - just run bin/meld from the checkout - and it works. You can use this method to see what exactly breaks when one of the dependencies is absent (I think that for most dependencies lack of them would lead to exceptions during start).

Well, my base install already had some those dependencies. For the ones I don’t have, it wanted ~200 packages total – better but I’m still not happy.

I tried with “–no-install-recommends” and the total dropped to 60 and most of those are libs. That’s livable. More investigation revealed that yelp seemed to be the problem.

I think that solves the problem for me, thanks! I still might spend a little time playing with the code to see how hard it would be to make a “lite” version, not to mention I’m somewhat curious as to how it works. :slight_smile: I’ve also wondered if the diffing algorithm (or maybe it’s the presentation) could be made a little smarter too.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.