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