You need to sign in or sign up before continuing.
Commit d9a4c6ce authored by Konstantin Baev's avatar Konstantin Baev

no more compiled module etercifs.ko in rpm, just install scripts and src

parent 6b4d62ac
kernel-source-etercifs-2.6.23.spec
linux-cifs.spec~
linux-cifs/test.sh
linux-cifs/kernel_src.list_old
linux-cifs/build.sh_old
......@@ -56,6 +56,11 @@ BuildRequires: kernel-headers-modules-std-smp
AutoReq: no
%endif
Requires: kernel-source-etercifs-legacy
Requires: kernel-source-etercifs-2.6.23
Requires: kernel-source-etercifs-2.6.24
Requires: kernel-source-etercifs-2.6.25
%define module_dir /lib/modules/%name
ExclusiveOS: Linux
......@@ -121,15 +126,35 @@ This package has Etersoft's patches for WINE@Etersoft sharing access support.
%install
mkdir -p %kernel_srcdir
cp %SOURCE1 %kernel_srcdir/%src_package_name-%src_package_version.tar.bz2
for N in `seq 18 22`
do
ln -s %kernel_src/%src_package_name-%src_package_version.tar.bz2 %kernel_srcdir/kernel-source-etercifs-2.6.$N-%src_package_version.tar.bz2
done
mkdir -p %buildroot%_datadir/%name
install -m644 buildmodule.sh %buildroot%_datadir/%name/buildmodule.sh
mkdir -p %buildroot%_initdir
sed -e "s|@SRC_DIR@|%_datadir/%name|g" < %name.init > %name.init.repl
install -m755 %name.init.repl %buildroot%_initdir/%name
install -m755 %name.outformat %buildroot%_initdir/%name.outformat
%files
%_datadir/%name/buildmodule.sh
%_initdir/%name
%_initdir/%name.outformat
%files -n %src_package_name
%attr(0644,root,root) %kernel_src/%src_package_name-%src_package_version.tar.bz2
%kernel_src/kernel-source-etercifs-2.6.??-%src_package_version.tar.bz2
%changelog
* Thu Aug 28 2008 Konstantin Baev <kipruss@altlinux.org> 1:1.0-alt1
- fix build on Fedora 8 (2.6.18-53)
* Mon Sep 01 2008 Konstantin Baev <kipruss@altlinux.org> 1:1.0-alt1
- sources changed - now it's with Etersoft patches
- source directory renamed to cifs
- sources will be packaged in separate kernel-source package,
named kernel-source-etercifs-legacy-1.50c
- no more compiled module etercifs.ko in rpm, just install scripts and src
* Thu Jan 31 2008 Vitaly Lipatov <lav@altlinux.ru> 1.50c-alt4
- fix build on Fedora 8 (2.6.18-53)
......
......@@ -3,99 +3,12 @@
# Author: Vitaly Lipatov <lav@etersoft.ru>
# GNU Public License
# Build kernel modules for all kernel and all platforms
. ./functions.sh
echo "All kernel build script. (c) 2007, 2008 Etersoft. $Id: build.sh,v 1.26 2008/01/27 16:54:11 lav Exp $"
PACKNAME=linux-cifs
MODULENAME=etercifs
SRC_DIR=/tmp
get_src_dir || fatal "Distro $($DISTR_VENDOR -e) is not supported yet"
[ -n "$BUILDDIR" ] || BUILDDIR=`pwd`/new-cifs-backport
BUILTLIST=
# SMP build
[ -z "$RPM_BUILD_NCPUS" ] && RPM_BUILD_NCPUS=`/usr/bin/getconf _NPROCESSORS_ONLN`
[ "$RPM_BUILD_NCPUS" -gt 1 ] && MAKESMP="-j$RPM_BUILD_NCPUS" || MAKESMP=""
# Heuristic
detect_kernel()
{
# Detect kernel version
if [ -f $KERNEL_SOURCE/.kernelrelease ] ; then
KERNELVERSION=`head -n 1 $KERNEL_SOURCE/.kernelrelease`
elif [ -f $KERNEL_SOURCE/include/config/kernel.release ] ; then
KERNELVERSION=`head -n 1 $KERNEL_SOURCE/include/config/kernel.release`
elif [ -f $KERNEL_SOURCE/include/linux/version.h ] ; then
KERNELVERSION=`head -n 1 $KERNEL_SOURCE/include/linux/version.h | grep UTS_RELEASE | cut -d" " -f 3 | sed -e 's|"||g'`
fi
if [ -z "$KERNELVERSION" ] ; then
head -n 5 $KERNEL_SOURCE/Makefile | sed -e "s| ||g" >get_version
. ./get_version
KERNELVERSION=$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION
# Hack for strange SUSE 10.2
if [ -z "$EXTRAVERSION" ] ; then
KERNELVERSION=`grep KERNELSRC $KERNEL_SOURCE/Makefile | head -n 1 | sed -e "s|.*linux-||g"`
[ -n "$KERNELVERSION" ] && KERNELVERSION=$KERNELVERSION-`basename $KERNEL_SOURCE`
fi
fi
}
[ -z "$DESTDIR$SRC_DIR" ] && exit 1
echo "Install sources to $DESTDIR/$SRC_DIR"
install -m755 -d $DESTDIR/$SRC_DIR
install -m644 $BUILDDIR/* $DESTDIR/$SRC_DIR || exit 1
install -m644 buildmodule.sh $DESTDIR/$SRC_DIR || exit 1
for KERNEL_SOURCE in `echo $BASE_KERNEL_SOURCES_DIR` ; do
[ -L $KERNEL_SOURCE ] && [ `basename $KERNEL_SOURCE` != "build" ] && continue
#[ -f $KERNEL_SOURCE/Makefile ] || continue
# .config in Linux 2.6 only?
[ -f $KERNEL_SOURCE/.config ] || continue
echo
echo "================================================================="
# set GCC version if needed
test -f $KERNEL_SOURCE/gcc_version.inc && . $KERNEL_SOURCE/gcc_version.inc && echo "Use GCC $GCC_VERSION" && export USEGCC="CC=gcc-$GCC_VERSION"
#make CC=gcc$GCC_VERSION KERNSRC=$KERNEL_SOURCE kernel$KERNEL_VERSION
detect_kernel
echo "Build for $KERNEL_SOURCE (detected as $KERNELVERSION)"
if [ -z "$KERNELVERSION" ] ; then
fatal "Can't detect kernel version in $KERNEL_SOURCE"
fi
BUILTLIST="$BUILTLIST $KERNELVERSION"
KERVER=$(echo $KERNELVERSION | cut -b 1-3)
# Clean, build and check
make $USEGCC -C $KERNEL_SOURCE here=$BUILDDIR SUBDIRS=$BUILDDIR clean
make $USEGCC -C $KERNEL_SOURCE here=$BUILDDIR SUBDIRS=$BUILDDIR modules $MAKESMP
#[ "$KERVER" = "2.4" ] && MODULENAME=$(echo $MODULENAME.o) || MODULENAME=$(echo $MODULENAME.?o)
[ "$KERVER" = "2.4" ] && MODULEFILENAME=$MODULEFILENAME.o || MODULEFILENAME=$MODULENAME.ko
test -r "$BUILDDIR/$MODULEFILENAME" || { echo "can't locate built module $MODULEFILENAME, continue" ; continue ; }
#echo "$KERNELVERSION $MODULENAME to $INSTALL_MOD_PATH"
strip --strip-debug --discard-all $BUILDDIR/$MODULEFILENAME
mkdir -p $INSTALL_MOD_PATH/$KERNELVERSION/kernel/fs/cifs || fatal "broken path"
cp -fv $BUILDDIR/$MODULEFILENAME $INSTALL_MOD_PATH/$KERNELVERSION/kernel/fs/cifs || fatal "copy error"
# copy last as default
#cp -f $BUILDDIR/$MODULENAME $INSTALL_MOD_PATH/$PACKNAME/
#make -C $KERNEL_SOURCE here=`pwd`/ SUBDIRS=`pwd`/ modules_install
BUILTLIST="$BUILTLIST---DONE"
done
#cd -
# Lav: We can has package without binary modules
#test -z "$BUILTLIST" && fatal "build nothing"
echo
echo "========================================================================"
echo "CIFS Linux kernel module built for follow kernels (marked as ---DONE):"
for i in $BUILTLIST ; do echo " $i" ; done
echo
mkdir -p $SBIN_DIR $INIT_DIR
#install -m755 linux-cifs_depmod.sh $INSTALL_MOD_PATH/$PACKNAME/
mkdir -p $INIT_DIR
sed -e "s|@SRC_DIR@|$SRC_DIR|g" < $PACKNAME.init > $PACKNAME.init.repl
install -m755 -D $PACKNAME.init.repl $INIT_DIR/$PACKNAME
......
......@@ -30,6 +30,15 @@ get_src_dir()
[ -z "$BASE_KERNEL_SOURCES_DIR" ] && return 1
return 0
}
exit_handler()
{
local rc=$?
trap - EXIT
[ -z "$tmpdir" ] || rm -rf -- "$tmpdir"
exit $rc
}
# :
#/lib/modules/$(shell uname -r)/build
......
Generic /usr/src/*
ALTLinux /usr/src/*
ASPLinux /usr/src/kernels/*
ASPLinux/10 /lib/modules/*/build
RedHat /usr/src/kernels/*
RHEL /usr/src/kernels/*
CentOS /usr/src/kernels/*
LinuxXP /usr/src/kernels/*
Scientific /usr/src/kernels/*
FedoraCore /usr/src/kernels/*
Debian /usr/src/*
Ubuntu /usr/src/*
SUSE /usr/src/linux-*/*/*
NLD /usr/src/linux-*/*/*
MOPSLinux /usr/src/*
Slackware /usr/src/*
Mandriva /usr/src/*
Gentoo /usr/src/*
Generic /usr/src/kernel/sources/*
ALTLinux /usr/src/kernel/sources/*
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment