FreeCalypso > hg > freecalypso-docs
annotate Install-location @ 106:28c1cb869d91
TCH-tap-modes: updates for TCH/HS
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 22 Jul 2024 22:36:29 +0000 |
parents | 12424010d7b8 |
children |
rev | line source |
---|---|
103
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 FreeCalypso software install location |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ===================================== |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 FreeCalypso queendom includes several software packages that are meant to be |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 installed on the user's general-purpose Unix/Linux host computer such as a |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 Linux PC or laptop. The principal component packages in this category are FC |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 host tools (for operating on GSM MS devices), FC SIM tools (for operating on |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 SIM cards) and FC USB-serial tools (for operating on FTDI and Silabs chips) - |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 but these listed tool packages are not the only ones. All FC software packages |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 that run on a general-purpose Unix/Linux host computer are meant to be installed |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 in one specific file system location; the present article applies to all of |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 these packages. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 The install location for all FC host software packages is fixed as |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 /opt/freecalypso - this install location is NOT changeable. The directory tree |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 that exists under /opt/freecalypso is defined by the Mother of FreeCalypso in |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 her sole authority, and it includes both FHS-style and non-FHS-style, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 FC-specific subdirectories. The following subdirectories are currently defined |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 under /opt/freecalypso: |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 (FHS-style) |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 bin All Unix/Linux host binaries are installed here. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 include Some FC host software components provide header files that are |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 intended to be used by other (later in the dependency graph) FC |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 host sw components. FC host tools rvinterf headers are |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 installed here currently, used by fc-rfcal-tools. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 lib Currently hypothetical, may be used in the future similarly to |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 include subdir. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 (non-FHS-style, FC-specific) |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 aud-* Images of /aud FFS directory subtree (audio mode config files) |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 for different supported FreeCalypso devices, either FC hardware |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 products or aftermarket configurations. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 batteries Collection of battery discharge threshold configuration files. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 buz FFS subtree with PWT buzzer melodies, to be uploaded into /buz |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 on those FC devices that feature a traditional ringing buzzer. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 charging Collection of battery charging configuration files. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 cp2102 CP2102 baud rate tables and EEPROM patch files. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 fluid Helper files for fluid-mnf port. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 ftdi FTDI EEPROM configuration files. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 gcc The recommend install location for our ARM7 gcc toolchain is |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 /opt/freecalypso/gcc. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 helpfiles Help files for those FC host utilities which implement a help |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 command. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 loadtools Hardware parameter files and init scripts which underlie the |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 all-important -h option to fc-loadtool, fc-iram and fc-xram, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 collectively known as loadtools. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 mel FFS subtree with E1 melodies, to be uploaded into /mel on those |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 FC devices that will use a voice path loudspeaker for ringing. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 rfcal This subdir only appears if you are doing RF calibration and |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 install fc-rfcal-tools, and some of the necessary config files |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 under that subdir you have to create yourself using your own RF |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 knowledge specific to your particular setup. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 scripts Command scripts for FC host tools other than fc-loadtool, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 currently for fc-fsio. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 sim-data SIM card database files for FC SIM tools. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 sim-scripts Command scripts and associated "canned" data files for |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 fc-simtool and fc-uicc-tool. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 target-bin ARM7 target binaries for Calypso GSM MS devices. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 User interaction with /opt/freecalypso file system tree |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 ======================================================= |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 The only subdirectory under /opt/freecalypso which all users need to be aware |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 of is /opt/freecalypso/bin - all executable binaries are installed there, hence |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 you need to either add this directory to your PATH or make symlinks from some |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 "standard" binary directory to ours. Most other subdirectories and files that |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 reside in them are accessed "under the hood" by tools that need them - however, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 there are times when various "canned" workflow instructions will direct you to |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 type out the path to some file or another that reside in some FC-specific |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 location somewhere in /opt/freecalypso tree. The beauty of this fixed |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 /opt/freecalypso installation directory is that as long as you follow the rules |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 and don't try to outsmart the Mother, these "canned" instructions will always |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 work on every installation, not affected by any local variations. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 Interdependencies between different FC tools |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 ============================================ |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 Many FreeCalypso host tool programs depend on other FC tool binaries, invoking |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 them behind the scenes as needed. In cases where the tool depending on other |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 FC tool binaries is itself a compiled C program, the full path under |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 /opt/freecalypso/bin is always used. The same approach is also used in the |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 case of simplest shell script wrappers - however, most higher-level FC tools |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 that are implemented as shell scripts expect their subordinate tools (binaries |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 or subordinate shell scripts) to be accessible via current PATH. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 Optional symlinks to FC tool binaries |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 ===================================== |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 Given that FreeCalypso host tool programs need to be accessible via shell |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 search path, without manually typing out the full path on each invokation, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 there are two possible solutions: |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 Option 1: add /opt/freecalypso/bin to your PATH. This option is ideal for |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 those who use FC host tools heavily and regularly, on machines where such heavy |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 and regular usage takes place. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 Option 2: make symbolic links from some "standard" binary install location |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 (e.g., /usr/bin or /usr/local/bin) to /opt/freecalypso/bin for each installed |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 FC host tool program (binary or installed shell script). This option should be |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 preferred for installations where only some FreeCalypso utilities are expected |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 to be used, and only rarely/occasionally - or where the desire is to make the |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 utilities appear "ordinary", without making the user enter FC queendom |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 explicitly by adding /opt/freecalypso/bin to their PATH. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 To make it easier to automate Option 2, new versions of FC host sw component |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 packages include a file in the source distribution named Installed-binaries. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 This file lists, one per line, the names of all binaries (or shell scripts) |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 installed by the package in question in /opt/freecalypso/bin - the intent is |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 that this file will be used as the list of symlinks to be created. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 Please also note that if you going for this Option 2, you really do need to |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 create symbolic links, NOT move the actual installed binaries! Moving FC tool |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 binaries out of /opt/freecalypso/bin will break every instance where one FC |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 program invokes another by absolute pathname - so don't do it. Locating and |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 patching all instances of another program invokation is NOT an acceptable |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 solution - there may be invokations from other FC software components which you |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 are not considering. In short. don't try to outsmart the Mother! |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 Why, why, why? |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 ============== |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 The Mother of FreeCalypso is fully aware that this requirement of fixed paths |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 under /opt/freecalypso runs totally counter to typical Unix/Linux application |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 software development and packaging conventions. The latter conventions call |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 for changeable paths: the person compiling or packaging the application chooses |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 the install location via ./configure --prefix option or some equivalent means, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 and the software obeys. If FreeCalypso followed this convention, all of our |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 FC-specific, non-FHS-relevant stuff would be in either /usr/share/freecalypso or |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 /usr/local/share/freecalypso depending on how the software was installed by |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 each given user: via packaging, or by direct compilation and installation from |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 source. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 In the earliest years of FreeCalypso, all binaries were installed into |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 /usr/local/bin and all support files were in /usr/local/share/freecalypso. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 The big and ever-controversial decision to move to /opt/freecalypso was made |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 in late 2016, and all of justifying reasons back then still hold true today: |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 * There are all kinds of occasions where one needs to type the full path to |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 some file in one of FC-specific, non-FHS-relevant directories, and typing |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 /opt/freecalypso is much shorter than /usr/share/freecalypso, let alone |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 /usr/local/share/freecalypso. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 * The number of different support files (FC-specific, non-FHS-relevant) keeps |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 growing, and so does their complex organization. Having all of these files |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 reside at fixed pathnames (as opposed to pathnames that change based on the |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 whim of whoever does sw installation or packaging) makes life much easier. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 * Implementing a ./configure system that dynamically changes pathnames for our |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 myriad of FC-specific, non-FHS-relevant support and data files would be a |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 huge pain, and more work than is justifiable. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 * FreeCalypso is not a single software package, but a complex queendom. We |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 have separate sw packages for FC host tools (operating on GSM MS devices), |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 SIM card tools, RF calibration tools, USB-serial tools etc - trying to put |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 all of them into one package would be difficult, inconvenient and unnatural, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 hence they are separate sw packages. But these separate sw packages have |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 interdependencies, sometimes mandatory (fc-rfcal-tools strictly depend on FC |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 host tools), othertimes optional (intertie between FC host tools and FC SIM |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 tools is strictly optional, appearing only in certain workflows), and they do |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 belong to the same FreeCalypso queendom. With a fixed mandated install path, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 each sw component in the queendom can freely reference bits from other |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 components - whereas if we adopted the conventional packaging paradigm, we |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 would have to deal with the possibility of different packages being installed |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 under different paths. |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 Don't try to outsmart the Mother! |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 ================================= |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 We are aware of certain rogue packagers who were determined to have their way |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 and change the install location to something other than /opt/freecalypso, no |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 matter how much we admonish against doing so. In the world of freely published |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 software distributed as source, it is of course impossible to actually enforce |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 any kind of usage rules - however, we do operate with the following set of |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 policies: |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 * Any packagings of FreeCalypso software in which the install location has been |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 changed to something other than /opt/freecalypso are considered to be rogue |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 packages. Such packages shall be regarded as malware - do not install, |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 do not use! |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 * We shall not, under any circumstances, provide any kind of technical support |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 to anyone who uses a rogue package. Anyone using a rogue package will be |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 told to migrate to either direct from-source installation or a properly |
c5f1f936dec5
Install-location: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 constructed downstream package, with /opt/freecalypso install location |
104
12424010d7b8
Install-location: grammar fix
Mychaela Falconia <falcon@freecalypso.org>
parents:
103
diff
changeset
|
205 preserved, before any other issues can be addressed. |