More modularization.

Peter Lemenkov petro at mail.ru
Sat Nov 19 15:47:50 UTC 2005


On Sat, 19 Nov 2005, Mike A. Harris wrote:

>> I (and many others, definitely) haven't neither i810-based cars, nor others 
>> from this list. So question is - why I enforced to install all of these 
>> dri-modules? We can simply split this package into a bunch of little 
>> packages, for example mesa-libGL, mesa-dri-i810, mesa-dri-i830, etc. It''s 
>> not a hard work, IMO.

> This is a long term possible feature.  In order for this to happen, here
> is what needs to be done:

Looks like we are talking abount different things, Mike.
For splitting Mesa-package, we don't need to submit even single line of 
code into mainstream Mesa-sourcetree. All we need is to provide additional 
subpackages in the SPEC-file (look at attachment, where I provide a patch 
to the mesa.spec, used for building FC's mesa* rpm's).

All we need is to properly patch SPEC-file.

>> The same thing with kernel. Not all of kernel-modules are needed actually. 
>> Why don't repack kernel into kernel, kernel-modules-all (which contains 
>> nothing, actually, but installs a huge number of small packages with 
>> modules itself - the way xorg-x11-drivers does).

> The X server has a stable Xserver<->driver ABI in one direction.  This
> means that from one bugfix release of a driver to the next, the driver
> will work with the same X server.  And new X servers generally will
> work with the drivers they shipped with, as well as drivers from the
> previous release or two.  Every few releases of the X server, something
> sometimes changes which breaks the ABI however, but it is generally
> quite stable for 1-2 years or so.
>
> The kernel on the other hand, very intentionally does not have a
> kernel<->module ABI at all whatsoever.  Last I heard, Linus had no
> interest in giving the kernel a stable module ABI.  Having the
> kernel broken up into a bunch of individual per-driver modules
> would probably be a massive nightmare.  I wouldn't hold your breath
> waiting for that to happen.  ;o)

Who tolds about stable ABI-interface? I just suggest to split kernel into 
a number of packages and add "virtual" one, that install all of them. Of 
course, then someone will upgrade the kernel *all* installed packages 
would be upgraded.

-- 
With best regards, Peter Lemenkov.
-------------- next part --------------
--- mesa-orig.spec	2005-11-04 03:53:39.000000000 +0300
+++ mesa.spec	2005-11-19 16:41:43.000000000 +0300
@@ -175,6 +175,79 @@
 
 %description libGLw-devel
 Mesa libGLw development package
+
+#-- DRI    -----------------------------------------------------------
+%package dri-i810
+Summary: Mesa DRI module for i810 videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-i810
+Mesa DRI module for i810 videocard
+
+%package dri-i830
+Summary: Mesa DRI module for i830 videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-i830
+Mesa DRI module for i830 videocard
+
+%package dri-i915
+Summary: Mesa DRI module for i915 videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-i915
+Mesa DRI module for i915 videocard
+
+%package dri-mga
+Summary: Mesa DRI module for MGA videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-mga
+Mesa DRI module for MGA videocard
+
+%package dri-r128
+Summary: Mesa DRI module for r128 videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-r128
+Mesa DRI module for r128 videocard
+
+%package dri-r200
+Summary: Mesa DRI module for videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-r200
+Mesa DRI module for r200 videocard
+
+%package dri-radeon
+Summary: Mesa DRI module for Radeon videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-radeon
+Mesa DRI module for Radeon videocard
+
+%package dri-savage
+Summary: Mesa DRI module for Savage videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-savage
+Mesa DRI module for Savage videocard
+
+%package dri-sis
+Summary: Mesa DRI module for SIS videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-sis
+Mesa DRI module for SIS videocard
+
+%package dri-unichrome
+Summary: Mesa DRI module for Unichrome videocard.
+Group: Development/Libraries
+Requires: libGL = %{version}-%{release}
+%description dri-unichrome
+Mesa DRI module for Unichrome videocard
+#-- DRI    -----------------------------------------------------------
+
 #-- source -----------------------------------------------------------
 %package source
 Summary: Mesa source code required to build X server
@@ -288,13 +361,13 @@
 # builds, although it isn't clear what the rationale for this is to me yet,
 # nonetheless, I'm conditionalizing it to get it to build.
 #%{_libdir}/libGL.so.1.2
-%dir %{_libdir}/dri
+#%dir %{_libdir}/dri
 # NOTE: This is a glob for now, as we explicitly determine and limit the DRI
 # drivers that are installed on a given OS/arch combo in our custom DRI
 # driver install script.  If the upstream install script improves enough to
 # make our script unnecessary, we might want to change to an explicit file
 # manifest here in the future.
-%{_libdir}/dri/*_dri.so
+#%{_libdir}/dri/*_dri.so
 # NOTE: Documentive list of all DRI drivers built by default in Mesa 6.3.2
 #%{_libdir}/dri/ffb_dri.so
 #%{_libdir}/dri/i810_dri.so
@@ -372,6 +445,37 @@
 %files source -f mesa-source-rpm-filelist.lst
 %defattr(-,root,root,-)
 
+%files dri-i810
+%defattr(-,root,root,-)
+%{_libdir}/dri/i810_dri.so
+%files dri-i830
+%defattr(-,root,root,-)
+%{_libdir}/dri/i830_dri.so
+%files dri-i915
+%defattr(-,root,root,-)
+%{_libdir}/dri/i915_dri.so
+%files dri-mga
+%defattr(-,root,root,-)
+%{_libdir}/dri/mga_dri.so
+%files dri-r128
+%defattr(-,root,root,-)
+%{_libdir}/dri/r128_dri.so
+%files dri-r200
+%defattr(-,root,root,-)
+%{_libdir}/dri/r200_dri.so
+%files dri-radeon
+%defattr(-,root,root,-)
+%{_libdir}/dri/radeon_dri.so
+%files dri-savage
+%defattr(-,root,root,-)
+%{_libdir}/dri/savage_dri.so
+%files dri-sis
+%defattr(-,root,root,-)
+%{_libdir}/dri/sis_dri.so
+%files dri-unichrome
+%defattr(-,root,root,-)
+%{_libdir}/dri/unichrome_dri.so
+
 %changelog
 * Thu Nov 3 2005 Mike A. Harris <mharris at redhat.com> 6.4-4
 - Wrote redhat-mesa-source-filelist-generator to dynamically generate the


More information about the fedora-devel-list mailing list