Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2zsX-0006Xk-J4 for pgadmin-hackers@arkaria.postgresql.org; Wed, 18 May 2016 11:43:05 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b2zsW-0006Xu-0J for pgadmin-hackers@arkaria.postgresql.org; Wed, 18 May 2016 11:43:04 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b2zsI-0006K4-Cz for pgadmin-hackers@postgresql.org; Wed, 18 May 2016 11:42:50 +0000 Received: from mail-qk0-x22d.google.com ([2607:f8b0:400d:c09::22d]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b2zs6-0004TU-3x for pgadmin-hackers@postgresql.org; Wed, 18 May 2016 11:42:49 +0000 Received: by mail-qk0-x22d.google.com with SMTP id x7so24928290qkd.3 for ; Wed, 18 May 2016 04:42:37 -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=v2DWyNi6c/USYkuPdqezK+QUfwpgT+IgJVexYLJ0j/k=; b=nTqOhSVC7WMeTAaIuWWf5COwJ3jgTA73Nmu12acGg8qjmCcwtWcjpY3jWJ79J5isND VH3OdtbbL/sn9eMAHdfMw5XUsusjTbK9LUvGRdINmxHGUnqxBMLv1yuK2Jp+ZjRjdqvO Y4EhD97QB9wbpfEwpYhJWAuaP/JX4pm2E6NdoAL+Ip4G+Zp+bz8+H2k0MqkwkORvosHb 7ATzz4EBr7xvQ8y2fJE5p1SQ0YPF7Uimnk4JdJ+G/EK23B43x1I5sKomyREfCxMpvZbt MHLJPEtiyIajauJw89e+SHrc7QWN9cQVuDhkO2K+tVeu0KLoUCh6BERmXVbswzf3AqjP CkgA== 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=v2DWyNi6c/USYkuPdqezK+QUfwpgT+IgJVexYLJ0j/k=; b=HhmlCBcatr8tX5mhap7uowvNUx1GSUfaWTmI8VQdme9Wx0if5WPUcNN4cPPKBn7cws /wFeV2g2bxm2GGM8VMxR4jLACSqOxf/C4y6y8irBKMlx8FiRAFojxhLr6ce631Sid2bL 7D6aEPu2sUV/eIh+AIDx1BjYFBJzeueqYz9V0L9l8GjNo75xLdEv1K1IWypAJ2+kRAZ5 hotBNPQXcm+6UTLFWL6wafK6QEJsmogktBMnxPBY3J/FUA/tI446KFnbcM2x7VeWjH8N USON5CIrs5IU3xFP/566zWA9SX6J048EXyVnZ9n1YGbzNgwWxcSgY2UDuq9sjuOtvZ+c s/7A== X-Gm-Message-State: AOPr4FWqEfblFh48BvQbTmnqSnk/D5zjj+jg3swJsxP5X1s4z4hu0I/lnpId4mLDD9oWQNQGRiqpGS+tSgjvZbVv MIME-Version: 1.0 X-Received: by 10.55.101.20 with SMTP id z20mr7295751qkb.80.1463571756094; Wed, 18 May 2016 04:42:36 -0700 (PDT) Received: by 10.140.99.43 with HTTP; Wed, 18 May 2016 04:42:35 -0700 (PDT) In-Reply-To: References: Date: Wed, 18 May 2016 17:12:35 +0530 Message-ID: Subject: Re: Patch for pgAdmin4 package on Mac OS X From: Sandeep Thakkar To: Dave Page , Paresh More Cc: pgadmin-hackers , Hamid Quddus Content-Type: multipart/alternative; boundary=94eb2c0570a0a02d9105331c5a9a 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 --94eb2c0570a0a02d9105331c5a9a Content-Type: text/plain; charset=UTF-8 So, this means, the installer name would be pgadmin4-1.0-dev.exe on Windows and so on for other platforms? Also, the installation would go in $installdir/pgadmin4/1/ ? and the Revision change would update the installation? and the Release change will stay side-by-side? On Wed, May 18, 2016 at 4:20 PM, Sandeep Thakkar < sandeep.thakkar@enterprisedb.com> wrote: > Okay, so the patch needs a little change because of the change in the > versioning for pgAdmin. Will update it. > > Paresh, please take a note of it. > > On Tue, May 17, 2016 at 4:24 PM, 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. >> >> 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. >> >> 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 >> >> > > > -- > Sandeep Thakkar > > -- Sandeep Thakkar --94eb2c0570a0a02d9105331c5a9a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
So, this means, the installer name would be=C2=A0pgadmin4-1.0-dev.exe on Windows and so on for other= platforms?

Also, the installation would go in $i= nstalldir/pgadmin4/1/ ? and the Revision change would update the installati= on? and the Release change will stay side-by-side?

On Wed, May 18, 2016 at 4:20 PM= , Sandeep Thakkar <sandeep.thakkar@enterprisedb.com>= wrote:
Okay, so the patch need= s a little change because of the change in the versioning for pgAdmin. Will= update it.

Paresh, please take a note of it.=C2=A0

On Tue, May 17, 2016 at 4:24 PM, Sandeep Thakkar &= lt;sa= ndeep.thakkar@enterprisedb.com> wrote:
=
Hi Dave=

I have fixed the issues. Attached i= s the updated patch.

Th= e docs are built as part of 'appbundle' target, there is no separat= e target in Makefile for this. I observed that it requires the python modul= es to get this built. We create virtual environment as a part of 'appbu= ndle' 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.<= /font>

BTW, the online help returns me the following error now:
= "The server encountered an internal error and was unable to complete y= our request. Either the server is overloaded or there is an error in the ap= plication." Since this is not 404, it means that it atleast got index.= html, right? May be this should be handled in the source code.

Paresh is working on updating pgAdmin4.py to autocreate= database configuration if does not exist. He will share the patch.<= /div>

On Fri, May 13, 2016 at 6:41 PM, Dave Page <<= a href=3D"mailto:dpage@pgadmin.org" target=3D"_blank">dpage@pgadmin.org= > wrote:
On Fri, May 13, 2016 at 2:01 P= M, Sandeep Thakkar
<s= andeep.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



<= /div>--
Sandeep Thakkar




--
Sandeep Thakkar




--
Sandeep Thakkar
=
--94eb2c0570a0a02d9105331c5a9a--