Bug#906250: ITP: execline -- small and non-interactive scripting language

2018-09-03 Thread Adam Borowski
On Mon, Sep 03, 2018 at 10:17:09AM +0200, Jakub Wilk wrote:
> * Shengjing Zhu , 2018-09-02, 14:42:
> > When I try to package execline(a non-interactive shell script)[1], it
> > installs following binaries in default PATH,
> > 
> > cd, if, exec, wait, 
> 
> Three of them (cd, umask, wait) clash with shell's regular built-in
> utilities. [...] The execline's implementation are of course not compatible
> with POSIX, and therefore must not be included within PATH.

And with the Policy, too:

§10.1.
# Two different packages must not install programs with different
# functionality but with the same filenames.  (The case of two programs
# having the same functionality but different implementations is handled via
# “alternatives” or the “Conflicts” mechanism.

Regular "cd" changes the directory for the calling process (thus it even
can't possibly be a separate process), this "cd" takes two arguments and
runs a _child_ with the changed directory.

So having execline in $PATH conflicts not only with POSIX, common sense,
but even our Policy. :þ


Meow!
-- 
⢀⣴⠾⠻⢶⣦⠀ What Would Jesus Do, MUD/MMORPG edition:
⣾⠁⢰⠒⠀⣿⡁ • multiplay with an admin char to benefit your mortal [Mt3:16-17]
⢿⡄⠘⠷⠚⠋⠀ • abuse item cloning bugs [Mt14:17-20, Mt15:34-37]
⠈⠳⣄ • use glitches to walk on water [Mt14:25-26]



Bug#906250: ITP: execline -- small and non-interactive scripting language

2018-09-03 Thread Shengjing Zhu
On Mon, Sep 3, 2018 at 4:43 PM Shengjing Zhu  wrote:
> > Three of them (cd, umask, wait) clash with shell's regular built-in
> > utilities. POSIX requires them to be exec(2)able[0][1]. Debian doesn't
> > currently provide standalone executables for them (which is a bug), but
> > some other distros do. The execline's implementation are of course not
> > compatible with POSIX, and therefore must not be included within PATH.
> >
>
> Sorry, I can't get your point. Doesn't this mean execline _follows_
> POSIX, which makes cd/umask/wait execable?
>

Oh, you mean the behaviours of execline's cd/umask/wait are not
compatible with POSIX.

-- 
Shengjing Zhu 
GPG Key: 0xCF0E265B7DFBB2F2
Homepage: https://zhsj.me



Bug#906250: ITP: execline -- small and non-interactive scripting language

2018-09-03 Thread Shengjing Zhu
On Mon, Sep 3, 2018 at 4:17 PM Jakub Wilk  wrote:
>
> * Shengjing Zhu , 2018-09-02, 14:42:
> >When I try to package execline(a non-interactive shell script)[1], it
> >installs following binaries in default PATH,
> >
> >cd, if, exec, wait, 
>
> Three of them (cd, umask, wait) clash with shell's regular built-in
> utilities. POSIX requires them to be exec(2)able[0][1]. Debian doesn't
> currently provide standalone executables for them (which is a bug), but
> some other distros do. The execline's implementation are of course not
> compatible with POSIX, and therefore must not be included within PATH.
>

Sorry, I can't get your point. Doesn't this mean execline _follows_
POSIX, which makes cd/umask/wait execable?

--
Shengjing Zhu 
GPG Key: 0xCF0E265B7DFBB2F2
Homepage: https://zhsj.me



Bug#906250: ITP: execline -- small and non-interactive scripting language

2018-09-03 Thread Jakub Wilk

* Shengjing Zhu , 2018-09-02, 14:42:
When I try to package execline(a non-interactive shell script)[1], it 
installs following binaries in default PATH,


cd, if, exec, wait, 


Three of them (cd, umask, wait) clash with shell's regular built-in 
utilities. POSIX requires them to be exec(2)able[0][1]. Debian doesn't 
currently provide standalone executables for them (which is a bug), but 
some other distros do. The execline's implementation are of course not 
compatible with POSIX, and therefore must not be included within PATH.


[0] 
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap01.html#tagtcjh_18
[1] 
http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xcu_chap01.html#tag_23_01_07

--
Jakub Wilk



Bug#906250: ITP: execline -- small and non-interactive scripting language

2018-09-02 Thread Ben Hutchings
On Sun, 2018-09-02 at 14:42 +0800, Shengjing Zhu wrote:
> Dear -devel,
> 
> When I try to package execline(a non-interactive shell script)[1], it
> installs following binaries in default PATH,
> 
> cd, if, exec, wait, 
> 
> Some facts:
> * These names are other shells built-in, but in execline these are binaries.
> * There's no conflict binary name in archive currently.
> * If I install them in path like /usr/lib/execline/bin, then I need to
> ensure this path are in everyone's PATH.

Why can't execlineb add this to its PATH automatically?

> I find this package has option like `--enable-absolute-paths`, but as
> a result it doesn't work as I expect. When I contact upstream[2],
> upstream thinks these binaries should be in default PATH.
> 
> Any advice with packaging, can I install these binaries in default
> PATH(like /usr/bin)?

They should not be installed in the default PATH.  They don't appear to
be generally useful, and they are likely to be actively confusing. 
(Especially if you install manual pages for them all, which policy says
you should.)

Ben.

> [1] https://skarnet.org/software/execline/
> [2] https://www.mail-archive.com/skaware@list.skarnet.org/msg01225.html
> 
-- 
Ben Hutchings
I say we take off; nuke the site from orbit.
It's the only way to be sure.




signature.asc
Description: This is a digitally signed message part


Bug#906250: ITP: execline -- small and non-interactive scripting language

2018-09-02 Thread Shengjing Zhu
Dear -devel,

When I try to package execline(a non-interactive shell script)[1], it
installs following binaries in default PATH,

cd, if, exec, wait, 

Some facts:
* These names are other shells built-in, but in execline these are binaries.
* There's no conflict binary name in archive currently.
* If I install them in path like /usr/lib/execline/bin, then I need to
ensure this path are in everyone's PATH.

I find this package has option like `--enable-absolute-paths`, but as
a result it doesn't work as I expect. When I contact upstream[2],
upstream thinks these binaries should be in default PATH.

Any advice with packaging, can I install these binaries in default
PATH(like /usr/bin)?

[1] https://skarnet.org/software/execline/
[2] https://www.mail-archive.com/skaware@list.skarnet.org/msg01225.html

-- 
Shengjing Zhu



Bug#906250: ITP: execline -- small and non-interactive scripting language

2018-08-16 Thread Shengjing Zhu
Package: wnpp
Severity: wishlist
Owner: Shengjing Zhu 
Control: block 733915 by -1
Control: block -1 by 906200

* Package name: execline
  Version : 2.5.0.1
  Upstream Author : Laurent Bercot 
* URL : https://skarnet.org/software/execline/
* License : ISC
  Programming Lang: C
  Description : small and non-interactive scripting language

 execline is a (non-interactive) scripting language, like sh; but its
 syntax is quite different from a traditional shell syntax. The execlineb
 program is meant to be used as an interpreter for a text file; the other
 commands are essentially useful inside an execlineb script.
 .
 execline is as powerful as a shell: it features conditional loops,
 getopt-style option handling, filename globbing, and more. Meanwhile, its
 syntax is far more logic and predictable than the shell's syntax, and has
 no security issues.

This is used for packaging s6.


signature.asc
Description: PGP signature