Load plugins based on VDRVERSION and APIVERSION alternatively

Message ID 444B42BF.8040809@cadsoft.de
State New
Headers

Commit Message

Klaus Schmidinger April 23, 2006, 9:02 a.m. UTC
Udo Richter wrote:
> Udo Richter wrote:
> 
>> We'll see how much chaos will arise when VDRVERSION and APIVERSION 
>> differ the first time. Hopefully, most plugins will soon be updated.
> 
> 
> The attached patch issues a warning on all plugins that seem to use the 
> old libvdr-$(PLUGIN).so.$(VDRVERSION) naming scheme. This gives a hint 
> about plugins that did compile, but will not be installed or loaded.

Ok, but I'll go even one step further and not compile them at all.

Klaus
  

Comments

Oliver Endriss April 23, 2006, 11:59 a.m. UTC | #1
Klaus Schmidinger wrote:
> Udo Richter wrote:
> > Udo Richter wrote:
> > 
> >> We'll see how much chaos will arise when VDRVERSION and APIVERSION 
> >> differ the first time. Hopefully, most plugins will soon be updated.
> > 
> > 
> > The attached patch issues a warning on all plugins that seem to use the 
> > old libvdr-$(PLUGIN).so.$(VDRVERSION) naming scheme. This gives a hint 
> > about plugins that did compile, but will not be installed or loaded.
> 
> Ok, but I'll go even one step further and not compile them at all.

Very bad idea!
You cannot assume that 100+ plugins will be converted immediately.

Oliver
  
Klaus Schmidinger April 23, 2006, 12:46 p.m. UTC | #2
Oliver Endriss wrote:
> Klaus Schmidinger wrote:
> 
>>Udo Richter wrote:
>>
>>>Udo Richter wrote:
>>>
>>>
>>>>We'll see how much chaos will arise when VDRVERSION and APIVERSION 
>>>>differ the first time. Hopefully, most plugins will soon be updated.
>>>
>>>
>>>The attached patch issues a warning on all plugins that seem to use the 
>>>old libvdr-$(PLUGIN).so.$(VDRVERSION) naming scheme. This gives a hint 
>>>about plugins that did compile, but will not be installed or loaded.
>>
>>Ok, but I'll go even one step further and not compile them at all.
> 
> 
> Very bad idea!
> You cannot assume that 100+ plugins will be converted immediately.

They won't be loaded, anyway. So what's the point in
compiling them?

Klaus
  

Patch

--- Makefile	2006/04/22 09:58:44	1.88
+++ Makefile	2006/04/23 09:00:06
@@ -176,10 +176,17 @@ 
 
 plugins: include-dir
 	@failed="";\
+	@noapiv="";\
 	for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
 	    echo "Plugin $$i:";\
+	    if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile" ; then\
+	       echo "ERROR: plugin $$i doesn't honor APIVERSION - not compiled!";\
+	       noapiv="$$noapiv $$i";\
+	       continue;\
+	       fi;\
 	    $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
 	    done;\
+	if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
 	if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; fi
 
 clean-plugins: