annotate Install-location @ 105:72a272083f46 default tip

Linux-DTR-RTS-flaw: link to new fc-linux-patch repository
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 11 Dec 2023 19:02:01 +0000
parents 12424010d7b8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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.