#TODO Take care of the conversion %define name module-init-tools %define version 3.3 %define priority 20 %define mdkrelease %mkrel 30 %define url http://www.kerneltools.org/pub/downloads/module-init-tools/ %define _bindir /bin %define _sbindir /sbin %define _libdir /lib %define _libexecdir /lib %define major 0 %define libname %mklibname modprobe %major %define devellibname %mklibname -d modprobe %major %define pre 11 %if %pre %define release pre%{pre}.%mdkrelease %define tarname %name-%version-pre%{pre} %else %define release %mdkrelease %define tarname %name-%version %endif # We must remove alternatives before new files are installed; otherwise # they are wiped out by postun script of older version %define toalternate insmod lsmod modprobe rmmod depmod modinfo %define build_diet 1 Summary: Tools for managing Linux kernel modules Name: %{name} Version: %{version} Release: %{release} Source0: %{url}/%{tarname}.tar.bz2 Source1: blacklist-mdv Source3: modprobe.default Source4: modprobe.compat Source5: modprobe.preload Source6: ipw-no-associate.conf # from Fedora package Source20: blacklist-compat Patch1: module-init-tools-libify.patch Patch2: module-init-tools-3.2-pre8-dont-break-depend.patch Patch3: module-init-tools-3.2-pre8-all-defaults.patch Patch7: module-init-tools-3.2-pre8-modprobe-default.patch Patch8: module-init-tools-3.2.2-generate-modprobe.conf-no-defaults.patch Patch9: module-init-tools-3.0-failed.unknown.symbol.patch Patch10: module-init-tools-3.3-pre11-insmod-strrchr.patch Patch11: module-init-tools-libify-2.patch Patch12: module-init-tools-3.3-pre11-preferred.patch License: GPL Group: System/Kernel and hardware BuildRoot: %{_tmppath}/%{name}-buildroot Url: %{url} Conflicts: modutils < 2.4.22-10mdk devfsd < 1.3.25-31mdk Obsoletes: modutils BuildRequires: autoconf2.5 BuildRequires: glibc-static-devel BuildRequires: libz-devel BuildRequires: docbook-utils docbook-dtd41-sgml %if %{build_diet} BuildRequires: dietlibc-devel %endif %description This package contains a set of programs for loading, inserting, and removing kernel modules for Linux (versions 2.5.47 and above). It serves the same function that the "modutils" package serves for Linux 2.4. %package -n %libname Summary: Library for %{name} Group: System/Libraries %description -n %libname Library for %{name}. %package -n %devellibname Summary: Development files for %{name} Group: Development/C Conflicts: module-init-tools-devel <= 3.3-pre11.14mdv Obsoletes: module-init-tools-devel Provides: modprobe-devel %description -n %devellibname Development files for %{name} %prep %setup -q -n %{tarname} %patch1 -p1 -b .lib %patch2 -p1 -b .dont-break-depend %patch3 -p1 -b .all-defaults %patch7 -p1 -b .modprobe-default %patch8 -p1 -b .generate-modprobe.conf-no-defaults %patch9 -p1 -b .failed-symb %patch10 -p1 -b .fix_insmod_strrchr %patch11 -p1 -b .liberror %patch12 -p1 -b .preferred %build %serverbuild rm -f Makefile{,.in} libtoolize -c aclocal --force automake -c -f autoconf %if %{build_diet} mkdir -p objs-diet pushd objs-diet CONFIGURE_TOP=.. %configure2_5x --enable-zlib --disable-shared %make CFLAGS="-Os" CC="diet gcc" popd %endif mkdir -p objs pushd objs CONFIGURE_TOP=.. %configure2_5x --enable-zlib %make CFLAGS="%{optflags} -fPIC" popd %install rm -rf $RPM_BUILD_ROOT pushd objs %makeinstall transform= mv $RPM_BUILD_ROOT/bin/lsmod $RPM_BUILD_ROOT/sbin popd %if %{build_diet} install -d $RPM_BUILD_ROOT%{_prefix}/lib/dietlibc/lib-%{_arch} install objs-diet/.libs/libmodprobe.a $RPM_BUILD_ROOT%{_prefix}/lib/dietlibc/lib-%{_arch}/libmodprobe.a %endif mkdir -p $RPM_BUILD_ROOT{%_libdir,%_includedir} install -m644 modprobe.h list.h $RPM_BUILD_ROOT%_includedir %ifarch %{ix86} pushd $RPM_BUILD_ROOT/sbin && { rm -f insmod.static } && popd %endif install -d -m755 $RPM_BUILD_ROOT/etc/ touch $RPM_BUILD_ROOT/etc/modprobe.conf install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/etc install -d -m755 $RPM_BUILD_ROOT/etc/modprobe.d/ install -m 644 %{SOURCE1} %{SOURCE6} %{SOURCE20} $RPM_BUILD_ROOT/etc/modprobe.d install -d -m755 $RPM_BUILD_ROOT/lib/module-init-tools install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/lib/module-init-tools install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/lib/module-init-tools # We have to remove alternatives before postun for old version runs, # otherwise either dummy entries remain without any possibility to clean up # or newly installed binaries are silentlty removed %triggerprein -- module-init-tools < 3.3-pre11.10mdv2008.0 for i in %{toalternate}; do update-alternatives --remove $i /sbin/$i-25 update-alternatives --remove $i /sbin/$i-24 update-alternatives --remove man-$i %{_mandir}/man8/$i-25.8%{_extension} update-alternatives --remove man-$i %{_mandir}/man8/$i-24.8%{_extension} done exit 0 %post if [ ! -s /etc/modprobe.conf ]; then MODPROBE_CONF=/etc/modprobe.conf elif [ -e /etc/modprobe.conf.rpmnew ]; then MODPROBE_CONF=/etc/modprobe.conf.rpmnew fi if [ -s /etc/modules.conf -a -n "$MODPROBE_CONF" ]; then echo '# This file is autogenerated from /etc/modules.conf using generate-modprobe.conf command' >> $MODPROBE_CONF echo >> $MODPROBE_CONF /sbin/generate-modprobe.conf >> $MODPROBE_CONF 2> /dev/null fi if [ -s /etc/modprobe.conf ]; then perl -pi -e 's/(^\s*include\s.*modprobe\.(default|compat).*)/# This file is now included automatically by modprobe\n# $1/' /etc/modprobe.conf fi exit 0 %clean rm -rf $RPM_BUILD_ROOT %post -n %libname -p /sbin/ldconfig %postun -n %libname -p /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README %doc TODO stress_modules.sh %config(noreplace) /etc/modprobe.conf %config(noreplace) /etc/modprobe.preload %dir /etc/modprobe.d/ %config(noreplace) /etc/modprobe.d/* %dir /lib/module-init-tools /lib/module-init-tools/* /sbin/generate-modprobe.conf /sbin/* %{_mandir}/*/* %files -n %devellibname %defattr(-,root,root) %_includedir/*.h %{_libdir}/libmodprobe.a %if %{build_diet} %{_prefix}/lib/dietlibc/lib-%{_arch}/libmodprobe.a %endif %{_libdir}/libmodprobe.la %{_libdir}/libmodprobe.so %files -n %libname %defattr(-,root,root) %{_libdir}/libmodprobe.so.* %changelog * Thu Sep 27 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.30mdv2008.0 + Revision: 93303 - mark modprobe.d files as config - disable automatic association for ipw2100/ipw2200/ipw3945 * Tue Sep 11 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.29mdv2008.0 + Revision: 84472 - use ldetect-lst aliases from /lib/module-init-tools/, not from /usr * Sun Sep 09 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.28mdv2008.0 + Revision: 83577 - do not read depends twice (fix loop, #33368) * Sun Sep 09 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.27mdv2008.0 + Revision: 83429 - use module aliases from first match only * Sun Sep 09 2007 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 3.3-pre11.26mdv2008.0 + Revision: 83198 - Fixed out of memory condition triggered by udev. * Sat Sep 08 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.25mdv2008.0 + Revision: 82425 - use ldetect-lst's preferred-modules.alias before kernel's modules.alias * Thu Aug 30 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.24mdv2008.0 + Revision: 75561 - remove modutils on upgrade * Wed Aug 15 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.23mdv2008.0 + Revision: 63513 - build dietlibc library with -Os * Tue Aug 14 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.22mdv2008.0 + Revision: 63352 - add dietlibc lib - do not install man pages twice - build objects in a subdir * Tue Aug 14 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.21mdv2008.0 + Revision: 63161 - provides modprobe-devel * Tue Aug 14 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.20mdv2008.0 + Revision: 62851 - try harder to update * Mon Aug 13 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.19mdv2008.0 + Revision: 62839 - fix upgrade of module-init-tools-devel * Mon Aug 13 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.18mdv2008.0 + Revision: 62730 - provide back module-init-tools-devel * Mon Aug 13 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.17mdv2008.0 + Revision: 62692 - patch 11: exit() is not a user-friendly user managment method in a library - link shared library with -lz in order to prevent alter every users * Mon Aug 13 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.15mdv2008.0 + Revision: 62675 - build a shared library * Mon Aug 06 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.14mdv2008.0 + Revision: 59219 - package missing list.h too * Sat Aug 04 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.13mdv2008.0 + Revision: 58832 - patch 1: libify modprobe for ldetect - rediff patches 2, 3 & 7 due to that code move * Tue Jun 12 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.12mdv2008.0 + Revision: 38117 - blacklist rivatv in a new blacklist-mdv file (#30531) * Thu May 17 2007 Olivier Blin <oblin@mandriva.com> 3.3-pre11.11mdv2008.0 + Revision: 27671 - add blacklist-compat list from Fedora packages to blacklist framebuffer drivers (#30531), ISDN hisax drivers, watchdog drivers (they need a daemon) on coldplug/hotplug * Sun May 13 2007 Andrey Borzenkov <arvidjaar@mandriva.org> 3.3-pre11.10mdv2008.0 + Revision: 26559 - Remove alternatives now when modutils are gone * Sat Apr 28 2007 trem <trem@mandriva.org> 3.3-pre11.9mdv2008.0 + Revision: 18959 - fix insmod when using it without absolute path * Fri Apr 20 2007 Thierry Vignaud <tvignaud@mandriva.com> 3.3-pre11.8mdv2008.0 + Revision: 16186 - new release * Thu Dec 28 2006 Luiz Fernando Capitulino <lcapitulino@mandriva.com> 3.3-pre4.7mdv2007.0 + Revision: 102405 - Update to 3.3-pre4 - Fix URL (module-init-tools is hosted at a new location now) + Gustavo Pichorim Boiko <boiko@mandriva.com> - Import module-init-tools