FreeCalypso > hg > freecalypso-tools
annotate PACKAGING @ 564:42ba9f015d4c
loadtools/scripts/fic.{config,init} created
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Fri, 31 Jan 2020 05:51:07 +0000 | 
| parents | 0a01e1c4ea54 | 
| children | 
| rev | line source | 
|---|---|
| 435 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 It has been brought to the Mother's attention that some people don't like the | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 way our FC host tools are designed to be installed under /opt/freecalypso as | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 opposed to some standard location like /usr/local, and that some people have | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 been patching our Makefiles and code to move our installed binaries (and perhaps | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 some of the support files as well) to other locations which they like better. | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 PLEASE DON'T DO IT, especially if you are making a package or a build or setup | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 or install script to be used by more than just you. FC host tools are a very | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 complex package with a lot of interrelations between different tools, many | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 tools in our suite internally invoke other tools by their /opt/freecalypso/bin | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 absolute pathnames, some tools are designed to be invoked both by human users | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 and by other tools (rvinterf is a prime example), and there are many support | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 files used by various tools. If you try to outsmart the Mother and change the | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 install location to something other than what I designed it to be, you will | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 inevitably break something, and you probably won't notice the breakage because | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 a typical casual user only uses a very small subset of our tools. Furthermore, | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 if you move the install location, you will certainly break our various | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 additional tools which are not included in the core FC host tools package but | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 are meant to be installed on top of it, as all of them expect and require the | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 /opt/freecalypso directory hierarchy described in doc/opt-freecalypso-tree. | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 If your goal is to have our installed binaries accessible with a standard PATH | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 without adding /opt/freecalypso/bin to it, the correct solution is to list the | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 binaries installed in /opt/freecalypso/bin and make a symlink to each of these | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 binaries from /usr/bin or from /usr/local/bin or from wherever you like. Use | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 symlinks, don't move the binaries themselves! If you move the actual binaries, | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 you will break those tools which internally invoke other tools, which we do a | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 lot. | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 If you still dislike the whole idea, consider the way Firefox does it: official | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 release binaries from Mozilla are meant to be installed under /usr/lib/firefox | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 or /usr/lib/firefox-$VERSION, the stuff inside that directory looks nothing like | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 FHS, it is private to Firefox just like our /opt/freecalypso directory hierarchy | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 is private to FreeCalypso, and the user makes one symlink from /usr/bin/firefox | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 to /usr/lib/firefox-$VERSION/firefox or wherever the full complex package | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 resides. If you can live with Firefox and other major application packages | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 having their own non-FHS private directory trees, you can surely live with | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 FreeCalypso doing the same. | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 Why did we make our prefix /opt/freecalypso and not /usr/lib/freecalypso or | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 /usr/local/freecalypso? Because there are many, many places where the full | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 absolute pathname needs to be typed, and the location we chose is the shortest | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 among other sensible options. | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 Anyone who is going to make binary packages of our FC host tools (presumably | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 for use on systems on which compilation from source is difficult) and wishes to | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 have their packaging officially endorsed by the upstream MUST follow these | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 guidelines: | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 * The complete set of tools and support files MUST be included as if one built | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 and installed our package from the official source, without omitting or | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 breaking any part which you might consider unimportant. | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 * Everything MUST be installed under /opt/freecalypso exactly as designed by | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 the Mother; symlinks to binaries under /opt/freecalypso/bin from a more user- | 
| 
0a01e1c4ea54
documentation: added some notes about the importance of preserving
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 friendly location may optionally be included. | 
