Re: Patch for pgAdmin4 RPM package

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Sandeep Thakkar <sandeep(dot)thakkar(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Hamid Quddus <hamid(dot)quddus(at)enterprisedb(dot)com>, Devrim GÜNDÜZ <devrim(at)gunduz(dot)org>
Subject: Re: Patch for pgAdmin4 RPM package
Date: 2016-06-06 08:23:41
Message-ID: CA+OCxozxpkH2y6gHJ6WTM9qniby_gsdr-3=7Nkfb3WJWrJh3ng@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

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(dot)thakkar(at)enterprisedb(dot)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 <dpage(at)pgadmin(dot)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(dot)thakkar(at)enterprisedb(dot)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 <dpage(at)pgadmin(dot)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(dot)thakkar(at)enterprisedb(dot)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(dot)thakkar(at)enterprisedb(dot)com> wrote:
>>>>>
>>>>>> Thanks Dave.
>>>>>>
>>>>>> On Fri, Jun 3, 2016 at 2:08 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> On Thu, Jun 2, 2016 at 4:23 PM, Sandeep Thakkar
>>>>>>> <sandeep(dot)thakkar(at)enterprisedb(dot)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(at)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(at)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(at)localhost tmp]# yum list | grep pgadmin4-docs
>>>>>>> > pgadmin4-docs.noarch 1.0_dev-1.rhel7
>>>>>>> > installed
>>>>>>> >
>>>>>>> >
>>>>>>> > [root(at)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

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2016-06-06 08:33:15 Re: pgAdmin IV API test cases patch
Previous Message Sandeep Thakkar 2016-06-06 08:15:54 Re: Patch for pgAdmin4 RPM package