Project:Overlays/Old Dev Guide

From Gentoo Wiki
Jump to: navigation, search
Warning
This document is kept only for historical purposes. The current guide is maintained as Project:Overlays/Overlays guide.

This guide helps developers and contributors understand how to use the Gentoo Overlays service.

Introduction

Audience

This document has been written for Gentoo developers and users that want to contribute. If you just want to start downloading and using overlays, please see the Gentoo Overlays User Guide instead.

Who can use overlays.gentoo.org?

Any Gentoo project, Gentoo developer, or Gentoo user can have their own overlay hosted on *.overlays.gentoo.org, with the RSS feed from the changelog included on the overlays.gentoo.org planet .

Any User can download and use the contents of any hosted overlay. If you choose, you can also give users write access to your overlay.

What does overlays.gentoo.org give me?

The *.overlays.gentoo.org service currently provides:

  • Trac : a wiki with integrated subversion browser), for quickly creating and maintaining documentation about your Subversion based overlay
  • Publishing the changelog for your overlay on the o.g.o homepage , so that everyone who's interested can see what's going on
  • Gitweb : provides full-fledged web interface for viewing Git repositories.

... all hosted on secure, backed-up Gentoo infrastructure, administered by the Gentoo Infrastructure team (hardware / base OS) and the Gentoo Overlays team (wiki / VCS / ACLs).

Each overlay has separate authentication lists for Trac, Subversion and Git. It's no problem at all to give someone write access to just Trac (e.g. for writing documentation) without giving them write access to Subversion.

Why should we use overlays.gentoo.org?

You don't have to. You don't have to have an overlay at all, and if you do have one, you are absolutely free to host your own overlay somewhere else. You don't have to host an overlay on o.g.o for it to be considered "official".

The advantage of using overlays.gentoo.org is that we already have everything setup for you. You don't need to admin your own server, or worry about software upgrades. We take care of all of that for you.

When Should We Not Use overlays.gentoo.org?

The purpose of o.g.o is to help bridge the gap between developers and users. Gentoo is a community-based distribution, and we believe that our users are just as important a part of that community as developers are.

All of the overlays hosted on o.g.o are there for all users to download and use. It's for users to make their own decision about what software they install on their computers - and that includes choosing to use your overlay. Some users will make bad decisions, and end up breaking their computer. They may even end up blaming Gentoo as a result. That's okay; these people probably go around blaming everyone but themselves for their own mistakes anyway, and there's probably nothing you can do to change that. But that still doesn't give any of us the right to choose for them.

Users are free (in fact, they are encouraged) to provide constructive feedback about anything to do with Gentoo - including all of the overlays hosted on o.g.o. That feedback can come via bugs.g.o, via email to your project team or directly to you, via the forums, or via IRC. We're not talking about genuinely abusive users; we have no time for those, and no-one expects you to have any time for them either.

Warning
If you're not happy with users using your overlay, and / or if you don't want users bothering you about your overlay, then don't use o.g.o to host your overlay, or remove your overlay from the overlays list (repositories.xml).

o.g.o used to have restrictions of not being the $UPSTREAM for packages. This restriction has been adjusted. We do offer hosting as the $UPSTREAM now, but only for packages that are Gentoo-specific or important to the running of Gentoo. Other hosting may be more suitable, some services in this vein are: SourceForge.net , Berlios , Patrick's GentooExperimental.org , GitHub or Gitorious .

Requesting an overlay

Introduction

There are three types of overlays: "project" overlays, "developer" overlays and "user" overlays. The only difference between them is responsibility and accountability.

Important
Before requesting an overlay, please make sure that you have read our Policy Document. It clearly sets out what's allowed and what is not, and what your responsibilities will be.

Project overlays

"Project" overlays are overlays for official Gentoo projects. An example is the Perl Overlay.

An official Gentoo project is a project that has a project page on www.gentoo.org, and that has an elected lead. (This definition comes from the metastructure document). The project lead(s) are responsible for the project overlay, including its contents, and any problems it causes other Gentoo projects and developers.

To request a Git project overlay, file a bug requesting the overlay.

For a Git request, we will:

  • Create your overlay (git, cgit).
  • Add your overlay to the official repository list (and overlays.g.o homepage).
  • Create a git.g.o account for you if you don't already have one.
  • Give you write access to your overlay's Git repository.
  • Give write access to all project members who already have an o.g.o account.

Developer overlays

"Developer" overlays are overlays owned by individual Gentoo developers. One example is beandog's overlay .

If you have an @gentoo.org email address, and you've passed the ebuild quiz, then you can have your own developer overlay on o.g.o.

To request a Git developer overlay, just visit the git.overlays site, and follow the setup instructions, emailing the completed template as directed.

For an Git request, we will:

  • Create your overlay (git, cgit).
  • Add your overlay to the official repository list (and overlays.g.o homepage).
  • Create a git.g.o account for you if you don't already have one.
  • Give you write access to your overlay's Git repository.

A word about accounts

Because o.g.o is designed to support a blend of both Gentoo developers and Gentoo users, we don't create 'real' system-level accounts on the o.g.o host.

Important
You do *not* have SSH access to o.g.o.

Working with your overlay

Introduction

You can access your overlay as soon as it has been created. Project and developer overlays have different URLs, so that everyone can tell one from the other, but otherwise they are identical in every way.

There are *no* read restrictions on overlays or wikis. Everyone has full read access to all overlays and wikis. If you need a 'secret' overlay of some kind, then o.g.o is not for you.

