From b5b0464f378d03dbb4d19f2c8b15b5bf72ac7ad2 Mon Sep 17 00:00:00 2001 From: Jondy Zhao <jondy.zhao@gmail.com> Date: Thu, 4 Jul 2013 13:37:46 +0800 Subject: [PATCH] Reserve the mode value of installed files --- windows/scripts/post-install.sh | 9 +++ windows/scripts/pre-uninstall.sh | 1 + windows/scripts/slapos-all-in-one.iss | 67 +++++++++++----------- windows/scripts/slapos-configure.sh | 80 ++++++++++++++------------- windows/scripts/slapos-include.sh | 29 +++++----- windows/scripts/slapos-node.sh | 5 +- windows/scripts/slapos.iss | 58 +++++++++---------- 7 files changed, 130 insertions(+), 119 deletions(-) diff --git a/windows/scripts/post-install.sh b/windows/scripts/post-install.sh index ab227b3..cf9bdb4 100755 --- a/windows/scripts/post-install.sh +++ b/windows/scripts/post-install.sh @@ -109,6 +109,15 @@ done # Backup slap-runner.html cp /etc/slapos/scripts/slap-runner.html{,.orig} +# Unzip slapos.tar.gz +if [[ -r /opt/downloads/slapos.tar.gz ]] ; then + echo Extracting slapos.tar.gz + cd /opt + tar xzf /opt/downloads/slapos.tar.gz --no-same-owner || + show_error_exit "Failed to untar slapos.tar.gz" + echo Extracte slapos.tar.gz OK. +fi + echo Run post-install script successfully. read -n 1 -t 60 -p "Press any key to exit..." exit 0 diff --git a/windows/scripts/pre-uninstall.sh b/windows/scripts/pre-uninstall.sh index 730a22d..a3a544d 100755 --- a/windows/scripts/pre-uninstall.sh +++ b/windows/scripts/pre-uninstall.sh @@ -15,6 +15,7 @@ # # * Remove instance root /srv/slapgrid # +export PATH=/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:$PATH # # Remove virtual netcard installed by re6stnet diff --git a/windows/scripts/slapos-all-in-one.iss b/windows/scripts/slapos-all-in-one.iss index 41354db..9106f7f 100755 --- a/windows/scripts/slapos-all-in-one.iss +++ b/windows/scripts/slapos-all-in-one.iss @@ -14,6 +14,7 @@ Uninstallable=yes [Dirs] Name: "{app}\cygwin" Name: "{app}\cygwin\opt\slapos" +Name: "{app}\cygwin\opt\downloads" Name: "{app}\cygwin\usr\local\bin" Name: "{app}\cygwin\etc\slapos\driver" Name: "{app}\cygwin\etc\slapos\scripts" @@ -21,19 +22,14 @@ Name: "{app}\cygwin\etc\slapos\images" [Files] Source: "cygwin-packages\*"; DestDir: "{app}\cygwin-packages"; Flags: recursesubdirs; -Source: "opt\slapos\*"; DestDir: "{app}\cygwin\opt\slapos"; Flags: recursesubdirs; -Source: "opt\git\slapos.core\slapos.cfg.example"; DestDir: "{app}\cygwin\etc\slapos"; -Source: "opt\git\slapos.core\slapos-client.cfg.example"; DestDir: "{app}\cygwin\etc\slapos"; -Source: "opt\downloads\pyOpenSSL-0.13.tar.gz"; DestDir: "{app}\cygwin"; DestName: "pyOpenSSL.tar.gz"; -Source: "opt\git\re6stnet\dist\re6stnet-0.1.tar.gz"; DestDir: "{app}\cygwin"; DestName: "re6stnet.tar.gz"; -Source: "opt\downloads\miniupnpc-1.8.tar.gz"; DestDir: "{app}\cygwin"; DestName: "miniupnpc.tar.gz"; +Source: "opt\slapos\slapos.tar.gz"; DestDir: "{app}\cygwin\opt\downloads"; +Source: "opt\downloads\pyOpenSSL-0.13.tar.gz"; DestDir: "{app}\cygwin\opt\downloads"; DestName: "pyOpenSSL.tar.gz"; +Source: "opt\git\re6stnet\dist\re6stnet-0.1.tar.gz"; DestDir: "{app}\cygwin\opt\downloads"; DestName: "re6stnet.tar.gz"; +Source: "opt\downloads\miniupnpc-1.8.tar.gz"; DestDir: "{app}\cygwin\opt\downloads"; DestName: "miniupnpc.tar.gz"; Source: "opt\patches\slapos-core-format.patch"; DestDir: "{app}\cygwin\etc\slapos\patches"; Source: "opt\patches\slapos-cookbook-inotifyx.patch"; DestDir: "{app}\cygwin\etc\slapos\patches"; -Source: "setup.exe"; DestDir: "{app}"; -Source: "opt\git\slapos.package\windows\scripts\setup-cygwin.bat"; DestDir: "{app}"; - Source: "opt\images\slapos.ico"; DestDir: "{app}\cygwin\etc\slapos\images"; Source: "opt\images\terminal.ico"; DestDir: "{app}\cygwin\etc\slapos\images"; DestName: "terminal.ico"; Source: "opt\images\configure.ico"; DestDir: "{app}\cygwin\etc\slapos\images"; @@ -44,33 +40,32 @@ Source: "opt\images\manager.ico"; DestDir: "{app}\cygwin\etc\slapos\images"; Source: "setup.exe"; DestDir: "{app}"; Source: "opt\git\slapos.package\windows\scripts\setup-cygwin.bat"; DestDir: "{app}"; -Source: "opt\git\slapos.package\windows\scripts\ip"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\useradd"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\usermod"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\groupadd"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\brctl"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\tunctl"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\cyg_wscript"; DestDir: "{app}\cygwin\usr\local\bin"; - -Source: "opt\git\slapos.package\windows\babeld\babeld.exe"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\openvpn\src\openvpn\.libs\openvpn.exe"; DestDir: "{app}\cygwin\bin"; - -Source: "opt\openvpn\bin\*.exe"; DestDir: "{app}\cygwin\bin"; -Source: "opt\openvpn\bin\*.dll"; DestDir: "{app}\cygwin\bin"; -Source: "opt\openvpn\bin\addtap.bat"; DestDir: "{app}\cygwin\bin"; -Source: "opt\openvpn\bin\deltapall.bat"; DestDir: "{app}\cygwin\bin"; -Source: "opt\openvpn\driver\*"; DestDir: "{app}\cygwin\etc\slapos\driver"; - -Source: "opt\git\slapos.package\windows\scripts\slapos-include.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\slapos-node.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\post-install.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\build-slapos.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\slapos-configure.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\slap-runner.html"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\pre-uninstall.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; - -Source: "opt\git\slapos.package\windows\docs\using-slapos-in-windows.html"; DestDir: "{app}"; DestName: "user-guide.html"; -Source: "opt\git\slapos.package\windows\docs\README.cygwin"; DestDir: "{app}"; DestName: "readme.txt"; +Source: "opt\git\slapos.package\windows\scripts\ip"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\useradd"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\usermod"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\groupadd"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\brctl"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\tunctl"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\cyg_wscript"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; + +Source: "opt\git\slapos.package\windows\babeld\babeld.exe"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; + +Source: "opt\openvpn\bin\*.exe"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\openvpn\bin\*.dll"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\openvpn\bin\addtap.bat"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\openvpn\bin\deltapall.bat"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\openvpn\driver\*"; DestDir: "{app}\cygwin\etc\slapos\driver"; Permissions: everyone-readexec; + +Source: "opt\git\slapos.package\windows\scripts\slapos-include.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\slapos-node.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\post-install.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\build-slapos.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\slapos-configure.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\slap-runner.html"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\pre-uninstall.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; + +Source: "opt\git\slapos.package\windows\docs\using-slapos-in-windows.html"; DestDir: "{app}"; DestName: "user-guide.html"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\docs\README.cygwin"; DestDir: "{app}"; DestName: "readme.txt"; Permissions: everyone-readexec; [Icons] Name: "{commondesktop}\SlapOS"; Filename: "https://www.slapos.org/"; IconFilename: "{app}\cygwin\etc\slapos\images\slapos.ico"; diff --git a/windows/scripts/slapos-configure.sh b/windows/scripts/slapos-configure.sh index 8c7f9a1..4f1fda2 100755 --- a/windows/scripts/slapos-configure.sh +++ b/windows/scripts/slapos-configure.sh @@ -44,8 +44,9 @@ # startup Run slapos-configure.sh on windows startup # runner Install web runner for this node # -source $0/../slapos-include.sh -check_administrator_right +export PATH=/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:$PATH +source $(dirname $0)/slapos-include.sh +check_administrator_right || show_error_exit if [[ ! ":$PATH" == :/opt/slapos/bin: ]] ; then for profile in ~/.bash_profile ~/.profile ; do @@ -74,26 +75,24 @@ mkdir -p /etc/re6stnet echo echo Starting configure cygwin services ... echo -cygrunsrv --query cygserver > /dev/null 2>&1 -if (( $? )) ; then +if ! cygrunsrv --query cygserver > /dev/null 2>&1 ; then echo Run cygserver-config ... /usr/bin/cygserver-config --yes || \ show_error_exit "Failed to run cygserver-config" else echo The cygserver service has been installed. fi -check_service_state cygserver +check_cygwin_service cygserver -echo Checking syslog-ng service ... -cygrunsrv --query syslog-ng > /dev/null 2>&1 -if (( $? )) ; then +if ! cygrunsrv --query syslog-ng > /dev/null 2>&1 ; then echo Run syslog-ng-config ... /usr/bin/syslog-ng-config --yes || \ show_error_exit "Failed to run syslog-ng-config" else echo The syslog-ng service has been installed. fi -check_service_state syslog-ng +check_cygwin_service syslog-ng + echo echo Configure cygwin services OK. echo @@ -119,9 +118,6 @@ if [[ ! " $original_connections " == *[\ ]$slapos_ifname[\ ]* ]] ; then fi #ip -4 addr add $ipv4_local_network dev $slapos_ifname # reset_connection $slapos_ifname -echo " Slapos ipv4_local_network is $ipv4_local_network" -echo " If it confilcts with your local network, change it in the file:" -echo " $(dirname $0)/slapos-include.sh" echo echo Configure slapos network OK. echo @@ -177,13 +173,13 @@ fi openssl rsa -noout -in $node_key_file -check || \ show_error_exit "Invalid node key: $node_key_file." -if [[ ! -f $node_config_file ]] ; then - echo "Copy computer configure file from $node_template_file to $node_config_file" - cp $node_template_file $node_config_file +if [[ ! -f $node_configure_file ]] ; then + echo "Copy computer configure file from $node_template_file to $node_configure_file" + cp $node_template_file $node_configure_file fi [[ -z $interface_guid ]] && \ - interface_guid=$(sed -n -e "s/^\\sinterface_name\\s*=\\s*//p" $node_config_file) + interface_guid=$(sed -n -e "s/^\\sinterface_name\\s*=\\s*//p" $node_configure_file) [[ -z $interface_guid ]] && \ interface_guid=$(connection2guid $slapos_ifname) [[ -z $interface_guid ]] && \ @@ -199,19 +195,25 @@ echo " interface name: $slapos_ifname" echo " GUID: $interface_guid" echo " ipv4_local_network: $ipv4_local_network" echo " computer_id: $computer_guid" +echo +echo " If ipv4_local_network confilcts with your local network, change it" +echo " in the file: $node_configure_file " +echo " Or change it in the $(dirname $0)/slapos-include.sh" +echo " and run Configure SlapOS again." + sed -i -e "s%^\\s*interface_name.*$%interface_name = $interface_guid%" \ -e "s%^#\?\\s*ipv6_interface.*$%# ipv6_interface =%g" \ -e "s%^ipv4_local_network.*$%ipv4_local_network = $ipv4_local_network%" \ -e "s%^computer_id.*$%computer_id = $computer_guid%" \ - $node_config_file + $node_configure_file if [[ ! -f $client_certificate_file ]] ; then read -p "Where is client certificate file (/certificate): " filename - [[ -z $filename ]] && certificate_file="/certificate" + [[ -z $filename ]] && filename="/certificate" [[ ! -f "$filename" ]] && \ show_error_exit "Client certificate file $filename doesn't exists." echo "Copy client certificate from $filename to $client_certificate_file" - certificate_file=$(cygpath -u $filename) + filename=$(cygpath -u $filename) cp $filename $client_certificate_file fi openssl x509 -noout -in $client_certificate_file || \ @@ -219,19 +221,19 @@ openssl x509 -noout -in $client_certificate_file || \ if [[ ! -f $client_key_file ]] ; then read -p "Where is client key file (/key): " filename - [[ -z $filename ]] && key_file="/key" + [[ -z $filename ]] && filename="/key" [[ ! -f "$filename" ]] && \ show_error_exit "Key file $filename doesn't exists." echo "Copy client key from $filename to $client_key_file" - key_file=$(cygpath -u $filename) + filename=$(cygpath -u $filename) cp $filename $client_key_file fi openssl rsa -noout -in $client_key_file -check || \ show_error_exit "Invalid client key: $client_key_file." if [[ ! -f $client_configure_file ]] ; then - echo "Copy client configure file from $client_template_file to $client_config_file" - cp $client_template_file $client_config_file + echo "Copy client configure file from $client_template_file to $client_configure_file" + cp $client_template_file $client_configure_file fi echo "Client configuration information:" @@ -253,10 +255,11 @@ echo echo Checking miniupnpc ... if [[ ! -d /opt/miniupnpc ]] ; then - [[ -f /miniupnpc.tar.gz ]] || show_error_exit "No package found: /miniupnpc.tar.gz" + package=/opt/downloads/miniupnpc.tar.gz + [[ -r $package ]] || show_error_exit "No package found: $package" echo "Installing miniupnpc ..." cd /opt - tar xzf /miniupnpc.tar.gz --no-same-owner + tar xzf $package --no-same-owner mv $(ls -d miniupnpc-*) miniupnpc cd miniupnpc make @@ -268,10 +271,11 @@ fi echo Checking pyOpenSSL ... if [[ ! -d /opt/pyOpenSSL ]] ; then - [[ -f /pyOpenSSL.tar.gz ]] || show_error_exit "No package found: /pyOpenSSL.tar.gz" + package=/opt/downloads/pyOpenSSL.tar.gz + [[ -r $package ]] || show_error_exit "No package found: $package" echo "Installing pyOpenSSL ..." cd /opt - tar xzf /pyOpenSSL.tar.gz --no-same-owner + tar xzf $package --no-same-owner mv $(ls -d pyOpenSSL-*) pyOpenSSL cd pyOpenSSL python setup.py install || show_error_exit "Failed ot install pyOpenSSL." @@ -283,13 +287,15 @@ fi echo Checking re6stnet ... if [[ ! -d /opt/re6stnet ]] ; then echo "Installing re6stnet ..." + package=/opt/downloads/re6stnet.tar.gz cd /opt - if [[ -f /re6stnet.tar.gz ]] ; then - tar xzf /re6stnet.tar.gz --no-same-owner + if [[ -r $package ]] ; then + tar xzf $package --no-same-owner mv $(ls -d re6stnet-*) re6stnet else echo "Clone re6stnet from http://git.erp5.org/repos/re6stnet.git" - git clone -b cygwin http://git.erp5.org/repos/re6stnet.git + git clone -b cygwin http://git.erp5.org/repos/re6stnet.git || + show_error_exit "Failed to clone re6stnet.git" fi cd re6stnet python setup.py install || show_error_exit "Failed to install re6stnet." @@ -326,11 +332,11 @@ fi # Run re6stnet if no native ipv6 if check_re6stnet_needed ; then check_re6stnet_configure || exit 1 - if [[ ! -r ${re6stnet_cgywin_script} ]] ; then - cat <<EOF > /${re6stnet_cgywin_script} + if [[ ! -r $re6stnet_cygwin_script ]] ; then + cat <<EOF > $re6stnet_cygwin_script $(cygpath -w /bin/bash.exe) --login -c 'python %*' EOF - chmod +x ${re6stnet_cgywin_script} + chmod +x $re6stnet_cygwin_script fi if ! cygrunsrv --query $re6stnet_service_name >/dev/null 2>&1 ; then @@ -338,8 +344,8 @@ EOF -p $(which re6stnet) -a "@re6stnet.conf" -d "CYGWIN re6stnet" || \ show_error_exit "Failed to install cygwin service $re6stnet_service_name." fi - check_cygwin_service $re6stnet_service_name || exit 1 echo "You can check log files in the /var/log/re6stnet/*.log" + # check_cygwin_service $re6stnet_service_name || exit 1 else echo "Native IPv6 found, no re6stnet required." fi @@ -394,7 +400,7 @@ echo Starting configure section runner ... echo slaprunner_title="SlapOS-Node-Runner-In-$computer_guid" feature_code="#-*- SlapOS Web Runner JavaScript Boot Code -*-#" -if ! grep -q -F "$feature_code" $slapos_runner_file ; then +if ! grep -q -F "$feature_code" $slaprunner_startup_file ; then echo Installing SlapOS Web Runner ... if [[ -r $re6stnet_configure_file ]] ; then @@ -446,7 +452,7 @@ if ! grep -q -F "$feature_code" $slapos_runner_file ; then [[ -z $slaprunner_url ]] && \ show_error_exit "Failed to create instance of SlapOS Web Runner." - cat <<EOF > $slapos_runner_file + cat <<EOF > $slaprunner_startup_file <html> <head><title>SlapOS Web Runner</title> <script LANGUAGE="JavaScript"> @@ -461,7 +467,7 @@ function openwin() { <!-- $feature_code --> </html> EOF - echo SlapOS Web Runner boot file $slapos_runner_file generated. + echo SlapOS Web Runner boot file $slaprunner_startup_file generated. echo echo Install Web Runner OK. diff --git a/windows/scripts/slapos-include.sh b/windows/scripts/slapos-include.sh index 62be4cd..6af9f0f 100755 --- a/windows/scripts/slapos-include.sh +++ b/windows/scripts/slapos-include.sh @@ -1,6 +1,4 @@ #! /bin/bash -# -export PATH=/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:$PATH # ====================================================================== # Constants @@ -13,7 +11,7 @@ client_template_file=/etc/slapos/slapos-client.cfg.example node_certificate_file=/etc/opt/slapos/ssl/computer.crt node_key_file=/etc/opt/slapos/ssl/computer.key -node_config_file=/etc/opt/slapos/slapos.cfg +node_configure_file=/etc/opt/slapos/slapos.cfg node_template_file=/etc/slapos/slapos.cfg.example slapos_ifname=re6stnet-lo @@ -82,13 +80,13 @@ function check_administrator_right() { get_system_and_admins_ids || exit 1 groups=" $(id -G) " - if [[ ! $groups == *\ $ADMINGUID\ * ]] ; then + if [[ ! $groups == *\ $ADMINSGID\ * ]] ; then echo echo "You haven't right to run this script $0. " echo "Please login as Administrator to run it, or right-click this script and" echo "then click Run as administrator." echo - exit 1 + return 1 fi } # === check_administrator_right() === # @@ -104,20 +102,20 @@ function check_cygwin_service() echo Checking cygwin service $name ... - if [ ! -e /usr/bin/cygrunsrv.exe ]; then + if [[ ! -e /usr/bin/cygrunsrv.exe ]] ; then echo "Error: Download the cygrunsrv package to start the $name daemon as a service." exit 1 fi - if [[ ! cygrunsrv --query $name > /dev/null 2>&1 ]] ; then + if ! cygrunsrv --query $name > /dev/null 2>&1 ; then echo "Error: No cygwin service $name installed, please run Configure SlapOS to install it." return 1 fi - account="$(cygrunsrv -VQ $name | sed -n -e 's/^Account[ :]*//p')" + account=$(cygrunsrv -VQ $name | sed -n -e 's/^Account[ :]*//p') state=$(cygrunsrv --query $name | sed -n -e 's/^Current State[ :]*//p') [[ "$state" == "Running" ]] || cygrunsrv --start $name state=$(cygrunsrv --query $name | sed -n -e 's/^Current State[ :]*//p') - cygrunsrv --query --verbose $name + cygrunsrv --query $name --verbose echo Check cygwin service $name OVER. [[ "$state" == "Running" ]] || ret=1 return "${ret}" @@ -189,8 +187,8 @@ function check_cron_configure() function check_re6stnet_configure() { echo Checking slapos re6stnet confiure ... - ! which re6stnet > /dev/null 2>&1 && \ - echo "No re6stnet installed, please run Configure SlapOS first." && \ + ! which re6stnet > /dev/null 2>&1 && + echo "No re6stnet installed, please run Configure SlapOS first." && return 1 echo Check slapos re6stnet configure Over. @@ -204,8 +202,11 @@ function check_re6stnet_needed() { # This doesn't work in the cygwin now, need hack ip script # re6st-conf --registry http://re6stnet.nexedi.com/ --is-needed - netsh interface ipv6 show route | grep -q " ::/0 " - return ! $? + if netsh interface ipv6 show route | grep -q " ::/0 " ; then + return 1 + fi + # re6stnet is required + return 0 } # === check_re6stnet_needed() === # # ====================================================================== @@ -367,6 +368,7 @@ alias = netdrive_reporter http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/heads/cygwin-0:/software/netdrive-reporter/software.cfg demoapp http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/heads/cygwin-0:/software/demoapp/software.cfg EOF + echo $client_template_file has been generated. cat <<EOF > $node_template_file [slapos] @@ -544,4 +546,5 @@ upload-to-binary-cache-url-blacklist = http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/heads / EOF + echo $node_template_file has been generated. } # === create_template_configure_file() === # diff --git a/windows/scripts/slapos-node.sh b/windows/scripts/slapos-node.sh index 3c0fc18..72bed38 100755 --- a/windows/scripts/slapos-node.sh +++ b/windows/scripts/slapos-node.sh @@ -1,6 +1,7 @@ #! /bin/bash -source $0/../slapos-include.sh -check_administrator_right +export PATH=/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin:$PATH +source $(dirname $0)/slapos-include.sh +check_administrator_right || show_error_exit # ----------------------------------------------------------- # Check all the configure files diff --git a/windows/scripts/slapos.iss b/windows/scripts/slapos.iss index 7392b1d..61f1c7c 100755 --- a/windows/scripts/slapos.iss +++ b/windows/scripts/slapos.iss @@ -25,9 +25,6 @@ Name: "{app}\cygwin\etc\slapos\images" Source: "opt\patches\slapos-core-format.patch"; DestDir: "{app}\cygwin\etc\slapos\patches"; Source: "opt\patches\slapos-cookbook-inotifyx.patch"; DestDir: "{app}\cygwin\etc\slapos\patches"; -Source: "setup.exe"; DestDir: "{app}"; -Source: "opt\git\slapos.package\windows\scripts\setup-cygwin.bat"; DestDir: "{app}"; - Source: "opt\images\slapos.ico"; DestDir: "{app}\cygwin\etc\slapos\images"; Source: "opt\images\terminal.ico"; DestDir: "{app}\cygwin\etc\slapos\images"; DestName: "terminal.ico"; Source: "opt\images\configure.ico"; DestDir: "{app}\cygwin\etc\slapos\images"; @@ -38,33 +35,32 @@ Source: "opt\images\manager.ico"; DestDir: "{app}\cygwin\etc\slapos\images"; Source: "setup.exe"; DestDir: "{app}"; Source: "opt\git\slapos.package\windows\scripts\setup-cygwin.bat"; DestDir: "{app}"; -Source: "opt\git\slapos.package\windows\scripts\ip"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\useradd"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\usermod"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\groupadd"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\brctl"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\tunctl"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\scripts\cyg_wscript"; DestDir: "{app}\cygwin\usr\local\bin"; - -Source: "opt\git\slapos.package\windows\babeld\babeld.exe"; DestDir: "{app}\cygwin\bin"; -Source: "opt\git\slapos.package\windows\openvpn\src\openvpn\.libs\openvpn.exe"; DestDir: "{app}\cygwin\bin"; - -Source: "opt\openvpn\bin\*.exe"; DestDir: "{app}\cygwin\bin"; -Source: "opt\openvpn\bin\*.dll"; DestDir: "{app}\cygwin\bin"; -Source: "opt\openvpn\bin\addtap.bat"; DestDir: "{app}\cygwin\bin"; -Source: "opt\openvpn\bin\deltapall.bat"; DestDir: "{app}\cygwin\bin"; -Source: "opt\openvpn\driver\*"; DestDir: "{app}\cygwin\etc\slapos\driver"; - -Source: "opt\git\slapos.package\windows\scripts\slapos-include.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\slapos-node.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\post-install.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\build-slapos.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\slapos-configure.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\slap-runner.html"; DestDir: "{app}\cygwin\etc\slapos\scripts"; -Source: "opt\git\slapos.package\windows\scripts\pre-uninstall.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; - -Source: "opt\git\slapos.package\windows\docs\using-slapos-in-windows.html"; DestDir: "{app}"; DestName: "user-guide.html"; -Source: "opt\git\slapos.package\windows\docs\README.cygwin"; DestDir: "{app}"; DestName: "readme.txt"; +Source: "opt\git\slapos.package\windows\scripts\ip"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\useradd"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\usermod"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\groupadd"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\brctl"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\tunctl"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\cyg_wscript"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; + +Source: "opt\git\slapos.package\windows\babeld\babeld.exe"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; + +Source: "opt\openvpn\bin\*.exe"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\openvpn\bin\*.dll"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\openvpn\bin\addtap.bat"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\openvpn\bin\deltapall.bat"; DestDir: "{app}\cygwin\bin"; Permissions: everyone-readexec; +Source: "opt\openvpn\driver\*"; DestDir: "{app}\cygwin\etc\slapos\driver"; Permissions: everyone-readexec; + +Source: "opt\git\slapos.package\windows\scripts\slapos-include.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\slapos-node.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\post-install.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\build-slapos.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\slapos-configure.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\slap-runner.html"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\scripts\pre-uninstall.sh"; DestDir: "{app}\cygwin\etc\slapos\scripts"; Permissions: everyone-readexec; + +Source: "opt\git\slapos.package\windows\docs\using-slapos-in-windows.html"; DestDir: "{app}"; DestName: "user-guide.html"; Permissions: everyone-readexec; +Source: "opt\git\slapos.package\windows\docs\README.cygwin"; DestDir: "{app}"; DestName: "readme.txt"; Permissions: everyone-readexec; [Icons] Name: "{commondesktop}\SlapOS"; Filename: "https://www.slapos.org/"; IconFilename: "{app}\cygwin\etc\slapos\images\slapos.ico"; @@ -80,7 +76,7 @@ Name: "{group}\User Guide"; Filename: "{app}\user-guide.html"; Filename: "{app}\setup-cygwin.bat"; Parameters: """{app}"" network"; StatusMsg: "Installing Cygwin..."; Flags: runhidden; Filename: "{app}\cygwin\bin\bash.exe"; Parameters: "--login -i /etc/slapos/scripts/post-install.sh"; WorkingDir: "{app}\cygwin\bin"; Description: "Configure Cygwin"; StatusMsg: "Configure Cygwin..."; Flags: skipifdoesntexist; Filename: "{app}\cygwin\bin\bash.exe"; Parameters: "--login -i /etc/slapos/scripts/build-slapos.sh"; WorkingDir: "{app}\cygwin\bin"; Description: "Builout process"; StatusMsg: "Building SlapOS..."; Flags: skipifdoesntexist; -Filename: "{app}\cygwin\autorebase.bat"; WorkingDir: "{app}\cygwin"; Flags: skipifdoesntexist; +Filename: "{app}\cygwin\autorebase.bat"; WorkingDir: "{app}\cygwin"; Flags: skipifdoesntexist runhidden; [UninstallRun] Filename: "{app}\cygwin\bin\bash.exe"; Parameters: "--login -i /etc/slapos/scripts/pre-uninstall.sh"; WorkingDir: "{app}\cygwin\bin"; Flags: skipifdoesntexist; -- 2.30.9