public inbox for [email protected]  
help / color / mirror / Atom feed
pgadmin4 RPM broken?
8+ messages / 2 participants
[nested] [flat]

* pgadmin4 RPM broken?
@ 2017-04-24 13:37  John Harvey <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: John Harvey @ 2017-04-24 13:37 UTC (permalink / raw)
  To: pgsql-pkg-yum

Hello Devrim,

I know that pgadmin4 is being overhauled, but it looks like the current yum
installation is broken.

I just tried the following procedure:

   1. Create a Centos7 VM
   2. sudo yum -y install
   https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rp...
   3. sudo yum install pgadmin4-v1-web

When I do this, I get a lot of errors about missing python-* packages.  I
know that rencently, the python-* dependencies were changed to a prefix of
pgadmin4-python.  This all worked fine until the python-* packages were
removed from the yum repository.  When that happened, the currently-posted
pgadmin4 is based on a specfile that still has Requires lines referencing
the old dependency package structure, that are now missing.

As a quick example, take a look at:
pgrpms/rpm/redhat/9.5/pgadmin4-v1/EL-7/ pgadmin4-v1.spec

This specfile still has a bunch of Requires lines for
Requires:       python3-babel >= 1.3
Requires:       python3-flask >= 0.11.1
etc.

I know there's a FIXME written to do the work, but if that is going to take
some time to do, I might request that the python-* packages be restored
temporarily so that the current version of pgadmin4 on the yum repository
will be able to install properly.

Regards,
  -John Harvey


^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: pgadmin4 RPM broken?
@ 2017-04-27 10:35  Devrim Gündüz <[email protected]>
  parent: John Harvey <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: Devrim Gündüz @ 2017-04-27 10:35 UTC (permalink / raw)
  To: John Harvey <[email protected]>; pgsql-pkg-yum


Hi John,

Wow, I was sure that I tested this, but apparently I did not. I see your point.
Actually the recent spec file in the repo should be good (as a part of some new
repo announcement), so I need to rebuild pgadmin4 RPM using that spec file.

Will do.

Regards, Devrim

On Mon, 2017-04-24 at 09:37 -0400, John Harvey wrote:
> Hello Devrim,
> 
> I know that pgadmin4 is being overhauled, but it looks like the current yum
> installation is broken.
> 
> I just tried the following procedure:
> 
>    1. Create a Centos7 VM
>    2. sudo yum -y install
>    https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgd
> g-centos95-9.5-3.noarch.rpm
>    3. sudo yum install pgadmin4-v1-web
> 
> When I do this, I get a lot of errors about missing python-* packages.  I
> know that rencently, the python-* dependencies were changed to a prefix of
> pgadmin4-python.  This all worked fine until the python-* packages were
> removed from the yum repository.  When that happened, the currently-posted
> pgadmin4 is based on a specfile that still has Requires lines referencing
> the old dependency package structure, that are now missing.
> 
> As a quick example, take a look at:
> pgrpms/rpm/redhat/9.5/pgadmin4-v1/EL-7/ pgadmin4-v1.spec
> 
> This specfile still has a bunch of Requires lines for
> Requires:       python3-babel >= 1.3
> Requires:       python3-flask >= 0.11.1
> etc.
> 
> I know there's a FIXME written to do the work, but if that is going to take
> some time to do, I might request that the python-* packages be restored
> temporarily so that the current version of pgadmin4 on the yum repository
> will be able to install properly.
> 
> Regards,
>   -John Harvey

-- 
Devrim Gündüz
EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR


Attachments:

  [application/pgp-signature] signature.asc (819B, 2-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: pgadmin4 RPM broken?
@ 2017-04-27 21:38  John Harvey <[email protected]>
  parent: Devrim Gündüz <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: John Harvey @ 2017-04-27 21:38 UTC (permalink / raw)
  To: pgsql-pkg-yum

Hi Devrim,

Wow, I was sure that I tested this, but apparently I did not. I see your
> point.
> Actually the recent spec file in the repo should be good (as a part of
> some new
> repo announcement), so I need to rebuild pgadmin4 RPM using that spec file.
>
> Will do.


No worries.  I know that things have been busy.

BTW, I did some test building with the latest spec on RHEL7, since you
mentioned you're thinking of a rebuild/re-release.
I had a few findings that may be of use, if you are still finalizing the
spec-file.
Some of these are small and have to do with a few of the new
pgadmin4-python packages.

1) I noticed that there is no pgadmin4-babel directory in the 9.5 folder,
but it exists in 9.6.  Does it make sense to copy that over to 9.5 (and
pg10) as well?  It is a necessary build dependency
for pgadmin4-python-flask-babel.

2) Do you think it makes sense to change the name of the pgadmin4-babel
specfile (babel.spec) to pgadmin4-babel.spec to match the other pgadmin4
specfile naming conventions?

