Обсуждение: 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/ > 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