Re: Broken executable-in-var

Thomas Leonard <[email protected]>
Newsgroups gmane.comp.file-systems.zero-install.devel
Message-ID <CAG4opy9+1n377cgioROVNZt8wj1PbtsBmfaY68e9uJ7zM1O4sg@mail.gmail.com>
On 3 August 2015 at 10:44, Bart van Strien <[email protected]> wrote:
> On 03/08/15 11:25, Thomas Leonard wrote:
>> What does "strace -e process ./ZEROINSTALL_GPG" show?
>>
>> Can you run other things in the #! line? "#!/bin/sh" obvious works...
>> what makes it stop working? Length of path? File-system where the
>> target lives?
>
> It's difficult to fully test, but it does appear to be the length.
> strace just shows execve failing with ENOENT, symlinks to the file work,
> that filesystem in general definitely works, shebangs have otherwise
> always worked. And before you wonder if I run an ancient kernel or libc,
> I run linux 4.1.2, with glibc 2.21.

Hmm, you're right! Linux truncates the line to 127 characters and
executes whatever remains!

I've patched it to switch to the slower #!/bin/sh method if the line
would be too long:

https://github.com/0install/0install/commit/75ccd83d7dad0f0374de5e084898f447ea972944


-- 
Dr Thomas Leonard        http://roscidus.com/blog/
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

------------------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.