Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/CeibalEncuesta/gtk2/scripts/prepare_xo_installer.sh
blob: 9dc2779c1a9ed9b5d46aa5dbbd49e41603903186 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/bin/bash

SED='sed'
# OSX gsed fallback
sed --version > /dev/null
if [ $? -ne 0 ]
    then SED='gsed'
fi
XO_INSTALLER_PATH='../CeibalEncuesta.activity'
CEIBAL_ENCUESTA_PATH='../CeibalEncuesta'
INSTALLERS_PATH='../installers'
version=$1
XO_OUTPUT=$2

if [ -z "$version" ]
then
    echo "You need enter version as first param, ex: ./prepare_xo_installer 4.2"
    exit 1
fi

cp -r $CEIBAL_ENCUESTA_PATH/* $XO_INSTALLER_PATH/
rm -rf `find ../ -type f -name '*.pyc'`
rm -rf `find ../ -type f -name '*.pyo'`

echo "YOU NEED REPLACE IN "$XO_INSTALLER_PATH"/CeibalEncuesta.py the follow:"
echo ""

function change_main_program {
    while [ `grep -R "$3" ${XO_INSTALLER_PATH}/CeibalEncuesta.py | wc -l` -ne "1" ]
    do
        echo $1"- "$2
        echo "    "$3
        echo ""

        echo "Do that and Enter to continue [ENTER]: "
        read key
    done
}


$SED -i '/# -- Build deps --/a from sugar.activity import activity' $XO_INSTALLER_PATH/CeibalEncuesta.py
LINE='from sugar.activity import activity'
MSG='ADD:'
change_main_program "1" "$MSG" "$LINE"


$SED -i 's/class CeibalEncuesta(gtk.Window):/class CeibalEncuesta(activity.Activity):/g' $XO_INSTALLER_PATH/CeibalEncuesta.py
LINE='class CeibalEncuesta(activity.Activity):'
MSG='CeibalEncuesta class need inherit from: activity.Activity like that:'
change_main_program "2" "$MSG" "$LINE"

$SED -i 's/def __init__(self):/def __init__(self, handle):/g' $XO_INSTALLER_PATH/CeibalEncuesta.py
LINE='def __init__(self, handle):'
MSG='Add handle argument into __init__ method like that:'
change_main_program "3" "$MSG" "$LINE"

$SED -i 's/gtk.Window.__init__(self)/activity.Activity.__init__(self, handle, False)/g' $XO_INSTALLER_PATH/CeibalEncuesta.py
LINE='activity.Activity.__init__(self, handle, False)'
MSG='replace gtk.Window.__init__(self) to:'
change_main_program "4" "$MSG" "$LINE"


$SED -i 's/self.add/self.set_canvas/g' $XO_INSTALLER_PATH/CeibalEncuesta.py
if [ `grep -R "self.add(" ${XO_INSTALLER_PATH}/CeibalEncuesta.py | wc -l` -ne "0" ]
    then
        echo "5 - replace each ocurence of self.add to self.set_canvas Example: self.add(box) -> self.add to self.set_canvas(box)"
        echo ""
        echo "Do that and Enter to continue [ENTER]: "
        read key
fi

while [ `grep -R "self.add(" ${XO_INSTALLER_PATH}/CeibalEncuesta.py | wc -l` -ne "0" ]
do
    echo "occurrences remain of self.add() method. You need replace for: self.set_canvas() method"
    echo ""

    echo "Do that and Enter to continue [ENTER]: "
    read key
done

echo "#!/usr/bin/env python
from sugar.activity import bundlebuilder
bundlebuilder.start()" > $XO_INSTALLER_PATH/setup.py
echo "setup.py was added to "$XO_INSTALLER_PATH" path"
echo ""


$SED -i "s/activity_version = .*/activity_version = $version/g" $XO_INSTALLER_PATH/activity/activity.info
while [ `grep -R "activity_version = $version" $XO_INSTALLER_PATH/activity/activity.info | wc -l` -ne "1" ]
do
    echo "You need edit activity_version = $version into "$XO_INSTALLER_PATH"/activity/activity.info"
    echo "VERSION is version for you new deploy. Do that and Enter to continue [ENTER]:"
    read key
done

chmod 755 $XO_INSTALLER_PATH
chmod a+x $XO_INSTALLER_PATH/CeibalEncuesta.py
chmod a+x $XO_INSTALLER_PATH/setup.py

mv $XO_INSTALLER_PATH/CeibalEncuesta.py $XO_INSTALLER_PATH/CeibalEncuestaActivity.py

rm -f $XO_OUTPUT

cd .. && zip $XO_OUTPUT `find CeibalEncuesta.activity -maxdepth 3`
echo ""
cd scripts; ls -al $XO_OUTPUT

if [ "$?" -ne "0" ]; then
    echo "Fail: doing XO installer"
    exit 1
fi

rm -rf `find $XO_INSTALLER_PATH |grep -v /activity |grep -v -w "CeibalEncuesta.activity$"`


exit 0