From 5ec04e30e2fb93d26f9115112f1e929bd26a08ad Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Tue, 16 Feb 2010 16:45:14 +0100 Subject: [PATCH] Added spec file for building an RPM package. --- .hgignore | 1 + Makefile.am | 7 ++- configure.ac | 5 +- ethercat.spec.in | 130 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 139 insertions(+), 4 deletions(-) create mode 100644 ethercat.spec.in diff --git a/.hgignore b/.hgignore index e71d8ebb..10858d3e 100644 --- a/.hgignore +++ b/.hgignore @@ -74,6 +74,7 @@ documentation/images/master-locks.pdf documentation/images/masters.pdf documentation/images/phases.pdf documentation/images/statetrans.pdf +ethercat.spec examples/Kbuild examples/Makefile examples/Makefile.in diff --git a/Makefile.am b/Makefile.am index b591ec01..40959690 100644 --- a/Makefile.am +++ b/Makefile.am @@ -68,11 +68,14 @@ EXTRA_DIST = \ Doxyfile.in \ FEATURES \ Kbuild.in \ - README.EoE + README.EoE \ + ethercat.spec \ + ethercat.spec.in BUILT_SOURCES = \ Doxyfile \ - Kbuild + Kbuild \ + ethercat.spec modules: $(MAKE) -C "$(LINUX_SOURCE_DIR)" M="@abs_srcdir@" modules diff --git a/configure.ac b/configure.ac index 19e6d7dd..5cc28979 100644 --- a/configure.ac +++ b/configure.ac @@ -596,6 +596,7 @@ AC_CONFIG_FILES([ devices/Makefile devices/e1000/Kbuild devices/e1000/Makefile + ethercat.spec examples/Kbuild examples/Makefile examples/dc_rtai/Kbuild @@ -605,8 +606,8 @@ AC_CONFIG_FILES([ examples/mini/Makefile examples/rtai/Kbuild examples/rtai/Makefile - examples/tty/Makefile examples/tty/Kbuild + examples/tty/Makefile examples/user/Makefile include/Makefile lib/Makefile @@ -618,8 +619,8 @@ AC_CONFIG_FILES([ script/init.d/ethercat script/sysconfig/Makefile tool/Makefile - tty/Makefile tty/Kbuild + tty/Makefile ]) AC_OUTPUT diff --git a/ethercat.spec.in b/ethercat.spec.in new file mode 100644 index 00000000..84664f92 --- /dev/null +++ b/ethercat.spec.in @@ -0,0 +1,130 @@ +#---------------------------------------------------------------------------- +# +# $Id$ +# +# Copyright (C) 2006-2010 Florian Pose, Ingenieurgemeinschaft IgH +# +# This file is part of the IgH EtherCAT Master. +# +# The IgH EtherCAT Master is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 2, as +# published by the Free Software Foundation. +# +# The IgH EtherCAT Master is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with the IgH EtherCAT Master; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# --- +# +# The license mentioned above concerns the source code only. Using the +# EtherCAT technology and brand is only permitted in compliance with the +# industrial property and similar rights of Beckhoff Automation GmbH. +# +# vim: tw=78 +# +#---------------------------------------------------------------------------- + +Name: @PACKAGE@ +Version: @VERSION@ +Release: 1 + +License: GPL +URL: http://etherlab.org/en/ethercat + +Provides: @PACKAGE@ +Source: %{name}-%{version}.tar.bz2 +BuildRoot: /tmp/%{name}-%{version} + +#---------------------------------------------------------------------------- +# Main Package +#---------------------------------------------------------------------------- + +Summary: IgH EtherCAT Master +Group: EtherLab + +%description +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. + +#---------------------------------------------------------------------------- +# Development package +#---------------------------------------------------------------------------- + +%package devel + +Summary: Development files for applications that use the EtherCAT master. +Group: EtherLab + +%description devel +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. + +#---------------------------------------------------------------------------- + +%prep +%setup + +%build +%configure --enable-tty --enable-generic +make all modules + +%install +make DESTDIR=${RPM_BUILD_ROOT} install modules_install + +%clean +rm -rf ${RPM_BUILD_ROOT} + +%files +%defattr(-,root,root) +%doc AUTHORS +%doc COPYING +%doc COPYING.LESSER +%doc ChangeLog +%doc FEATURES +%doc INSTALL +%doc NEWS +%doc README +%doc README.EoE +/etc/init.d/ethercat +/etc/sysconfig/ethercat +/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 +/usr/lib/libethercat.a +/usr/lib/libethercat.la + +#----------------------------------------------------------------------------