Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.278
diff -u -p -u -p -r1.278 xorg-x11-server.spec
--- xorg-x11-server.spec	13 Nov 2007 22:38:46 -0000	1.278
+++ xorg-x11-server.spec	30 Nov 2007 22:52:07 -0000
@@ -37,6 +37,10 @@ Source0:   ftp://ftp.x.org/pub/individua
 %endif
 Source100: comment-header-modefiles.txt
 
+#bernie
+Source201: x11-input.fdi
+Source202: xorg-server.conf
+
 # general bug fixes
 Patch19:   xserver-1.3.0-xnest-exposures.patch
 
@@ -63,6 +67,8 @@ Patch4000: ddc-faster-plz.patch
 Patch4001: no-sleep-at-exit.patch
 Patch4002: pogo-stick.patch
 
+#bernie: from OLPC
+Patch3001: xserver-1.4-hal-touchpad.patch
 
 %define moduledir	%{_libdir}/xorg/modules
 %define drimoduledir	%{_libdir}/dri
@@ -80,10 +86,24 @@ Patch4002: pogo-stick.patch
 %define enable_xorg --disable-xorg
 %endif
 
+%if %{with_hw_servers}
+%if 0%{?olpc}
+%define with_drm 0
+%else
+%define with_drm 1
+%endif
+%else
+%define with_drm 0
+%endif
+
+%if 0%{?olpc}
+%define xservers --disable-xvfb --disable-xnest --disable-kdrive --disable-xephyr %{enable_xorg} --disable-dmx 
+%else
 %define kdrive --enable-kdrive --enable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-kdrive-vesa
 %define xservers --enable-xvfb --enable-xnest %{kdrive} %{enable_xorg} --enable-dmx
+%endif
 
-BuildRequires: git
+BuildRequires: git-core
 BuildRequires: automake autoconf libtool pkgconfig
 BuildRequires: xorg-x11-util-macros >= 1.1.5
 
@@ -112,16 +132,24 @@ BuildRequires: libXv-devel
 
 # openssl? really?
 BuildRequires: pixman-devel libpciaccess-devel openssl-devel byacc flex
+
+%if 0%{!?olpc}
 BuildRequires: mesa-libGL-devel >= 7.1
 BuildRequires: mesa-source >= 7.1
 # XXX silly...
 BuildRequires: libdrm-devel >= 2.4.0
-%if %{with_hw_servers}
+%endif
+%if %{with_drm}
 Requires: libdrm >= 2.4.0
 %endif
 
 BuildRequires: libselinux-devel
 
+%if 0%{?olpc}
+BuildRequires: dbus-devel
+BuildRequires: hal-devel
+%endif
+
 # Make sure libXfont has the catalogue FPE
 Conflicts: libXfont < 1.2.9
 
@@ -154,8 +182,10 @@ Group: User Interface/X
 Provides: Xorg = %{version}-%{release}
 Provides: Xserver
 # Requires: xorg-x11-drivers >= 0.99.2-4
+%if 0%{!?olpc}
 Requires: xorg-x11-drv-mouse xorg-x11-drv-keyboard xorg-x11-drv-vesa
 Requires: xorg-x11-drv-void xorg-x11-drv-evdev
+%endif
 # virtuals.  XXX fix the xkbcomp fork() upstream.
 Requires: xkbdata xkbcomp
 Requires: xorg-x11-server-common >= %{version}-%{release}
@@ -171,6 +201,7 @@ upon.
 %endif
 
 
+%if 0%{!?olpc}
 %package Xnest
 Summary: A nested server.
 Group: User Interface/X
@@ -234,6 +265,7 @@ applications without running them on the
 Xnest, Xephyr renders to an X image rather than relaying the
 X protocol, and therefore supports the newer X extensions like
 Render and Composite.
+%endif # !olpc
 
 
 %if %{with_hw_servers}
@@ -301,9 +333,41 @@ autoreconf -v --install || exit 1
 	--with-rgb-path=%{_datadir}/X11/rgb \
 	--disable-xorgcfg \
 	--enable-install-libxf86config \
