From 129e3f3f881794e8d0ac382579d78e1e4e7acc39 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Mon, 18 Sep 2023 10:36:50 +0200
Subject: [PATCH] doc: dev: Add abstract.

---
 doc/dev/documentation.org | 58 +++++++++++++++++++++++++++++++++++----
 doc/tools/PamhyrDoc.cls   |  1 +
 2 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/doc/dev/documentation.org b/doc/dev/documentation.org
index 4d2b58a2..5df82310 100644
--- a/doc/dev/documentation.org
+++ b/doc/dev/documentation.org
@@ -28,8 +28,15 @@
 #+OPTIONS: toc:t
 #+LANGUAGE: UKenglish
 
-#+BEGIN_ABSTRACT
-#+END_ABSTRACT
+#+BEGIN_abstract
+This document is for the use of developers. It describes the project
+architecture, the tools available to assist development and
+debugging. It also describes the procedures for creating packages and
+the configurations required to set up the gitlab runners. Finally,
+this document explains how documentation is written and modified, and
+how to contribute to the project by modifying, improving or adding
+documentation, translations or code.
+#+END_abstract
 
 * Introduction
 
@@ -59,9 +66,50 @@ https://doc.qt.io/qt-5/model-view-programming.html (last access
 ** TODO Unit tests
 ** TODO The debug mode
 * TODO Build the project
-** TODO Building packages
-*** TODO Linux
-*** TODO Windows
+
+The project uses gitlab-ci runners to build packages, but it is possible
+to build packages manually.
+
+** Building packages
+
+If you need an hand made package, you can script available in
+{{{file(packages)}}} directory.
+
+*** GNU/Linux
+
+On GNU/Linux building GNU/Linux packages is easy, you just need python
+in version 3.8 must be installed with venv and pyinstaller packages
+(see Listing [[linux-env-deb]] for Debian and derived system). Finally,
+run the {{{file(linux.sh)}}} script (see Listing [[linux-pkg]]).
+
+#+NAME: linux-env-deb
+#+CAPTION: Install environment on GNU/Linux
+#+begin_src shell
+sudo apt install python3.8
+python3 -m pip install venv
+python3 -m pip install pyinstaller
+#+end_src
+
+#+NAME: linux-pkg
+#+CAPTION: Build GNU/Linux package
+#+begin_src shell
+cd packages
+./linux.sh
+#+end_src
+
+*** Windows
+
+To make the Windows packages you have two choice: If you use Windows
+you can use the script {{{file(packages/windows.bat)}}}, other else
+you can use the script {{{file(packages/wine.sh)}}}. Each script need
+a specific software environment.
+
+On windows, you needs python on version 3.8, pyinstaller and
+NSIS[fn:nsis] installed. On GNU/Linux you need wget, wine and
+winetricks installed.
+
+[fn:nsis] The NSIS web site: https://sourceforge.net/projects/nsis/
+
 ** TODO Setup the CI environment
 * Documentation files
 
diff --git a/doc/tools/PamhyrDoc.cls b/doc/tools/PamhyrDoc.cls
index 5d63b4b4..3e50140f 100644
--- a/doc/tools/PamhyrDoc.cls
+++ b/doc/tools/PamhyrDoc.cls
@@ -96,6 +96,7 @@
       }\\
       \vspace{0.3cm}
       %%\rule{\textwidth}{0.4pt}
+      %%\newpage
     }
 }
 
-- 
GitLab