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

External dependency on Globus GSI-OpenSSH #67

Closed
icheceoin opened this issue Jan 10, 2019 · 15 comments · Fixed by #154
Closed

External dependency on Globus GSI-OpenSSH #67

icheceoin opened this issue Jan 10, 2019 · 15 comments · Fixed by #154

Comments

@icheceoin
Copy link

icheceoin commented Jan 10, 2019

GCT has an external dependencies on Globus GSI-OpenSSH based on OpenSSH 7.5p1 dating from 2017-06-27. These patches are pulled in by default if a manual source build is performed. See "prep-gsissh" in the source tarball.

Is there a plan to include up to date GCT supported GSI-OpenSSH versions of these patches? Or to change the build process to remove these patches?

@matyasselmeci
Copy link
Contributor

We definitely want to fix the build process. IMO the way we build gsi-openssh by fetching the patches is horrifying...

@icheceoin
Copy link
Author

icheceoin commented Jan 10, 2019

Is OpenSSH 7.5p1 plus the patches from the Globus repo currently considered a secure base to build GSI-OpenSSH on? I'll be advising administrators who are upgrading to use downstream binary RPM installs or source RPM builds but many will have a historical build process that involves ./configure ... from source.

@fscheiner
Copy link
Member

@icheceoin
Is there a way for you to use the source RPMs of GSI-OpenSSH in EPEL6 or EPEL7? What OS are you using actually?

@icheceoin
Copy link
Author

icheceoin commented Jan 10, 2019

@fscheiner
Personally, I'm happy to use the EPEL binary RPMs for my own use case and I think EPEL source RPMs of GSI-OpenSSH should cover everything else.

My question mainly related to how easily a user can currently inadvertently build an unpatched GSI-OpenSSH version right now if they're used to a ./configure ... build procedure.

@fscheiner
Copy link
Member

@icheceoin

My question mainly related to how easily a user can currently inadvertently build an unpatched GSI-OpenSSH version right now if they're used to a ./configure ... build procedure.

Of course. I just wasn't sure if you were aware of the possible "alternative" to use source RPMs from EPEL, which is what I already recommended to PRACE sites for the transition from the Globus Toolkit to the GCT.

But also good to have that emphasized as issue here for other users.

@fscheiner
Copy link
Member

fscheiner commented Jan 10, 2019

@matyasselmeci @ellert @msalle
Maybe we should rephrase the issue title to something like:

GCT's in-tree GSI-OpenSSH is outdated

....and close this issue when we have a solution on how to provide GSI-OpenSSH as part of the GCT sources.

OTOH GSI-OpenSSH is actually not really in-tree, but only pulled in during the configure run. :-/

@ellert
Copy link
Member

ellert commented Jan 13, 2019

As part of the proposed changes in PR #63, the build script is changed to use the patches from the source tree in packaging/debian/gsi-openssh/debian/patches/ instead of downloading them.

@icheceoin
Copy link
Author

@ellert
That at least gets us part the way there but it still leaves the project using OpenSSH 7.5p1 by default.

@fscheiner
Copy link
Member

fscheiner commented Feb 25, 2021

@ellert @msalle @matyasselmeci @icheceoin
After fixing openssh-gsskex/openssh-gsskex#18 my proposal would be to always include the full sources of GSI-OpenSSH from the latest stable Fedora version in the GCT sources. So this will always be based on the current version of OpenSSH or a version very close to the current version of OpenSSH. And it will be more similar to the other parts of the GCT in that the gsi_openssh subdir will contain a set of source files from the beginning instead of only during a build.

Thoughts?

@msalle
Copy link
Member

msalle commented Mar 2, 2021

Sounds reasonable and probably the best we can do.

@ShamrockLee
Copy link

I tried to package GCT with Nix package manager as a dependency of other CERN softwares, but the download-when-build behavior makes the work complicated.

Nix (a cross-platform package manager) forbids network access without using fetchers and predetermined hashes to keep the package "purely declarative"

It would make things much easier to injech the dependencies with other not-so-ad-hoc approaches.

@maarten-litmaath
Copy link

Hi,
why can't those other softwares just depend on rpms etc. instead?

Please note the Grid Community Forum collaboration only has limited effort available and may hence not be in a position to make and debug considerable changes in the build procedures.

@matyasselmeci
Copy link
Contributor

matyasselmeci commented May 4, 2021

Hi @ShamrockLee , EPEL has the same restriction so you should take a look at how they handled it (here's a link to their source RPMs: https://dl.fedoraproject.org/pub/epel/7/SRPMS/Packages/g/).

You can also try building the software suite without GSI-OpenSSH by deleting prep-gsissh from your checkout and adding --disable-gsi-openssh to your ./configure line.

@fscheiner
Copy link
Member

@ShamrockLee:
This should be solved as soon as we start to ship the GCT with the full sources of a current GSI-OpenSSH. See #67 (comment) for details.

@fscheiner
Copy link
Member

Fixed in GCT 6.2.20210826 maintenance release.

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

Successfully merging a pull request may close this issue.

7 participants