OSDN Git Service

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