+%if 0%{?olpc}
+	--disable-xtrap \
+	--disable-record \
+	--disable-xvmc \
+	--disable-dga \
+	--disable-xdmcp \
+	--disable-xinerama \
+	--disable-xf86vidmode \
+	--disable-xf86misc \
+	--disable-xace \
+	--disable-xcsecurity \
+	--disable-appgroup \
+	--disable-cup \
+	--disable-evi \
+	--disable-dbe \
+	--disable-xevie \
+	--disable-glx \
+	--disable-aiglx \
+	--disable-afb \
+	--disable-mfb \
+	--disable-cfb \
+	--disable-xdmcp \
+	--disable-xdm-auth-1 \
+	--enable-builtin-fonts \
+	--enable-null-root-cursor \
+	--enable-config-dbus \
+	--enable-config-hal \
+%endif
+%if %{with_drm}
 	--with-mesa-source=%{_datadir}/mesa/source \
 	--enable-dri \
 	--with-dri-driver-path=%{drimoduledir} \
+%else
+	--disable-dri \
+%endif
 	${CONFIGURE}
 
 make %{?_smp_mflags}
@@ -326,12 +390,19 @@ for each in vesamodes extramodes ; do
 done
 %endif
 
+%if 0%{?olpc}
+install -D -m 0644 %{SOURCE201} $RPM_BUILD_ROOT/etc/hal/fdi/policy/x11-input.fdi
+install -D -m 0644 %{SOURCE202} $RPM_BUILD_ROOT/etc/dbus-1/system.d/xorg-server.conf
+%endif
+
 # Make the source package
 %define xserver_source_dir %{_datadir}/xorg-x11-server-source
 %define inst_srcdir %{buildroot}/%{xserver_source_dir}
 mkdir -p %{inst_srcdir}/{Xext,xkb,GL,hw/xfree86/{common,utils/xorgconfig}}
 cp cpprules.in %{inst_srcdir}
+%if 0%{!?olpc}
 cp Xext/SecurityPolicy %{inst_srcdir}/Xext
+%endif
 cp xkb/README.compiled %{inst_srcdir}/xkb
 cp GL/symlink-mesa.sh %{inst_srcdir}/GL
 cp hw/xfree86/{xorgconf.cpp,Options} %{inst_srcdir}/hw/xfree86
@@ -374,6 +445,7 @@ xargs tar cf - | (cd %{inst_srcdir} && t
 rm -rf $RPM_BUILD_ROOT
 
 %if %{with_hw_servers}
+%if 0%{!?olpc}
 %pre Xorg
 {
     pushd /etc/X11
@@ -401,16 +473,19 @@ rm -rf $RPM_BUILD_ROOT
 
     popd
 } &> /dev/null || :
+%endif # !olpc
 %endif
 
 %files common
 %defattr(-,root,root,-)
 %{_mandir}/man1/Xserver.1*
+%dir %{_localstatedir}/lib/xkb
+%{_localstatedir}/lib/xkb/README.compiled
 %{_mandir}/man5/SecurityPolicy.5*
+%if 0%{!?olpc}
 %dir %{_libdir}/xserver
 %{_libdir}/xserver/SecurityPolicy
-%dir %{_localstatedir}/lib/xkb
-%{_localstatedir}/lib/xkb/README.compiled
+%endif
 
 
 %if %{with_hw_servers}
@@ -427,13 +502,15 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_libdir}/xorg/modules
 %dir %{_libdir}/xorg/modules/drivers
 %dir %{_libdir}/xorg/modules/extensions
+%if 0%{!?olpc}
 %{_libdir}/xorg/modules/extensions/libGLcore.so
 %{_libdir}/xorg/modules/extensions/libglx.so
 %{_libdir}/xorg/modules/extensions/libdri.so
 %{_libdir}/xorg/modules/extensions/libdbe.so
+%{_libdir}/xorg/modules/extensions/libxtrap.so
+%endif
 %{_libdir}/xorg/modules/extensions/libextmod.so
 %{_libdir}/xorg/modules/extensions/librecord.so
-%{_libdir}/xorg/modules/extensions/libxtrap.so
 %dir %{_libdir}/xorg/modules/input
 %dir %{_libdir}/xorg/modules/fonts
 %{_libdir}/xorg/modules/fonts/libfreetype.so
@@ -464,7 +541,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man5/xorg.conf.5*
 %endif
 
+%if 0%{?olpc}
+%verify(not md5 size mtime) %config(noreplace) /etc/hal/fdi/policy/x11-input.fdi
+%verify(not md5 size mtime) %config(noreplace) /etc/dbus-1/system.d/xorg-server.conf
+%endif
 
+%if 0%{!?olpc}
 %files Xnest
 %defattr(-,root,root,-)
 %{_bindir}/Xnest
@@ -500,6 +582,7 @@ rm -rf $RPM_BUILD_ROOT
 %files Xephyr
 %defattr(-,root,root,-)
 %{_bindir}/Xephyr
+%endif
 
 
 %if %{with_hw_servers}
