OpenSuSE Buildsystem

Paul Howarth paul at city-fan.org
Wed Dec 17 13:25:39 UTC 2008


Number Cruncher wrote:
> 
> 
> Paul Howarth wrote:
>> Number Cruncher wrote:
>> ...
>>>  From an ISV standpoint: I wish to go from a source RPM to a binary 
>>> one for approximately 20 Linux distributions and architectures. I 
>>> don't mind  coding "if RHEL == 5 use tcp_wrappers, if fedora >=7 use 
>>> tcp_wrappers_devel, if suse use tcpd_devel".
>>
>> FWIW, can't you just buildreq /usr/include/tcpd.h for all of these?
> 
> Umm. Yes? An excellent suggestion.
> 
> Now, about xorg-x11-devel / XFree86-devel, XFree86-Mesa-libGLU / 
> xorg-x11-Mesa-libGLU / mesa-libGL-devel / mesa-libGLU-devel / 
> xorg-x11-Mesa-devel / libX11-devel / ..... ?

Unfortunately the same trick doesn't work there because the include 
files (and presumably any others that could be used the same way) moved 
around from e.g. /usr/X11R6/include to /usr/include. So I know from 
experience what sort of mess you can end up with, e.g. this I have for 
mgdiff:

# Red Hat Linux: openmotif + XFree86
%if "%{__distinit}" == "rhl"
BuildRequires:	openmotif-devel, XFree86-devel
%define xmkmf /usr/X11R6/bin/xmkmf
%define x11bindir %{_prefix}/X11R6/bin
%define appdefdir %{_prefix}/X11R6/lib/X11/app-defaults
%define x11mandir %{_prefix}/X11R6/man
%endif

# Red Hat Enterprise Linux: Monolithic X + openmotif
%if "%{__distinit}" == "rhel"
# Red Hat Enterprise Linux 3: XFree86 + openmotif
%if "%(expr %{__distvers} '<' 4)" == "1"
BuildRequires:	openmotif-devel, XFree86, XFree86-devel
%define xmkmf /usr/X11R6/bin/xmkmf
%define x11bindir %{_prefix}/X11R6/bin
%define appdefdir %{_prefix}/X11R6/lib/X11/app-defaults
%define x11mandir %{_prefix}/X11R6/man
%endif
# Red Hat Enterprise Linux 4: X.org (monolithic) + openmotif
%if "%(expr %{__distvers} '=' 4)" == "1"
BuildRequires:	openmotif-devel
%define xmkmf /usr/X11R6/bin/xmkmf
%define x11bindir %{_prefix}/X11R6/bin
%define appdefdir %{_prefix}/X11R6/lib/X11/app-defaults
%define x11mandir %{_prefix}/X11R6/man
%endif
# Red Hat Enterprise Linux > 4: Modular X + openmotif
%if "%(expr %{__distvers} '>' 4)" == "1"
BuildRequires: openmotif-devel, xmkmf, libXmu-devel, libXpm-devel
%define xmkmf /usr/bin/xmkmf
%define x11bindir %{_bindir}
%define appdefdir %{_datadir}/X11/app-defaults
%define x11mandir %{_mandir}
%endif
%endif

# Fedora Core
%if  "%{__distinit}" == "fc"
# FC 1..2: Monolithic XFree86 + openmotif
%if "%{__distvers}" == "1" || "%{__distvers}" == "2"
BuildRequires:	openmotif-devel, XFree86-devel
%define xmkmf /usr/X11R6/bin/xmkmf
%define x11bindir %{_prefix}/X11R6/bin
%define appdefdir %{_prefix}/X11R6/lib/X11/app-defaults
%define x11mandir %{_prefix}/X11R6/man
%endif
# FC 3..4: Monolithic X.org + openmotif
%if "%{__distvers}" == "3" || "%{__distvers}" == "4"
BuildRequires:	openmotif-devel
%define xmkmf /usr/X11R6/bin/xmkmf
%define x11bindir %{_prefix}/X11R6/bin
%define appdefdir %{_prefix}/X11R6/lib/X11/app-defaults
%define x11mandir %{_prefix}/X11R6/man
%endif
# FC5: Modular X + openmotif
%if "%(expr %{__distvers} '=' 5)" == "1"
BuildRequires: openmotif-devel, xmkmf, libXmu-devel, libXpm-devel
%define xmkmf /usr/bin/xmkmf
%define x11bindir %{_bindir}
%define appdefdir %{_datadir}/X11/app-defaults
%define x11mandir %{_mandir}
%endif
# FC6 onwards: Modular X + lesstif
%if "%(expr %{__distvers} '>' 5)" == "1"
BuildRequires: lesstif-devel, xmkmf, libXmu-devel, libXpm-devel
%define xmkmf /usr/bin/xmkmf
%define x11bindir %{_bindir}
%define appdefdir %{_datadir}/X11/app-defaults
%define x11mandir %{_mandir}
%endif
%endif

...

%files
%defattr(-,root,root,-)
%doc README
%{_datadir}/applications/*.desktop
%{x11bindir}/mgdiff
%{appdefdir}/Mgdiff
%doc %{x11mandir}/man1/mgdiff.1x*


Paul.




More information about the Fedora-buildsys-list mailing list