Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-11-16 16:37:40 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-11-16 16:37:40 (GMT)
commit9b1fdcfc768a982b59301b414ce27a6cfb7a6031 (patch)
tree2de6d916c26446f2b3e5afbe67b2f96e7a982136
Initial commit
-rw-r--r--Makefile5
-rw-r--r--build.rst149
-rw-r--r--conf.py6
-rw-r--r--index.rst9
4 files changed, 169 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..229e330
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,5 @@
+build:
+ sphinx-build -b html . build
+
+clean:
+ rm -rf build
diff --git a/build.rst b/build.rst
new file mode 100644
index 0000000..f636eba
--- /dev/null
+++ b/build.rst
@@ -0,0 +1,149 @@
+Building from sources
+=====================
+
+Getting started
+---------------
+
+Sugar is made of several modules and it often depends on libraries which has not
+yet been packaged in linux distributions. To make it easier for developers to
+build from sources, we developed a set of scripts that automates builds and
+other common development tasks.
+
+First of all clone the sugar-build git repository and enter the main directory::
+
+ git clone git://git.sugarlabs.org/sugar-build/sugar-build
+ cd sugar-buil
+
+Then build the source code, it may take some time::
+
+ make build
+
+Finally run it::
+
+ make run
+
+If anything goes wrong, you can check if there are known problems with the
+source code, by looking at the
+`buildbot status <http://buildbot.sugarlabs.org/waterfall>`_. If it's red
+than something is wrong and hopefully developers will fix it soon. If it's
+green than the issue is probably unknown and you should report it. You can
+generate useful debug information with::
+
+ make bug-report
+
+Developing
+----------
+
+All the sources are inside the sugar-build/source directory. You can make
+changes using any text editor. When you are done you need to install the
+changes. Enter the shell and the build directory of the module you modified,
+for example::
+
+ make shell
+ cd build/sugar
+
+Install your changes::
+
+ make install
+
+If you made changes to an activity you can just restart it. If you made
+changes to the system, you need to restart sugar. Shut it down and as before::
+
+ make run
+
+Installing takes a bit of time and doing it for every change is annoying.
+There is a shortcut, which is currently limited to python files of system
+modules (it will be extended to activities soon). In a separate terminal::
+
+ make auto-install
+
+Now whenever you make changes to the source files, they will be immediately
+installed.
+
+Commands reference
+------------------
+
+The commands can be run as make arguments::
+
+ make build
+ make run
+
+Or inside a shell::
+
+ make shell
+
+ [sugar-build $] build
+ [sugar-build $] run
+
+The following commands are available
+
+auto-install
+ Automatically install source files whenever they change.
+ Currently limited to python files of system modules.
+
+check-system
+ Check that all the necessary dependencies are installed in your system.
+
+build
+ Build the source code.
+
+run
+ Run sugar.
+
+run-command
+ Run a custom command inside the build environment.
+
+test
+ Run the UI tests.
+
+bug-report
+ Generate a bug report.
+
+clean
+ Delete the build artifacts.
+
+shell
+ Open a shell inside the build environment.
+
+send-patches
+ Send the modifications you made as patches, for review and integration
+ into the official repository. This command must be run inside the shell
+ and from the source directory of the module you modified. Changes must
+ have been committed.
+
+Preferences
+-----------
+
+You can set a few options by creating sugar-build/prefs. For example::
+
+ OUTPUT=HDMI1
+ RESOLUTION=1024x768
+
+The following options are available
+
+RESOLUTION
+
+ Specify the screen resolution in the form widthxheight. Note that
+ the resolution needs to be in the list of available modes, as
+ displayed by xrandr command.
+
+OUTPUT
+
+ Sugar does not run properly on multiple video outputs, so we need to
+ select one and turn off the others. By default we select the first
+ output listed by RandR. You can set this variable to override that
+ with any other of the connected outputs reported by xrandr command,
+ for example VGA1 if you have an external monitor.
+
+PROFILE
+
+ Sugar supports multiple profiles, so that you can run multiple
+ instances with the same user. You can specify the name of the
+ profile with this option. A random generated one is added to
+ the prefs if you are running sugar-build under sugar.
+
+RUN_IN_WINDOW
+
+ Set this variable to any value to run Sugar inside a window rather
+ than fullscreen.
+
diff --git a/conf.py b/conf.py
new file mode 100644
index 0000000..3410f12
--- /dev/null
+++ b/conf.py
@@ -0,0 +1,6 @@
+project = "sugar"
+copyright = "2012, Daniel Narvaez"
+version = "0.1"
+
+master_doc = "index"
+html_theme = "sphinxdoc"
diff --git a/index.rst b/index.rst
new file mode 100644
index 0000000..5ecf46e
--- /dev/null
+++ b/index.rst
@@ -0,0 +1,9 @@
+Welcome to sugar documentation!
+===============================
+
+Contents:
+
+.. toctree::
+ :maxdepth: 2
+
+ build