Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bB1GP-00013x-KR for pgadmin-hackers@arkaria.postgresql.org; Thu, 09 Jun 2016 14:48:53 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bB1GP-00089O-3o for pgadmin-hackers@arkaria.postgresql.org; Thu, 09 Jun 2016 14:48:53 +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 1bB1GN-00088u-FG for pgadmin-hackers@postgresql.org; Thu, 09 Jun 2016 14:48:51 +0000 Received: from mail-it0-x22f.google.com ([2607:f8b0:4001:c0b::22f]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bB1GH-0001ax-Ra for pgadmin-hackers@postgresql.org; Thu, 09 Jun 2016 14:48:50 +0000 Received: by mail-it0-x22f.google.com with SMTP id h190so36777119ith.1 for ; Thu, 09 Jun 2016 07:48:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=dWFP7ztKhUU/hcYnTz6gsgGpid5w9aw6omtfGI2lBQg=; b=iPzVjxhN4NkT2orxwxadv6S9oosnLHlgfkRjAFWy4Rt7pOGPnal474RbzML36Jp8fI ZrejL0qhWLWn+6RxvIpO1vYeGcjwo9nl3X6ZX0fpVxaMSKofgEJDQtvhmsjHOeGfmr/4 bApJrNf/ii4HxWvf2PiycjGGCTj6YPXuI6Lbuhan+jpOoKQ5aCL4u7NynTj4VlVsyUBU 4poT5tCjZnuEI4NgFqa3OULJjOG+g3ivJyagBXBQuYsT+PcGnKa34IGa2nD0P1dzlmhu gnBK5/5YK4++WOzW8HKTwjbMKZPD9DO4LakAwDZsZSIHxDZsNUjFquPXQCrqZ6zAxfKN ff0g== 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:from:date :message-id:subject:to:cc; bh=dWFP7ztKhUU/hcYnTz6gsgGpid5w9aw6omtfGI2lBQg=; b=RNw4BL+/TwAw/yrU4Oe1IszxSEDM+D5HASe2HwcaEXBDwog1v/KmvBn5dQWCvVaXYT epYjCdKUd+79+N73hMJA6tf24OOVXfnkYLwMerCYZC8YVpYQRvXUUERaDYf+eCHDpHqy 946dE6nP+c1Wrm/t265QAW1gm7ufee6+KHl50sj+3+6THKr2vvrp+8+trcei3scEKpgQ ynqMpH9MOJgEjgu5SIetzUnu6fds/9FkB0lXWNjZsRmehqaycN2OR6EKoGc7C1N22Z1d HpVAuwRPgOI+NFaq3D/iqHdFaq+sAUF0lOHJPq7/M4VfZQvvQI+9pdPZsnPAmPuu5WPo M2yA== X-Gm-Message-State: ALyK8tI9fYPUq1n8eqSj3A2rnNmkTRFWnUUHQpxtJaIOyKL1FC1apE/Fk73/HtVZ2oCioLAakZdBv/BtytB5gA== X-Received: by 10.36.73.219 with SMTP id e88mr22625725itd.88.1465483723745; Thu, 09 Jun 2016 07:48:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.24.233 with HTTP; Thu, 9 Jun 2016 07:48:42 -0700 (PDT) In-Reply-To: References: From: Dave Page Date: Thu, 9 Jun 2016 15:48:42 +0100 Message-ID: Subject: Re: Patch for pgAdmin4 RPM package To: Sandeep Thakkar Cc: Ashesh Vashi , pgadmin-hackers , Hamid Quddus , =?UTF-8?B?RGV2cmltIEfDnE5Ew5xa?= Content-Type: multipart/alternative; boundary=001a114489d0c7853b0534d98473 X-Pg-Spam-Score: -1.9 (-) 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 --001a114489d0c7853b0534d98473 Content-Type: text/plain; charset=UTF-8 Hi On Tue, Jun 7, 2016 at 8:02 AM, Sandeep Thakkar < sandeep.thakkar@enterprisedb.com> wrote: > Hi Dave > > I used few APIs from Importing Modules and Modules Objects to import the > pgAdmin4 module and then get it's location but the application crashed on > running. I didn't debug it and instead created a new function in Server.cpp > to get the python path and the webpath which uses python command. If we > still need to use the Python/C APIs then that would take some more time as > nobody has expertise on that. :( > > Please find the patch attached. Web RPM will install an empty file > pgadmin4-v1.conf in "/etc/httpd/conf.d/". I thought this > file must be present in the sources or must be generated after build, but I > didn't find any. So, I created an empty file. > I still think we're making this too difficult. We know what the standard version of Python is on each supported platform, and therefore we know where to find it's site-packages directory. We could add a global config file to the runtime (/etc/pgadmin4/runtime.ini or similar), so the search for the web app and the runtime environments can fall back to values in there. Thoughts? Other comments: - You can drop the changes to conf.py - we're no longer using that doc template. - This is the link for the current source tarball: https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.0-beta1/src/pgadmin4-1.0-beta1.tar.gz - "BuildRequires: python-sphinx_rtd_theme" and similar can also go. > > > On Mon, Jun 6, 2016 at 2:47 PM, Ashesh Vashi < > ashesh.vashi@enterprisedb.com> wrote: > >> On Mon, Jun 6, 2016 at 2:44 PM, Dave Page wrote: >> >>> Hmm, virtualenv's a good point. >>> >>> I wonder if for the RPMs (and DEBs) we're just trying too hard. Is there >>> any good reason to support SxS there? Stability I suppose, but then we >>> don't support back-branches long term anyway. >>> >> pgAdmin IV may need particular version of third party libraries. >> We may not control over, what other application will require. >> >> Hence - it can create dependency issue. >> >>> >>> Does anyone think we need to support side-by-side RPM/DEB installation >>> of multiple major versions of pgAdmin? Devrim? Hamid? >>> >> I do not feel the requirement of it. >> >> >> -- >> >> Thanks & Regards, >> >> Ashesh Vashi >> EnterpriseDB INDIA: Enterprise PostgreSQL Company >> >> >> >> *http://www.linkedin.com/in/asheshvashi* >> >> >>> >>> The config file would be part of the web package. >>> >>> On Mon, Jun 6, 2016 at 10:09 AM, Sandeep Thakkar < >>> sandeep.thakkar@enterprisedb.com> wrote: >>> >>>> I already asked them about the APIs, though I didn't ask them about >>>> what is the best way to handle SxS installation. Will check with them. >>>> >>>> PIP package for pgadmin4 doesn't support SxS as it creates the >>>> directory with the name 'pgadmin4' only. Googling about the SxS with PIP >>>> says that people use virtualenv to achieve it. >>>> >>>> Regarding pgadmin4-v1.conf - will it be a part of pgadmin4-docs RPM? >>>> Needed for Debian also? >>>> >>>> On Mon, Jun 6, 2016 at 1:53 PM, Dave Page wrote: >>>> >>>>> I have no idea. I would ask one of the Python guru's sitting next to >>>>> you (as well as whether the way we'd handle side-by-side packages is >>>>> appropriate). Also, look at what the PIP package does (does that even work >>>>> properly in a SxS scenario? I don't know if we thought to check that). >>>>> >>>>> BTW; on the RPMs - we also need to include a config snippet for >>>>> Apache, e.g. /etc/httpd/conf.d/pgadmin4-v1.conf. The online docs for >>>>> pgAdmin have a section on configuring that. >>>>> >>>>> >>>>> >>>>> On Mon, Jun 6, 2016 at 9:15 AM, Sandeep Thakkar < >>>>> sandeep.thakkar@enterprisedb.com> wrote: >>>>> >>>>>> Yeah, I got the point. To distinguish between v1 and v2, we can have >>>>>> blank __init__.py in the v1 and v2 directories. I tried it and could >>>>>> successfully import the pgAdmin4 using "import pgadmin4_web_v1.pgAdmin4" >>>>>> and "import pgadmin4_web_v2.pgAdmin4". Please note that I had to rename >>>>>> hyphen to underscore in the directories to achieve this. >>>>>> >>>>>> But, I spent enough time to find the API that can get me the location >>>>>> for "pgadmin4_web_v1.pgAdmin4" module, but couldn't find it. Do you have an >>>>>> idea? >>>>>> >>>>>> >>>>>> On Fri, Jun 3, 2016 at 8:24 PM, Dave Page wrote: >>>>>> >>>>>>> My point is that the runtime uses the platform supplied Python >>>>>>> interpreter, which presumably knows where to search for packages. Mind you, >>>>>>> I suppose the issue there is that it wouldn't be able to distinguish >>>>>>> between v1 and v2 then... >>>>>>> >>>>>>> I don't have a major issue with your suggested code - I just want to >>>>>>> make sure we need it. >>>>>>> >>>>>>> >>>>>>> On Fri, Jun 3, 2016 at 3:39 PM, Sandeep Thakkar < >>>>>>> sandeep.thakkar@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Do you mean to say when a python app is launched, it imports some >>>>>>>> modules automatically and in that sense it knows about where it's >>>>>>>> site-packages are? May be, but how the pgAdmin4 runtime will know where the >>>>>>>> Web App is installed? >>>>>>>> >>>>>>>> The changes that I have done to the runtime is to let it know the >>>>>>>> path of the Web App which is present in >>>>>>>> "/site-packages/pgadmin4-web-v1/pgAdmin4.py" The changes done are not to >>>>>>>> set the PythonPath like we did for appbundle because I thought it is not >>>>>>>> needed and it will automatically load the modules from the site-packages, >>>>>>>> but it is to set the ApplicationPath. >>>>>>>> >>>>>>>> I missed something? or misunderstood something? >>>>>>>> >>>>>>>> On Fri, Jun 3, 2016 at 7:39 PM, Dave Page >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Well, I have to wonder why we need the changes to the runtime? >>>>>>>>> We're linking the runtime with the same build of Python that's already on >>>>>>>>> the system - doesn't it know where it's site-packages are already? I could >>>>>>>>> see us needing this is we were using a distro-independent build of Python >>>>>>>>> and wanted to find the OS site-packages location, but we're not. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Jun 3, 2016 at 10:15 AM, Sandeep Thakkar < >>>>>>>>> sandeep.thakkar@enterprisedb.com> wrote: >>>>>>>>> >>>>>>>>>> Hi Dave, >>>>>>>>>> >>>>>>>>>> how about changes in the pgadmin4 source code for conf.py and >>>>>>>>>> Server.cpp? Looks okay? >>>>>>>>>> >>>>>>>>>> On Fri, Jun 3, 2016 at 2:41 PM, Sandeep Thakkar < >>>>>>>>>> sandeep.thakkar@enterprisedb.com> wrote: >>>>>>>>>> >>>>>>>>>>> Thanks Dave. >>>>>>>>>>> >>>>>>>>>>> On Fri, Jun 3, 2016 at 2:08 PM, Dave Page >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Jun 2, 2016 at 4:23 PM, Sandeep Thakkar >>>>>>>>>>>> wrote: >>>>>>>>>>>> > Hi Devrim, Hi Dave, >>>>>>>>>>>> > >>>>>>>>>>>> > I have updated the patch. The earlier patch may fail because >>>>>>>>>>>> of app bundle >>>>>>>>>>>> > commit in git. >>>>>>>>>>>> > >>>>>>>>>>>> > For testing, you may define the source tarball location as : >>>>>>>>>>>> > Source0: >>>>>>>>>>>> > >>>>>>>>>>>> http://bugatti.pn.in.enterprisedb.com/temp/pgadmin4/%{name}-v%{version}.tar.gz >>>>>>>>>>>> > >>>>>>>>>>>> > Known issue that I'm still working on: >>>>>>>>>>>> > 1. web rpm has a dependency on doc. But, even if I install >>>>>>>>>>>> doc, the web >>>>>>>>>>>> > still complains. Here is the scenario: >>>>>>>>>>>> > [root@localhost tmp]# rpm -ivh >>>>>>>>>>>> > dist/noarch/pgadmin4-web-1.0_dev-1.rhel7.noarch.rpm >>>>>>>>>>>> > error: Failed dependencies: >>>>>>>>>>>> > pgadmin4-doc = 1.0_dev is needed by >>>>>>>>>>>> pgadmin4-web-1.0_dev-1.rhel7.noarch >>>>>>>>>>>> > ... ( trimmed the python dependencies list here...) >>>>>>>>>>>> > >>>>>>>>>>>> > [root@localhost tmp]# rpm -ivh >>>>>>>>>>>> > dist/noarch/pgadmin4-docs-1.0_dev-1.rhel7.noarch.rpm >>>>>>>>>>>> > Preparing... >>>>>>>>>>>> ################################# >>>>>>>>>>>> > [100%] >>>>>>>>>>>> > Updating / installing... >>>>>>>>>>>> > 1:pgadmin4-docs-1.0_dev-1.rhel7 >>>>>>>>>>>> ################################# >>>>>>>>>>>> > [100%] >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > [root@localhost tmp]# yum list | grep pgadmin4-docs >>>>>>>>>>>> > pgadmin4-docs.noarch 1.0_dev-1.rhel7 >>>>>>>>>>>> > installed >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > [root@localhost tmp]# rpm -ivh >>>>>>>>>>>> > dist/noarch/pgadmin4-web-1.0_dev-1.rhel7.noarch.rpm >>>>>>>>>>>> > error: Failed dependencies: >>>>>>>>>>>> > pgadmin4-doc = 1.0_dev is needed by >>>>>>>>>>>> pgadmin4-web-1.0_dev-1.rhel7.noarch >>>>>>>>>>>> >>>>>>>>>>>> You have a typo - the Requires line is for pgadmin4-doc, but >>>>>>>>>>>> the RPM >>>>>>>>>>>> is pgadmin4-docs. >>>>>>>>>>>> >>>>>>>>>>>> Oh, right. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Other review comments: >>>>>>>>>>>> >>>>>>>>>>>> - We have multiple identical pgadmin4.spec.in's in the patch. >>>>>>>>>>>> We need >>>>>>>>>>>> to get that down to a single file. >>>>>>>>>>>> >>>>>>>>>>>> - In fact, why do we need a directory for each distro at all? >>>>>>>>>>>> As far >>>>>>>>>>>> as I can see, the only difference is the $DIST definition, >>>>>>>>>>>> which is >>>>>>>>>>>> surely something we can get programmatically very easily. It >>>>>>>>>>>> seems to >>>>>>>>>>>> me we could reduce this all to 3 files - Makefile, README and >>>>>>>>>>>> pgadmin4.spec.in >>>>>>>>>>>> >>>>>>>>>>>> Agree. I copied the structure from somewhere thinking this is >>>>>>>>>>> good to have more OS specific changes. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> - make rpm has a dependency on make prep. This has 2 issues as >>>>>>>>>>>> far as I can see: >>>>>>>>>>>> >>>>>>>>>>>> - It does a git pull, which is bad. If I'm making an RPM from >>>>>>>>>>>> within >>>>>>>>>>>> the source tree, I want it for the current source. The git pull >>>>>>>>>>>> only >>>>>>>>>>>> makes sense for external builds, i.e. in a much larger >>>>>>>>>>>> automated build >>>>>>>>>>>> system. >>>>>>>>>>>> >>>>>>>>>>>> - It goes and grabs the source code and patches from the FTP >>>>>>>>>>>> site. >>>>>>>>>>>> Again, this is not what I want for an "in-tree" build. I want >>>>>>>>>>>> to use >>>>>>>>>>>> the source code as I have it now. >>>>>>>>>>>> >>>>>>>>>>>> Okay. got it. Will remove downloading the tarballs and build >>>>>>>>>>> the cloned source. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Dave Page >>>>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>>>> Twitter: @pgsnake >>>>>>>>>>>> >>>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Sandeep Thakkar >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Sandeep Thakkar >>>>>>>>>> Lead Software Engineer >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Phone: +91.20.30589505 >>>>>>>>>> >>>>>>>>>> Website: www.enterprisedb.com >>>>>>>>>> EnterpriseDB Blog: http://blogs.enterprisedb.com/ >>>>>>>>>> Follow us on Twitter: http://www.twitter.com/enterprisedb >>>>>>>>>> >>>>>>>>>> This e-mail message (and any attachment) is intended for the use >>>>>>>>>> of the individual or entity to whom it is addressed. This message contains >>>>>>>>>> information from EnterpriseDB Corporation that may be privileged, >>>>>>>>>> confidential, or exempt from disclosure under applicable law. If you are >>>>>>>>>> not the intended recipient or authorized to receive this for the intended >>>>>>>>>> recipient, any use, dissemination, distribution, retention, archiving, or >>>>>>>>>> copying of this communication is strictly prohibited. If you have received >>>>>>>>>> this e-mail in error, please notify the sender immediately by reply e-mail >>>>>>>>>> and delete this message. >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Dave Page >>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>> Twitter: @pgsnake >>>>>>>>> >>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Sandeep Thakkar >>>>>>>> Lead Software Engineer >>>>>>>> >>>>>>>> >>>>>>>> Phone: +91.20.30589505 >>>>>>>> >>>>>>>> Website: www.enterprisedb.com >>>>>>>> EnterpriseDB Blog: http://blogs.enterprisedb.com/ >>>>>>>> Follow us on Twitter: http://www.twitter.com/enterprisedb >>>>>>>> >>>>>>>> This e-mail message (and any attachment) is intended for the use of >>>>>>>> the individual or entity to whom it is addressed. This message contains >>>>>>>> information from EnterpriseDB Corporation that may be privileged, >>>>>>>> confidential, or exempt from disclosure under applicable law. If you are >>>>>>>> not the intended recipient or authorized to receive this for the intended >>>>>>>> recipient, any use, dissemination, distribution, retention, archiving, or >>>>>>>> copying of this communication is strictly prohibited. If you have received >>>>>>>> this e-mail in error, please notify the sender immediately by reply e-mail >>>>>>>> and delete this message. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 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 > > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company --001a114489d0c7853b0534d98473 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi

On Tue, Jun 7, 2016 at 8:02 AM, Sandeep Thakkar <sandeep.= thakkar@enterprisedb.com> wrote:
Hi Dave

I used few APIs from Importing Modules = and Modules Objects to import the pgAdmin4 module and then get it's loc= ation but the application crashed on running. I didn't debug it and ins= tead created a new function in Server.cpp to get the python path and the we= bpath which uses python command. If we still need to use the Python/C APIs = then that would take some more time as nobody has expertise on that. :(=C2= =A0

Please find the patch attached. Web RPM will i= nstall an empty file pgadmin4-v1.conf in "<pgadmin4-web-v1>/etc/= httpd/conf.d/". I thought this file must be present in the sources or = must be generated after build, but I didn't find any. So, I created an = empty file.

I still think we= 9;re making this too difficult. We know what the standard version of Python= is on each supported platform, and therefore we know where to find it'= s site-packages directory. We could add a global config file to the runtime= (/etc/pgadmin4/runtime.ini or similar), so the search for the web app and = the runtime environments can fall back to values in there.

Thoughts?

Other comments:

<= /div>
- You can drop the changes to conf.py - we're no longer using= that doc template.

- This is the link for the cur= rent source tarball:=C2=A0https://ftp.postgresql= .org/pub/pgadmin3/pgadmin4/v1.0-beta1/src/pgadmin4-1.0-beta1.tar.gz

- "BuildRequires: =C2=A0python-sphinx_rtd_theme&= quot; and similar can also go.

=C2=A0

<= div>

On Mon, Jun 6, 2016 at= 2:47 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com><= /span> wrote:
On Mon, Jun 6, 2016 at 2:44 PM, Dave Pa= ge <dpage@pgadmin.org> wrote:
Hmm, virtualenv's a good point.

I wonder if= for the RPMs (and DEBs) we're just trying too hard. Is there any good = reason to support SxS there? Stability I suppose, but then we don't sup= port back-branches long term anyway.
pg= Admin IV may need particular version of third party libraries.
We= may not control over, what other application will require.

<= /div>
Hence - it can create dependency issue.=C2=A0

Does anyone think we need to = support side-by-side RPM/DEB installation of multiple major versions of pgA= dmin? Devrim? Hamid?
I do not feel the = requirement of it.


--=

Thanks &= Regards,

Ashesh Vashi
EnterpriseDB INDIA:=C2=A0<= /span>Enterprise= PostgreSQL Company



Th= e config file would be part of the web package.

On Mon, Jun 6, 2016 at = 10:09 AM, Sandeep Thakkar <sandeep.thakkar@enterprisedb.com= > wrote:
I already asked= them about the APIs, though I didn't ask them about what is the best w= ay to handle SxS installation. Will check with them.

PIP= package for pgadmin4 doesn't support SxS as it creates the directory w= ith the name 'pgadmin4' only. Googling about the SxS with PIP says = that people use virtualenv to achieve it.

Regardin= g pgadmin4-v1.conf - will it be a part of pgadmin4-docs RPM? Needed for Deb= ian also?

On Mon, Jun 6, 2016 at 1:53 PM, Dave Page &l= t;dpage@pgadmin.org<= /a>> wrote:
I have no idea. = I would ask one of the Python guru's sitting next to you (as well as wh= ether the way we'd handle side-by-side packages is appropriate). Also, = look at what the PIP package does (does that even work properly in a SxS sc= enario? I don't know if we thought to check that).

B= TW; on the RPMs - we also need to include a config snippet for Apache, e.g.= /etc/httpd/conf.d/pgadmin4-v1.conf. The online docs for pgAdmin have a sec= tion on configuring that.



On Mon, Jun= 6, 2016 at 9:15 AM, Sandeep Thakkar <sandeep.thakkar@enter= prisedb.com> wrote:
Yeah= , I got the point. To distinguish between v1 and v2, we can have blank __in= it__.py in the v1 and v2 directories. I tried it and could successfully imp= ort the pgAdmin4 using "import pgadmin4_web_v1.pgAdmin4" and &quo= t;import pgadmin4_web_v2.pgAdmin4".=C2=A0 Please note that I had to re= name hyphen to underscore in the directories to achieve this.=C2=A0
But, I spent enough time to find the API that can get me the location= for "pgadmin4_web_v1.pgAdmin4" module, but couldn't find it.= Do you have an idea?

=

On Fri, Jun 3, 2016 at 8:24 PM, Da= ve Page <dpage@pgadmin.org> wrote:
My point is that the runtime uses the platform supplied Pytho= n interpreter, which presumably knows where to search for packages. Mind yo= u, I suppose the issue there is that it wouldn't be able to distinguish= between v1 and v2 then...

I don't have a major issu= e with your suggested code - I just want to make sure we need it.
=

On Fri, = Jun 3, 2016 at 3:39 PM, Sandeep Thakkar <sandeep.thakkar@en= terprisedb.com> wrote:
D= o you mean to say when a python app is launched, it imports some modules au= tomatically and in that sense it knows about where it's site-packages a= re? May be, but how the pgAdmin4 runtime will know where the Web App is ins= talled?=C2=A0

The changes that I have done to the runtim= e is to let it know the path of the Web App which is present in "/site= -packages/pgadmin4-web-v1/pgAdmin4.py" The changes done are not to set= the PythonPath like we did for appbundle because I thought it is not neede= d and it will automatically load the modules from the site-packages, but it= is to set the ApplicationPath.

I missed something= ? or misunderstood something?=C2=A0

On Fri, Jun 3, 2016 at 7:39 PM,= Dave Page <dpage@pgadmin.org> wrote:
=
Hi,

Well, I have to wonder why we need = the changes to the runtime? We're linking the runtime with the same bui= ld of Python that's already on the system - doesn't it know where i= t's site-packages are already? I could see us needing this is we were u= sing a distro-independent build of Python and wanted to find the OS site-pa= ckages location, but we're not.


On Fri, Jun 3, 2016 a= t 10:15 AM, Sandeep Thakkar <sandeep.thakkar@enterprisedb.c= om> wrote:
Hi Dave,=C2= =A0

how about changes in the pgadmin4 source code for co= nf.py and Server.cpp? Looks okay?

On Fri, Jun 3, 2016 at 2:41 PM, Sande= ep Thakkar <sandeep.thakkar@enterprisedb.com>= wrote:
Thanks Dave.=C2=A0

On Fri, Jun 3, = 2016 at 2:08 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi

On Thu, Jun 2, 2016 at 4:23 PM, Sandeep Thakkar
<s= andeep.thakkar@enterprisedb.com> wrote:
> Hi Devrim, Hi Dave,
>
> I have updated the patch. The earlier patch may fail because of app bu= ndle
> commit in git.
>
> For testing, you may define the source tarball location as :
> Source0:
> http://bu= gatti.pn.in.enterprisedb.com/temp/pgadmin4/%{name}-v%{version}.tar.gz >
> Known issue that I'm still working on:
> 1. web rpm has a dependency on doc. But, even if I install doc, the we= b
> still complains. Here is the scenario:
> [root@localhost tmp]# rpm -ivh
> dist/noarch/pgadmin4-web-1.0_dev-1.rhel7.noarch.rpm
> error: Failed dependencies:
> pgadmin4-doc =3D 1.0_dev is needed by pgadmin4-web-1.0_dev-1.rhel7.noa= rch
> ... ( trimmed the python dependencies list here...)
>
> [root@localhost tmp]# rpm -ivh
> dist/noarch/pgadmin4-docs-1.0_dev-1.rhel7.noarch.rpm
> Preparing...=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 #################################
> [100%]
> Updating / installing...
>=C2=A0 =C2=A0 1:pgadmin4-docs-1.0_dev-1.rhel7=C2=A0 =C2=A0 ############= #####################
> [100%]
>
>
> [root@localhost tmp]# yum list | grep pgadmin4-docs
> pgadmin4-docs.noarch=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 1.0_dev-1.rhel7
> installed
>
>
> [root@localhost tmp]# rpm -ivh
> dist/noarch/pgadmin4-web-1.0_dev-1.rhel7.noarch.rpm
> error: Failed dependencies:
> pgadmin4-doc =3D 1.0_dev is needed by pgadmin4-web-1.0_dev-1.rhel7.noa= rch

You have a typo - the Requires line is for pgadmin4-doc, but th= e RPM
is pgadmin4-docs.

Oh, right.
=C2=A0
Other review comments:

- We have multiple identical pgadmin4.spec.in's in the patch. We need=
to get that down to a single file.

- In fact, why do we need a directory for each distro at all? As far
as I can see, the only difference is the $DIST definition, which is
surely something we can get programmatically very easily. It seems to
me we could reduce this all to 3 files - Makefile, README and
pg= admin4.spec.in

Agree. I copied the structure from somewhere t= hinking this is good to have more OS specific changes.
=C2= =A0
- make rpm has a dependency on make prep. This has 2 issues as far as I can= see:

=C2=A0 - It does a git pull, which is bad. If I'm making an RPM from wi= thin
the source tree, I want it for the current source. The git pull only
makes sense for external builds, i.e. in a much larger automated build
system.

=C2=A0 - It goes and grabs the source code and patches from the FTP site. Again, this is not what I want for an "in-tree" build. I want to = use
the source code as I have it now.

Okay. got it. Will remov= e downloading the tarballs and build the cloned source.
=C2= =A0
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

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


--
Sandeep Thakkar




-= -
Sandeep Thakkar
Lead Software Engineer


Phone: +91.20.30589505

Website: www.enterprisedb.com
EnterpriseDB Blog:
http://blogs.enterprisedb.com/
Follow us on Twitter: http://www.t= witter.com/enterprisedb

This e-mail message (and any attachment)= is intended for the use of the individual or entity to whom it is addresse= d. This message contains information from EnterpriseDB Corporation that may= be privileged, confidential, or exempt from disclosure under applicable la= w. If you are not the intended recipient or authorized to receive this for = the intended recipient, any use, dissemination, distribution, retention, ar= chiving, or copying of this communication is strictly prohibited. If you ha= ve received this e-mail in error, please notify the sender immediately by r= eply e-mail and delete this message.



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

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



--
Sandeep = Thakkar
Lead Software Engineer
<= br>
Phone: +91.20.30589505

Website: www.enterprisedb.com
EnterpriseDB = Blog: http://b= logs.enterprisedb.com/
Follow us on Twitter: http://www.twitter.com/enterpris= edb

This e-mail message (and any attachment) is intended for the= use of the individual or entity to whom it is addressed. This message cont= ains information from EnterpriseDB Corporation that may be privileged, conf= idential, or exempt from disclosure under applicable law. If you are not th= e intended recipient or authorized to receive this for the intended recipie= nt, any use, dissemination, distribution, retention, archiving, or copying = of this communication is strictly prohibited. If you have received this e-m= ail in error, please notify the sender immediately by reply e-mail and dele= te this message.



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

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



<= font color=3D"#888888">--
Sandeep Thakkar




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

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



<= /div>--
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.bl= ogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com<= br>The Enterprise PostgreSQL Company
--001a114489d0c7853b0534d98473--