Module incompatibility detection between 8.0 and 8.1
I just make postgresql 8.1 rpm for mandriva and I was making basic test. I
made in pgfoundry the module pgrpm (rpm function in postgres).
However after installing postgresql 8.1 I have:
ERREUR: unable to load library
«/usr/lib64/pgsql/pgrpm.so»: /usr/lib64/pgsql/pgrpm.so: undefined symbol:
MemoryContextSwitchTo
Well the problem here is the module was build with postgresql 8.0. I will
rebuild the module ASAP, this is not a problem.
The problem is rpm has no way to detect this kind of issue:
$ rpm -q --requires pgrpm
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
librpm-4.4.so()(64bit)
Does anyone allready think to add marker into module, and maybe into postgres
and giving a way to rpm or other packaging tools to detect broken linkage ?
To fix the issue, I will add a provide into postgresql-server package,
something like postgresql-ABI = 8.1, add equivalent requires into modules.
On Thu, Nov 10, 2005 at 11:29:15PM +0100, Olivier Thauvin wrote:
I just make postgresql 8.1 rpm for mandriva and I was making basic test. I
made in pgfoundry the module pgrpm (rpm function in postgres).
<snip>
Well the problem here is the module was build with postgresql 8.0. I will
rebuild the module ASAP, this is not a problem.The problem is rpm has no way to detect this kind of issue:
<snip>
Does anyone allready think to add marker into module, and maybe into postgres
and giving a way to rpm or other packaging tools to detect broken linkage ?To fix the issue, I will add a provide into postgresql-server package,
something like postgresql-ABI = 8.1, add equivalent requires into modules.
There is some discussion about this on -hackers. It'll probably happen
at some stage but the actual method is not clear yet.
In the meantime, modules can only work with a single release. I'm
actually not sure about the policy for minor releases.
Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
Show quoted text
Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
tool for doing 5% of the work and then sitting around waiting for someone
else to do the other 95% so you can sue them.
Martijn van Oosterhout <kleptog@svana.org> writes:
On Thu, Nov 10, 2005 at 11:29:15PM +0100, Olivier Thauvin wrote:
To fix the issue, I will add a provide into postgresql-server package,
something like postgresql-ABI =3D 8.1, add equivalent requires into modules.
There is some discussion about this on -hackers. It'll probably happen
at some stage but the actual method is not clear yet.
I haven't noticed any discussion, but: an extra provides-symbol seems
completely useless to me. Just make the external modules depend on
postgresql-server-8.1.
If you do want to discuss this, pgsqlrpms-hackers@pgfoundry.org would
be the place; the general hackers list does not concern itself with
RPM packaging details.
regards, tom lane