[LyX/master] Make the directories in LyX application bundle read only.

Stephan Witt st.witt at gmx.net
Fri Feb 21 22:43:38 UTC 2020


Am 21.02.2020 um 19:45 schrieb Guenter Milde <milde at users.sf.net>:
> 
> On 2020-02-21, Jean-Marc Lasgouttes wrote:
>> Le 21/02/2020 à 17:45, Stephan Witt a écrit :
>>> commit ca7defab45a685bbc0303c32b94afb5ec98d4118
>>> Author: Stephan Witt <switt at lyx.org>
>>> Date:   Fri Feb 21 18:04:28 2020 +0100
> 
>>>     Make the directories in LyX application bundle read only.
> 
>>>     Python produces files with cached on-the-fly compiled code on disk inside the bundle.
>>>     This should be avoided in case of a signed application bundle.
> 
>> Are the .pyc file still present? I think they are needed 
>> performance-wise (for startup time).

No, they are not produced then anymore.

IMO that’s not a performance problem in reality.

> The .pyc files are created on the fly, if they are missing or outdated and
> the directory can be written to.
> Generally, you would not include them in a source archive or distribution.
> Binary packages may contain them.
> 
>> I am not sure about the portability, though. Assuming we require python3 
>> are there different pyc versions?
> 
> While Python2 places .pyc files in the same directory as the source file,
> Python3 creates a sub-directory "__pycache__/„.

Yes, that’s true. I’ve seen this:

$ codesign -v -v lyx-build/LyX-2.4.0dev.app
lyx-build/LyX-2.4.0dev.app: a sealed resource is missing or invalid
file added: /Users/stephan/git/lyx-build/LyX-2.4.0dev.app/Contents/Resources/lyx2lyx/__pycache__/lyx2lyx_tools.cpython-37.pyc
file added: /Users/stephan/git/lyx-build/LyX-2.4.0dev.app/Contents/Resources/lyx2lyx/__pycache__/lyx_2_4.cpython-37.pyc
file added: /Users/stephan/git/lyx-build/LyX-2.4.0dev.app/Contents/Resources/lyx2lyx/__pycache__/LyX.cpython-37.pyc
file added: /Users/stephan/git/lyx-build/LyX-2.4.0dev.app/Contents/Resources/lyx2lyx/__pycache__/lyx2lyx_version.cpython-37.pyc
file added: /Users/stephan/git/lyx-build/LyX-2.4.0dev.app/Contents/Resources/lyx2lyx/__pycache__/parser_tools.cpython-37.pyc
file added: /Users/stephan/git/lyx-build/LyX-2.4.0dev.app/Contents/Resources/lyx2lyx/__pycache__/unicode_symbols.cpython-37.pyc

and

/Users/stephan/git/lyx/lib/scripts/__pycache__/lyxpreview_tools.cpython-37.pyc
/Users/stephan/git/lyx/lib/scripts/__pycache__/lyxpreview_tools.cpython-36.pyc
/Users/stephan/git/lyx/lib/scripts/__pycache__/lyxpreview_tools.cpython-34.pyc

The 2.x python cache files are in the same place as the source file name .pyc extension - as Günther said.

Stephan


More information about the lyx-devel mailing list