Re: Re: [REBUILD] dssi-0.9.1-3mdk.src.rpm from cooker does not build correctly on x86_64

Thomas Backlund <[email protected]> Sun, 07 May 2006 15:40:04 +0300
Newsgroups gmane.linux.mandrake.cooker.amd64
Message-ID <[email protected]>
Pedro Lopez-Cabanillas wrote:
> On Sunday, 7 May 2006 10:14, Thomas Backlund wrote:
>   
>> A *-devel package should _never_ be a Requires, only BuildRequires...
>>     
>
> Are you sure? I can't find this rule written anywere. It doesn't have any 
> sense to me, either. The dssi-devel package provides a c-language header  
> file, which in turn includes the ladspa header (provided by ladspa-devel). I 
> have little experience as a packager, though. Perhaps I'm wrong.
>
>   

Sorry,
I missed the point that it was a -devel package requiring a -devel 
package, wich may be ok, ...

> Anybody wanting to use the dssi.h header to develop (or compile) a  plug-in 
> needs to have installed the ladspa.h header in order to be able to do it. It 
> seems sensible to reflect this dependency in the RPM package.
>
>   

It can be...
AFAIK the main idea is to keep dependencices to a absolute minimum...
So if you have the following:
foo
foo-devel
bar-devel

and want to create:
foo-module

In this case instead of making foo-module BuildRequire foo-devel wich 
Requires bar-devel (thereby forcing everyone install bar-devel, when 
they only want foo-devel) you would do:

foo-module BuildRequire foo-devel & bar-devel


Of course if most of foo-devel users anyway needs to install bar-devel, 
then the Requires could be ok...

> [~]$ cat searchreq.sh
> #!/bin/bash
> CNT=0
> for PKG in $(rpm -qa|grep "\-devel"); do
>     DLIST=""
>     for DP in $(rpm -q --requires $PKG); do
>         echo $DP|grep -q "\-devel"
>         if [ $? == 0 ]; then
>            DLIST="$DLIST $DP"
>         fi
>     done
>     if [ "x" != "x$DLIST" ]; then
>         let CNT++
>         echo "Package: $PKG"
>         for DP in $DLIST; do
>             echo -e "\trequires: $DP"
>         done
>     fi
> done
> echo "$CNT packages found"
> [~]$                            
>
> Running the script against a Mandriva 2006.0 RPM database, it shows many 
> examples. Here are only a few ones:
>
> Package: libpng3-devel-1.2.8-1mdk
>         requires: zlib-devel
> http://cvs.mandriva.com/cgi-bin/cvsweb.cgi/SPECS/libpng/
>
> Package: libqt3-devel-3.3.4-23mdk
>         requires: XFree86-devel
> http://cvs.mandriva.com/cgi-bin/cvsweb.cgi/SPECS/qt3/
>
> Package: libgtkmm2.4_1-devel-2.6.1-1mdk
>         requires: gtk+2-devel
>         requires: glibmm2.4-devel
> http://cvs.mandriva.com/cgi-bin/cvsweb.cgi/SPECS/gtkmm2.4/
>
>   
>> Have you tried to build it this way?
>> Does it work?
>>     
>
> In my Mandriva 2006.0 systems (an amd64 and a 32-bits one) I have no problems 
> to build the dssi package and the dssi plugins (hexter, fluidsynth-dssi, 
> xsynth-dssi), because I have all the required software already installed. The 
> problem comes from Iurt and the Cooker build system environment, which I 
> don't know very well. Please, help!
>
> Let me explain why I'm complicating my life with this matter, and perhaps I 
> could awake your solidarity. I'm a musician and a developer, contributing to 
> some Linux audio applications. Among others, my beloved Rosegarden. Sometimes 
> I use to show a demo of Linux/Rosegarden/audio apps to other musician 
> fellows, using Mandriva. I'm also a Mandriva user and supporter. That's the 
> point why I'm here, at this list. It is a common question after the demo, 
> that my friends ask me if I can recommend Mandriva as a platform for  
> Rosegarden. I must answer *not*, because Mandriva doesn't include neither  
> DSSI nor plugins, and provides a Rosegarden binary package compiled without  
> DSSI support. I would like to help to fill the gap.
>   

If they are GPL /Open-Source all those, if so please do help us help you...

But here it comes again, if we provide all those modules as binary rpms,
then I think that the -devel Requires should instead be added as 
BuildRequires for those modules...

> DSSI is a plug-in specification and architecture for soft-musical instruments, 
> something like the VSTi specification from Steinberg in the proprietary 
> world, but free as in freedom. It is complementary to the LADSPA  
> specification, which is a plug-in architecture for audio effects, equivalent 
> to VST. Some applications using DSSI now are Rosegarden and Om. Support is in  
> development for MusE and others.
>
> Regards,
> Pedro
>
>   

--
Regards

Thomas