Skip to content
This repository has been archived by the owner on Oct 5, 2022. It is now read-only.

RPM build example #198

Merged
merged 1 commit into from
Jul 18, 2019
Merged

RPM build example #198

merged 1 commit into from
Jul 18, 2019

Conversation

jgbradley1
Copy link
Contributor

A proof of concept demonstrating how to build a RPM of the cloud IDE.

@marcdumais-work
Copy link
Member

Hi @jgbradley1 ,

I think it could be interesting to submit this PR in the theia-apps repo? We already have misc Docker images there, as well as one Theia Electron application packaging example.

@jgbradley1
Copy link
Contributor Author

This PR is in the theia-apps repo I believe...or did I mess something up? I'm just having a slight problem signing off on the work so the DCO check passes. Should be fixed soon.

@marcdumais-work
Copy link
Member

This PR is in the theia-apps repo I believe...

Confirmed - brainfart on my part I believe :)

@marcdumais-work
Copy link
Member

I gave this PR a try and it seems to work well. We could tweak the content of the packaged Theia app, but what's there already serves well for a RPM packaging example. I like the added doc too. Good job @jgbradley1 .

It would be easy to add this app to CI and run the very light smoke test suite on the installed RPM package as well, but until we publish the .rpm, there may not be a strong need.

The DCO is fixed now. Could you squash the commits? Then once we clarify the "spec" section in package.json, I think we're good to go.

@jgbradley1
Copy link
Contributor Author

How would you like to handle the version tag in package.json? The rpmbuild utility requires that version be in proper semantic versioning format. The version info is assigned to the final rpm package and recognized by yum.

Solution 1: we keep it simple and hardcode version=1.0.0 as an example. It will not effect the build at all. The version on the final rpm will not align with Theia's current release version though.

Solution 2: Track the version number with an environment variable in the Docker image to make the necessary changes to package.json, similar to how the env variable version is used to differentiate latest and next builds in the other examples.

@marcdumais-work
Copy link
Member

Solution 1: we keep it simple and hardcode version=1.0.0 as an example. It will not effect the build at all. The version on the final rpm will not align with Theia's current release version though.

I think an hardcoded version will do fine, for such an example, where the value lies more in the demonstration of how to nicely package a Theia app as a RPM vs making a Theia application for specific language(s)/purpose(s).

@jgbradley1
Copy link
Contributor Author

I'll change the files so version=0.0.1, so it also aligns with your suggestion in the Debian build example.

@jgbradley1
Copy link
Contributor Author

Commits are squashed. I have not previously squashed commits so let me know if something is off.

@marcdumais-work
Copy link
Member

@jgbradley1 Can you add a significant commit message, describing the content of this contribution? Does not need to be long or anything. I would mention the current limitation (IIUC) that the generated RPM would work on CentOS/RH Linux 7.

Otherwise looking good!

…ion. Tested and evaluated for CentOS/RH Linux 7. Older OS versions are not supported. For new version support, watch bbc/speculate#75

Signed-off-by: Joshua Bradley <jgbradley1@gmail.com>
@jgbradley1
Copy link
Contributor Author

Done. Let me know if you would like more info added to the commit message.

Copy link
Member

@marcdumais-work marcdumais-work left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @jgbradley1

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

Successfully merging this pull request may close these issues.

2 participants