On Wed, 2005-06-29 at 18:23 +0200, Ralf Corsepius wrote: > > I honestly don't care which is the base and which is the subpackage. The > > biggest issue I see is with arch determination, since they HAVE to be > > the same between base and subpackage. > Not, if you separate "building the rpm" from "releasing the rpm". > > Example: > # rpm -q --qf '%{ARCH} %{SOURCERPM}\n' glibc-headers glibc > i386 glibc-2.3.5-10.src.rpm > i686 glibc-2.3.5-10.src.rpm Thats a very good point, but it will certainly make conditionalizing the spec file fun. :) I'm not opposed to that. Example spec: # This is defined by the buildsystem, NOT on a per package basis. #%define kver 2.6.11-1.1369_FC4 %define cleankver %(echo %{kver} | sed s,-,_,g) %define kernelonlyarches i586 i686 ppc64 sparc64 %define userspacearches i386 ppc sparc %define kernelanduserarches ia64 x86_64 Name: foo Version: 0.3.6 Release: 1 Summary: Userspace components for foo Group: System Environment/Base License: Whatever URL: http://www.example.com/foo Source0: http://www.example.com/foo/foo-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: kernel-module-%{name} BuildRequires: kernel-devel-%{_target_cpu} = %{kver} ExclusiveArch: %{kernelonlyarches} %{userspacearches} %{kernelanduserarches} %description These are userspace libraries and binaries to make the foo module usable. %package devel Group: Development/Libraries Summary: Development headers and libraries for foo Requires: %{name} = %{version}-%{release} %description devel This package contains the include files and static libraries for developing applications that use foo. %package -n kernel-module-%{name} Group: System Environment/Base Version: %{version} Release: %{release}.%{cleankver} Requires: kernel-%{_target_cpu} = %{kver} Provides: kernel-module %description -n kernel-module-%{name} This package contains the foo module compiled for kernel %{kver} on %{_target_cpu}. %prep %setup -q %build make %{?_smp_mflags} ... %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %post -n kernel-module-%{name} [ $1 -eq 1 ] && depmod -ae -F /boot/System.map-%{kver} %{kver} >/dev/null || : %postun -n kernel-module-%{name} depmod -ae -F /boot/System.map-%{kver} %{kver} >/dev/null || : %ifarch %{userspacearches} %{kernelanduserarches} %files %defattr(-,root,root,0755) # docs go here %doc ... %{_bindir}/fooexec %{_libdir}/*.so.* %files devel %defattr(-,root,root,0755) %{_includedir}/* %{_libdir}/*.a %{_libdir}/*.so %endif %ifarch %{kernelspacearches} %{kernelanduserarches} %files -n kernel-module-%{name} %defattr(-,root,root,-) # This package should NOT have anything besides the module, to avoid file conflicts. /lib/modules/%{kver}/... %endif %changelog * Gud Fez 74 6395 Foobly Barowitz <foobly@xxxxxxxxxxxx> - Initial RPM release ~spot -- Tom "spot" Callaway: Red Hat Sales Engineer || GPG Fingerprint: 93054260 Fedora Extras Steering Committee Member (RPM Standards and Practices) Aurora Linux Project Leader: http://auroralinux.org Lemurs, llamas, and sparcs, oh my! -- Fedora-packaging mailing list Fedora-packaging@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-packaging