spesmilo / electrumx

Alternative implementation of spesmilo/electrum-server
MIT License
438 stars 349 forks source link

Wheels on PyPI lack unix execute permission for scripts #117

Open JustinTArthur opened 3 years ago

JustinTArthur commented 3 years ago

In the 1.16.0 wheel file on PyPI, the entire contents of the wheel are set to read-write-only permission. The scripts should instead maintain their executable permission bit.

zipinfo e_x-1.16.0-py3-none-any.whl
Archive:  e_x-1.16.0-py3-none-any.whl
Zip file size: 130334 bytes, number of entries: 34
-rw-rw-rw-  2.0 fat     2490 b- defN 20-Dec-10 17:41 e_x-1.16.0.data/scripts/electrumx_compact_history
-rw-rw-rw-  2.0 fat     4568 b- defN 20-Oct-25 19:02 e_x-1.16.0.data/scripts/electrumx_rpc
-rw-rw-rw-  2.0 fat     1276 b- defN 20-Jun-19 16:25 e_x-1.16.0.data/scripts/electrumx_server

Not sure where the wheel is being built, but it's possible it's on a platform without unix permissions or the permissions are being clobbered by a pre-build command or file copy. Hoping @SomberNight can shed some light.

The net effect is that electrumx_server isn't a PATH-executable following installation of e-x.

SomberNight commented 3 years ago

I think I might have built on Windows. I don't remember for sure. Certainly seems likely now. I will make sure to use Linux for the next build.

JeremyRand commented 2 years ago

Manually fixing the permissions on electrumx_server gives me this error when running it:

/usr/bin/env: ‘python3\r’����: No such file or directory

I'm guessing the root cause is the same (building on Windows, which presumably is screwing up the newlines)