summaryrefslogtreecommitdiffstats
path: root/README
blob: 4a350084e3ad534074fd58bd2382ea9f1c83583d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
(c) 2013-2019 Timothy Pearson, Raptor Engineering
Licensed under the GPL v2

==================================================================================

GENERAL INFORMATION

==================================================================================

This is the source repository for the hardware access portion of the uLab remote laboratory system.

The terminal services components are hosted in a separate GIT repository, available from the uLab project's home page at http://ulab.trinitydesktop.org

This repository is a hierarchical tree, separating the main components into several related groups.  The main groups are:
attic:		Old files of any type, provided for historical reasons.  These files are not required to build or use the uLab system, but may be of interest to academics who wish to know more about the origins of the uLab system.
clients:	uLab clients and client parts for any supported operating systems.  Each client part is matched with a server daemon in the "servers" top level directory.
database:	Database structure descriptors, which can be used to create the database(s) utilized by the uLab servers.
documentation:	Various files providing developer-facing documentation for the uLab system internals.  User-facing documentation also included in a subdirectory of this directory.
fpga:		FPGA-specific files, utilities, and programming software.  This includes the hardware debug module required for FPGA viewer operation, and the various software components utilized by the FPGA Programmer daemon.
lib:		Libraries providing core uLab functionality.  These libraries are utilized by most uLab software, including both servers and clients.
servers:	uLab server daemons for any supported operating systems.  Each server daemon is matched with a client part in the "clients" top level directory.

==================================================================================

OBTAINING THE SOURCE CODE

==================================================================================

The uLab repository makes extensive use of GIT submodules, therefore obtaining a complete copy of the uLab source tree is slightly more complicated than a traditional 'git clone'.  At minimum, you will need to execute:

git clone http://scm.trinitydesktop.org/scm/git/remotelaboratory
cd remotelaboratory
git submodule init
git submodule update

==================================================================================

BUILDING

==================================================================================

The uLab system shares much of its build infrastructure with the Trinity Desktop project; therefore, if you are familiar with building TDE packages with Autotools you may skip this section and proceed as you would with a TDE module.

At minimum, you will need to execute the following commands within each uLab component source tree:

cp -Rp <path to your system's libtool.m4 file> admin/libtool.m4.in
cp -Rp <path to your system's ltmain.sh file> admin/ltmain.sh
make -f admin/Makefile.common
./configure
make
make install

==================================================================================

REPORTING BUGS AND SUBMITTING PATCHES

==================================================================================

Bugs should be entered into the Trinity Desktop Environment's bugtracker at http://bugs.trinitydesktop.org, filed against the uLab software product.

Patches should be entered into the bugtracker as well; if the patch is an enhancement, open an enhancement request bug report detailing why the new feature(s) should be included in the master source and attach the patch to the new bug report.