-
Notifications
You must be signed in to change notification settings - Fork 17
#GPII-1740: Implement automatic build of Linux Package #78
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
Changes from all commits
912e582
2b531da
a4ed974
eb542cb
d63d87f
a663531
37b3c3d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -49,6 +49,18 @@ this may prompt you for sudo access. | |
grunt install | ||
grunt uninstall | ||
|
||
## Building a RPM package | ||
|
||
We use Docker to build the RPM package in a clean environment, this also avoids | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there a Dockerfile that was meant to be included as part of this PR? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It isn't necessary because it uses the Fedora container to build the RPM package. I believe we don't need to build a container in this case. |
||
to polute your environment. | ||
|
||
To build a RPM package run the following command at the root of the git repository: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How would this work for someone using OS X or Windows? Should they use a Linux VM for this task? Those details should be explained here. |
||
|
||
grunt build-rpm-docker | ||
|
||
you will get the rpm package and the source files of the package in the ``bin`` | ||
directory. | ||
|
||
# Setting Up a Virtual Machine | ||
|
||
This repository contains content that will allow you to automatically provision a development VM. A [Vagrantfile](http://docs.vagrantup.com/v2/vagrantfile/) is provided that downloads a [Fedora Vagrant box](https://github.com/idi-ops/packer-fedora), starts a VM, and deploys the GPII Framework on it. | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[Desktop Entry] | ||
Type=Application | ||
Name=GPII Linux | ||
Exec=/usr/bin/gpii-linux-start | ||
OnlyShowIn=GNOME; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/sh | ||
systemctl --user import-environment | ||
cd /opt/gpii-linux | ||
node gpii.js |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Use with Systemd > 219 | ||
[Unit] | ||
Description=Components of the GPII personalization infrastructure for use on Linux | ||
Documentation=http://gpii.net | ||
|
||
[Service] | ||
Type=simple | ||
ExecStart=/usr/bin/gpii-linux-start | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please refer to the comment above regarding the use of the IDI ansible-nodejs role which provides a systemd unit template. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This Systemd unit uses the Systemd User feature to launch GPII with user pemissions at log in time. The environment variables like dbus socket or policykit resources are set by pam.d at login time and retrieved by the command Anyway this unit can only be use in >=Fedora 23 because Fedora 22 has a minor version of Systemd that doesn't have that feature. |
||
WorkingDirectory=/opt/gpii-linux | ||
Restart=on-failure | ||
|
||
[Install] | ||
WantedBy=default.target | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally the IDI ansible-nodejs role should be used so that these dependencies don't have to be tracked in multiple places. This repo uses that role to install these packages like so:
https://github.com/GPII/linux/blob/master/provisioning/vars.yml#L17-L37