11

In our college, we have mirrors of most new Ubuntu distros to save update costs. We would like to add rabbitvcs to the computers, but is available through a PPA and not the official repo. So can a PPA be added to a (private) mirror of the ubuntu repo?

PS: I would like to hear on both the technical and legal issues involved.

htorque
  • 63,950
  • 40
  • 194
  • 219
apoorv020
  • 1,004
  • 2
  • 10
  • 17
  • 1
    As far as the legal issue goes, Launchpad's [PPA terms of use](https://help.launchpad.net/PPATermsofUse) require that packages are distributed under a licence that is either [OSI Approved](http://opensource.org/licenses/category), [FSF Approved](http://www.fsf.org/licensing/licenses/), or [DFSG Compliant](http://www.debian.org/social_contract#guidelines). So redistribution is fine. There should be no issue there. – andrewsomething Feb 26 '11 at 05:27
  • You mirror the PPA exactly the same way you mirror the main repo. – psusi Feb 26 '11 at 16:43
  • Which way are you talking about here? `rsync`? – apoorv020 Feb 26 '11 at 17:08
  • @apoorv020 whatever way you use for the main repository. A repo is a repo. – psusi Feb 26 '11 at 22:47

3 Answers3

13

I am successfully using apt-mirror to mirror PPAs.

Simply add lines like:

deb http://ppa.launchpad.net/byobu/ppa/ubuntu precise main
deb-src http://ppa.launchpad.net/byobu/ppa/ubuntu precise main

To /etc/apt/mirror.list.

And then run sudo apt-mirror.

Dustin Kirkland
  • 14,458
  • 3
  • 69
  • 93
6

Official repo is a repo, PPA is a repo and you cannot add a repo to a repo.

The best way would be to ask everyone to add your repo in their Ubuntu installation. This way it can be pretty useful. You can mirror that repo too, such that you upload the package to the PPA, it gets mirrored in the college servers and is then available as update to everyone.

Manish Sinha
  • 11,475
  • 2
  • 47
  • 63
3

I just spent some time doing this for OpenCPU. If all you have is the line for adding the PPA, you have to change the colon to a peroid and add launchpad.net to it.

Example, this is the PPA installation line:

add-apt-repository -y ppa:opencpu/opencpu-1.6

Inside of /etc/apt/mirror.list you would add a line like this for Ubuntu 16.04 (xenial):

deb http://ppa.launchpad.net/opencpu/opencpu-1.6/ubuntu xenial main

Then you can launch apt-mirror and it will clone the PPA. For clients to use this, you would add entries to their /etc/apt/sources.list file pointing to wherever your hosting the PPA mirror.

kelvinelove
  • 1,617
  • 1
  • 16
  • 26
Wayne Workman
  • 703
  • 1
  • 5
  • 3