Opened 15 years ago
Last modified 13 years ago
#21 closed task
OSX Packaging: py2app — at Version 14
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | minor | Milestone: | 1.1 |
Component: | Global | Keywords: | |
Cc: |
Description (last modified by )
Packaging should be done with: py2app
Server seems to work OK on OSX (after installing all the required dependencies using macports) and it can authenticate users using python-PAM, but I have added support for Kerberos5 anyway using
pykpass
There is a new server option: "authentication_module" = [pam|pykpass].
We will also need to load the list of X applications from somewhere... and OSX does not follow the freedesktop spec, so we may just test for a few (xterm, ...) and create these "*.desktop" files in ~/shifter/server/menu/ on first start.
TigerVNC can be built on OSX, but I cannot find any ready-made images, see this:
tigervnc-devel message
More info on nasm/ld bug here
nxproxy can be built with macports' help (libpng, jpeg):
nxproxy-apple
xpra: client and server both build fine (with this simple patch)
But only the client is usable... (keymap issues for server)
Change History (14)
comment:1 Changed 15 years ago by
Milestone: | 0.9 → 1.0 |
---|
comment:2 Changed 15 years ago by
Description: | modified (diff) |
---|---|
Owner: | changed from Antoine Martin to Antoine Martin |
Status: | new → accepted |
comment:3 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:4 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:5 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:6 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:7 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:10 Changed 15 years ago by
Lots of issues... (sigh)
First, when building with python25 (python_select python25):
WARNING: Mach-O header may be too large to relocate WARNING: Mach-O header may be too large to relocate Traceback (most recent call last): File "/opt/local/lib/python2.5/site-packages/py2app/build_app.py", line 589, in _run self.run_normal() File "/opt/local/lib/python2.5/site-packages/py2app/build_app.py", line 660, in run_normal self.create_binaries(py_files, pkgdirs, extensions, loader_files) File "/opt/local/lib/python2.5/site-packages/py2app/build_app.py", line 777, in create_binaries platfiles = mm.run() File "/opt/local/lib/python2.5/site-packages/macholib/MachOStandalone.py", line 135, in run node.write(f) File "/opt/local/lib/python2.5/site-packages/macholib/MachO.py", line 113, in write header.write(f) File "/opt/local/lib/python2.5/site-packages/macholib/MachO.py", line 304, in write self.synchronize_size() File "/opt/local/lib/python2.5/site-packages/macholib/MachO.py", line 294, in synchronize_size raise ValueError("New Mach-O header is too large to relocate") ValueError: New Mach-O header is too large to relocate > /opt/local/lib/python2.5/site-packages/macholib/MachO.py(294)synchronize_size() -> raise ValueError("New Mach-O header is too large to relocate") (Pdb)
Next, with python26, it builds ok, but fails at runtime with gobject.thread_init() related weirdness... Looks like it would require threaad_init to be called whenever there is a "import gobject", which is not acceptable. Something is wrong with the module loader / py2app.
comment:11 Changed 15 years ago by
Here is the thread_init non-sense (has been called before this gets printed out):
(process:23287): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use g_type_init() prior to this function (process:23287): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed (process:23287): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
Maybe we should use wx for the UI? It seems to integrate better:
http://wiki.wxpython.org/Optimizing%20for%20Mac%20OS%20X
comment:12 Changed 15 years ago by
here is a solution for the "New Mach-O header is too large to relocate" issue, which requires rebuilding a lot of packages with a linker option set to:
default configure.ldflags {"-L${prefix}/lib -Xlinker -headerpad_max_install_names"}
in /opt/local/share/macports/Tcl/port1.0/portconfigure.tcl
comment:13 Changed 15 years ago by
According to this post we may also have to start the X server via a script if it is not running (sigh).
comment:14 Changed 15 years ago by
Description: | modified (diff) |
---|
had to use a window rather than
StatusIcon
on OSX: changeset