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.thak...@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 <dp...@pgadmin.org> 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.thak...@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 <dp...@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 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.thak...@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.thak...@enterprisedb.com> wrote: >>>>> >>>>>> Thanks Dave. >>>>>> >>>>>> On Fri, Jun 3, 2016 at 2:08 PM, Dave Page <dp...@pgadmin.org> wrote: >>>>>> >>>>>>> Hi >>>>>>> >>>>>>> On Thu, Jun 2, 2016 at 4:23 PM, Sandeep Thakkar >>>>>>> <sandeep.thak...@enterprisedb.com> 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