Bug#906250: ITP: execline -- small and non-interactive scripting language
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
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
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
* 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
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
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
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