OSDN Git Service

Merge branch 'alteriso-3'
[alterlinux/alterlinux.git] / menuconf-to-alterconf.sh
1 #!/usr/bin/env bash
2 script_path=`dirname $0`
3
4 build_arch=x86_64
5
6 machine_arch=$(uname -m)
7 cd ${script_path} 
8 if [ $# -ne 1 ]; then
9     echo "error!" 1>&2
10     echo "You must set one arg!" 1>&2
11     exit 1
12 fi
13 #build.shのオプションに使う変数を設定
14 buf=`grep CONFIG_I686_BUILD .config`
15 eval "$buf"
16 if [[ $CONFIG_I686_BUILD = "y" ]]; then
17     build_arch=i686
18 fi
19 buf=`grep CONFIG_KERNEL_N_A_M_E_ .config | sed -e 's/=y//g' | sed -e 's/CONFIG_KERNEL_N_A_M_E_/kernel=/g'`
20 eval "$buf"
21 buf=`grep CONFIG_ENABLE_PLYMOUTH .config | sed -e 's/y/true/g' | sed -e 's/CONFIG_ENABLE_PLYMOUTH/plymouth/g'`
22 eval "$buf"
23 buf=`grep CONFIG_USE_CUSTOM_LANG .config | sed -e 's/y/true/g' | sed -e 's/CONFIG_USE_CUSTOM_LANG/USE_CUSTOM_LANG/g'`
24 eval "$buf"
25 buf=`grep CONFIG_SFS_CMP_ .config | sed -e 's/=y//g' | sed -e 's/CONFIG_SFS_CMP_/comp_type=/g'`
26 eval "${buf,,}"
27 buf=`grep CONFIG_USE_SFS_OPTION .config | sed -e 's/y/true/g'`
28 eval "$buf"
29 if [[ $CONFIG_USE_SFS_OPTION ]]; then
30     if [[ $comp_type = "zstd" ]]; then
31         buf=`grep CONFIG_ZSTD_COMP_LVL .config`
32         eval "$buf"
33         comp_option="-Xcompression-level ${CONFIG_ZSTD_COMP_LVL}"
34     fi
35     if [[ $comp_type = "gzip" ]]; then
36         buf=`grep CONFIG_GZIP_SFS_ .config`
37         eval "$buf"
38         comp_option="-Xcompression-level ${CONFIG_GZIP_SFS_COMP_LVL} -Xwindow-size ${CONFIG_GZIP_SFS_WIN_SIZE}"
39     fi
40     if [[ $comp_type = "lz4" ]]; then
41         buf=`grep CONFIG_LZ4_HIGH_COMP .config`
42         eval "$buf"
43         if [[ $CONFIG_LZ4_HIGH_COMP = "y" ]]; then
44             comp_option="-Xhc"
45         fi
46     fi
47 fi
48 buf=`grep CONFIG_USE_CUSTOM_USERNAME .config`
49 eval "$buf"
50 if [[ $CONFIG_USE_CUSTOM_USERNAME = "y" ]]; then
51     buf=`grep CONFIG_CUSTOM_USERNAME .config | sed -e 's/CONFIG_CUSTOM_USERNAME/username/g' `
52     eval "$buf"
53 fi
54 buf=`grep CONFIG_USE_CUSTOM_PASSWD .config`
55 eval "$buf"
56 if [[ $CONFIG_USE_CUSTOM_PASSWD = "y" ]]; then
57     buf=`grep CONFIG_CUSTOM_PASSWD .config | sed -e 's/CONFIG_CUSTOM_PASSWD/password/g' `
58     eval "$buf"
59 fi
60 buf=`grep CONFIG_CHANNEL_ .config | sed -e 's/=y//g' | sed -e 's/CONFIG_CHANNEL_/channel=/g'`
61 eval "${buf,,}"
62 if [[ $USE_CUSTOM_LANG = "true" ]]; then
63     buf=`grep CONFIG_CUSTOM_LANGUAGE .config | sed -e 's/CONFIG_CUSTOM_LANGUAGE/language/g' `
64     eval "$buf"
65 fi
66
67 echo build option : 
68     [[ -n "${language}" ]] && echo "           Language : ${language}"
69     [[ -n "${plymouth}"    ]] && echo "           Plymouth : ${plymouth}"
70     [[ -n "${kernel}"      ]] && echo "             kernel : ${kernel}"
71     [[ -n "${comp_type}"   ]] && echo " Compression method : ${comp_type}"
72     [[ -n "${comp_option}" ]] && echo "Compression options : ${comp_option}"
73     [[ -n "${username}"    ]] && echo "           Username : ${username}"
74     [[ -n "${password}"    ]] && echo "           Password : ${password}"
75     [[ -n "${channel}"     ]] && echo "            Channel : ${channel}"
76
77 if [[ ${USE_CUSTOM_LANG} = "true" ]]; then
78     argument="${argument} -g ${language}" 
79 fi
80 if [[ ${plymouth} = true ]]; then
81     argument="${argument} -b"
82 fi
83 if [[ -n ${comp_type} ]]; then
84     argument="${argument} -c ${comp_type}"
85 fi
86 if [[ -n ${kernel} ]]; then
87     argument="${argument} -k ${kernel}"
88 fi
89 if [[ -n "${username}" ]]; then
90     argument="${argument} -u '${username}'"
91 fi
92 if [[ -n ${password} ]]; then
93     argument="${argument} -p '${password}'"
94 fi
95 if [[ -n ${out_dir} ]]; then
96     argument="${argument} -o '${out_dir}'"
97 fi
98 argument="-a ${build_arch}  --noconfirm  ${argument} ${channel}"
99 echo $argument > $1