Using git on overlays

Initializing your overlay

Before uploading you need to locally create a git repository and add all items:

CODE go to your overlay
cd ~/my-overlay
CODE create a new git repo
git init
git add .
git commit -m "populate overlay"

Note that this commit was only locally, now we get the server into the game.

CODE tell git the url
git remote add origin git+ssh://git@git.gentoo.org/(proj or dev)/(name)
CODE finally get it up there
git push origin master

Source: http://www.kernel.org/pub/software/scm/git/docs/tutorial.html

Checking out the overlay with git

CODE clone it!
git clone git://git@git.gentoo.org/(proj or dev)/(name)/

Giving Access To Your Overlay To Others

Introduction

One of the key features of o.g.o is that people who do not have write access to the Gentoo Portage package tree can have write access to one or more overlays. Several Gentoo projects have found that this is a great way to train and evaluate potential Gentoo developers in a safe environment.

Project overlays: Giving write access to team members

Any developer listed on a team's project page on www.g.o can have write access to the team's overlay. The project lead can ask on their behalf, or the developer can come and ask for access themselves.

If the developer doesn't have an o.g.o account yet, he/she will need to open a bug at Gentoo's bugzilla so that we can create an account for them.

Project overlays: Giving write access to other Gentoo developers

Any Gentoo developer *not* listed on a team's project page on www.g.o can have write access to the team's overlay. The request for write access must come from a member of the team. It doesn't have to come from the project lead.

If the developer doesn't have an o.g.o account yet, he/she will need to open a bug at Gentoo's bugzilla so that we can create an account for them.

Project overlays: Giving write access to Gentoo users

Any Gentoo user can have write access to the team's overlay. The request for write access must come from one of the project's leads. You can request that we give the user write access to Trac, to Subversion, or to both. (We will assume that the request is for write access to both, unless you say otherwise).

We cannot accept these requests from anyone other than a project lead. If your project only has the one lead, we recommend electing a second lead. If your one and only lead is AWOL, consider electing a replacement :)

If the user doesn't have an o.g.o account yet, he/she will need to open a bug at Gentoo's bugzilla so that we can create an account for them.

Developer overlays: Giving write access to Gentoo developers

Any Gentoo developer can have write access to your developer overlay. The developer can ask us directly; we will not give access until we've checked with you. You can also ask us to give write access to any named developer.

If the developer doesn't have an o.g.o account yet, he/she will need to open a bug at Gentoo's bugzilla so that we can create an account for them.

Developer overlays: Giving write access to Gentoo users

Any Gentoo user can have write access to your developer's overlay. The request for write access must come from you. You can request that we give the user write access just to Trac, just to Subversion, or to both. (We will assume that the request is for write access to both unless you say otherwise).

We cannot accept these requests from anyone else other than you. If you find yourself giving access to a lot of other people, it might be that you should consider setting up a new project, and transferring your work there instead.

If the user doesn't have an o.g.o account yet, he/she will need to open a bug at Gentoo's bugzilla so that we can create an account for them.

Accessing someone else's overlay

Using an overlay

Everyone has full read access to every overlay. We recommend that you use

CODE Install layman
emerge layman
echo 'source /var/lib/layman/layman.conf' >> /etc/make.conf
Note
Layman will create "/var/lib/layman/make.conf" once you add your first overlay. But if you do not plan to install an overlay immediately you should ensure that this file actually exists and contains the empty variable "PORTDIR_OVERLAY". Otherwise portage will complain. You can run "echo PORTDIR_OVERLAY= > /var/lib/layman/make.conf" in order to have the file created correctly.

After that, to view the list of overlays, use

CODE List overlays that layman knows about
layman -L

To install an overlay, use

CODE Install an overlay
layman -a <overlay-name>

You can now install packages from the overlay.

Requesting write access

If you want write access to a project overlay, contact a member of the project team, and ask them for access. If they approve your request, they will arrange for you to have write access, by contacting the Overlays team.

If you want write access to a developer's overlay, contact the developer directly, and ask them for access. If they approve your request, they will arrange for you to have write access, by contacting the Overlays team.

Frequently asked questions

overlays.gentoo.org administration

  • Q: How do I contact the o.g.o admin staff?
  • A: You can pop into #gentoo-overlays on IRC, and talk to us there. The current staff are mostly in European timezones.
  • A: You can send an email to overlays@gentoo.org. Someone will answer you as soon as possible.
  • Q: Why can't I edit the access control list directly?
  • A: (Git) The access control list currently lives in the gitolite-admin repository, which is writable only by the o.g.o staff.

Security

  • Q: Is my overlay available via https?
  • A: Yes, it is.

Multiple overlays

  • Q: Can I have multiple overlays?
  • A: Yes, in a fashion. Inside your overlay, you can create sub-directories, and put separate package trees inside those sub-directories. Please take a look at the PHP project overlay for an example.

"Official" overlays

  • Q: When is an overlay considered "official"?
  • A: An "official" overlay is an overlay managed by a Gentoo project (for project overlays) or a Gentoo developer (for developer overlays).
  • Q: Does an overlay have to be on o.g.o to be "official"?
  • A: No.

This article is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Stuart Herbert, Markus Ullmann, Robin H. Johnson, and Theo Chatzimichos
They are listed here as the Wiki history does not allow for any external attribution. If you edit the Wiki article, please do not add yourself here; your contributions are recorded on the history page.