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