lgc man page on Cygwin

Man page or keyword search:  
man Server   22533 pages
apropos Keyword Search (all sections)
Output format
Cygwin logo
[printable version]

LGC(1)				 User Commands				LGC(1)

NAME
       lgc - translate and publish logiweb page

SYNOPSIS
       lgc [OPTION]...	[SOURCE]

DESCRIPTION
       The  Logiweb  compiler translates Logiweb pages from source format to a
       number of machine and human readable formats.

       Pages may contain free text mixed  with	machine	 intelligible  objects
       like computer programs, testsuites, and formal proofs. The compiler can
       compile embedded computer programs, run testsuites, and check the  cor‐
       rectness of formal proofs.

       The  compiler  takes  a source file as input and produces a 'vector', a
       'rack', and a 'rendering' as output. Source, vector, rack, and  render‐
       ing  all	 represent  the same Logiweb page. The source format is suited
       for authoring of Logiweb pages using an ordinary text editor. The  vec‐
       tor  is	a  condensed  representation  suited for transmission over the
       Internet. The rack is a comprehensive representation suited for storing
       on  a  local  disk.  The	 rendering  is a human readable representation
       suited for reading in a web browser.

       The compiler assigns a world-wide unique 'reference' to	each  page  it
       translates. A reference comprises around 30 bytes. Having the reference
       of a page one may retrieve the vector of the page via an untrusted net‐
       work  from an untrusted repository. This is so since the reference con‐
       tains a RIPEMD-160 hash code which allows to verify the authenticity of
       the page.

       References  are	expressed  in 'mixed endian hexadecimal': Each byte is
       written with the most significant hex digit first, bytes are  given  in
       network	byte  order, and capital letters are used for the hex digits A
       to F.

OPTIONS
       -h, --help
	      Print help on frequently used options.

       -H, --help2
	      Print help on less frequent options.

       --help3
	      Print help on configuration options.

       -l location, --link=location
	      Store a symbolic link at the given  location  to	the  rendering
	      output. The rightmost colon (if any) in the location is replaced
	      by the name of the source file (without the .lgs extension).  An
	      opening  tilde (if any) is replaced by $HOME. The default values
	      are ~/.logiweb/name/:/ and : so that two links are  produced  by
	      default.	See LIST OPTIONS below on how to give this option more
	      than once.

       --license
	      Print the license (i.e. GNU/GPL) of the lgc compiler.

       -n location, --namepath=location
	      Read pages given by name	from  given  location.	The  rightmost
	      colon  (if  any)	in the location is replaced by the given name.
	      Such names may be given in the  source  file  being  translated,
	      c.f.  lgc(5).  An	 opening  tilde	 in  the  location (if any) is
	      replaced by $HOME. The default value  of	NAMEPATH  is  ~/.logi‐
	      web/name/:/rack.lgr.  See LIST OPTIONS below on how to give this
	      option more than once.

       -o name, --option=name
	      Process all configuration files, environment variables, and com‐
	      mand  line  options. Then print the value of the option with the
	      given name.

       --options
	      Like -o above, but prints all options.

       -p location, --path location
	      Read referenced pages from given location. The  rightmost	 colon
	      (if  any)	 in  the  location is replaced by the reference of the
	      page expressed in mixed endian hexadecimal. Such references  may
	      come  from  the  source  file,  c.f.  lgc(5), or may be used for
	      locating transitively referenced pages,  i.e.  pages  referenced
	      from referenced pages. An opening tilde in the location (if any)
	      is replaced by $HOME. The default	 value	of  PATH  is  ~/.logi‐
	      web/logiweb/:/rack.lgr.  See  LIST  OPTIONS below on how to give
	      this option more than once.

       -r location, --rendering=location
	      Store rendering at the given location. The rightmost  colon  (if
	      any)  in	the location is replaced by the reference of the page.
	      An opening tilde (if any) is  replaced  by  $HOME.  The  default
	      value  is ~/.logiweb/logiweb/:/. The vector and rack produced by
	      lgc are stored as vector.lgw and rack.lgr at the given location.

       -s file, --siteconfig=file
	      Read options from given file, c.f. CONFIGURATION FILES below. An
	      opening  tilde  (if any) is replaced by $HOME. The default value
	      is /etc/logiweb/lgc.conf.

       -u file, --userconfig=file
	      Read options from given file, c.f. CONFIGURATION FILES below. An
	      opening  tilde  (if any) is replaced by $HOME. The default value
	      is ~/.logiweb/lgc.conf.

       --source=file
	      Translate given file. 'lgc --source=X' is like 'lgc X'.

       -v verbosity, --verbose=verbosity
	      Set verbosity to given level. Levels are: 1.  Print  error  mes‐
	      sages.  2.  Also	print  warning message. 3. Also print progress
	      messages. 4. Print more progress messages.  5.  Print  debugging
	      information.  Level  0 is reserved for silence. Default level is
	      3.

       --version
	      Print the version of the lgc compiler.

