...
Info |
---|
Теперь Вы можете запустить его в формате
|
...
Expand | ||||
---|---|---|---|---|
| ||||
Если Вы подключились по SSH и хотите отключиться от сессии SSH или отключить свой компьютер на время, то выполните следующую команду:
Дальше в любой момент Вы можете нажать Ctrl-A d, после чего отключиться от сессии SSH. Затем когда Вы захотите вернуться, залогиньтесь снова по SSH и введите команду:
|
...
Code Block | ||
---|---|---|
| ||
cat > build_all.sh <<EOT #!/bin/bash BLD_PARALLEL="4" WORKSPACE=/home/du4 #STOP_ON_ERROR=1 STOP_ON_ERROR=0 #GCC_COMPILER="gcc-10" GCC_COMPILER="" # Build a component: \$1 - component name, \$2 - stop-on-error flag function build_component { local START_TIME local END_TIME local BLD_RESULT BLD_RESULT="/data/repo/du/\$1" test -z "\$1" && exit 1 test -d \${BLD_RESULT} && rm -rf \${BLD_RESULT} DEB_BUILD_OPTIONS="nocheck notest parallel=\${BLD_PARALLEL}" export DEB_BUILD_OPTIONS test -d \${WORKSPACE}/\$1 && rm -rf \${WORKSPACE}/\$1 mkdir -p \${WORKSPACE}/\$1 cd \${WORKSPACE}/\$1 START_TIME=\$(date +%s) echo "====================== \$1 ======================" | tee berror.log if [[ \$2 -eq 0 ]]; then apt-get build-dep -y \$1 >> berror.log || return 0 2>&1 apt-get source --compile \$1 >> berror.log || return 0 2>&1 else apt-get build-dep -y \$1 >> berror.log || return 1 2>&1 apt-get source --compile \$1 >> berror.log || return 1 2>&1 fi mkdir -p \${BLD_RESULT} cp -END_TIME=\$(date +%s) printf "%06d %s\\n" \$((\${END_TIME} - \${START_TIME})) \$1 >> \${WORKSPACE}/tmpbt.log mkdir -p \${BLD_RESULT} cp -ax *.deb \${BLD_RESULT}/ || exit 1 cp -ax *.changes \${BLD_RESULT}/ || exit 1 cp -ax *.buildinfo \${BLD_RESULT}/ || exit 1 } if [[ "\$GCC_COMPILER" != "" ]]; then echo "====================== Building GCC ======================" build_component \$GCC_COMPILER 1 if [[ \$? -eq 1 ]]; then exit 1 fi dpkg -i \$WORKSPACE/\$GCC_COMPILER/*.deb fi while read COMP; do if [[ ""! -f \$WORKSPACE/build_components ]]; then cp /data/repo/pkg/list_component \$WORKSPACE/build_components fi rm -f tmpbt.log while read COMP; do if [[ "" == "\$COMP" ]] || [[ "\$GCC_COMPILER" == "\$COMP" ]]; then continue fi build_component \$COMP \$STOP_ON_ERROR if [[ \$? -eq 1 ]]; then exit 1 fi done < /data/repo/pkg/list_component\$WORKSPACE/build_components sort tmpbt.log > build_components sed -i 's/^[0-9]* //g' build_components EOT |
Если Вы хотите, чтобы пстроение закончилось после первой же ошибки, присвойте 1 переменной STOP_ON_ERROR STOP_ON_ERROR=1
. В противном случае скрипт будет строить все компоненты по-очереди, независимо от ошибок. При этом в директории каждого компонента будет создаваться файл berror.log
, где вы сможете увидеть ошибки построения.
...
Expand | ||||
---|---|---|---|---|
| ||||
Если Вы подключились по SSH и хотите отключиться от сессии SSH или отключить свой компьютер на время, то выполните следующую команду:
Дальше в любой момент Вы можете нажать Ctrl-A d, после чего отключиться от сессии SSH. Затем когда Вы захотите вернуться, залогиньтесь снова по SSH и введите команду:
|
...