3) In the yum repository, one of the pgadmin4-python RPM's has some strange
capitalization in the RPM name:
pgadmin4-python-Flask-Mail-0.9.1-3.rhel6.noarch.rpm.
Should this all be lowercase?

4) When I try building with the current pgadmin4 specfile on RHEL7, I get
an error at patch-time:

+ cd pgadmin4-1.3
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #0 (pgadmin4-sphinx-theme.patch):'
Patch #0 (pgadmin4-sphinx-theme.patch):
+ /usr/bin/cat pgadmin4/SOURCES/pgadmin4-sphinx-theme.patch
+ /usr/bin/patch -p0 --fuzz=0
patching file docs/en_US/conf.py
+ echo 'Patch #4 (pgadmin4-rhel7-sphinx.patch):'
Patch #4 (pgadmin4-rhel7-sphinx.patch):
+ /usr/bin/cat pgadmin4/SOURCES/pgadmin4-rhel7-sphinx.patch
+ /usr/bin/patch -p0 --fuzz=0
patching file docs/en_US/Makefile.sphinx
Reversed (or previously applied) patch detected!  Assume -R? [n]


I'm not sure why this occurs.  I'll keep investigating.

5) I suggest that the pgadmin4 specfile should add the following line:
BuildRequires: pgadmin4-python-flask-mail
Without it (assuming I remove the patch line from my issue 4 above), I see
this when I compile pgadmin4:

Running Sphinx v1.1.3

Exception occurred:
  File "/usr/lib/python2.7/site-packages/pgadmin4-web/flask_security/utils.py",
line 27, in <module>
    from flask_mail import Message
ImportError: No module named flask_mail


After that, the build fails.
Note that this is solved when I install the pgadmin4-python-flask-mail RPM
directly.

6) I suggest that the pgadmin4 specfile should add the following line:
BuildRequires: pgadmin4-python-dateutil
Without it (assuming I remove the patch line from my issue 4 above), I see
this when I compile pgadmin4:

Making output directory...
Running Sphinx v1.1.3

Exception occurred:
  File "pgadmin4/BUILD/pgadmin4-1.3/web/pgadmin/utils/preferences.py", line
17, in <module>
    import dateutil.parser as dateutil_parser
ImportError: No module named dateutil.parser


After that, the build fails.
Note that this is solved when I install the pgadmin4-python-dateutil RPM.

7) I think the pgadmin4 specfile may need the following line:
BuildRequires: pgadmin4-python-flask-gravatar
Without it (assuming I remove the patch line from my issue 4 above), I see
this when I compile pgadmin4:

