wb8tyw / D-Rats

D-Rats program for D-Star Ham Radios
https://iz2lxi.jimdofree.com/
Other
7 stars 1 forks source link

fix(packaging): New packaging method #250

Closed wb8tyw closed 2 years ago

wb8tyw commented 2 years ago

Now use python -m build and towncrier for building packages.

MANIFEST.in: Updated list of files.

NEWS.rst: Start of NEWS.rst.

README.md: Update for new packaging documentation.

changelog: Note the change to NEWs.rst based on towncrier.

changes/: (new) Changes for a future NEWS.rst generated for a release.

libexec/makefile: Fix make clean to work on most platforms.

msys2_packages.sh: (new) Script to help install packages on msys2 for Microsoft Windows.

newsfragments/.gitignore: (new) Directory that towncrier said to create apparently used just for temporary files.

pyproject.toml: (new) Description file for d-rats project.

requirements.txt: (new) Needed packages for building python packages in a virtual envrionment.

setup.cfg: Comment out until disto packaging is figured out.

setup.py: Change for using python -m build, and to make sure that NEWS.rst, lzhuf, and message catalogs.

wb8tyw commented 2 years ago

Lots of changes, lots of opportunities for missed bugs, and I do not have any way to test it on Mac OS-X.

Completely new procedure.

ka5mye commented 2 years ago

KA5MYE: Tested wb8tyw_packaging on my Mac Book Pro. Everything was working. Email, chat, maps, preferences. Download a file from other ham.

wb8tyw commented 2 years ago

What we do not have documented and verified for Mac OSX, and probably needs verification on other platforms:

Is the updated README.md good enought? It probably could be improved.

wb8tyw commented 2 years ago

Reading more into the install process, it seems that there are a lot of things in flux.

  1. We have the wrong directory layout in d-rats from the preferred, what we have is still supported, but not well documented how to use in building packages. Changing that directory will be a pain, but may be worth it in the long run.
  2. We probably need to remove the setup.py from the package building, which means that we will need to add a pre-build script to build lzhuf and the message catalogs to run before the python -m build. Rod is having issues with the python -m build command on Mac OS-X, and unfortunately they are hard to reproduce.
  3. We should not be putting an lzhuf binary in the python package. I am thinking that the lzhuf should be put in its own repository with a build and packaging system, and provide separately with instructions on how to install as it is only needed for winlink.
  4. We are currently putting the constant d-rats data in the traditional linux locations, current build procedure says not to do that, but full support for not doing that is not implemented to python 3.10. This is mainly a consequence of not using what is now the preferred directory layout.