Magellan Linux

Diff of /smage/trunk/include/kernel.sminc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2936 by niro, Tue Sep 6 18:26:19 2011 UTC revision 2939 by niro, Tue Sep 6 19:09:06 2011 UTC
# Line 1  Line 1 
1  # kernel26 global smage functions  # kernel global smage functions
2  # $Id$  # $Id$
3    
4  # needed extra vars:  # needed extra vars:
5  #   ${KERNEL_TYPE}:   needed, 'sources' or 'image'  #   ${KERNEL_TYPE}:   needed, 'sources', 'headers' or 'image'
6  #   ${BRANCH}:        needed, style branch of the kernel  #   ${BRANCH}:        needed, style branch of the kernel
7  #   ${KERNEL_CONFIG}: optional, needed if you want to override the default  #   ${KERNEL_CONFIG}: optional, needed if you want to override the default
8  #                     searchpath ${SOURCEDIR}/${PNAME}/config-${PVER}-${BRANCH}-${PBUILD}  #                     searchpath ${SOURCEDIR}/${PNAME}/config-${PVER}-${BRANCH}-${PBUILD}
# Line 26  fi Line 26  fi
26  : ${SRCFILE="linux-${PVER/${PSUBVER}/}.tar.bz2"}  : ${SRCFILE="linux-${PVER/${PSUBVER}/}.tar.bz2"}
27  : ${SRCDIR="${BUILDDIR}/linux-${PVER}-${BRANCH}-${PBUILD}"}  : ${SRCDIR="${BUILDDIR}/linux-${PVER}-${BRANCH}-${PBUILD}"}
28    
29  : ${SRC_URI=(  case ${KERNEL_TYPE} in
30   http://www.kernel.org/pub/linux/kernel/v${PVER:0:3}/${SRCFILE}   image|sources)
31   mirror://kernel26-${BRANCH}/${SRCFILE}   : ${SRC_URI=(
32   mirror://kernel26-${BRANCH}/config-${PVER}-${BRANCH}-${PBUILD}-i686   http://www.kernel.org/pub/linux/kernel/v${PVER%%.*}/${SRCFILE}
33   mirror://kernel26-${BRANCH}/config-${PVER}-${BRANCH}-${PBUILD}-x86_64   mirror://kernel-${BRANCH}/${SRCFILE}
34  )}   mirror://kernel-${BRANCH}/config-${PVER}-${BRANCH}-${PBUILD}-i686
35     mirror://kernel-${BRANCH}/config-${PVER}-${BRANCH}-${PBUILD}-x86_64
36     )}
37     ;;
38     headers)
39     : ${SRC_URI=(
40     http://www.kernel.org/pub/linux/kernel/v${PVER%%.*}/${SRCFILE}
41     mirror://kernel-${BRANCH}/${SRCFILE}
42     )}
43     ;;
44    esac
45    
46  : ${DEPEND=">= sys-apps/module-init-tools-3.2  : ${DEPEND=">= sys-apps/module-init-tools-3.2
47   >= sys-fs/udev-115   >= sys-fs/udev-115
48   >= sys-apps/mkinitrd-5.0.8   >= sys-apps/mkinitrd-5.0.8
49   >= sys-apps/initscripts-0.4.3"}   >= virtual/initscripts"}
50    
51  : ${PROVIDE="virtual/kernel"}  case ${KERNEL_TYPE} in
52     image) : ${PROVIDE="virtual/kernel"} ;;
53     sources) : ${PROVIDE="virtual/kernel-sources"} ;;
54     headers) : ${PROVIDE="virtual/kernel-headers"} ;;
55    esac
56    
57  EXTRAVERSION="${PSUBVER}-${BRANCH}-${PBUILD}${KERNEL_ARCH_EXTENSION}"  EXTRAVERSION="${PSUBVER}-${BRANCH}-${PBUILD}${KERNEL_ARCH_EXTENSION}"
58  KERNEL_CONFIG="${SOURCEDIR}/${PNAME}/config-${PVER}-${BRANCH}-${PBUILD}-${ARCH}"  KERNEL_CONFIG="${SOURCEDIR}/${PNAME}/config-${PVER}-${BRANCH}-${PBUILD}-${ARCH}"
# Line 49  KPBUILD="${PBUILD}" Line 63  KPBUILD="${PBUILD}"
63  KBRANCH="${BRANCH}"  KBRANCH="${BRANCH}"
64  SPECIAL_VARS="${SPECIAL_VARS} KPVER KPBUILD KBRANCH"  SPECIAL_VARS="${SPECIAL_VARS} KPVER KPBUILD KBRANCH"
65    
66  kernel26_src_prepare()  kernel_src_prepare()
67  {  {
68   munpack ${SRCFILE} || die   munpack ${SRCFILE} || die
69   mv ${BUILDDIR}/linux-${PVER/${PSUBVER}/} ${SRCDIR} || die   mv ${BUILDDIR}/linux-${PVER/${PSUBVER}/} ${SRCDIR} || die
# Line 65  kernel26_src_prepare() Line 79  kernel26_src_prepare()
79   -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" Makefile || die   -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" Makefile || die
80  }  }
81    
82  kernel26_src_compile()  kernel_src_compile()
83  {  {
84   cd ${SRCDIR}   cd ${SRCDIR}
85    
86   make mrproper || die   make mrproper || die
87    
88   # inject our kernel config   if [[ ${KERNEL_TYPE} = sources ]] || [[ ${KERNEL_TYPE} = image ]]
89   cp ${KERNEL_CONFIG} ${SRCDIR}/.config || die   then
90   make ARCH=${ARCH/i*86/x86} oldconfig || die   # inject our kernel config
91     cp ${KERNEL_CONFIG} ${SRCDIR}/.config || die
92     make ARCH=${ARCH/i*86/x86} oldconfig || die
93     fi
94    
95   case ${KERNEL_TYPE} in   case ${KERNEL_TYPE} in
96   image)   image)
97   mmake ARCH=${ARCH/i*86/x86} || die   mmake ARCH=${ARCH/i*86/x86} || die
98   ;;   ;;
99    
100     headers)
101     make ARCH=${ARCH/i*86/x86} headers_check || die
102     ;;
103    
104   sources)   sources)
105   make clean || die   make clean || die
106    
# Line 87  kernel26_src_compile() Line 108  kernel26_src_compile()
108   make ARCH=${ARCH/i*86/x86} prepare || die   make ARCH=${ARCH/i*86/x86} prepare || die
109   # needed to cover >=2.6.14 builds   # needed to cover >=2.6.14 builds
110   # but deprecated with >=2.6.21, prepare cover all targets there   # but deprecated with >=2.6.21, prepare cover all targets there
111   [[ $(echo ${PVER} | sed "s:\.::g") < 2621 ]] && { make ARCH=${ARCH/i*86/x86} prepare-all || die; }   local kver=$(echo ${PVER} | sed "s:\.::g")
112     # honor >=3.0.x; add one zero
113     if [[ ${PVER%%.*} -gt 2 ]]
114     then
115     kver="${kver}0"
116     fi
117     if [[ ${kver} < 2621 ]]
118     then
119     make ARCH=${ARCH/i*86/x86} prepare-all || die
120     fi
121   make ARCH=${ARCH/i*86/x86} scripts || die   make ARCH=${ARCH/i*86/x86} scripts || die
122    
123   # at least alsa-drivers needs this one ...   # at least alsa-drivers needs this one ...
# Line 96  kernel26_src_compile() Line 126  kernel26_src_compile()
126   esac   esac
127  }  }
128    
129  kernel26_image_src_install()  kernel_image_src_install()
130  {  {
131   cd ${SRCDIR}   cd ${SRCDIR}
132    
# Line 168  KRNINITRD= Line 198  KRNINITRD=
198   fi   fi
199  }  }
200    
201  kernel26_sources_src_install()  kernel_headers_src_install()
202    {
203     cd ${SRCDIR}
204     make ARCH=${ARCH/i*86/x86} INSTALL_HDR_PATH=${BINDIR}/usr headers_install || die
205    }
206    
207    kernel_sources_src_install()
208  {  {
209   cd ${BUILDDIR}   cd ${BUILDDIR}
210    
# Line 181  kernel26_sources_src_install() Line 217  kernel26_sources_src_install()
217  }  }
218    
219  # installs module-sources path/to/SRCDIR to MODDIR/MODNAME  # installs module-sources path/to/SRCDIR to MODDIR/MODNAME
220  # kernel26_external_modules_install path/to/SRCDIR DESTDIRNAME  # kernel_external_modules_install path/to/SRCDIR DESTDIRNAME
221  kernel26_external_modules_install()  kernel_external_modules_install()
222  {  {
223   cd ${BUILDDIR}   cd ${BUILDDIR}
224    
# Line 195  kernel26_external_modules_install() Line 231  kernel26_external_modules_install()
231   mv ${modsrc} ${moddir}/${moddest} || die   mv ${modsrc} ${moddir}/${moddest} || die
232  }  }
233    
234  kernel26_external_modules_tarball()  kernel_external_modules_tarball()
235  {  {
236   cd ${BUILDDIR}   cd ${BUILDDIR}
237    
# Line 208  kernel26_external_modules_tarball() Line 244  kernel26_external_modules_tarball()
244   mv ${BUILDDIR}/kernel-modules-${PVER}-${BRANCH}-${PBUILD}.tar.bz2 ${BINDIR}/usr/src || die   mv ${BUILDDIR}/kernel-modules-${PVER}-${BRANCH}-${PBUILD}.tar.bz2 ${BINDIR}/usr/src || die
245  }  }
246    
247  kernel26_src_install()  kernel_src_install()
248  {  {
249   case ${KERNEL_TYPE} in   case ${KERNEL_TYPE} in
250   image)   image)
251   kernel26_image_src_install || die   kernel_image_src_install || die
252     ;;
253    
254     headers)
255     kernel_headers_src_install || die
256   ;;   ;;
257    
258   sources)   sources)
259   kernel26_sources_src_install || die   kernel_sources_src_install || die
260   ;;   ;;
261   esac   esac
262  }  }
# Line 248  mod_suffix() Line 288  mod_suffix()
288  {  {
289   local ksrc="$@"   local ksrc="$@"
290   local mod_suffix   local mod_suffix
291     local kmv
292    
293   if [[ $(kernel_major_version ${ksrc}) = 2.6 ]]   kmv=$(kernel_major_version ${ksrc})
294     if [[ ${kmv//.} -ge 26 ]]
295   then   then
296   mod_suffix="ko"   mod_suffix="ko"
297   else   else
# Line 259  mod_suffix() Line 301  mod_suffix()
301   echo ${mod_suffix}   echo ${mod_suffix}
302  }  }
303    
304  kernel26_image_preinstall()  kernel_image_preinstall()
305  {  {
306   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
307   then   then
# Line 267  kernel26_image_preinstall() Line 309  kernel26_image_preinstall()
309   fi   fi
310  }  }
311    
312  kernel26_image_preremove()  kernel_image_preremove()
313  {  {
314   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
315   then   then
# Line 275  kernel26_image_preremove() Line 317  kernel26_image_preremove()
317   fi   fi
318  }  }
319    
320  kernel26_image_postremove()  kernel_image_postremove()
321  {  {
322   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]   if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
323   then   then
# Line 284  kernel26_image_postremove() Line 326  kernel26_image_postremove()
326   fi   fi
327  }  }
328    
329  kernel26_image_postinstall()  kernel_image_postinstall()
330  {  {
331   [ ! -d ${MROOT}/sys ] && install -d ${MROOT}/sys   [ ! -d ${MROOT}/sys ] && install -d ${MROOT}/sys
332    
# Line 311  kernel26_image_postinstall() Line 353  kernel26_image_postinstall()
353   ln -snf initrd-${KPVER}-${KBRANCH}-${KPBUILD}.img ${MROOT}/boot/initrd   ln -snf initrd-${KPVER}-${KBRANCH}-${KPBUILD}.img ${MROOT}/boot/initrd
354  }  }
355    
356  kernel26_sources_postinstall()  kernel_sources_postinstall()
357  {  {
358   # check for linux-VERSION/include as the kernel-image installs   # check for linux-VERSION/include as the kernel-image installs
359   # the file Modules.symver in the linux-VERSION directory   # the file Modules.symver in the linux-VERSION directory
# Line 348  kernel26_sources_postinstall() Line 390  kernel26_sources_postinstall()
390   fi   fi
391  }  }
392    
393  export_inherits kernel26 src_prepare src_compile src_install  export_inherits kernel src_prepare src_compile src_install
394    
395  # export pre/postinstall functions depending on KERNEL_TYPE  # export pre/postinstall functions depending on KERNEL_TYPE
396  case ${KERNEL_TYPE} in  case ${KERNEL_TYPE} in
397   image)   image)
398   export_inherits kernel26_image preinstall preremove postinstall postremove   export_inherits kernel_image preinstall preremove postinstall postremove
399   SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} kernel26_image_preinstall kernel26_image_preremove kernel26_image_postinstall kernel26_image_postremove"   SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} kernel_image_preinstall kernel_image_preremove kernel_image_postinstall kernel_image_postremove"
400   ;;   ;;
401   sources)   sources)
402   export_inherits kernel26_sources postinstall   export_inherits kernel_sources postinstall
403   SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} kernel26_sources_postinstall"   SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} kernel_sources_postinstall"
404   ;;   ;;
405  esac  esac

Legend:
Removed from v.2936  
changed lines
  Added in v.2939