diff options
Diffstat (limited to 'pkg')
| -rwxr-xr-x | pkg/linux/resolv-update | 6 | ||||
| -rw-r--r-- | pkg/requirements.pip | 5 | ||||
| -rwxr-xr-x | pkg/scripts/bootstrap_develop.sh | 27 | ||||
| -rwxr-xr-x | pkg/scripts/check_code.sh | 33 | ||||
| -rwxr-xr-x | pkg/scripts/monitor_resource.zsh | 26 | ||||
| -rwxr-xr-x | pkg/scripts/stats.sh | 34 | 
6 files changed, 111 insertions, 20 deletions
| diff --git a/pkg/linux/resolv-update b/pkg/linux/resolv-update index 601d3bd2..c308b788 100755 --- a/pkg/linux/resolv-update +++ b/pkg/linux/resolv-update @@ -70,7 +70,7 @@ SETVAR            R="${R}nameserver $NS  "    done -  mv /etc/resolv.conf /etc/resolv.conf.bak +  cp /etc/resolv.conf /etc/resolv.conf.bak    echo "$comment  $custom_head  $R @@ -79,8 +79,8 @@ $custom_tail" > /etc/resolv.conf  function down() {    if [ -f /etc/resolv.conf.bak ] ; then -    unlink /etc/resolv.conf -    mv /etc/resolv.conf.bak /etc/resolv.conf +    cat /etc/resolv.conf.bak > /etc/resolv.conf +    rm /etc/resolv.conf.bak    fi  } diff --git a/pkg/requirements.pip b/pkg/requirements.pip index 04cd33de..be4ea858 100644 --- a/pkg/requirements.pip +++ b/pkg/requirements.pip @@ -10,10 +10,9 @@ requests>=1.1.0  srp>=1.0.2  pyopenssl  python-dateutil -psutil +psutil==1.2.1  ipaddr  twisted -qt4reactor  python-daemon # this should not be needed for Windows.  keyring  zope.proxy @@ -21,7 +20,7 @@ zope.proxy  leap.common>=0.3.4  leap.soledad.client>=0.4.2  leap.keymanager>=0.3.6 -leap.mail>=0.3.7 +leap.mail>=0.3.9  # Remove this when u1db fixes its dependency on oauth  oauth diff --git a/pkg/scripts/bootstrap_develop.sh b/pkg/scripts/bootstrap_develop.sh index 07063a81..7027a908 100755 --- a/pkg/scripts/bootstrap_develop.sh +++ b/pkg/scripts/bootstrap_develop.sh @@ -17,6 +17,7 @@  # along with this program.  If not, see <http://www.gnu.org/licenses/>.  ######################################################################  set -e  # Exit immediately if a command exits with a non-zero status. +  REPOSITORIES="bitmask_client leap_pycommon soledad keymanager leap_mail"  PACKAGES="leap_pycommon keymanager soledad/common soledad/client soledad/server leap_mail bitmask_client"  REPOS_ROOT=`pwd`  # Root path for all the needed repositories @@ -40,20 +41,16 @@ clone_repos() {      if [[ "$1" == "ro" ]]; then          # read-only remotes: -        git clone https://leap.se/git/bitmask_client -        git clone https://leap.se/git/leap_pycommon -        git clone https://leap.se/git/soledad -        git clone https://leap.se/git/keymanager -        git clone https://leap.se/git/leap_mail +        src="https://leap.se/git"      else          # read-write remotes: -        git clone ssh://gitolite@leap.se/bitmask_client -        git clone ssh://gitolite@leap.se/leap_pycommon -        git clone ssh://gitolite@leap.se/soledad -        git clone ssh://gitolite@leap.se/keymanager -        git clone ssh://gitolite@leap.se/leap_mail +        src="ssh://gitolite@leap.se"      fi +    for repo in $REPOSITORIES; do +        [ ! -d $repo ] && git clone $src/$repo +    done +      set +x      echo "${cc_green}Status: $status done!${cc_normal}"  } @@ -115,7 +112,7 @@ setup_develop() {      # do a setup develop in every package      for package in $PACKAGES; do          cd $REPOS_ROOT/$package -        python setup.py develop +        python setup.py develop --always-unzip      done      # hack to solve gnupg version problem @@ -163,10 +160,12 @@ update() {  }  run() { +    shift  # remove 'run' from arg list +    passthrough_args=$@      echo "${cc_green}Status: running client...${cc_normal}"      source bitmask.venv/bin/activate      set -x -    python bitmask_client/src/leap/bitmask/app.py -d $* +    python bitmask_client/src/leap/bitmask/app.py -d $passthrough_args      set +x  } @@ -175,7 +174,7 @@ help() {      echo "Bootstraps the environment to start developing the bitmask client"      echo "with all the needed repositories and dependencies."      echo -    echo "Usage: $0 {init | update | help}" +    echo "Usage: $0 {init | update | run | help}"      echo      echo "   init : Initialize repositories, create virtualenv and \`python setup.py develop\` all."      echo "          You can use \`init ro\` in order to use the https remotes if you don't have rw access." @@ -193,7 +192,7 @@ case "$1" in          update          ;;      run) -        run +        run "$@"          ;;      *)          help diff --git a/pkg/scripts/check_code.sh b/pkg/scripts/check_code.sh new file mode 100755 index 00000000..7bbd91f6 --- /dev/null +++ b/pkg/scripts/check_code.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# Escape code +esc=`echo -en "\033"` + +# Set colors +cc_green="${esc}[0;32m" +cc_red="${esc}[0;31m" +cc_normal=`echo -en "${esc}[m\017"` + + +[[ -z "$1" ]] && WHERE='src/leap/bitmask' || WHERE=$1 + +PEP8="pep8 --ignore=E202,W602 --exclude=*_rc.py,ui_*,_version.py $WHERE" +echo "${cc_green}$PEP8${cc_normal}" +$PEP8 + +echo +FLAKE8="flake8 --ignore=E202,W602 --exclude=*_rc.py,ui_*,_version.py $WHERE" +echo "${cc_green}$FLAKE8${cc_normal}" +$FLAKE8 + +echo +echo "${cc_green}Looking for 'print's, no prints in code, use logging/twisted.log.${cc_normal}" +echo `git grep -n "print " | wc -l` 'coincidences.' + +echo +echo "${cc_green}Grepping for 'pdb' code left behind.${cc_normal}" +git grep -n "pdb" + +echo +echo "${cc_green}Grepping for 'XXX|TODO|FIXME|NOTE|HACK'.${cc_normal}" +echo `git grep -E "XXX|TODO|FIXME|NOTE|HACK" | wc -l` 'coincidences.' diff --git a/pkg/scripts/monitor_resource.zsh b/pkg/scripts/monitor_resource.zsh new file mode 100755 index 00000000..ac468e34 --- /dev/null +++ b/pkg/scripts/monitor_resource.zsh @@ -0,0 +1,26 @@ +#!/bin/zsh +if (( ! $# )); then +    echo "Usage: $0:t <PID> <minutes to monitor>" >&2 +    return 1; +fi + +OUT="$1-usage.data" +GRAPH="bitmask-resources.png" +MAX=150 +let "ticks=$2*60/3" +echo "cpu mem" >> $OUT +for i in {1..$ticks}; do; +    cpu=$(ps -p $1 -o pcpu | grep -v %) +    mem=$(ps wuh -p $1 | awk '{print $4}') +    echo "$cpu $mem" >> $OUT; +    sleep 3; +    echo $i / $ticks; +done; + +gnuplot -e "set term dumb; \ +set key outside; set yrange [0:$MAX]; \ +plot for [col=1:2] '$OUT' using 0:col title columnheader s c" + +gnuplot -e "set term png; set output '$GRAPH'; \ +set key outside; set yrange [0:$MAX]; \ +plot for [col=1:2] '$OUT' using 0:col with lines title columnheader" diff --git a/pkg/scripts/stats.sh b/pkg/scripts/stats.sh new file mode 100755 index 00000000..2b7a8b18 --- /dev/null +++ b/pkg/scripts/stats.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +REPOSITORIES="bitmask_client leap_pycommon soledad keymanager leap_mail" + +CHANGED=0 +INSERTIONS=0 +DELETIONS=0 +MERGES_TOTAL=0 + +echo "Changes summary between closest annotated tag to HEAD" +echo "=====================================================" +echo + +for repo in $REPOSITORIES; do +    cd $repo +    echo "Stats for: $repo" +    # the 'describe' command gives the closest annotated tag +    STATS=$(git diff --shortstat `git describe --abbrev=0`..HEAD) +    MERGES=$(git log --merges `git describe --abbrev=0`..HEAD | wc -l) +    echo "Stats:$STATS" +    echo "Merges: $MERGES" +    VALUES=(`echo $STATS | awk '{ print $1, $4, $6 }'`)  # use array to store values +    CHANGED=$(echo $CHANGED + ${VALUES[0]} | bc) +    INSERTIONS=$(echo $INSERTIONS + ${VALUES[1]} | bc) +    DELETIONS=$(echo $DELETIONS + ${VALUES[2]} | bc) +    MERGES_TOTAL=$(echo $MERGES_TOTAL + $MERGES | bc) +    echo "----------------------------------------------------------------------" +    cd .. +done + +echo +echo "TOTAL" +echo "Stats: $CHANGED files changed, $INSERTIONS insertions(+), $DELETIONS deletions(-)" +echo "Merges: $MERGES_TOTAL" | 
