On 2/22/20 12:46 PM, Stephan Witt wrote:
> Am 22.02.2020 um 03:35 schrieb Richard Kimberly Heck <rikih...@lyx.org>:
>> On 2/21/20 12:08 PM, Stephan Witt wrote:
>>> Am 21.02.2020 um 12:08 schrieb Stephan Witt <st.w...@gmx.net>:
>>>> Hi pythonists,
>>>>
>>>> I’m trying to make ready for code signing on Mac.
>>>>
>>>> The idea of code signing is to ship the package with a digital
>>>> signature to guarantee the integrity of the software.
>>>>
>>>> https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html
>>>>
>>>> The problem now is arising: the python scripts LyX is using
>>>> are compiled on the fly and the result is placed inside the
>>>> package. That way the package looses its integrity.
>>>>
>>>> Is there any suggestion how to handle this?
>>>>
>>>> I thought about to compile and ship the scripts on my system.
>>>> But this is probably a bad idea - python at runtime can have
>>>> different version. Is it possible to suppress the on the fly
>>>> compile process and what’s the price to pay? Or is it possible
>>>> to direct it to some directory below the .lyx in users home?
>>> I've decided to ship the application with readonly directories.
>>> That way the python interpreter cannot save the compiled code
>>> onto disk to cache the result. ATM I cannot see any performance
>>> issues.
>> Yes, sorry, I do not know any way to prevent this kind of thing from
>> happening. As you
>> see, it's just a matter of caching the compilation.
>>
>> On Windows, we compile the Python files at installation. I don't know if
>> that could help.
> On Mac I'd prefer to avoid that. The python executable is not part of the
> software bundle and therefore its version at runtime is unknown.
>
> OTOH, the lyx package for Centos 7 (in EPEL) contains the precompiled
> python scripts for version 2.x (e.g. configure.pyc).
>
> https://centos.pkgs.org/7/epel-x86_64/lyx-common-2.2.3-1.el7.noarch.rpm.html
>
> But Centos 7 comes with python 2.7.5 as stable standard.
>
> The situation for the packager is more comfortable here.
>
> The standard on Mac is 2.7.17 with 10.14.6 (Mojave today) and I read
> somewhere with 10.15.x (Catalina) python3 is available. But Apple has
> announced the removal of python from standard OS:
>
> "Future versions of macOS won’t include scripting language runtimes by 
> default, and might require you to install additional packages. If your 
> software depends on scripting languages, it’s recommended that you bundle the 
> runtime within the app."
>
> I’m not sure how difficult it would be to put the python universe into the 
> LyX app.

Actually, I kind of mis-spoke. We actually install Python with LyX on
Windows, so we control what version is installed and, in principle,
could pre-compile everything before installation and include the pyc
files in the bundle. We do this because, I gather, there's some issue
about Python detection or getting the right version or something. If we
install it, we know a path to it. Anyway, if we do it there, we could
presumably something similar on OSX.

Riki



-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to