diff --git a/ethercat.spec.in b/ethercat.spec.in index 84664f920b97b374b1b350ed97f868e1aafcc71e..0ed69960c7e1bcf435f9ba10b3c23f787a1f747d 100644 --- a/ethercat.spec.in +++ b/ethercat.spec.in @@ -40,6 +40,8 @@ Provides: @PACKAGE@ Source: %{name}-%{version}.tar.bz2 BuildRoot: /tmp/%{name}-%{version} +BuildRequires: %kernel_module_package_buildreqs + #---------------------------------------------------------------------------- # Main Package #---------------------------------------------------------------------------- @@ -52,24 +54,7 @@ This is an open-source EtherCAT master implementation for Linux 2.6. See the FEATURES file for a list of features. For more information, see http://etherlab.org/en/ethercat. -#---------------------------------------------------------------------------- -# Kernel module package -#---------------------------------------------------------------------------- - -%package kmp-rt - -Summary: Realtime kernel modules for the EtherCAT master. -Group: EtherLab - -Requires: kernel-rt - -BuildRequires: kernel-rt-devel -BuildRequires: linux-kernel-headers - -%description kmp-rt -This is an open-source EtherCAT master implementation for Linux 2.6. See the -FEATURES file for a list of features. For more information, see -http://etherlab.org/en/ethercat. +%kernel_module_package #---------------------------------------------------------------------------- # Development package @@ -91,11 +76,30 @@ http://etherlab.org/en/ethercat. %setup %build -%configure --enable-tty --enable-generic -make all modules +%configure --enable-tty --enable-generic \ + --with-linux-dir=/usr/src/linux-obj/%_target_cpu/default +make +mkdir obj +for flavor in %flavors_to_build; do + target=obj/$flavor + rm -rf $target + mkdir $target + cp -r config.h globals.h Kbuild master/ devices/ \ + examples/ tty/ include/ $target + make -C /usr/src/linux-obj/%_target_cpu/$flavor modules M=$PWD/$target +done %install -make DESTDIR=${RPM_BUILD_ROOT} install modules_install +for flavor in %flavors_to_build; do + md5sum obj/$flavor/Module.symvers +done +make DESTDIR=${RPM_BUILD_ROOT} install +for flavor in %flavors_to_build; do + target=obj/$flavor + make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \ + M=$PWD/$target INSTALL_MOD_PATH=${RPM_BUILD_ROOT} \ + INSTALL_MOD_DIR=ethercat +done %clean rm -rf ${RPM_BUILD_ROOT} @@ -116,11 +120,6 @@ rm -rf ${RPM_BUILD_ROOT} /usr/bin/ethercat /usr/lib/libethercat.so* -%files kmp-rt -%defattr(-,root,root) -/lib/modules/*/ethercat/*.ko -/usr/share/@PACKAGE@/@LINUX_SYMVERS@ - %files devel %defattr(-,root,root) /usr/include/*.h