Access to private repositories

Published on November 29, 2012

Archived Notice

This article has been archived and may contain broken links, photos and out-of-date information. If you have any questions, please Contact Us.

As discussed in our previous post on Android Customization, some of the software we're modifying for SABRE Lite and Nitrogen6X are restricted by licenses.

They're still open-source, but not completely free to distribute, and require acceptance of an End User License agreement, so we can't simply post the sources in a public repository on GitHub, et cetera.

In order to address these needs, we've put together a private git server using gitolite. This system is configured to performs user authorization through SSH Public key authentication.

If you look in the the Android R13.4 repo manifest, you'll see that the server (remote) named boundary-linode has a base URL of ssh://git@linode.boundarydevices.com/.

In English, this means that the reference is to a user named git on a server named linode.boundarydevices.com and uses the ssh protocol. This user is configured with no valid password and can only be accessed by clients that provide specific public keys. For details on how this works, please Google "ssh public key authentication".

As a practical matter, this will require that you have an ssh client installed. This should be automatic on any Linux or Mac installation. Under Windows, you'll likely need Cygwin to get the combination of ssh and git.

Once you have SSH and git installed, you'll also need to generate a private/public key pair. There's a nice tutorial on Github that explains how to do this.

Finally, in order to confirm agreement with our EULA, we'll need you to:

Once this is done, you'll receive a confirmation e-mail when we've configured the private server(s) with your credentials.

This is a hassle, but having this infrastructure in place will allow us to share code for a number of restricted packages, and we help it enables you to get your products to market faster.