FS#44744 - [erlang-nox] 17.5-1 executable requires sed binary but sed isn't a dependency

Attached to Project: Community Packages
Opened by Jason Parrott (Moncader) - Monday, 27 April 2015, 09:46 GMT
Last edited by Alexander F. Rødseth (xyproto) - Friday, 26 June 2015, 21:42 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Alexander F. Rødseth (xyproto)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
The erl executable in /usr/bin/erl is a sh script that uses the binary sed.
In cases of manual installation of Arch, say for containers where the base package is not installed, the sed package which contains the sed binary is not installed on the system and erl will not execute.

sed should be added as a dependency for the erlang-nox package.


Additional info:
* package version: 17.5-1
* $ cat /usr/bin/erl | grep -n sed
23:PROGNAME=`echo $0 | sed 's/.*\///'`
This task depends upon

Closed by  Alexander F. Rødseth (xyproto)
Friday, 26 June 2015, 21:42 GMT
Reason for closing:  No response
Comment by Doug Newgard (Scimmia) - Monday, 27 April 2015, 15:23 GMT
What makes you think it should work without base?
Comment by Jason Parrott (Moncader) - Monday, 27 April 2015, 15:26 GMT
It doesn't have to work without base. However with the current dependency list for pacman, it says it doesn't require base/sed and therefore I would expect it to work without it.
I would be perfectly happy with there being a dependency on base or more preferably on sed (since that is what it actually needs).
Comment by Alexander F. Rødseth (xyproto) - Wednesday, 29 April 2015, 21:43 GMT
Hi. It's unusual for packages to explicitly depend on packages from base, but there is no fixed consensus on this.
However, using sed may be avoided altogether.

Please report this problem upstream, to the erlang developers, asking if they could use something like:

PROGRAMNAME=${0##*/}

or

PROGRAMNAME=$(basename $0)

instead of

PROGNAME=`echo $0 | sed 's/.*\///'`

in the "erl" script.

Loading...