Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2dsl-000773-7I for pgadmin-hackers@arkaria.postgresql.org; Tue, 17 May 2016 12:13:51 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b2dsk-0004cP-Ka for pgadmin-hackers@arkaria.postgresql.org; Tue, 17 May 2016 12:13:50 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b2dsi-0004bl-I4 for pgadmin-hackers@postgresql.org; Tue, 17 May 2016 12:13:48 +0000 Received: from mail-qk0-x229.google.com ([2607:f8b0:400d:c09::229]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b2dse-0003iS-HW for pgadmin-hackers@postgresql.org; Tue, 17 May 2016 12:13:47 +0000 Received: by mail-qk0-x229.google.com with SMTP id n62so6076428qkc.2 for ; Tue, 17 May 2016 05:13:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=bbw+TDlnd2pYOiI88qzGR46HSsWHjz1o0nW/C3IxXEA=; b=ck86fR/7q01Df3XlY4edWxcNwwUtCI0ktRHitGT+kG8sFGt8a94j7dRFU6kpE7EtDU MzhNtH3b+0+vpgFZAxpPbHP7lJUuTrO38CfNTKEKJUJk30TfyHxR3WfKbEVEvo0XME8P ZCjol0BW6Q8zb6FFTD1KYGXteml6vVncWyshGG36FEznitarFFy5gyzVRN5w4foQSN1N Z6K59xo4Auvu/v9Fd8Cr/FoHMJhOL43tdGNYpLRjdL7OBBSQyrfgksaJMu18n7icJ+gC PeLk8wpNx40nMzp1kqLFKDj50ws+CIuyUQdTRb6+uL2ww1FyDsnW3tP9tinZubo4H1Ma wnkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=bbw+TDlnd2pYOiI88qzGR46HSsWHjz1o0nW/C3IxXEA=; b=Q2cM7GGrPLp0fp3ACLYiRruklL5dY1OyajFa8TZiFM8cTk5O0DgRwu6Yd3UJr7iErp kDRV80oJZc2BIzZFIIuPAgHsXe1w3Rp0IkOjQ7c/+ykoWepvPOE1NOH0svQZQBMfPp0A 3L94KDwzO6XJD5sP2lEb/1kGVQqKUHNmIBef/uC62ioPBYTCt5awtOY3zV+FrH7oV1zc EK5ZIlJ4RKwjw9rKmnJ1VzGvWI6KrDD1Hkxqu/58HqnYDQIDBqV+/AX+m9ML2PSENRWN MGrP2Stc4vS3OABJYv/TgBYBpvjbxKcOrSBEhyGXfx9Pxu8YeW0OTTTeoC+XmVIWw0pu gpcQ== X-Gm-Message-State: AOPr4FUMaVk2WFS4smrdUhnknPAy+PfFkEIaFKrBrtsHfMLURgP1DahAXUxNxM4n1MscBZliTN7BUf4uK/m/pTZF MIME-Version: 1.0 X-Received: by 10.55.77.12 with SMTP id a12mr941955qkb.44.1463487223025; Tue, 17 May 2016 05:13:43 -0700 (PDT) Received: by 10.140.99.43 with HTTP; Tue, 17 May 2016 05:13:42 -0700 (PDT) In-Reply-To: References: Date: Tue, 17 May 2016 17:43:42 +0530 Message-ID: Subject: Re: Patch for pgAdmin4 package on Mac OS X From: Sandeep Thakkar To: Dave Page Cc: Paresh More , pgadmin-hackers , Hamid Quddus Content-Type: multipart/alternative; boundary=001a114a6868100c03053308ac9f X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a114a6868100c03053308ac9f Content-Type: text/plain; charset=UTF-8 On Tue, May 17, 2016 at 4:52 PM, Dave Page 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. > > Yes, I got that. I was talking from dependency perspective. Docs needs to be built in the virtual environment as it needs some python modules for building and App bundle should include the docs. So, docs will be built before the app bundle, but it needs venv which is a part of the same script (build.sh) that creates the bundle. So, I will have to split the build.sh accordingly. > >> 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 wrote: >> >>> On Fri, May 13, 2016 at 2:01 PM, Sandeep Thakkar >>> wrote: >>> > Thanks Dave. >>> > >>> > Please see inline. >>> > >>> > On Fri, May 6, 2016 at 9:03 PM, Dave Page 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 >>> >> 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 > > -- Sandeep Thakkar --001a114a6868100c03053308ac9f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Tue, May 17, 2016 at 4:52 PM, Dave Page <dpage@pgadmin.org><= /span> 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 th= is. I observed that it requires the python modules to get this built. We cr= eate virtual environment as a part of 'appbundle' target because we= do everything in a single script "build.sh".=C2=A0 Hence, right = now I added doc build in the same build script.

Right - I was suggesting you create the '= ;docs' target, then use it.
=C2=A0
Yes, I got that. I was talking from dependency perspec= tive. Docs needs to be built in the virtual environment as it needs some py= thon modules for building and App bundle should include the docs. So, docs = will be built before the app bundle, but it needs venv which is a part of t= he same script (build.sh) that creates the bundle. So, I will have to split= the build.sh accordingly.

BTW, the online he= lp returns me the following error now:
"The server encountered an i= nternal error and was unable to complete your request. Either the server is= overloaded or there is an error in the application." Since this is no= t 404, it means that it atleast got index.html, right? May be this should b= e handled in the source code.
<= div>
It works fine for me on my dev machines. If there= 's a problem, we need to diagnose it.
=C2=A0

Paresh is working on updating pgAdmin4.py to autocreate database con= figuration 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 P= M, 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 project= s.

>>
>> - 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
>>=C2=A0 =C2=A0execute 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
>>=C2=A0 =C2=A0called by the "clean" target.
>>
> OK.
>>
>> - At present, it is bundling my pre-existing configuration databas= e. It
>> *must*
>>=C2=A0 =C2=A0create a new one and bundle that, without touching the= existing one (I
>> guess
>>=C2=A0 =C2=A0that may require a new command line option for setup.p= y).
>
>
> No, it's not bundling the pgadmin4.db at all, I skipped it :). Par= esh is
> working on this.

Oh - in that case it used my existing one. Which of course, it shoul= d
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 addin= g a
>> top-level
>>=C2=A0 =C2=A0Makefile 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<= br> 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 ensur= e they
>> don't
>>=C2=A0 =C2=A0clash with those used by pip (and ideally are in one p= lace, e.g.
>> mac-build/).
>>
> OK.
>
>>
>> - I saw various errors in the build output, though the resulting D= MG
>> seemed to
>>=C2=A0 =C2=A0work fine;
>>
> Yeah, because I had libpq.dylib present in $PGDIR/ and may be yours pr= esent
> in $PGDIR/lib/. I will be using the default values suggested by you an= d 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/../../../QtWebKitWidge= ts.framework:
>> No such file or directory
>> chmod:
>> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitW= idgets:
>> No such file or directory
>> Rewriting ID in
>> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitW= idgets
>> 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/QtWebKitW= idgets
>> (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 Ma= c app
>> > bundle
>> > and DMG for pgAdmin4. This is the tree of the generated app b= undle:
>> >
>> > ----
>> > $ 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.framewo= rk
>> > 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 t= o fix the
>> > path
>> > where the runtime looks for web application path in app bundl= e.
>> >
>> >
>> > Kindly review and suggest the changes required.=C2=A0 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




--
=
Sandeep Th= akkar

--001a114a6868100c03053308ac9f--