rpms/xorg-x11-server/devel xserver-sdk-abi-requires, NONE, 1.1 xorg-x11-server.spec, 1.508, 1.509 find-provides, 1.1, NONE
Adam Jackson
ajax at fedoraproject.org
Wed Jun 16 14:53:59 UTC 2010
- Previous message: rpms/curl/devel curl-7.20.1.tar.lzma.asc,1.1,NONE
- Next message: rpms/pptp/F-12 pptp-1.7.2-conn-free.patch, NONE, 1.1 pptp-1.7.2-conn-free2.patch, NONE, 1.1 pptp-1.7.2-waitpid.patch, NONE, 1.1 pptp.spec, 1.18, 1.19
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: ajax
Update of /cvs/pkgs/rpms/xorg-x11-server/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv14699
Modified Files:
xorg-x11-server.spec
Added Files:
xserver-sdk-abi-requires
Removed Files:
find-provides
Log Message:
* Wed Jun 16 2010 Adam Jackson <ajax at redhat.com> 1.8.0-7
- Make -Xorg package provide its own ABI versions. Fail %prep if they
don't match what the specfile claims.
- Add xserver-sdk-abi-requires to -devel to make it easy for driver packages
to require the ABI versions they were built against.
--- NEW FILE xserver-sdk-abi-requires ---
#!/bin/sh
#
# The X server provides capabilities of the form:
#
# Provides: xserver-abi(ansic-0) = 4
#
# for an ABI version of 0.4. The major number is encoded into the name so
# that major number changes force upgrades. If we didn't, then
#
# Requires: xserver-abi(ansic) >= 0.4
#
# would also match 1.0, which is wrong since major numbers mean an ABI break.
ver=$(pkg-config --variable abi_$1 xorg-server)
major=$(echo $ver | cut -f 1 -d .)
minor=$(echo $ver | cut -f 2 -d .)
echo "xserver-abi($1-$major) >= $minor"
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.508
retrieving revision 1.509
diff -u -p -r1.508 -r1.509
--- xorg-x11-server.spec 15 Apr 2010 06:57:32 -0000 1.508
+++ xorg-x11-server.spec 16 Jun 2010 14:53:59 -0000 1.509
@@ -13,13 +13,24 @@
#
# Fix rhpxl to no longer need vesamodes/extramodes
+# ABI versions. Have to keep these manually in sync with the source
+# because rpm is a terrible language. HTFU.
+%define ansic_major 0
+%define ansic_minor 4
+%define videodrv_major 7
+%define videodrv_minor 0
+%define xinput_major 9
+%define xinput_minor 0
+%define extension_major 3
+%define extension_minor 0
+
%define pkgname xorg-server
#define gitdate 20100319
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.8.0
-Release: 6%{?gitdate:.%{gitdate}}%{dist}
+Release: 7%{?gitdate:.%{gitdate}}%{dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@@ -43,10 +54,8 @@ Source10: xserver.pamd
# "useful" xvfb-run script
Source20: http://svn.exactcode.de/t2/trunk/package/xorg/xorg-server/xvfb-run.sh
-# ABI version provides.
-# XXX don't enable any of this yet. for serious.
-Source30: find-provides
-#define __find_provides {nil}
+# for requires generation in drivers
+Source30: xserver-sdk-abi-requires
Patch5: xserver-1.4.99-pic-libxf86config.patch
@@ -161,6 +170,11 @@ Summary: Xorg X server
Group: User Interface/X
Provides: Xorg = %{version}-%{release}
Provides: Xserver
+Provides: xserver-abi(ansic-%{ansic_major}) = %{ansic_minor}
+Provides: xserver-abi(videodrv-%{videodrv_major}) = %{videodrv_minor}
+Provides: xserver-abi(xinput-%{xinput_major}) = %{xinput_minor}
+Provides: xserver-abi(extension-%{extension_major}) = %{extension_minor}
+
%ifarch %{ix86} x86_64
Requires: xorg-x11-drv-vesa
%else
@@ -319,8 +333,30 @@ git commit -a -q -m "%{version} baseline
%endif
# Apply all the patches.
-#git am -p1 %{patches}
-git am -p1 %{lua: for i, p in ipairs(patches) do print(p.." ") end}
+git am -p1 %{patches}
+
+%if %{with_hw_servers}
+# check the ABI in the source against what we expect.
+getmajor() {
+ grep -i ^#define.ABI.$1_VERSION hw/xfree86/common/xf86Module.h |
+ tr '(),' ' ' | awk '{ print $4 }'
+}
+
+getminor() {
+ grep -i ^#define.ABI.$1_VERSION hw/xfree86/common/xf86Module.h |
+ tr '(),' ' ' | awk '{ print $5 }'
+}
+
+test `getmajor ansic` == %{ansic_major}
+test `getminor ansic` == %{ansic_minor}
+test `getmajor videodrv` == %{videodrv_major}
+test `getminor videodrv` == %{videodrv_minor}
+test `getmajor xinput` == %{xinput_major}
+test `getminor xinput` == %{xinput_minor}
+test `getmajor extension` == %{extension_major}
+test `getminor extension` == %{extension_minor}
+
+%endif
%build
@@ -377,6 +413,9 @@ install -m 644 %{SOURCE4} $RPM_BUILD_ROO
# relies on it more or less.
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/xorg.conf.d
+mkdir -p $RPM_BUILD_ROOT%{_bindir}
+install -m 755 %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}
+
%endif
# Make the source package
@@ -517,6 +556,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_hw_servers}
%files devel
%defattr(-,root,root,-)
+%{_bindir}/xserver-sdk-abi-requires
%{_libdir}/pkgconfig/xorg-server.pc
%dir %{_includedir}/xorg
%{sdkdir}/*.h
@@ -530,6 +570,12 @@ rm -rf $RPM_BUILD_ROOT
%{xserver_source_dir}
%changelog
+* Wed Jun 16 2010 Adam Jackson <ajax at redhat.com> 1.8.0-7
+- Make -Xorg package provide its own ABI versions. Fail %%prep if they
+ don't match what the specfile claims.
+- Add xserver-sdk-abi-requires to -devel to make it easy for driver packages
+ to require the ABI versions they were built against.
+
* Thu Apr 15 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.8.0-6
- xserver-1.8.0-xorg.conf.d-changes.patch: push in the upcoming 1.8.1
xorg.conf.d changes. The X server uses /etc/X11/xorg.conf now for custom
--- find-provides DELETED ---
- Previous message: rpms/curl/devel curl-7.20.1.tar.lzma.asc,1.1,NONE
- Next message: rpms/pptp/F-12 pptp-1.7.2-conn-free.patch, NONE, 1.1 pptp-1.7.2-conn-free2.patch, NONE, 1.1 pptp-1.7.2-waitpid.patch, NONE, 1.1 pptp.spec, 1.18, 1.19
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list