CONFIGURATION OPTIONS
       While it is possible to give the following options on the command line,
       they are intended to be used in configuration files.

       --leap=leapspec
	      Tell  lgc that a leap second occurred or will occur at the given
	      point in time. A leapspec has format

	      GRD-<year>-<month>-<day>[+1|-1].

	      The year, month, and day are given as a Gregorian date. Days  go
	      from  UTC	 midnight  to UTC midnight. The month and day have two
	      digits. The year has four until year 9999. A leapspec  indicates
	      that  the length of the given day is altered by the given amount
	      (+1 second or -1 second). The leap affects the  last  minute  of
	      the  last	 hour  of the given UTC day. See LIST OPTIONS below on
	      how to give this option more than once.

       --newline=value
	      Tell lgc what host newline convention to	use.  Possible	values
	      are  CR, LF, CRLF, or LFCR. For the sake of portability, Logiweb
	      always uses LF internally.

       --script=headline
	      Tell lgc what line to start with when  emitting  an  executable.
	      Default is '#!/usr/bin/lgwam script'

LIST OPTIONS
       The value of each option is a list of strings. Each command line option
       transforms the value of some option. The available transformations are:
       (1) Discard the current value and set the given option to a one element
       list containing the given string. (2) Add the given string in front  of
       the  given  option.  (3)	 Add  the given string at the end of the given
       option. (4) Set the given option to the empty list. These  four	possi‐
       bilities are illustrated in the following using the PATH variable as an
       example.

       -p xyzzy, --path=xyzzy
	      Set PATH to a one element list containing xyzzy.

       +p foo, --path+foo
	      Add foo in front of PATH. If given after the option  above,  the
	      PATH now has value foo;xyzzy.

       ++p bar, --path++bar
	      Add  bar	at  end of PATH. If given after the options above, the
	      PATH now has value foo;xyzzy;bar.

       --path Set path to the empty list

       Options like HELP, VERSION, and so on have  default  value  'no'.  Such
       options	take  effect  when  they  differ  from 'no'. As an example, -h
       translates to --help which sets HELP to the empty  list	which  differs
       from 'no'.

       Options	like  SITECONFIG, USERCONFIG, and RENDERING only use the first
       string in the list. As an example, '-s file' translates to  '--sitecon‐
       fig=file'  which	 sets  the  first  (and only) element of SITECONFIG to
       file.

       A source file foo given on the command line translate to	 --source=foo.
       The compiler only uses the first string of the SOURCE option.

       The compiler processes the command line left to right. Long options are
       case insensitive. Short options are case sensitive. Short  options  are
       translated to long options before processing.

