File: mergeall-products/unzipped/build/build-app-exe/macosx/_scripts-require-py2app-0.25.txt

"""
====================================================================================
Feb-2022 macOS app rebuild background info

Show how extra-script executables' streams required downgrading to py2app 0.25. 
stdout/in streams are broken on 0.26+: stdout goes to the Console app, and stdin 
is empty/EOF.  This differs from the prior 2017 builds, which tie both to Terminal.
Terminal streams are required for the frozen command-line tools in extra-scripts.
It's possible that building on Catalina is a factor, but py2app 0.26 is more likely.

A {redirect-stdout-to-asl: False} in setup.py didn't help (seems like it should).
PyInstaller is a fallback option, but a switch is much more work than a downgrade.
For the record, py2app 0.25 was released on 2021-08-30, and 0.26 on 2021-09-19.
All $ commands were run in ~/MY-STUFF/Code/mergeall/build/build-app-exe/macosx.
====================================================================================
"""


# extra-scripts have no stdout/in in Terminal in 0.26.1

$ py3 build.py
$ ./Mergeall.app/Contents/MacOS/deltas
$ ./Mergeall.app/Contents/MacOS/mergeall


# extra-scripts still have no stdout/in in Terminal in 0.27

$ pip3 install --upgrade py2app
...
Installing collected packages: py2app
  Found existing installation: py2app 0.26.1
    Uninstalling py2app-0.26.1:
      Successfully uninstalled py2app-0.26.1
Successfully installed py2app-0.27

$ py3 build.py
$ ./Mergeall.app/Contents/MacOS/deltas
$ ./Mergeall.app/Contents/MacOS/mergeall


# BUT extra-scripts have std streams in Terminal in 0.25 -- as in 2017

$ pip3 uninstall py2app
  Successfully uninstalled py2app-0.27

$ pip3 install py2app==0.25
Successfully installed py2app-0.25

$ py3 build.py

$ ./Mergeall.app/Contents/MacOS/mergeall
mergeall 3.3 starting
**Missing dirfrom or dirto paths
mergeall run cancelled.
Usage:
	[py[thon]] mergeall.py dirfrom dirto
		[-report] [-auto]
		[-peek] [-verify]
		[-backup] [-restore] [-quiet]
		[-skipcruft]
More?n

$ ./Mergeall.app/Contents/MacOS/deltas
deltas 3.3 starting
**Missing dirdelta, dirfrom, or dirto paths
deltas run cancelled.
Usage:
	[py[thon]] deltas.py dirdeltas dirfrom dirto
		[-report]
		[-peek]
		[-quiet]
		[-skipcruft]
More?y
...etc...

$ ./Mergeall.app/Contents/MacOS/mergeall . . -report -skipcruft
mergeall 3.3 starting
------------------------------------------------------------------------------- 
*Collecting tree differences
Skipping system cruft (metadata) files in both FROM and TO
comparing [.] [.]
comparing [./test] [./test]
...etc...



[Home page] Books Code Blog Python Author Train Find ©M.Lutz