The repositories that are part of this GitHub organization all have the following pre-requisites.
Install these on your local computer.
- Ruby 2.3 (use RubyInstaller for Windows, or RVM for Linux or OS X)
- Python 2.7.9 ≤ 3.0.0
- Vagrant 1.8+ (skip 1.8.5, which is broken)
- Plus the vagrant-cachier plug-in to enable caching of
yum
packages. - Plus the vagrant-hostsupdater plug-in to enable automatic management of the
hosts
file.
- Plus the vagrant-cachier plug-in to enable caching of
- Virtual Machine software. Choose one of the following:
- VirtualBox, for building the VirtualBox Vagrant box.
- Plus the vagrant-vbguest plug-in to keep VirtualBox tools up-to-date.
- VMware Fusion, for building the VMware Vagrant box.
- Plus the Vagrant Provider for VMware plug-in to enable Vagrant to use VMware as a provider.
- Parallels Desktop, for building the Parallels Vagrant box.
- Plus the Parallels Virtualization SDK for Mac so that your Mac can talk to Parallels through Vagrant.
- Plus the vagrant-parallels plug-in to enable Vagrant to use Parallels as a provider.
- VirtualBox, for building the VirtualBox Vagrant box.
This is simply a good thing to do from time to time.
vagrant plugin update
-
Launch the Vagrant environment. This virtual machine is custom-designed for building CentOS 7 RPM packages, and is configured appropriately.
vagrant up
-
Once it's running, log into the Vagrant environment.
vagrant ssh
This VM assumes that you're hosting your package repo in Amazon S3. If not, feel free to install your preferred set of tools and configurations.
While the Unified AWS Command-Line Tools are pre-installed, they are not pre-configured. Please follow the Getting Started Guide for configuring your tools.
If you want, for example, to build a new git
package:
- Switch to
root
. - In
/vagrant
, run./pull.sh
. - Clone the lru-packages/package-git.
- Follow the build instructions in the
README
file (usually justmake
). This will copy the resulting RPMs to/vagrant/repo
. - Go into the
/vagrant/repo
directory and make sure the RPMs end up in eitherel7/x86_64/
ornodist/x86_64/
. - In
/vagrant
, run./createrepo.sh
. - In
/vagrant
, run./push.sh
.
There are a couple of scripts included which facilitate syncing new packages between S3 and your VM. See pull.sh
and push.sh
for more information.
Here's the process for contributing:
- Fork LRU BuildBox to your GitHub account.
- Clone your GitHub copy of the repository into your local workspace.
- Write code, fix bugs, and add tests with 100% code coverage.
- Commit your changes to your local workspace and push them up to your GitHub copy.
- You submit a GitHub pull request with a description of what the change is.
- The contribution is reviewed. Maybe there will be some banter back-and-forth in the comments.
- If all goes well, your pull request will be accepted and your changes are merged in.
- Copyright (c) 2016 Ryan Parman.
- Copyright (c) 2016 Lucky Rocketship Underpants, LLC.
See also the list of contributors who participated in this project.