DOC: slightly shorten and re-structure the "Contributing" tutorial

- prefer lower headline levels, more structuring
- turn some headlines into bullet lists
- cross-link to the "Building Lumiera" tutorial
This commit is contained in:
Fischlurch 2013-10-27 08:41:40 +01:00
parent a2c27dbcaa
commit 39230436a3
4 changed files with 67 additions and 77 deletions

View file

@ -24,7 +24,7 @@ This proposal stems from an discussion on the Mailinglist starting with the
quote from Walter Murch "Marble and Clay". quote from Walter Murch "Marble and Clay".
+ +
It is thought to be in support and to complement nasa's It is thought to be in support and to complement nasa's
[wiki:self:../DelectusShotEvaluator Delectus Shot Evaluator] link:DelectusShotEvaluator.html[Delectus Shot Evaluator]
The central Idea is to remove the difference between "viewing", i.e. the media The central Idea is to remove the difference between "viewing", i.e. the media
viewer and the timeline/Sequence on the other hand. Lumiera is designed to viewer and the timeline/Sequence on the other hand. Lumiera is designed to

View file

@ -1,7 +1,6 @@
Documentation Documentation
============= =============
// Menu : append child 'doxy'
This documentation section contains documentation for both users and developers. This documentation section contains documentation for both users and developers.

View file

@ -48,9 +48,9 @@ libraries to link against. These packages are ususally named `-devel` or `-dev`.
For Debian based systems, e.g. Ubuntu, you can install these packages as follows: For Debian based systems, e.g. Ubuntu, you can install these packages as follows:
------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------
sudo apt-get install build-essential autoconf scons valgrind libtool git-core \ sudo apt-get install build-essential scons git-core valgrind intltool \
libboost-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev \ libboost-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev \
libgavl-dev libgdl-1-dev libgtkmm-2.4-dev librsvg2-dev libxv-dev libgavl-dev libgtkmm-2.4-dev librsvg2-dev libxv-dev
------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------
Optionally, you may also want to install the *gtk2-engines* package. Optionally, you may also want to install the *gtk2-engines* package.

View file

