Mk/bsd.command.mk: missing CSH tag

Anonymous swell.k at gmail.com
Fri Nov 19 17:48:10 UTC 2010


Eir Nym <eirnym at gmail.com> writes:

> On 19 November 2010 18:32, Christian Weisgerber <naddy at mips.inka.de> wrote:
>> Eir Nym <eirnym at gmail.com> wrote:
>>
>>> >>> Since when? If you are missing /bin/csh, your system is defective
>>> >>> or at least nonstandard.
>>> >>
>>> >> It is good joke, thanks
>>> >
>>> > I guess he's talking about the ports tree being too fragile for some
>>> > non-default configurations and not many people are willing to fix it.
>>>
>>> I understand this. Port can check this (because it is optional system
>>> component) and use another or generate error.
>>
>> This is very confusing.  One of us is out of sync with reality.
>> (If it's me, I'd like to know.)  Your confident claim that csh is
>> optional is like stating that the sky is green and the sun is purple.
>>
>> Did I miss something?
>>
>> Yes, I know there is a WITHOUT_TCSH knob. You can use this when
>> you build a FreeBSD-based embedded system where you know you won't
>> need csh. In no way does the existence of this knob imply that csh
>> is optional on a standard FreeBSD system where you build ports.

What are those requirements that constitute standard FreeBSD system
capable of building ports?

>>
>
> Ok, another example is NIS. You can turn off NIS support in your
> system, and ports will check NIS biraries if they need them.

There are more examples

  - openssl: WITH_OPENSSL_PORT
  - pkg_install: .if exists(...)
  - fetch: .if exists(...)
  - texinfo: by relying on PATH

And rather than resurrecting shells/tcsh one can also also try

  BUILD_DEPENDS += ${CSH}:${PORTSDIR}/shells/44bsd-csh

  .if exists(/bin/csh)
  CSH ?= /bin/csh
  .else
  CSH ?= ${LOCALBASE}/bin/44bsd-csh
  .endif

But some ports may assume csh is tcsh like sh is bash on linux.


More information about the freebsd-ports mailing list