Added by Paul Cutler, last edited by Jesse Zhang on Jul 25, 2010  (view change) show comment

Labels:

packages packages Delete
conary conary Delete
release2 release2 Delete
foresight foresight Delete
recipe recipe Delete
enviroment enviroment Delete
developer developer Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
Conary terminology
Refer to Conary terminology for details on conary.

Prerequisites

Developing for Foresight Linux is best done on an x86-64 install, because we must build and provide both x86 and x86_64 packages.

Register an rBuilder Online account

Go to rBuilder Online and create a new account.

In the following example, we will assume there is a packager named John Doe whose username is jdoe.

Setup Foresight Linux development contexts

The fl:2-devel context is needed for committing to foresight official repository.

Here is an explanation of conary context.

Install the context

The fl:2-devel context is contained in the foresight-contexts package. It is maintained by foresight developers. Install it with:

sudo conary update foresight-contexts=/foresight.rpath.org@fl:2-devel

NOTE: While we strive to keep an up-to-date package of foresight-contexts, you can always check out the latest development contexts from the Mercurial repository at http://hg.foresightlinux.org/hg/foresight-devel-contexts/

Set up Conary for fl:2-devel

Create and edit your ~/.conaryrc:

~/.conaryrc

name John Doe
contact john.doe@mail.com
user *.rpath.org jdoe jdoespasswordhere

showLabels True # always show full version string

includeConfigFile /etc/foresight/development/conary.conf

Set up rMake for fl:2-devel

Create and edit your ~/.rmakerc file:

~/.rmakerc

strictMode True # not copy host configuration into the chroot

includeConfigFile /etc/foresight/development/rmake.conf

Set up working area

mkdir -p ~/conary/foresight.rpath.org
cd ~/conary/foresight.rpath.org
cvc context fl:2-devel

This will put into effect all of the options in the fl:2-devel context when commands are run from that directory. As an example, any packages you checkout (cvc checkout <package>) will automatically be set with the fl:2-devel context.

(Optional) Personal repository

If you want to commit to a personal repository, setup a personal repository. And here is what your .conaryrc and .rmakerc would look like.

Switching to QA or devel branch

This step is optional but recommended for most people.

Details: There is some difference between rmake (official foresight packages are all built with rmake) and cvc; rmake builds in a chroot and against fl:2-devel packages, but cvc builds against the host system. So if you use cvc to cook packages (most people do), switching to QA or devel branch can provide a more similar environment to that used by rmake, which is good for your developing and testing.

You are recommended to switch to the QA branch of Foresight (which is quite stable). Or if you are sure, you can switch to devel branch of Foresight 2.x.

Install Development Packages

This step is optional but recommended for most people. But note it is a big download.

Details: If you will use cvc to cook packages (most people do), you need to install the devel components of various libraries in order to compile things.

Choose the command below that matches the desktop that you are using (if in doubt, use the first one).

sudo conary update --config 'excludeTroves []' group-gnome-dist-devel # for GNOME edition
sudo conary update --config 'excludeTroves []' group-kde-dist-devel   # for KDE edition
sudo conary update --config 'excludeTroves []' group-xfce-dist-devel  # for XFCE edition

So how can one add to the .conaryrc and .rmakerc files to allow for packages to be placed in their person repository? And what would the recommended directory structure look like including the setting of the context?

I added some text to the commands to help show how to set up the build env for a personal repo.

It should be specified that to create a personal repository, one has to create a "Product" on rBuilder. I have been looking everywhere for "Create Repository" for quite a while before I desperately clicked on "creating a new product"...

Posted by Anonymous at Jul 05, 2008 18:22 Updated by Alexandre Franke | Reply To This

TODO:

Need to add info how to make another context on a folder to build like svn versions. If you build stable and unstable of something.

There is no need to 'mkdir ~/conary/builds/ ~/conary/cache', as they will be created by conary silently.