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