Renamed gensplash to splash and marked gensplash as deprecated. This is 3.4.9_pre3...
[genkernel.git] / gen_determineargs.sh
1 #!/bin/bash
2
3 get_KV() {
4         if [ "${CMD_NO_KERNEL_SOURCES}" = '1' -a -e "${CMD_KERNCACHE}" ]
5         then
6                 /bin/tar -xj -C ${TEMP} -f ${CMD_KERNCACHE} kerncache.config 
7                 if [ -e ${TEMP}/kerncache.config ]
8                 then
9                         KERN_24=0
10                         VER=`grep ^VERSION\ \= ${TEMP}/kerncache.config | awk '{ print $3 };'`
11                         PAT=`grep ^PATCHLEVEL\ \= ${TEMP}/kerncache.config | awk '{ print $3 };'`
12                         SUB=`grep ^SUBLEVEL\ \= ${TEMP}/kerncache.config | awk '{ print $3 };'`
13                         EXV=`grep ^EXTRAVERSION\ \= ${TEMP}/kerncache.config | sed -e "s/EXTRAVERSION =//" -e "s/ //g"`
14                         if [ "${PAT}" -gt '4' -a "${VER}" -ge '2' ]
15                         then
16                                 LOV=`grep ^CONFIG_LOCALVERSION\= ${TEMP}/kerncache.config | sed -e "s/CONFIG_LOCALVERSION=\"\(.*\)\"/\1/"`
17                                 KV=${VER}.${PAT}.${SUB}${EXV}${LOV}
18                         else
19                                 KERN_24=1
20                                 KV=${VER}.${PAT}.${SUB}${EXV}
21                         fi
22
23                 else
24                         gen_die "Could not find kerncache.config in the kernel cache! Exiting."
25                 fi
26
27         else
28                 # Configure the kernel
29                 # If BUILD_KERNEL=0 then assume --no-clean, menuconfig is cleared
30
31                 VER=`grep ^VERSION\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
32                 PAT=`grep ^PATCHLEVEL\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
33                 SUB=`grep ^SUBLEVEL\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
34                 EXV=`grep ^EXTRAVERSION\ \= ${KERNEL_DIR}/Makefile | sed -e "s/EXTRAVERSION =//" -e "s/ //g" -e 's/\$([a-z]*)//gi'`
35                 if [ "${PAT}" -gt '4' -a "${VER}" -ge '2' -a -e ${KERNEL_DIR}/.config ]
36                 then
37                         KERN_24=0
38                         cd ${KERNEL_DIR}
39                         #compile_generic prepare kernel > /dev/null 2>&1
40                         cd - > /dev/null 2>&1
41                         [ -f "${KERNEL_DIR}/include/linux/version.h" ] && \
42                                 VERSION_SOURCE="${KERNEL_DIR}/include/linux/version.h"
43                         [ -f "${KERNEL_DIR}/include/linux/utsrelease.h" ] && \
44                                 VERSION_SOURCE="${KERNEL_DIR}/include/linux/utsrelease.h"
45                         # Handle new-style releases where version.h doesn't have UTS_RELEASE
46                         if [ -f ${KERNEL_DIR}/include/config/kernel.release ]
47                         then
48                                 UTS_RELEASE=`cat ${KERNEL_DIR}/include/config/kernel.release`
49                                 LOV=`echo ${UTS_RELEASE}|sed -e "s/${VER}.${PAT}.${SUB}${EXV}//"`
50                                 KV=${VER}.${PAT}.${SUB}${EXV}${LOV}
51                         elif [ -n "${VERSION_SOURCE}" ]
52                         then
53                                 UTS_RELEASE=`grep UTS_RELEASE ${VERSION_SOURCE} | sed -e 's/#define UTS_RELEASE "\(.*\)"/\1/'`
54                                 LOV=`echo ${UTS_RELEASE}|sed -e "s/${VER}.${PAT}.${SUB}${EXV}//"`
55                                 KV=${VER}.${PAT}.${SUB}${EXV}${LOV}
56                         else
57                                 LCV=`grep ^CONFIG_LOCALVERSION= ${KERNEL_DIR}/.config | sed -r -e "s/.*=\"(.*)\"/\1/"`
58                                 KV=${VER}.${PAT}.${SUB}${EXV}${LCV}
59                         fi
60                 else
61                         KERN_24=1
62                         KV=${VER}.${PAT}.${SUB}${EXV}
63                 fi
64
65         fi
66
67         if isTrue "${CMD_DISKLABEL}"
68         then
69                 DISKLABEL=1
70         else
71                 DISKLABEL=0
72         fi
73
74         if isTrue "${CMD_LUKS}"
75         then
76                 LUKS=1
77         fi
78 }
79
80 determine_real_args() {
81         if [ "${CMD_DEBUGFILE}" != '' ]
82         then
83                 DEBUGFILE="${CMD_DEBUGFILE}"
84         fi
85
86         if [ "${CMD_MAKEOPTS}" != '' ]
87         then
88                 MAKEOPTS="${CMD_MAKEOPTS}"
89         fi
90
91         if [ "${CMD_KERNELDIR}" != '' ]
92         then
93                 KERNEL_DIR=${CMD_KERNELDIR}
94         else
95                 KERNEL_DIR=${DEFAULT_KERNEL_SOURCE}
96         fi
97         
98         if [ "${CMD_NO_KERNEL_SOURCES}" != "1" ]
99         then
100                 if [ ! -d ${KERNEL_DIR} ]
101                 then
102                         gen_die "kernel source directory \"${KERNEL_DIR}\" was not found!"
103                 fi
104         fi
105
106         if [ "${CMD_KERNCACHE}" != "" ]
107         then    
108                 if [ "${KERNEL_DIR}" = '' -a "${CMD_NO_KERNEL_SOURCES}" != "1" ]
109                 then
110                         gen_die 'No kernel source directory!'
111                 fi
112                 if [ ! -e "${KERNEL_DIR}" -a "${CMD_NO_KERNEL_SOURCES}" != "1" ]
113                 then
114                         gen_die 'No kernel source directory!'
115                 fi
116         else    
117                 if [ "${KERNEL_DIR}" = '' ]
118                 then
119                         gen_die 'Kernel Cache specified but no kernel tree to verify against!'
120                 fi
121         fi
122         
123         if [ "${CMD_KERNNAME}" != "" ]
124         then
125                 KNAME=${CMD_KERNNAME}
126         else
127                 KNAME="genkernel"
128         fi
129         
130         if [ "${CMD_KERNEL_MAKE}" != '' ]
131         then
132                 KERNEL_MAKE="${CMD_KERNEL_MAKE}"
133         fi
134
135         if [ "${KERNEL_MAKE}" = '' ]
136         then
137                 KERNEL_MAKE='make'
138         fi
139
140         if [ "${CMD_UTILS_MAKE}" != '' ]
141         then
142                 UTILS_MAKE="${CMD_UTILS_MAKE}"
143         fi
144
145         if [ "${UTILS_MAKE}" = '' ]
146         then
147                 UTILS_MAKE='make'
148         fi
149
150         if [ "${CMD_KERNEL_CC}" != '' ]
151         then
152                 KERNEL_CC="${CMD_KERNEL_CC}"
153         fi
154
155         if [ "${CMD_KERNEL_LD}" != '' ]
156         then
157                 KERNEL_LD="${CMD_KERNEL_LD}"
158         fi
159
160         if [ "${CMD_KERNEL_AS}" != '' ]
161         then
162                 KERNEL_AS="${CMD_KERNEL_AS}"
163         fi
164         
165         if [ "${CMD_KERNEL_CROSS_COMPILE}" != '' ]
166         then
167                 KERNEL_CROSS_COMPILE="${CMD_KERNEL_CROSS_COMPILE}"
168         fi
169
170         if [ "${CMD_UTILS_CC}" != '' ]
171         then
172                 UTILS_CC="${CMD_UTILS_CC}"
173         fi
174
175         if [ "${CMD_UTILS_LD}" != '' ]
176         then
177                 UTILS_LD="${CMD_UTILS_LD}"
178         fi
179
180         if [ "${CMD_UTILS_AS}" != '' ]
181         then
182                 UTILS_AS="${CMD_UTILS_AS}"
183         fi
184         
185         if [ "${CMD_UTILS_CROSS_COMPILE}" != '' ]
186         then
187                 UTILS_CROSS_COMPILE="${CMD_UTILS_CROSS_COMPILE}"
188         fi
189
190         if [ "${BOOTDIR}" != '' ]
191         then
192                 BOOTDIR=`arch_replace "${BOOTDIR}"`
193                 BOOTDIR=${BOOTDIR%/}    # Remove any trailing slash
194         else
195                 BOOTDIR="/boot"
196         fi
197
198         CACHE_DIR=`arch_replace "${CACHE_DIR}"`
199         BUSYBOX_BINCACHE=`cache_replace "${BUSYBOX_BINCACHE}"`
200         DEVFSD_BINCACHE=`cache_replace "${DEVFSD_BINCACHE}"`
201         DEVFSD_CONF_BINCACHE=`cache_replace "${DEVFSD_CONF_BINCACHE}"`
202         DEVICE_MAPPER_BINCACHE=`cache_replace "${DEVICE_MAPPER_BINCACHE}"`
203         LVM_BINCACHE=`cache_replace "${LVM_BINCACHE}"`
204         DMRAID_BINCACHE=`cache_replace "${DMRAID_BINCACHE}"`
205         UNIONFS_BINCACHE=`cache_replace "${UNIONFS_BINCACHE}"`
206         UNIONFS_MODULES_BINCACHE=`cache_replace "${UNIONFS_MODULES_BINCACHE}"`
207         BLKID_BINCACHE=`cache_replace "${BLKID_BINCACHE}"`
208   
209         DEFAULT_KERNEL_CONFIG=`arch_replace "${DEFAULT_KERNEL_CONFIG}"`
210         BUSYBOX_CONFIG=`arch_replace "${BUSYBOX_CONFIG}"`
211         BUSYBOX_BINCACHE=`arch_replace "${BUSYBOX_BINCACHE}"`
212         DEVICE_MAPPER_BINCACHE=`arch_replace "${DEVICE_MAPPER_BINCACHE}"`
213         LVM_BINCACHE=`arch_replace "${LVM_BINCACHE}"`
214         DMRAID_BINCACHE=`arch_replace "${DMRAID_BINCACHE}"`
215         UNIONFS_BINCACHE=`arch_replace "${UNIONFS_BINCACHE}"`
216         UNIONFS_MODULES_BINCACHE=`arch_replace "${UNIONFS_MODULES_BINCACHE}"`
217         BLKID_BINCACHE=`arch_replace "${BLKID_BINCACHE}"`
218         
219         if [ "${CMD_SPLASH}" != '' ]
220         then
221                 SPLASH=${CMD_SPLASH}
222         fi
223
224         if isTrue ${SPLASH}
225         then
226                 SPLASH=1
227         else
228                 SPLASH=0
229         fi
230
231         if isTrue ${COMPRESS_INITRD}
232         then
233                 COMPRESS_INITRD=1
234         else
235                 COMPRESS_INITRD=0
236         fi
237
238         if isTrue ${CMD_POSTCLEAR}
239         then
240                 POSTCLEAR=1
241         else
242                 POSTCLEAR=0
243         fi
244         
245         if [ "${CMD_MRPROPER}" != '' ]
246         then
247                 MRPROPER="${CMD_MRPROPER}"
248         fi
249
250         if [ "${CMD_MENUCONFIG}" != '' ]
251         then
252                 MENUCONFIG="${CMD_MENUCONFIG}"
253         fi
254
255         if [ "${CMD_CLEAN}" != '' ]
256         then
257                 CLEAN="${CMD_CLEAN}"
258                 if ! isTrue ${CLEAN}
259                 then
260                         MRPROPER=0
261                 fi
262         fi
263
264         if [ "${CMD_MINKERNPACKAGE}" != '' ]
265         then
266                 MINKERNPACKAGE="${CMD_MINKERNPACKAGE}"
267                 mkdir -p `dirname ${MINKERNPACKAGE}`
268         fi
269         
270         if [ "${CMD_MODULESPACKAGE}" != '' ]
271         then
272                 MODULESPACKAGE="${CMD_MODULESPACKAGE}"
273                 mkdir -p `dirname ${MODULESPACKAGE}`
274         fi
275
276         if [ "${CMD_KERNCACHE}" != '' ]
277         then
278                 KERNCACHE="${CMD_KERNCACHE}"
279                 mkdir -p `dirname ${KERNCACHE}`
280         fi
281         
282         if [ "${CMD_NOINITRDMODULES}" != '' ]
283         then
284                 NOINITRDMODULES="${CMD_NOINITRDMODULES}"
285         fi
286         
287         if [ "${CMD_INITRAMFS_OVERLAY}" != '' ]
288         then
289                 INITRAMFS_OVERLAY="${CMD_INITRAMFS_OVERLAY}"
290         fi
291
292         if [ "${CMD_MOUNTBOOT}" != '' ]
293         then
294                 MOUNTBOOT="${CMD_MOUNTBOOT}"
295         fi
296
297         if isTrue ${MOUNTBOOT}
298         then
299                 MOUNTBOOT=1
300         else
301                 MOUNTBOOT=0
302         fi
303
304         if [ "${CMD_STATIC}" != '' ]
305         then
306                 BUILD_STATIC=${CMD_STATIC}
307         fi
308
309         if isTrue ${BUILD_STATIC}
310         then
311                 BUILD_STATIC=1
312         else
313                 BUILD_STATIC=0
314         fi
315
316         if [ "${CMD_INITRAMFS}" != '' ]
317         then
318                 BUILD_INITRAMFS=${CMD_INITRAMFS}
319         fi
320
321         if isTrue ${BUILD_INITRAMFS}
322         then
323                 BUILD_INITRAMFS=1
324         else
325                 BUILD_INITRAMFS=0
326         fi
327
328         if [ "${CMD_SAVE_CONFIG}" != '' ]
329         then
330                 SAVE_CONFIG="${CMD_SAVE_CONFIG}"
331         fi
332
333         if isTrue "${SAVE_CONFIG}"
334         then
335                 SAVE_CONFIG=1
336         else
337                 SAVE_CONFIG=0
338         fi
339   
340         if [ "${CMD_SYMLINK}" != '' ]
341         then
342                 SYMLINK="${CMD_SYMLINK}"
343         fi
344
345         if isTrue "${SYMLINK}"
346         then
347                 SYMLINK=1
348         else
349                 SYMLINK=0
350         fi
351         
352         if [ "${CMD_INSTALL_MOD_PATH}" != '' ]
353         then
354                 INSTALL_MOD_PATH="${CMD_INSTALL_MOD_PATH}"
355         fi
356
357         if [ "${CMD_BOOTLOADER}" != '' ]
358         then
359                 BOOTLOADER="${CMD_BOOTLOADER}"
360                 
361                 if [ "${CMD_BOOTLOADER}" != "${CMD_BOOTLOADER/:/}" ]
362                 then
363                         BOOTFS=`echo "${CMD_BOOTLOADER}" | cut -f2- -d:`
364                         BOOTLOADER=`echo "${CMD_BOOTLOADER}" | cut -f1 -d:`
365                 fi
366         fi
367
368         if [ "${CMD_OLDCONFIG}" != '' ]
369         then
370                 OLDCONFIG="${CMD_OLDCONFIG}"
371         fi
372
373         if isTrue "${OLDCONFIG}"
374         then
375                 OLDCONFIG=1
376         else
377                 OLDCONFIG=0
378         fi
379
380         if isTrue "${CMD_LVM}"
381         then
382                 LVM=1
383         else
384                 LVM=0
385         fi
386
387         if isTrue "${CMD_EVMS}"
388         then
389                 EVMS=1
390         else
391                 EVMS=0
392         fi
393         
394         if isTrue "${CMD_UNIONFS}"
395         then
396                 UNIONFS=1
397         else
398                 UNIONFS=0
399         fi
400         
401         if isTrue "${CMD_NO_BUSYBOX}"
402         then
403                 BUSYBOX=0
404         else
405                 BUSYBOX=1
406         fi
407
408         if isTrue "${CMD_DMRAID}"
409         then
410                 DMRAID=1
411         else
412                 DMRAID=0
413         fi
414         
415         get_KV
416         UNIONFS_MODULES_BINCACHE=`kv_replace "${UNIONFS_MODULES_BINCACHE}"`
417 }