Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
site-lib(5)		       File Formats Manual		     site-lib(5)

NAME
     site-lib - [Location of package directories]

STANDARD LAYOUT
     ...somewhere in the filesystem hierarchy...
	|
	\
	  site-lib
	  |
	  +- (optional) stublibs
	  +- (optional) postinstall
	  +- (optional) postremove
	  |
	  +- package1
	  |  |
	  |  +- META
	  |  +- archive files
	  |  +- interface definitions
	  |
	  +- package2
	  +
	  :
	  :
	  \
	     packageN

DESCRIPTION
     Every installation of "findlib" has a default location for package directo-
     ries,  which is normally a directory called "site-lib". The location can be
     set by the configuration variables path (used to  look  up  packages),  and
     destdir (used to install new packages); see findlib.conf.

     The name of a package is the name of the package directory. For example, if
     destdir=/usr/local/lib/ocaml/site-lib,  the  package p will be installed in
     the subdirectory /usr/local/lib/ocaml/site-lib/p.	This  subdirectory  must
     contain the META file and all other files belonging to the package. Package
     names must not contain the '.' character.

     The variable destdir specifies the directory for new packages. You can only
     have one such directory at a time; but of course you can change this direc-
     tory  in findlib.conf. The command ocamlfind install puts new packages into
     this directory; it is recommended to use this command for installation  be-
     cause it ensures that the directory layout is right.

     For  searching  packages,	findlib  uses (only) the variable path which may
     name several locations to look at.

     For systems with DLL support another directory may exist:	stublibs.     If
     present,  findlib	will  install DLLs into this directory that is shared by
     all packages at the same site-lib location. Findlib remembers which DLL be-
     longs to which package by special files with the suffix ".owner"; e.g.  for
     the  DLL  "dllpcre.so"  there is another file "dllpcre.so.owner" containing
     the string "pcre", so findlib knows that the package "pcre" owns this  DLL.
     It is not possible that a DLL is owned by several packages.

     If  the  stublibs directory does not exist, DLLs are installed regularly in
     the package directories like any other file.

     For special needs, a postinstall and/or a	postremove  script  may  be  in-
     stalled  in the site-lib directory. These scripts are invoked after instal-
     lation or removal of a package, respectively.

ALTERNATE LAYOUT
     ...somewhere in the filesystem hierarchy...
	|
	\
	  site-lib
	  |
	  +- (optional) stublibs
	  +- (optional) postinstall
	  +- (optional) postremove
	  |
	  +- package1
	  |  |
	  |  +- archive files
	  |  +- interface definitions
	  |
	  +- package2
	  +
	  :
	  :
	  \
       :     packageN
       |
       \
	 metaregistry
	 |
	 +- META.package1
	 +- META.package2
	 +
	 :
	 \
	    META.packageN

     This is an alternate directory layout collecting all META files in one  di-
     rectory.  You can configure this layout by setting path to the absolute lo-
     cation of metaregistry. Findlib recognizes that there  are  META  files  in
     this  directory and uses them; it is not necessary to include site-lib into
     the path.

     In order to work, the META files must contain a directory directive  point-
     ing to the corresponding package directory that resides below site-lib.

     The  command  ocamlfind  install  copes with this layout, too. The variable
     destdir must contain the absolute location of site-lib,  and  the	variable
     metadir  must  contain  the  absolute  location  of metaregistry. Note that
     ocamlfind install automatically adds a  directory	directive  to  the  META
     file, so you need not do it manually.

User Manual	      The findlib package manager for OCaml	     site-lib(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=site-lib&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help