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

Install Package Manager with apt instead of gdebi #290

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

atheriel
Copy link
Collaborator

@atheriel atheriel commented Apr 6, 2022

This has a few advantages:

  • We don't have to install (and later remove) gdebi.

  • apt allows us to skip installing Recommended packages. RSPM depends on git and git recommends less and ssh-client (yes, really), so we were previously installing an SSH client into the image. With this change neither of these packages nor their transitive dependencies are installed.

This shaves about 8M off the resulting image, too.

This has a few advantages:

* We don't have to install (and later remove) gdebi.

* apt allows us to skip installing Recommended packages. RSPM depends on
  git and git recommends "less" and "ssh-client" (yes, really), so we
  were previously installing an SSH client into the image. With this
  change neither of these packages nor their transitive dependencies are
  installed.

This shaves about 8M off the resulting image, too.

Signed-off-by: Aaron Jacobs <aaron.jacobs@rstudio.com>
@atheriel atheriel requested a review from glin April 6, 2022 21:06
Copy link
Contributor

@glin glin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The license manager doesn't seem to work with this change, as the Ubuntu 18 build of it requires libssl1.0.0?

/opt/rstudio-pm/bin/../ext/activation/license-manager: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

I didn't realize/forgot that RSPM actually does require libssl via license-manager and other RSW dependencies - rsandbox, launcher. libssl1.0.0 seems to be coming in as a Recommends of git, so that's not great, we should make that an explicit dependency.

And also, the next release of RSPM on Ubuntu 18 uses RSW dependencies built against libssl1.1, so there's some maintenance pain with including libssl manually (e.g. #285).

What do you think of keeping the gdebi change, but not using --no-install-recommends for now? Then we could fix the dependency issues with the RSPM packages for the next release.

@atheriel
Copy link
Collaborator Author

atheriel commented Apr 6, 2022

Ah, so really there was an issue with #285 it was just masked by getting pulled in with git. I'd prefer explicitly installing libssl1.0.0 for now, I think, and then fix it once the upstream dependencies are corrected. Reverting back to installing Recommends with a reminder to remove it in the future seems to muddy things even further.

This should most likely be removed with future releases.

Signed-off-by: Aaron Jacobs <aaron.jacobs@rstudio.com>
@tylfin
Copy link
Member

tylfin commented Apr 7, 2022

I think we want to keep the Docker installation as close to the admin guide as possible, because that's the path the RSPM team is testing.

If we want to make a change limiting dependencies, it should happen in the main codebase.

@atheriel atheriel marked this pull request as draft April 7, 2022 19:21
@colearendt colearendt added the package-manager Specific to Package Manager images label Aug 15, 2023
@shepherdjerred
Copy link
Contributor

This would be nice to do. Using gdebi in our official install guide produces a warning that may mislead customers into thinking something is wrong.

https://github.com/rstudio/package-manager/issues/11698

@bschwedler
Copy link
Contributor

We should be able to do this now that Ubuntu 18.04 is EOL.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package-manager Specific to Package Manager images
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants