Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Jun 1997 15:12:38 +0300
From:      Ruslan Shevchenko <rssh@cki.ipri.kiev.ua>
To:        Satoshi Asami <asami@cs.berkeley.edu>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: ports/3757
Message-ID:  <3399503C.72ED@cki.ipri.kiev.ua>
References:  <199706060246.TAA29551@silvia.HIP.Berkeley.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help
Satoshi Asami wrote:
> 
> Now about the other half:
> 
>  * And about general port structure:
>  *   may be we must have LINKS future: i.e. allow ports to
>  * be not well-ordered by depends (in algebraick sense), and run
>  * from crom stuff, which see: if new ports adeed ? --- may be linked
>  * from existings ports and so on.
>  *
>  *  Examples, way we need in this:
>  *
>  *    1. TeX styles, (we must link it in texfmt directory, and,
>  * in case teTeX rerun texhush)
>  *    2. .el files (when adding emacs/xemacs)
>  *
>  *  May be we must create some stuff, as windows registry, which
>  * holds the name of actions and variable.
>  * (And allow read envirowment variables to shell during boot)
>  *
>  * P.S. I cc:-ed his to freebsd-ports, to stimulate discussion about
>  *       this.
> 
> Sorry, I have no idea what you are talking about here. ;)
> 
> Satoshi


1. Ports depends one from one.
 In general port X depend from port Y ==> X is not valid without Y.

But exists many cases, in which port X particulary depending from Y.
It means, that some subparts of X is not valid without Y.
for example:

  simpack particulary depend from tk4.{1,2}
     (as it have sdsmt)
  noweb   particulary depend from teTeX or tex-3.1415
     (as it have noweb.sty: LaTeX style)
  gnats   particulary depend from emacs/xemacs
     (as he have send-pr.el)

I want introduse that:
 *ports X linkable with port Y, if X have additional feautures, which
work if Y is installed*

I want to have such ports system, which allow install X, than install
Y.

How to do it:
 
let we have structure, such as windows registry, wher we holds
"port-lincable" ports and actions.

Example:

 TeX
   CONCEPT        : STYLE_DIRECTORY
   ACTIONS        : LINK_STYLE = ln $1 $STYLEDIRECTORY
   teTEX
     CONCEPT        : STYLE_DIRECTORY=/usr/ports/teTeX/tex/texfmts 
     SHELL_VARIABLES: TETEXROOT=/usr/ports/teTeX.
     ACTIONS        : LINK_STYLE=action(TEX,LINK_STILE);tetexhash
   tex-3.14.25
     .........

  
in teTeX port MAKEFILE:

or may be in teTeX/pkg/ports-registry 

PORTS_REGISTRY_TOP_KEY=TeX
PORTS_REGISTRY_CONCEPTS="STYLE_DIRECTORY=${PREFIX}/teTeX/tex/texfmts"
PORTS_REGISTRY_SHELL_VARIABLES="TETEXROOT=${PREFIX}/teTeX"
PORTS_REGISTRY_ACTIONS="LINK_STYLE=action(TeX,LINK_STYLE);tetexhash"

in noweb port Makefile: (or pkg/ports-registry)

PORTS_REGISTRY_LINK_DEPEND="action(TEX,LINK_STYLE) ${PREFIX}/noweb.sty"

And in /etc/daily we can run programm, which see:
  if new ports added ?
    if they have ACTIONS ?
      if we have ports with ACTIONS_LINK_DEPEND from it ?
         do this actions.
 
2. During boot, we can read shell variables from ports-registry
 to initial shell.
  (Many ports want to have it's own variables.)


In principle, I can start to write such application, which can work
independed from other system code.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3399503C.72ED>