vyrjana/DearEIS

build.sh is not executable

Closed this issue · 4 comments

Desktop (please complete the following information):

  • DearEIS version 3.1.3
  • Python version 3.8.10
  • OS: Ubuntu 20.04

Describe the bug
The build.sh script that comes with the software is not executable. If I run “chmod +x build.sh”, then the script complains that it’s been modified and does not run (“Detected uncommitted changes and/or untracked files!”).

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'DearEIS/'
  2. Run 'build.sh'.

The build.sh script can also be executed without making the script executable by passing the file's path to bash. The script is also something that very few people would need to run since it is used primarily to build the source and wheel distributions that are uploaded to PyPI.

The script complains about uncommitted changes and/or untracked files specifically as a measure to prevent accidental inclusion of uncommitted changes or untracked files in the source and wheel distributions.

I consider the script to be functioning as intended.

Since DearEIS is open-source, some users might want to modify the source code and repack it. I suppose they'd need to run build.sh then, so it's worth making sure it works.

Running "bash build.sh" works but requires installation of flake8 and build modules for python3. Perhaps these could be added as dependencies for developers. Also, build.sh invokes python and not python3 in lines 30 and 43, which might be a problem.

It is strange that the script thinks it's been modified if it's made executable with the most common command, "chmod +x".

I have updated build.sh to use python3 instead of python in this commit. I have also updated setup.py to include optional dependencies for development and added a bit of information about this to the "Contributing" section of the readme (see this commit).

I have also noticed that the executable bit is considered a change by Git, but apparently it is possible to configure Git to ignore that (core.fileMode is the relevant setting).

EDIT: I have also updated build.sh in this commit to have more informative assertion messages for the parts where the bundled licenses are checked.

Thank you for the changes. The issue can be closed now.