Thread: BUG #7823: PGDG packaged pgadmin3_92 removes its /usr/bin/pgadmin3 link

BUG #7823: PGDG packaged pgadmin3_92 removes its /usr/bin/pgadmin3 link

From
georgi-georgiev-pgsql@japannext.co.jp
Date:
The following bug has been logged on the website:

Bug reference:      7823
Logged by:          Georgi Georgiev
Email address:      georgi-georgiev-pgsql@japannext.co.jp
PostgreSQL version: 9.2.2
Operating system:   CentOS 6.3
Description:        =


Updating pgadmin3_92 removes the /usr/bin/pgadmin3 symlink. There is also a
harmless warning from the post-install scriptlet when it tries to create
that symlink and it is already there (happens on an update).

....
Running Transaction
  Updating   : pgadmin3_92-1.16.1-1.rhel6.x86_64                            =

                        1/2 =

Non-fatal POSTIN scriptlet failure in rpm package
pgadmin3_92-1.16.1-1.rhel6.x86_64
ln: creating symbolic link `/usr/bin/pgadmin3': File exists
warning: %post(pgadmin3_92-1.16.1-1.rhel6.x86_64) scriptlet failed, exit
status 1
  Cleanup    : pgadmin3_92-1.16.0-1.rhel6.x86_64                            =

                        2/2 =


....

And after this /usr/bin/pgadmin3 is gone.

Re: BUG #7823: PGDG packaged pgadmin3_92 removes its /usr/bin/pgadmin3 link

From
Devrim GÜNDÜZ
Date:
Hi,

On Tue, 2013-01-22 at 17:13 +0000, georgi-georgiev-pgsql@japannext.co.jp
wrote:
> The following bug has been logged on the website:
>
> Bug reference:      7823
> Logged by:          Georgi Georgiev
> Email address:      georgi-georgiev-pgsql@japannext.co.jp
> PostgreSQL version: 9.2.2
> Operating system:   CentOS 6.3
> Description:
>
> Updating pgadmin3_92 removes the /usr/bin/pgadmin3 symlink. There is also a
> harmless warning from the post-install scriptlet when it tries to create
> that symlink and it is already there (happens on an update).

Should be fixed with 1.16.1-2. Please check.

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org  Twitter: http://twitter.com/devrimgunduz

Re: BUG #7823: PGDG packaged pgadmin3_92 removes its /usr/bin/pgadmin3 link

From
Georgi Georgiev
Date:
Quoting Devrim G=DCND=DCZ at 23/01/2013-21:11:09(+0200):
>=20
> Hi,
>=20
> On Tue, 2013-01-22 at 17:13 +0000, georgi-georgiev-pgsql@japannext.co.j=
p
> wrote:
> > The following bug has been logged on the website:
> >=20
> > Bug reference:      7823
> > Logged by:          Georgi Georgiev
> > Email address:      georgi-georgiev-pgsql@japannext.co.jp
> > PostgreSQL version: 9.2.2
> > Operating system:   CentOS 6.3
> > Description:       =20
> >=20
> > Updating pgadmin3_92 removes the /usr/bin/pgadmin3 symlink. There is =
also a
> > harmless warning from the post-install scriptlet when it tries to cre=
ate
> > that symlink and it is already there (happens on an update).
>=20
> Should be fixed with 1.16.1-2. Please check.

Thanks for the quick turnaround. But there seems to be a typo now, so
the %post is not working:

$ sudo yum update pgadmin3_92
Running Transaction
  Updating   : pgadmin3_92-1.16.1-2.rhel6.x86_64                         =
   1/2=20
Non-fatal POSTIN scriptlet failure in rpm package pgadmin3_92-1.16.1-2.rh=
el6.x86_64
/var/tmp/rpm-tmp.uHi9h7: line 1: {_sbindir}/update-alternatives: No such =
file or directory
warning: %post(pgadmin3_92-1.16.1-2.rhel6.x86_64) scriptlet failed, exit =
status 127
...

$ rpm -q pgadmin3_92 --scripts
postinstall scriptlet (using /bin/sh):
{_sbindir}/update-alternatives --install /usr/bin/pgadmin3 pgadmin3 /usr/=
pgsql-9.2/bin/pgadmin3 920
preuninstall scriptlet (using /bin/sh):
/usr/sbin/update-alternatives --remove pgadmin3 /usr/pgsql-9.2/bin/pgadmi=
n3

--=20
 /   Georgi Georgiev    / I go on working for the same reason a hen   /
\     Sysadmin Head    \  goes on laying eggs. -- H.L. Mencken       \
 /   -SBI Japannext-    /                                             /

Re: BUG #7823: PGDG packaged pgadmin3_92 removes its /usr/bin/pgadmin3 link

From
Georgi Georgiev
Date:
Quoting Georgi Georgiev at 24/01/2013-12:55:31(+0900):
> Quoting Devrim G=DCND=DCZ at 23/01/2013-21:11:09(+0200):
...
> >=20
> > Should be fixed with 1.16.1-2. Please check.
>=20
> Thanks for the quick turnaround. But there seems to be a typo now, so
> the %post is not working:
....

1.16.1-3 does not throw errors, but it still reliably wipes out the
symlink on an upgrade. A fresh install or a reinstall would create the
symlink, but that is only because the %preun does not run in that case
(there is no old version to "uninstall" in this case).

This can be fixed with a 'if [ "$1" =3D 0 ]; then' in the %preun.

To test all these cases, I used rpmrebuild to create different releases o=
f this
package.

I made a "-2.5" which is identical to -3.
And I made a "-2.8" with the %preun modified like this:

$ rpm -q pgadmin3_92-1.16.1-2.8.rhel6.x86_64  --scripts
postinstall scriptlet (using /bin/sh):
/usr/sbin/update-alternatives --install /usr/bin/pgadmin3 pgadmin3 /usr/p=
gsql-9.2/bin/pgadmin3 920
preuninstall scriptlet (using /bin/sh):
if [ "$1" =3D 0 ]; then
  /usr/sbin/update-alternatives --remove pgadmin3 /usr/pgsql-9.2/bin/pgad=
min3
fi

Test results:

- Upgrade from 2.5 - symlink missing (wrong)
- Upgrade from 2.8 - symlink present (correct)
- Fresh install of any version - symlink present (correct)
- Uninstall any version - symlink missing (correct)

So, please, if you can fix the %preun as above, that should solve all pen=
ding
issues.

--=20
()   Georgi Georgiev   () Writing software is more fun than working. ()
()    Sysadmin Head    ()                                            ()
()   -SBI Japannext-   ()                                            ()

Re: BUG #7823: PGDG packaged pgadmin3_92 removes its /usr/bin/pgadmin3 link

From
Georgi Georgiev
Date:
Quoting Georgi Georgiev at 03/02/2013-13:19:52(+0900):
> Quoting Georgi Georgiev at 24/01/2013-12:55:31(+0900):
> > Quoting Devrim G=DCND=DCZ at 23/01/2013-21:11:09(+0200):
> ...
> > >=20
> > > Should be fixed with 1.16.1-2. Please check.
> >=20
> > Thanks for the quick turnaround. But there seems to be a typo now, so
> > the %post is not working:
> ....
>=20
> 1.16.1-3 does not throw errors, but it still reliably wipes out the
> symlink on an upgrade. A fresh install or a reinstall would create the
> symlink, but that is only because the %preun does not run in that case
> (there is no old version to "uninstall" in this case).
>=20
> This can be fixed with a 'if [ "$1" =3D 0 ]; then' in the %preun.
>=20
> To test all these cases, I used rpmrebuild to create different releases=
 of this
> package.
>=20
> I made a "-2.5" which is identical to -3.
> And I made a "-2.8" with the %preun modified like this:
>=20
> $ rpm -q pgadmin3_92-1.16.1-2.8.rhel6.x86_64  --scripts
> postinstall scriptlet (using /bin/sh):
> /usr/sbin/update-alternatives --install /usr/bin/pgadmin3 pgadmin3 /usr=
/pgsql-9.2/bin/pgadmin3 920
> preuninstall scriptlet (using /bin/sh):
> if [ "$1" =3D 0 ]; then
>   /usr/sbin/update-alternatives --remove pgadmin3 /usr/pgsql-9.2/bin/pg=
admin3
> fi
>=20
> Test results:
>=20
> - Upgrade from 2.5 - symlink missing (wrong)
> - Upgrade from 2.8 - symlink present (correct)
> - Fresh install of any version - symlink present (correct)
> - Uninstall any version - symlink missing (correct)
>=20
> So, please, if you can fix the %preun as above, that should solve all p=
ending
> issues.

By the way, I see that the postgresql92 packages do the
"update-alternatives" cleanup in "%postun". I am not sure why
pgadmin3_92 does it in "%preun", nor does it seem to make much of a
difference, but it may be a good idea to consistently do it in the same
scriptlet - either %preun or %postun.

--=20
(    Georgi Georgiev   (  Despite all appearances, your boss is a    (
 )    Sysadmin Head     ) thinking, feeling, human being.             )
(    -SBI Japannext-   (                                             (

Re: BUG #7823: PGDG packaged pgadmin3_92 removes its /usr/bin/pgadmin3 link

From
Georgi Georgiev
Date:
Quoting Georgi Georgiev at 03/02/2013-13:36:54(+0900):
...
>
> By the way, I see that the postgresql92 packages do the
> "update-alternatives" cleanup in "%postun". I am not sure why
> pgadmin3_92 does it in "%preun", nor does it seem to make much of a
> difference, but it may be a good idea to consistently do it in the same
> scriptlet - either %preun or %postun.

Just to follow up that pgadmin3_92-1.16.1-4.rhel6.x86_64 has a new
problem now.

This version creates (and installs) only a pgadmin3 binary. There is no
mention of pgadmin3_92 anymore. However, the ".desktop" file is still
pointing to "/usr/bin/pgadmin3_92" (which is now missing).

--
\    Georgi Georgiev   \  If you fail to plan, plan to fail.         \
/     Sysadmin Head    /                                             /
\    -SBI Japannext-   \                                             \