@ -2,54 +2,57 @@ Contributing to Lumiera
======================= =======================
:Author: Benny <Benny.Lyons@gmx.net> :Author: Benny <Benny.Lyons@gmx.net>
:Date: Oct 2013 :Date: Oct 2013
:toc:
Introduction
------------
This document is aimed at helping newcomers to contribute quickly to the This document is aimed at helping newcomers to contribute quickly to the
project. project.
There are two major obstacles faced by people new to Lumiera: There are two major obstacles faced by people new to Lumiera:
- _how_ can I contribute to Lumiera - _how_ can I contribute to Lumiera
- _where_, i.e., in which areas of Lumiera, can I contribute - _where_ can I contribute, i.e., in which areas of Lumiera.
Git plays a fundamental role in Lumiera. It features as one of the main Git plays a fundamental role in Lumiera. It features as one of the main
methods in making contributions to Lumiera. For this reason we provide a methods in making contributions to Lumiera. For this reason we provide a
short Lumiera specific introduction on Git. This is less of a Git introduction, short Lumiera specific introduction on Git. This is less of a Git introduction,
and more of how-to-obtain Lumiera code and publish your changes to the Lumiera and more of how-to-obtain Lumiera code and publish your changes to the Lumiera
community. While Git is not the only means of making your contributions community. While Git is not the only means of making your contributions
avialable to the project, it is the method of choice if you were to become more available to the project, it is the method of choice if you were to become more
involved in the project. Of course, cou may also post your work to the involved in the project. Of course, you may also post your work to the
Lumiera mailing list, or simply ask one of the regular developers. Lumiera mailing list, or simply ask one of the regular developers.
Lumiera is an ambituous project. While many areas of the project are involved and Lumiera is an ambitious project. While many areas of the project are involved and
require considerable experience, some sections require less experience whereas require considerable experience, some sections require less experience whereas
certain aspects might be ideal to new programmers. Thus we attempt here to certain aspects might be ideal to new programmers. Thus we attempt here to
describe a number of areas in the project to assist you in selecting an area in describe a number of areas in the project to assist you in selecting an area in
which you might like to make a contribution. which you might like to make a contribution.
Of course, you are more than welcome--and even encouraged--to select other areas Of course, you are more than welcome--and even encouraged--to select other areas
in Lumiera toawards which you would like to contribute. in Lumiera towards which you would like to contribute.
How to contribute to Lumiera
----------------------------
Git: Essentials for Lumiera Git: Essentials for Lumiera
--------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
All files in the Lumiera project are managed by *Git*. Although Git was All files in the Lumiera project are managed by *Git*, the distributed sourcecode
primarily brought to life to manage source code, it plays a fundamental role in management software. Although Git was primarily brought to life to manage source
the Lumiera project. It is central to communication and contribution in the code, it plays a fundamental role in the Lumiera project. It is central to
project. If you'd like to contribute to Lumiera, you will have to acquire some communication and contribution in the project. If you'd like to contribute to
understanding of Git at some stage or other. Please note, this is not the only Lumiera, you will have to acquire some understanding of Git at some stage or
way to contribute to Lumiera, you can always send direct contributions to the other. Please note, this is not the only way to contribute to Lumiera, you can
mailing list. always send direct contributions to the mailing list.
The Lumiera project uses an infrastructure based on *Git*, the distibuted The Lumiera project uses an infrastructure based on Git. This deliberately
sourcecode management software. This deliberately places the barrier for places the barrier for contributing very low: Everyone works on his own
contributing very low: No formal ``commit permission'' is necessary; you can repository, no formal ``commit permission'' is necessary; you can start
start right away and present your first results to the _mob repository_. right away and present your first results to the _mob repository_.
One very useful place to begin with using Git is the following: First steps with Git
link:http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html[basic Git tutorial at Kernel.org]. ^^^^^^^^^^^^^^^^^^^^
One very useful place to begin with learning Git is the
link:http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html[basic Git tutorial at Kernel.org]. +
For more specific questions, you might consulte a link:http://gitref.org/[Git reference] For more specific questions, you might consulte a link:http://gitref.org/[Git reference]
In the following, we assume you have set up Git on your system. If you are In the following, we assume you have set up Git on your system. If you are
@ -57,7 +60,7 @@ experiencing problems with Git, just ask the Lumiera community.
Letting People Know Who You Are Letting People Know Who You Are
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------------ ------------------------------------------------------------
$ git config --global user.name "Your Name Comes Here" $ git config --global user.name "Your Name Comes Here"
@ -65,32 +68,40 @@ $ git config --global user.email you@yourdomain.example.com
------------------------------------------------------------ ------------------------------------------------------------
Obtaining Lumiera Code Obtaining Lumiera Code
~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------------ ------------------------------------------------------------
$ git clone git://git.lumiera.org/LUMIERA $ git clone git://git.lumiera.org/LUMIERA
------------------------------------------------------------ ------------------------------------------------------------
If everything goes ok, you should have the Lumiera source code. However, you do If everything goes ok, you should have the Lumiera source code. So the next step
not have enough code to build as there are some external packages missing that will be to learn how to build Lumiera from source code. Please refer to the
are required to build Lumiera. link:building.html[building-Lumiera tutorial] for a more in-depth description
of the necessary steps. The next section gives a brief summary of this process.
Obtaining Packages Required by Lumiera
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Build Lumiera from source
~~~~~~~~~~~~~~~~~~~~~~~~~
Apart from the Lumiera source code, you'll require additional packages to build Apart from the Lumiera source code, you'll require additional packages to build
Lumiera. These additional packages are of two kinds: Lumiera. These additional packages are of two kinds:
- Packages not normally part of your distribution Packages normally available with your distribution::
- Packages normally available with your distrubtion for a Debian based system (including Mint, Ubuntu and similar flavours),
you should be able to install the necessary dependencies with the command
+
------------------------------------------------------------
sudo apt-get install build-essential scons git-core valgrind intltool \
libboost-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev \
libgavl-dev libgtkmm-2.4-dev librsvg2-dev libxv-dev
------------------------------------------------------------
Packages not normally part of your distribution::
there are two packages most likely not available with your operating system
distribution, so you'll need to obtain the source code for these packages
and compile them yourself:
There are two packages most likely not available with your operating system - *NoBug* -- a diagnostics library
distribution, so you'll need to obtain the source code for these packages and +
compile: +NoBug+ and +Gdl+.
NoBug
^^^^^
------------------------------------------------------------ ------------------------------------------------------------
git clone git://git.pipapo.org/nobug git clone git://git.pipapo.org/nobug
cd nobug cd nobug
@ -100,9 +111,8 @@ mkdir build && cd build
make make
sudo make install sudo make install
------------------------------------------------------------ ------------------------------------------------------------
- *GDL* -- a window docking library
Gdl +
^^^
------------------------------------------------------------ ------------------------------------------------------------
git clone git://git.lumiera.org/gdl-package git clone git://git.lumiera.org/gdl-package
cd gdl-package cd gdl-package
@ -111,43 +121,23 @@ make
sudo make install sudo make install
------------------------------------------------------------ ------------------------------------------------------------
Additional Packages Start the Lumiera build process::
^^^^^^^^^^^^^^^^^^^
We'll describe obtaining the following packages for Debian, for other Linux
distributions, please refer to our mailing list.
------------------------------------------------------------
sudo apt-get install build-essential autoconf scons valgrind libtool git-core \
libboost-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev \
libgavl-dev libgdl-1-dev libgtkmm-2.4-dev librsvg2-dev libxv-dev
------------------------------------------------------------
Please refer to the
link:building.html[building-lumiera tutorial] on how to obtain all packages to
build Lumiera.
Building Lumiera
~~~~~~~~~~~~~~~~
------------------------------------------------------------ ------------------------------------------------------------
cd LUMIERA cd LUMIERA
scons scons
------------------------------------------------------------ ------------------------------------------------------------
If Lumiera is built correctly on your system, you should be able to shoot up If Lumiera is built correctly on your system, you should be able to shoot up
the Lumiera GUI. the Lumiera GUI with the command
------------------------------------------------------------ ------------------------------------------------------------
cd target target/lumiera
lumiera
------------------------------------------------------------ ------------------------------------------------------------
Congratulations! Now we can move on to making contributions. Congratulations! Now we can move on to making contributions.
Contributing Your Efforts to the Lumiera Community
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Contribute your efforts to the Lumiera community
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
So you are ready to go. So you are ready to go.
@ -186,7 +176,7 @@ Git to use emacs:
$ git config --global core.editor emacs $ git config --global core.editor emacs
------------------------------------------------------------ ------------------------------------------------------------
Then while commiting, do not use the +-m+ option. Your editor will appear, Then while committing, do not use the +-m+ option. Your editor will appear,
after you issue the +git commit+ command, and prompt you to enter your comments. after you issue the +git commit+ command, and prompt you to enter your comments.
Enter, as your first line, a one line summary of less than 60 characters in Enter, as your first line, a one line summary of less than 60 characters in
length (some applications use this line for various purposes and longer entries length (some applications use this line for various purposes and longer entries
@ -197,13 +187,13 @@ changes.
Publishing Your Contribution Publishing Your Contribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
So all changes made up to now have been local to your own working environment. So all changes made up to now have been local to your own working environment.
The next thing to do is to make your work available to the Lumiera community. The next thing to do is to make your work available to the Lumiera community.
Check that you didn't break anything, by running the testsuite. Check that you didn't break anything, by running the testsuite.
Finally you can +push+ your changes to the Lumiera server on the 'mob' Finally you can *push* your changes to the Lumiera server on the 'mob'
repository: repository:
------------------------------------------------------------ ------------------------------------------------------------
@ -213,8 +203,9 @@ $ git push git://git.lumiera.org/lumiera/mob master:refs/heads/YOURNAME
This creates a new branch +YOURNAME+ on the mob repository. This creates a new branch +YOURNAME+ on the mob repository.
Check that indeed your changes are public by visiting Check that indeed your changes are public by visiting
link:http://Lumiera.org/gitweb[the Git-Web]. The lumiera/mob link:http://Lumiera.org/gitweb[the Git-Web]: +
repository should indicate [green]#right now# as its ``Last Change'' entry. The lumiera/mob repository should indicate
[green]#right now# as its ``Last Change'' entry.
Thereafter, notify the other developers on the mailing list and they may examine Thereafter, notify the other developers on the mailing list and they may examine
your code into the main project line. your code into the main project line.