CONFIGURATION FILES
       The  compiler processes options from the following sources in the order
       given.

       Compiled in defaults
	      These are the default values which can only be changed by recom‐
	      piling lgc.

       Script defaults
	      The compiler is itself a Logiweb script and may look like this:

	      > more /usr/bin/lgc
	      #!/usr/bin/lgwam script
	      string
	      015F43BE4A17DAD915936B7A773154A80946AEC82EFBEECDA4A7D7B80806
	      lgc
	      execute
	      siteconfig=/etc/logiweb/lgc.conf

	      The  first  five	lines identify the lgc compiler. The remaining
	      lines define options exactly like long options do on the command
	      line  except  that  the  leading	two hyphens are omitted. Blank
	      lines and lines starting with a hashmark (#) are ignored.	 Lines
	      may be ended by an arbitrary sequence of CR and LF characters.

       Site configuration file
	      The  site	 configuration file is treated like the option part of
	      the script.

       User configuration file
	      The user configuration file is treated like the site  configura‐
	      tion  file. The only difference between the two is that the site
	      file is processed before the user file.

       Environment variables
	      Environment  options   like   LGC_FOO=xyzzy   are	  treated   as
	      --FOO=xyzzy.  Environment	 options  can only be used for setting
	      options to one-element lists of strings. As a special case,  the
	      environment variable HOME=xyzzy is treated as --HOME=xyzzy.

       Command line options
	      These were treated in great detail earlier in this man page.

       Options	from  the  six	sources	 above are treated as one long list of
       option transformations. As an example, --path+foo on the	 command  line
       adds  foo in front of whatever the five other sources have defined PATH
       to be.

       The compiler reads options once but process them three times: First for
       finding	the  value of SITECONFIG ignoring the site and user configura‐
       tion files. Second for finding the value	 of  USERCONFIG	 ignoring  the
       user  configuration  file. And finally for finding the value of all the
       other options.

       The compiler does not restrict the set of possible options to those  it
       knows  itself. Hence, 'lgc --foo=bar source' will define the FOO option
       to equal 'bar'. Such user defined options can  be  picked  up  by  user
       defined rendering functions in the source and may affect the outcome of
       rendering. Note that if the rendering is put on WWW this may expose the
       options	used to the outside world. This includes the environment vari‐
       able HOME and variables starting with LGC_. Use 'lgc --options' to  see
       what might get exposed to the outside world.

PATH ITEMS
       When  looking  up  a page by name or reference, lgc considers the loca‐
       tions in NAMEPATH and PATH, respectively, one at a time as follows.

       (1) If the item does not start with "file:" or "http:", then "file:" is
       prepended.

       (2)  The	 item  is divided in scheme and contents at the leftmost colon
       character. Hence, the scheme is either "file" or "http".

       (3) If the scheme is "file" and the contents starts with a tilde,  then
       the tilde is replaced by the value of $HOME.

       (4) The rightmost colon character (if any) is replaced by the name (for
       NAMEPATH) or reference  (for  PATH)  of	the  page.  The	 reference  is
       expressed in mixed endian hexadecimal.

       (5)  The	 page  is  looked  up as a file or using http depending on the
       scheme. A page with extension .lgr is treated as a Logiweb rack. A page
       with  extension .lgw is treated as a Logiweb vector. A page with exten‐
       sion .lgu is treated as an URL which points at the page to be  fetched.
       That  URL  is supposed to have extension .lgr or .lgw or .lgu. The .lgu
       extension is intended for future uses involving CGI scripts.

       As an example, if the item is ~/.logiweb/cache/:/page.lgr and the  ref‐
       erenced page has reference 01AB then .logiweb/cache/01AB/page.lgr under
       the users home catalogue is retrieved and is interpretted as a  Logiweb
       rack.

FILES
       The site configuration file typically resides in /etc/logiweb/lgc.conf.
       It is considered to be blank if it does not exist.

       The user configuration file typically resides  in  ~/.logiweb/lgc.conf.
       It is considered to be blank if it does not exist.

       Example	source	files typically reside in /usr/share/doc/logiweb/exam‐
       ples.

       Source files should have extension .lgs (this may become	 mandatory  in
       the future).

       Links to rendering output typically have no extension.

       Logiweb	vectors	 (compact  representations of Logiweb pages suited for
       transmission over the internet) have extension .lgw.

       Logiweb racks (precompiled representations of Logiweb pages suited  for
       fast loading) have extension .lgr.

       Logiweb	pointers  (page	 references  in mixed endian hexadecimal) have
       extension .lgp.

       Logiweb URL indirections have extension .lgu.

ENVIRONMENT
       For each long option there is an associated environment variable,  c.f.
       CONFIGURATION  FILES  above. Furthermore, lgc may use the HOME environ‐
       ment variable.

SECURITY CONSIDERATIONS
       The HOME environment variable and environment variables	starting  with
       LGC_ may get exposed if rendering output is made available via WWW.

       All transitively referenced pages are rendered locally. Local rendering
       may involve invokation of latex, bibtex, makeindex, and dvipdfm.	 Local
       rendering  should  occur	 in  a	chroot jail, but this has not yet been
       implemented. Thus: only reference trusted pages.

       All pages may define executable code. Executables end up under the ren‐
       dering directory. Such executables can do anything if they are invoked.
       The lgc compiler never itself invokes an executable,  but  an  attacker
       could  either  persuade or fool you to run it or could exploit security
       holes in latex to do so. Thus: only reference trusted pages.

       When loading a Logiweb vector, lgc uses the RIPEMD-160 hash function to
       verify  the  authenticity of the received vector. lgc makes no check of
       racks. Thus, only load racks from trusted places	 (typically  your  own
       harddisk and nowhere else).

       Feel  free  to include locations like http://untrusted.com/:/vector.lgw
       in PATH. RIPEMD-160 will protect you. But never include .lgr references
       to untrusted places and never include references to untrusted places in
       NAMEPATH.

AUTHOR
       Klaus Grue, http://logiweb.eu/

SEE ALSO
       lgwam(1), lgc(5), lgc.conf(5), logiweb(5)

Logiweb				   JULY 2009				LGC(1)
[top]

List of man pages available for Cygwin

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net