Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Matter has too many dependencies #50

Closed
bobbbay opened this issue Oct 2, 2020 · 7 comments
Closed

Matter has too many dependencies #50

bobbbay opened this issue Oct 2, 2020 · 7 comments

Comments

@bobbbay
Copy link

bobbbay commented Oct 2, 2020

This is a real general issue, and I have no clue where to start to tackle it - but what do you think the chances are somebody will really install mtools, QEMU, grub2-something-something, and a ton more? I like keeping my system light - but I'd also really like to use this. Hence, I'd like to tackle killing off dependencies one by one.

Does anyone have thoughts on how we should start?

@bobbbay
Copy link
Author

bobbbay commented Oct 2, 2020

Current list:

  • pip needs to be installed just for testing, and just for one package. Then, you have to add ~/.local/bin to your PATH.
    • Could we package the file into matter itself?
  • qemu needs to be installed for testing - but I'm not sure how much this is depended on.

@bobbbay
Copy link
Author

bobbbay commented Oct 2, 2020

Update on grub2-theme-preview:

Pip installs packages either from source or a wheel. Luckily, grub2-theme-preview (further on mentioned as gtp) has both. This means that we could theoretically have a dependencies directory, in which we download and install our dependencies. Furthermore, we could not add gtp to PATH, and call it directly from the script (./dependencies/bin/grub2-theme-preview).

Tar: https://files.pythonhosted.org/packages/ea/82/dff14ee13f20393811f01e036417757e714dbc2fe2293d128166014469a8/grub2-theme-preview-2.0.1.tar.gz

@mateosss
Copy link
Owner

mateosss commented Oct 4, 2020

Hi, thanks for the proposal!

I totally agree about the idea of reducing the dependencies of matter, mainly the inkscape and imagemagick ones. This issue is targeted towards solving those in particular.

About grub2-theme-preview (and therefore QEMU, Mtools, etc), as stated in the readme, it is an optional dependecy, not needed for normal use of Matter but more for people who really want to tinker around with it. Having said that, a lot of questions arise for me:

  1. Do you still think is worth to make matter be the responsible to install grub2-theme-preview and not the user?
  2. Shouldn't this be done first with matter main dependencies like inkscape and imagemagick? But if we do these we will need to support every package manager the user could have: apt, pacman, rpm, guix, etc.
  3. I don't know if matter installing a bunch of megabytes of dependencies by itself will be welcomed by everyone, but I do see how that could be a convenience for many users as well. Nonetheless, the support effort of this feature is my main concern.

What are your thoughts on these?

@bobbbay
Copy link
Author

bobbbay commented Oct 5, 2020

Hey, thanks for getting back!

  • grub2-theme-preview is most definitely optional, but imo everyone will want to use preview functionality, so why not make it super quick?
  1. I think it should ask if it should install grub2-theme-preview only if the user wants matter.py -b -t (testing mode).
  2. Well, if you take a look at the code for now, it's not using any package manager - just installing from good ol' source.
  3. You're completely correct on this one. Imo the user should be prompted with this:
Would you like to install grub2-theme-preview (mandatory dependency for testing) (20mb) [y/n]

How does that sound?

@mateosss
Copy link
Owner

mateosss commented Oct 5, 2020

Great, the prompt idea sounds more convincing.
Go ahead with the feature, and let's smooth things out on the go.

@bobbbay
Copy link
Author

bobbbay commented Sep 30, 2021

Closing because I lost time to work on this and it's not much of an issue :).

@bobbbay bobbbay closed this as completed Sep 30, 2021
@mateosss
Copy link
Owner

mateosss commented Oct 1, 2021

No problem!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants