Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

Теперь Вы можете запустить его в формате ./create_zone.sh <zone-name> <zone-ip-domain> <zone-ip-node> , например!:

./create_zone.sh zone02 192.168.0 3

...

Получите исходные файлы для локального репозитория, для чего создайте файл, например, get_sources.sh и сделайте его исполняемым (для работы скрипта требуется установленный пакет dpkg-dev):

Code Block
languagebash
cat > get_sources.sh <<EOT
#!/bin/bash

COMPONENTS='main'
CODENAME='du2-prebuild'

while read component; do
        if [[ "" == "\$component" ]]; then
               continue
        fi
        apt-get source --download-only \$component
        reprepro -b /data/repo -C \$COMPONENTS includedsc \$CODENAME \$component*.dsc
        rm -rf \$component
done < /data/repo/pkg/list_component
EOT
chmod 777 ./get_sources.sh

...

Code Block
languagebash
cat > build_all.sh <<EOT
#!/bin/bash
COMPONENT=\$1;
WORKDIR=\$2/export/home/admin;
WORKSPACE=\${WORKDIR}/\$3du2;
JOBS=\$44;
umask 022
export CCACHE_DISABLE="true"

echo '===================== ENVIRONMENT =================='
env

echo '===================== GET SOURCES =================='
test -L /etc/dpkg/origins/default || sudo ln -fs dilos /etc/dpkg/origins/dilos
test -f /usr/bin/gmake || sudo ln -fs make /usr/bin/gmake
git clone https://bitbucket.org/dilos/du2.git \${WORKSPACE}

echo '===================== GET PACKAGES =================='
cd \${WORKDIR}
export DEB_BUILD_OPTIONS="parallel= 2"
sudo -E apt-get update
sudo apt-get install -y acl iputils-ping kbd ksh scheduler system-data-console-fonts traceroute gmake  build-essential

DEBIAN_FRONTEND=nkvmoninteractive sudo -E apt-get install -f -y
DEBIAN_FRONTEND=noninteractive sudo -E apt-get upgrade -y

if ! getent group shadow | grep -q '^shadow:[^:]*:42'
then
sudo -E groupadd -g 42 shadow 
fi

test -L /usr/lib/jvm/default-java || sudo -E /usr/bin/ln -fs oracle-default-jdk /usr/lib/jvm/default-java
sudo -E apt-get install -y libx11-6 libxi6 libxtst6
sudo -E /usr/bin/ln -fs libX11.so.6 /usr/lib/64/libX11.so.4
sudo -E /usr/bin/ln -fs libXi.so.6 /usr/lib/64/libXi.so.5
sudo -E /usr/bin/ln -fs libXtst.so.6 /usr/lib/64/libXtst.so.1

echo '===================== BUILD \${COMPONENT} =================='
test#test -d \${WORKSPACE}/components/\${COMPONENT} || exit 1
cd "\${WORKSPACE}/du2/components/\${COMPONENT}"
sudo -E mkdir -p /data/repo/\${COMPONENT}
BLD_COMPONENT=\${COMPONENT}-\$(date '+%Y-%m-%d')
BUILD_RESULT=/data/repo/\${COMPONENT}
export COMPONENT_RESULT=\`echo \${BLD_COMPONENT} | sed -e 's;/;-;'\`
sudo -E /usr/bin/rm -rf \${BUILD_RESULT}/du/\${COMPONENT_RESULT}
mkdir -p \${BUILD_RESULT}/du/\${COMPONENT_RESULT} 2>/dev/null
sudo -E gmake JOBS=\${JOBS} WS_DEBS=\${BUILD_RESULT}/du/\${COMPONENT_RESULT} deb
RES=\$?
echo '===================== BUILD DEBCLOBBER =================='
sudo -E gmake debclobber
if (( \$RES > 0 )); then
  echo "===================== ERROR : \${RES} =================="
  exit 1
fi
echo '===================== DONE =================='
EOT
chmod 777 ./build_all.sh

Запустите его (на место {COMPONENT} надо поставить имя компоненты из списка для сборки):

Code Block
languagebash
./build_all.sh lynx /export/home/admin du2 4{COMPONENT}

После сборки компонент Вы можете проверить их установку в отдельной новой зоне.

...