+ make PYTHON=/usr/bin/python docs
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 make -C docs/en_US -f Makefile.sphinx
html
make[1]: Entering directory `pgadmin4/BUILD/pgadmin4-1.3/docs/en_US'
Generating code-snippet.rst for some of the important classes...
Traceback (most recent call last):
  File "build_code_snippet.py", line 61, in <module>
    from pgadmin.browser.utils import NodeView
  File "pgadmin4/BUILD/pgadmin4-1.3/web/pgadmin/browser/__init__.py", line
18, in <module>
    from flask_gravatar import Gravatar
ImportError: No module named flask_gravatar
make[1]: [code_snippet] Error 1 (ignored)

Granted, this is an error that is ignored (the build continues), but I
think people may encounter unexpected behavior without it.


I hope these are helpful.

Regards,
  -John


^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: pgadmin4 RPM broken?
@ 2017-04-28 13:35  Devrim Gündüz <[email protected]>
  parent: John Harvey <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: Devrim Gündüz @ 2017-04-28 13:35 UTC (permalink / raw)
  To: John Harvey <[email protected]>; pgsql-pkg-yum


Hi John,

On Thu, 2017-04-27 at 17:38 -0400, John Harvey wrote:

> No worries.  I know that things have been busy.

Yeah :/

> BTW, I did some test building with the latest spec on RHEL7, since you
> mentioned you're thinking of a rebuild/re-release.

Thanks!

> I had a few findings that may be of use, if you are still finalizing the
> spec-file.

Patches always welcome. I shuffled the spec file * a lot * , I'm sure I may
have missed something.

> Some of these are small and have to do with a few of the new
> pgadmin4-python packages.
> 
> 1) I noticed that there is no pgadmin4-babel directory in the 9.5 folder,
> but it exists in 9.6.  Does it make sense to copy that over to 9.5 (and
> pg10) as well?  It is a necessary build dependency
> for pgadmin4-python-flask-babel.

Right, I'll do that.

> 2) Do you think it makes sense to change the name of the pgadmin4-babel
> specfile (babel.spec) to pgadmin4-babel.spec to match the other pgadmin4
> specfile naming conventions?

Thanks, done.
> 
> 3) In the yum repository, one of the pgadmin4-python RPM's has some strange
> capitalization in the RPM name:
> pgadmin4-python-Flask-Mail-0.9.1-3.rhel6.noarch.rpm.
> Should this all be lowercase?

I think this comes from the tarball. I'll leave it as is for now.

> 4) When I try building with the current pgadmin4 specfile on RHEL7, I get
> an error at patch-time:
> 
> + cd pgadmin4-1.3
> + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
> + echo 'Patch #0 (pgadmin4-sphinx-theme.patch):'
> Patch #0 (pgadmin4-sphinx-theme.patch):
> + /usr/bin/cat pgadmin4/SOURCES/pgadmin4-sphinx-theme.patch
> + /usr/bin/patch -p0 --fuzz=0
> patching file docs/en_US/conf.py
> + echo 'Patch #4 (pgadmin4-rhel7-sphinx.patch):'
> Patch #4 (pgadmin4-rhel7-sphinx.patch):
> + /usr/bin/cat pgadmin4/SOURCES/pgadmin4-rhel7-sphinx.patch
> + /usr/bin/patch -p0 --fuzz=0
> patching file docs/en_US/Makefile.sphinx
> Reversed (or previously applied) patch detected!  Assume -R? [n]
> 
> 
> I'm not sure why this occurs.  I'll keep investigating.

Can't reproduce -- can you please clean up your repo and try again?

> 5) I suggest that the pgadmin4 specfile should add the following line:
> BuildRequires: pgadmin4-python-flask-mail
> Without it (assuming I remove the patch line from my issue 4 above), I see
> this when I compile pgadmin4:

<snip>

Done.

> 6) I suggest that the pgadmin4 specfile should add the following line:
> BuildRequires: pgadmin4-python-dateutil

Done.

> 
> 7) I think the pgadmin4 specfile may need the following line:
> BuildRequires: pgadmin4-python-flask-gravatar

Done.

> I hope these are helpful.

Thank you, they are very useful!

Regards,
-- 
Devrim Gündüz
EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR


Attachments:

  [application/pgp-signature] signature.asc (819B, 2-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: pgadmin4 RPM broken?
@ 2017-04-28 20:05  John Harvey <[email protected]>
  parent: Devrim Gündüz <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: John Harvey @ 2017-04-28 20:05 UTC (permalink / raw)
  To: pgsql-pkg-yum

Hi Devrim,

Thanks for putting all of the changes in.  They all work great!

On Fri, Apr 28, 2017 at 9:35 AM, Devrim Gündüz <[email protected]> wrote:

>
> > 4) When I try building with the current pgadmin4 specfile on RHEL7, I get
> > an error at patch-time:
> > Reversed (or previously applied) patch detected!  Assume -R? [n]
> >
> > I'm not sure why this occurs.  I'll keep investigating.
>
> Can't reproduce -- can you please clean up your repo and try again?


I keep seeing it even in a clean repo, but I'll try to dig a little deeper.
It could definitely be something in my environment.
I'll try to provide more helpful information if it is something that's a
problem.


I found two more specfile recommendations today after some more testing:

1) I would suggest adding "BuildRequires: pgadmin4-python-simplejson" to
the pgadmin4 specfile.

Without it, I see this trace in the build log:

Generating code-snippet.rst for some of the important classes...
Traceback (most recent call last):
  File "build_code_snippet.py", line 61, in <module>
    from pgadmin.browser.utils import NodeView
  File "pgadmin4/BUILD/pgadmin4-1.3/web/pgadmin/browser/__init__.py", line
19, in <module>
    from pgadmin.settings import get_setting
  File "pgadmin4/BUILD/pgadmin4-1.3/web/pgadmin/settings/__init__.py", line
19, in <module>
    from pgadmin.utils.ajax import make_json_response, bad_request
  File "pgadmin4/BUILD/pgadmin4-1.3/web/pgadmin/utils/ajax.py", line 15, in
<module>
    import simplejson as json
ImportError: No module named simplejson
make[1]: [code_snippet] Error 1 (ignored)
sphinx-build -b html -d _build/doctrees   . _build/html

The build continues even with the failure, but my guess is that it's not
ideal.


2) I think that two Requires lines may need to change, specifically around
python-itsdangerous

Requires:       python3-itsdangerous >= 0.24
Requires:       python-itsdangerous >= 0.24

On CentOS 7, python-itsdangerous-0.23-2.el7.noarch is available from the
@extras packages
On RHEL 7, python-itsdangerous-0.23-2.el7.noarch is available from the
@rhel-7-server-extras-rpms packages
Unfortunately, these are too low of a version.  I'm guessing we want to use
the PGDG-built version.

I think that these lines should actually now be moved to:
Requires:       pgadmin4-python-itsdangerous >= 0.24

Is that a correct assumption?


After making those two modifications (and ignoring the patchfile, which I'm
investigating), I am able to build and install pgadmin4 successfully with
the new specfile, which is pretty awesome.

Thanks!
  -John


^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: pgadmin4 RPM broken?
@ 2017-04-30 08:35  Devrim Gündüz <[email protected]>
  parent: John Harvey <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: Devrim Gündüz @ 2017-04-30 08:35 UTC (permalink / raw)
  To: John Harvey <[email protected]>; pgsql-pkg-yum


Hi John,

On Fri, 2017-04-28 at 16:05 -0400, John Harvey wrote:
> I found two more specfile recommendations today after some more testing:
> 
> 1) I would suggest adding "BuildRequires: pgadmin4-python-simplejson" to
> the pgadmin4 specfile.
> 
> Without it, I see this trace in the build log:

<snip>

Added.


> 2) I think that two Requires lines may need to change, specifically around
> python-itsdangerous
> 
> Requires:       python3-itsdangerous >= 0.24
> Requires:       python-itsdangerous >= 0.24
> 
> On CentOS 7, python-itsdangerous-0.23-2.el7.noarch is available from the
> @extras packages
> On RHEL 7, python-itsdangerous-0.23-2.el7.noarch is available from the
> @rhel-7-server-extras-rpms packages
> Unfortunately, these are too low of a version.  I'm guessing we want to use
> the PGDG-built version.
> 
> I think that these lines should actually now be moved to:
> Requires:       pgadmin4-python-itsdangerous >= 0.24
> 
> Is that a correct assumption?

I changed Python2 part only, and that was a great catch. Thanks!

The new spec file is in the repo now. Thanks for looking at this, it was great!

Regards,
-- 
Devrim Gündüz
EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR


Attachments:

  [application/pgp-signature] signature.asc (819B, 2-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: pgadmin4 RPM broken?
@ 2017-05-01 12:15  John Harvey <[email protected]>
  parent: Devrim Gündüz <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: John Harvey @ 2017-05-01 12:15 UTC (permalink / raw)
  To: pgsql-pkg-yum

Hi Devrim,

On Sun, Apr 30, 2017 at 4:35 AM, Devrim Gündüz <[email protected]> wrote:

>
> > I think that these lines should actually now be moved to:
> > Requires:       pgadmin4-python-itsdangerous >= 0.24
> >
> > Is that a correct assumption?
>
> I changed Python2 part only, and that was a great catch. Thanks!
>

It looks pretty good so far.  I think there's one last change needed based
on your most recent commit.
The line below appears to now be broken:

BuildRequires: python-itsdangerous >= 0.24 pgadmin4-python-flask-htmlmin

I think it should be:

BuildRequires: pgadmin4-python-itsdangerous >= 0.24
pgadmin4-python-flask-htmlmin

Without this change, I am unable to build on EL-7 since the base
python-itsdangerous package only goes up to 0.23.
However, if I make the above change, I can build successfully on EL-7.

The new spec file is in the repo now. Thanks for looking at this, it was
> great!


No problem.  Glad to help! :)

Regards,
  -John


^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: pgadmin4 RPM broken?
@ 2017-05-08 14:44  John Harvey <[email protected]>
  parent: John Harvey <[email protected]>
  0 siblings, 0 replies; 8+ messages in thread

From: John Harvey @ 2017-05-08 14:44 UTC (permalink / raw)
  To: pgsql-pkg-yum

Hi Devrim,

It looks like all changes are in and work just fine.
I also can't reproduce my patch-file issues anymore, so that's good too!

I had one last finding today, based on your last set of commits from the
weekend.
I see that you've changed the python-flask dependencies in the pgadmin4
spec file to be pgadmin4-python-flask.

I have no issue with that change, but for consistency, you may want to
consider the following 2 modifications:

1) pgadmin4-python-flask-principal.spec

Change:
    Requires:      python-flask
to:
    Requires:      pgadmin4-python-flask

2) pgadmin4-python-flask-sqlalchemy.spec

Change:
    BuildRequires:  python-flask
to:
    BuildRequires:  pgadmin4-python-flask

Regards,
  -John


^ permalink  raw  reply  [nested|flat] 8+ messages in thread


end of thread, other threads:[~2017-05-08 14:44 UTC | newest]

Thread overview: 8+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2017-04-24 13:37 pgadmin4 RPM broken? John Harvey <[email protected]>
2017-04-27 10:35 ` Devrim Gündüz <[email protected]>
2017-04-27 21:38   ` John Harvey <[email protected]>
2017-04-28 13:35     ` Devrim Gündüz <[email protected]>
2017-04-28 20:05       ` John Harvey <[email protected]>
2017-04-30 08:35         ` Devrim Gündüz <[email protected]>
2017-05-01 12:15           ` John Harvey <[email protected]>
2017-05-08 14:44             ` John Harvey <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox