Re: Patch for pgAdmin4 package on Mac OS X - Mailing list pgadmin-hackers

From Sandeep Thakkar
Subject Re: Patch for pgAdmin4 package on Mac OS X
Date
Msg-id CANFyU95gbc7etZebjvnYGhjs2=kz8=0Gd6s0qzm280ZNR2Fbrg@mail.gmail.com
Whole thread Raw
In response to Re: Patch for pgAdmin4 package on Mac OS X  (Dave Page <dpage@pgadmin.org>)
Responses Re: Patch for pgAdmin4 package on Mac OS X  (Dave Page <dpage@pgadmin.org>)
List pgadmin-hackers
Hmm.. looks like some difference in the QT installation.

Can you please provide me the otool -L output for pgAdmin4 from /mac-build/pgAdmin4.app/Contents/MacOS/pgAdmin4

and also the tree for $QTDIR/lib

Thanks.

On Thu, May 19, 2016 at 7:20 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi

I see the following error when attempting to build. My configurable
paths match the defaults in the README.

App: pgAdmin4.app: Post-processing: .//Contents/MacOS/pgAdmin4
App: pgAdmin4.app: Adding symlink: QtWebKitWidgets (because of:
.//Contents/MacOS/pgAdmin4)
cp: @rpath/QtWebKitWidgets.framework/Versions/5/../../../QtWebKitWidgets.framework:
No such file or directory
chmod: Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets:
No such file or directory
Rewriting ID in
Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets
to QtWebKitWidgets
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool:
can't open file:
Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets
(No such file or directory)
complete-bundle.sh failed
make: *** [appbundle] Error 1

On Thu, May 19, 2016 at 6:34 AM, Sandeep Thakkar
<sandeep.thakkar@enterprisedb.com> wrote:
> Hi Dave
>
> I have added the 'docs' target in the /Makefile. This target is also called
> by appbundle. pgAdmin4 versioning change is also taken care of.
>
> I have attached the updated patch here. Kindly review and let me know your
> feedback. Thanks.
>
> On Tue, May 17, 2016 at 4:52 PM, Dave Page <dpage@pgadmin.org> wrote:
>>
>>
>>
>> On Tuesday, May 17, 2016, Sandeep Thakkar
>> <sandeep.thakkar@enterprisedb.com> wrote:
>>>
>>> Hi Dave
>>>
>>> I have fixed the issues. Attached is the updated patch.
>>>
>>> The docs are built as part of 'appbundle' target, there is no separate
>>> target in Makefile for this. I observed that it requires the python modules
>>> to get this built. We create virtual environment as a part of 'appbundle'
>>> target because we do everything in a single script "build.sh".  Hence, right
>>> now I added doc build in the same build script.
>>
>>
>> Right - I was suggesting you create the 'docs' target, then use it.
>>
>>>
>>>
>>> BTW, the online help returns me the following error now:
>>> "The server encountered an internal error and was unable to complete your
>>> request. Either the server is overloaded or there is an error in the
>>> application." Since this is not 404, it means that it atleast got
>>> index.html, right? May be this should be handled in the source code.
>>
>>
>> It works fine for me on my dev machines. If there's a problem, we need to
>> diagnose it.
>>
>>>
>>>
>>> Paresh is working on updating pgAdmin4.py to autocreate database
>>> configuration if does not exist. He will share the patch.
>>>
>>> On Fri, May 13, 2016 at 6:41 PM, Dave Page <dpage@pgadmin.org> wrote:
>>>>
>>>> On Fri, May 13, 2016 at 2:01 PM, Sandeep Thakkar
>>>> <sandeep.thakkar@enterprisedb.com> wrote:
>>>> > Thanks Dave.
>>>> >
>>>> > Please see inline.
>>>> >
>>>> > On Fri, May 6, 2016 at 9:03 PM, Dave Page <dpage@pgadmin.org> wrote:
>>>> >>
>>>> >> Hi
>>>> >>
>>>> >> Thanks. I've applied the path fix patch. The second one needs a
>>>> >> little
>>>> >> work - I've attached an updated version to work from:
>>>> >>
>>>> >> - I've updated the README, and some of the default values.
>>>> >
>>>> > OK. The default values of PGDIR and QTDIR set by you is different than
>>>> > mine.
>>>> > I installed them through macports.
>>>>
>>>> Right. I went with the default directories from the original projects.
>>>>
>>>> >>
>>>> >> - I've removed the file type registration for .sql files.
>>>> >
>>>> >
>>>> > OK.
>>>> >>
>>>> >>
>>>> >> - Should we note that the user may need to run in a virtualenv?
>>>> >
>>>> >
>>>> > No, we bundle private environment, right?
>>>>
>>>> I meant "the user building the package", not the end user.
>>>>
>>>> >> - Please move build-mac.sh to pkg/build.sh, and create a target in
>>>> >> /Makefile to
>>>> >>   execute it, e.g. "make appbundle"
>>>> >
>>>> >
>>>> > Sure. You mean move to pkg/mac/build.sh, right?
>>>>
>>>> Yes :-)
>>>>
>>>> >> - Extend the Makefile to add a "clean-appbundle" target, which should
>>>> >> also
>>>> >> be
>>>> >>   called by the "clean" target.
>>>> >>
>>>> > OK.
>>>> >>
>>>> >> - At present, it is bundling my pre-existing configuration database.
>>>> >> It
>>>> >> *must*
>>>> >>   create a new one and bundle that, without touching the existing one
>>>> >> (I
>>>> >> guess
>>>> >>   that may require a new command line option for setup.py).
>>>> >
>>>> >
>>>> > No, it's not bundling the pgadmin4.db at all, I skipped it :). Paresh
>>>> > is
>>>> > working on this.
>>>>
>>>> Oh - in that case it used my existing one. Which of course, it should
>>>> not overwrite if already present (which reminds me - adding a todo
>>>> item to auto-upgrade the database if needed on first run).
>>>>
>>>> >> - The online help is broken (are you building it)? I suggest adding a
>>>> >> top-level
>>>> >>   Makefile target to do so.
>>>> >>
>>>> > Sorry, which online help?
>>>>
>>>> That which can be found in $SRC/doc - currently only for en_US. At
>>>> present it's built with "cd doc/en_US && make -f Makefile.sphinx
>>>> html", but I think we should have a top-level target to call that for
>>>> us.
>>>>
>>>> The help can then be accessed from Help -> Online Help within pgAdmin.
>>>> Obviously the files need to be put in the right place in the app
>>>> bundle.
>>>>
>>>> >> - Working directories should be added to /.gitignore. Please ensure
>>>> >> they
>>>> >> don't
>>>> >>   clash with those used by pip (and ideally are in one place, e.g.
>>>> >> mac-build/).
>>>> >>
>>>> > OK.
>>>> >
>>>> >>
>>>> >> - I saw various errors in the build output, though the resulting DMG
>>>> >> seemed to
>>>> >>   work fine;
>>>> >>
>>>> > Yeah, because I had libpq.dylib present in $PGDIR/ and may be yours
>>>> > present
>>>> > in $PGDIR/lib/. I will be using the default values suggested by you
>>>> > and fix
>>>> > this. Thanks!
>>>>
>>>> Right - please make sure the build fails in cases like this too.
>>>>
>>>> Thanks.
>>>>
>>>> >> ...
>>>> >> cp: /usr/local/pgsql/libpq.5.dylib: No such file or directory
>>>> >> libpq.5.dylib not found in /usr/local/pgsql
>>>> >> Completing app: /Users/dpage/git/pgadmin4/pgAdmin4.app
>>>> >> ...
>>>> >>
>>>> >> ...
>>>> >> App: pgAdmin4.app: Post-processing: .//Contents/MacOS/pgAdmin4
>>>> >> App: pgAdmin4.app: Adding symlink: QtWebKitWidgets (because of:
>>>> >> .//Contents/MacOS/pgAdmin4)
>>>> >> cp:
>>>> >>
>>>> >> @rpath/QtWebKitWidgets.framework/Versions/5/../../../QtWebKitWidgets.framework:
>>>> >> No such file or directory
>>>> >> chmod:
>>>> >>
>>>> >> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets:
>>>> >> No such file or directory
>>>> >> Rewriting ID in
>>>> >>
>>>> >> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets
>>>> >> to QtWebKitWidgets
>>>> >> error:
>>>> >>
>>>> >> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool:
>>>> >> can't open file:
>>>> >>
>>>> >> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets
>>>> >> (No such file or directory)
>>>> >> Cleaning up
>>>> >> ...
>>>> >>
>>>> >>
>>>> >> On Mon, Apr 18, 2016 at 1:25 PM, Sandeep Thakkar
>>>> >> <sandeep.thakkar@enterprisedb.com> wrote:
>>>> >> > Hi Team, Dave,
>>>> >> >
>>>> >> > Attached herewith are two patches.
>>>> >> >
>>>> >> > pgadmin4-mac-bundle.patch - This includes scripts to build Mac app
>>>> >> > bundle
>>>> >> > and DMG for pgAdmin4. This is the tree of the generated app bundle:
>>>> >> >
>>>> >> > ----
>>>> >> > $ find pgAdmin4.app/ -maxdepth 3 -type d
>>>> >> > pgAdmin4.app/
>>>> >> > pgAdmin4.app//ContentspgAdmin4.app//Contents/Frameworks
>>>> >> > pgAdmin4.app//Contents/Frameworks/Python.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtCore.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtDBus.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtGui.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtMultimedia.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtMultimediaWidgets.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtNetwork.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtOpenGL.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtPositioning.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtPrintSupport.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtQml.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtQuick.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtSensors.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtSql.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtWebChannel.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtWebKit.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtWebKitWidgets.framework
>>>> >> > pgAdmin4.app//Contents/Frameworks/QtWidgets.framework
>>>> >> > pgAdmin4.app//Contents/MacOS
>>>> >> > pgAdmin4.app//Contents/PlugIns
>>>> >> > pgAdmin4.app//Contents/PlugIns/platforms
>>>> >> > pgAdmin4.app//Contents/Resources
>>>> >> > pgAdmin4.app//Contents/Resources/venv
>>>> >> > pgAdmin4.app//Contents/Resources/web
>>>> >> > ---
>>>> >> >
>>>> >> > pgadmin4-fixpath-mac.patch - This is for runtime/Server.cpp to fix
>>>> >> > the
>>>> >> > path
>>>> >> > where the runtime looks for web application path in app bundle.
>>>> >> >
>>>> >> >
>>>> >> > Kindly review and suggest the changes required.  Thanks.
>>>> >> >
>>>> >> > --
>>>> >> > Sandeep Thakkar
>>>> >> >
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Dave Page
>>>> >> Blog: http://pgsnake.blogspot.com
>>>> >> Twitter: @pgsnake
>>>> >>
>>>> >> EnterpriseDB UK: http://www.enterprisedb.com
>>>> >> The Enterprise PostgreSQL Company
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Sandeep Thakkar
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Dave Page
>>>> Blog: http://pgsnake.blogspot.com
>>>> Twitter: @pgsnake
>>>>
>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>> The Enterprise PostgreSQL Company
>>>
>>>
>>>
>>>
>>> --
>>> Sandeep Thakkar
>>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>
>
> --
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--

pgadmin-hackers by date:

Previous
From: Surinder Kumar
Date:
Subject: Re: Stalled post to pgadmin-hackers
Next
From: Dave Page
Date:
Subject: Re: Patch for pgAdmin4 package on Mac OS X