summaryrefslogtreecommitdiff
path: root/pkg/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/scripts')
-rwxr-xr-xpkg/scripts/bootstrap_develop.sh27
-rwxr-xr-xpkg/scripts/check_code.sh33
-rwxr-xr-xpkg/scripts/monitor_resource.zsh26
-rwxr-xr-xpkg/scripts/stats.sh34
4 files changed, 106 insertions, 14 deletions
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"