Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Apr 2013 12:59:47 +0200
From:      "Hans F. Nordhaug" <Hans.F.Nordhaug@hiMolde.no>
To:        ports@FreeBSD.org
Subject:   Re: [BRAINSTORM] shebang fixing framework
Message-ID:  <20130430105947.GA31555@hiMolde.no>
In-Reply-To: <20130430103821.GJ3577@ithaqua.etoilebsd.net>
References:  <20130430103821.GJ3577@ithaqua.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
* Baptiste Daroussin <bapt@FreeBSD.org> [2013-04-30]:
> Hi all,
> 
> For a while now: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/51152 we are
> looking for a framework/helpers to help patching scripts shebang so that they
> fit where the interpreters is on FreeBSD.
> 
> We also want to get rid of /usr/bin/perl
> http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/170219 and such helpers would
> help
> 
> here is what I do propose: http://people.freebsd.org/~bapt/shebangfix.mk.txt
> How the above works:
> 
> USES=	shebangfix
> SHEBANG_LANG=	perl
> perl_FILES=	*.pl
> 
> you want to create a custom one for the joescript?
> 
> USES=	shebangfix
> SHEBANG_LANG=	joescript
> joescript_FILES=	*.joe
> joescript_OLD_CMD=	/usr/bin/joe
> joescript_CMD=		${LOCALBASE}/bin/joe
> 
> How to fix both python and perl scripts:
> USES=	shebangfix
> SHEBANG_LANG=	perl python
> perl_FILES=	*.pl
> python_FILES=	bin/*.py myscript/script.py
> 
> 
> the _FILES should be relative to ${WRKSRC} it can be globbing
> 
> So far what has been proposed already is:
> - replace ${lang}_FILES by FIX_${lang}
> - nuke SHEBANG_LANG in favor of USES= shebangfix:perl:python
> - nuke SHEBANG_LANG in favor of USES= shebangfix:"perl python"
> - nuke SHEBANG_LANG in favor of USES= shebangfix:perl+python
> 
> What do you guys think about it, what do you propose.
> What majority prefers will be implemented and committed during BSDCan!

Working with some ports that include PHP shell scripts, I think
this would be a great improvement. However, it seems PHP isn't part of
the default languages in shebangfix.mk.txt. Any specific reason for
that?

I don't have strong opinions regarding USES and SHEBANG_LANG, but if we
nuke SHEBANG_LANG I prefer one statement for each language:

USES= shebangfix:perl
USES+= shebangfix:python

instead of 

USES= shebangfix:perl:python

Regards,
Hans Nordhaug



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130430105947.GA31555>