Skip to content
  • Jérôme Benoit's avatar
    system wide scheme · f9add388
    Jérôme Benoit authored
    Description: system wide scheme
     Implement system wide scheme:
     - sympow can be now called system wide as any regular executable;
     - precomputed plain data mesh files are kept in PKGDATADIR/datafiles
      (typically PKGDATADIR is /usr/share/sympow);
     - generated plain data mesh files are recorded in CACHEDIR/datafiles
      (by default CACHEDIR is HOME/.sympow);
     - binary data mesh files are created on the fly and stored in cache
       directories, the ones from the precomputed plain data mesh files are
    	 stored in PKGCACHEDIR/datafiles/ENDIANTUPLE (typilcally PKGCACHEDIR
    	 is /var/cache/sympow, and ENDIANTUPLE is a tuple characterizing the
    	 architecture endianness or so for double floats) and the ones from the
    	 generated plain data meshes are put in CACHEDIR/datafiles/ENDIANTUPLE;
     - the register data file param_data is in CACHEDIR/datafiles;
     - the data in CACHEDIR/datafiles are authoritative;
     - the employed script is in PKGLIBDIR (typically /usr/lib/sympow);
     - CACHEDIR, PKGCACHEDIR, PKGLIBDIR, and PKGDATADIR can be set via
       environment variables with their respective name prepended with
    	 SYMPOW_ (it is recommended to set absolute paths whenever possible);
     - the basename of CACHEDIR must begin with `sympow' (typically `sympow');
     - CACHEDIR is created on the fly with respect to permissions and privileges
       whenever the following conditions are satisfied: (i) it terminates with at
    	 least three directory separators (the creation is group-centric when the
    	 number of separators is greater or equal to six, user-centric otherwise),
    	 (ii) its parent directory exists (its basename either begins with `sympow'
    	 or is implicitly assumed to be `sympow');
     - ENDIANTUPLE is set by default to bin.
    Origin: vendor, Debian
    Author: Jerome Benoit <calculus@rezozer.net>
    Last-Update: 2016-12-26
    f9add388