3 ###########################################################
4 # Maemo-efl building script
7 ###########################################################
9 source "./scripts/helper-functions.sh"
10 source "./scripts/var-definitions.sh"
11 source "./scripts/log-functions.sh"
12 source "./scripts/repository-functions.sh"
13 source "./scripts/package-functions.sh"
14 source "./scripts/setup-functions.sh"
16 ###########################################################
18 ###########################################################
21 # Parse comand line options
22 while getopts "anchs:t:p:" opt ; do
25 __python_etk_module=""
26 __python_efl_utils_module=""
30 __python_modules_temp=""
32 __parameters=`echo $OPTARG | $__sed -e 's/:/ /g'`
33 for i in $__parameters; do
34 __i_temp=`echo $i | grep python`
35 if [ -z $__i_temp ]; then
36 __lib_modules_temp=$i:$__lib_modules_temp
38 if [ $__i_temp == "python-etk" ]; then
39 __python_etk_module="python-etk"
40 elif [ $__i_temp == "python-efl_utils" ]; then
41 __python_efl_utils_module="python-efl_utils"
43 __python_modules_temp=$i:$__python_modules_temp
47 __lib_modules=`echo $__lib_modules_temp | tr "[:upper:]" "[:lower:]"`
48 __python_modules=`echo $__python_modules_temp | tr "[:upper:]" "[:lower:]"`
51 __update_repositories=0
59 if [ "x$__sbox_path" = "x" ] || [ ! -d $__sbox_path ]; then
60 error "Invalid scratchbox path: $__sbox_path"
68 __sbox_targets_temp=`echo $OPTARG | tr "[:lower:]" "[:upper:]"`
78 ############################
80 ###########################
81 # Removing generated hash
84 # Check if we're running inside scratchbox
85 if [ -r /targets/links/scratchbox.config ]; then
86 error "You should run this script outside the scratchbox environment."
89 # Create base packages dir
90 if [ ! -d $__base_pkg_dir ]; then
91 msg_begin "Creating base packages dir $__base_pkg_dir"
92 $__mkdir -p $__base_pkg_dir
97 if [ ! -d $__tmp_dir ]; then
98 msg_begin "Creating tmp dir $__tmp_dir"
99 $__mkdir -p $__tmp_dir
103 # Create versions dir
104 if [ ! -d $__versions_dir ]; then
105 msg_begin "Creating versions dir $__versions_dir"
106 $__mkdir -p $__versions_dir
114 # Download modules under e17/libs
115 if [ ! -z $__lib_modules ];then
116 msg "Downloading e17 modules"
117 get_sources $__lib_modules $__git_repo$__e17_libs
120 # Download python modules under proto/python/efl
121 if [ ! -z $__python_modules ];then
122 msg "Downloading python modules"
123 get_sources $__python_modules $__git_repo$__e17_python_efl
126 # Download python-etk module
127 if [ ! -z $__python_etk_module ];then
128 get_sources $__python_etk_module $__git_repo$__e17_python_etk
131 # Download python-efl-utils module
132 if [ ! -z $__python_efl_utils_module ];then
133 get_sources $__python_efl_utils_module $__git_repo$__e17_python_efl_utils
136 # Download python-dispatcher module
137 #get_sources $__python_dispatcher_module $__git_repo$__e17_python_dispatcher
139 # Setup scratchbox variables
142 # Setup scratchbox targets if option -t was used
143 if [ ! -z $__sbox_targets_temp ]; then
144 __sbox_targets=`echo $__sbox_targets_temp|$__sed -e 's/:/ /g'`
147 ###########################################################
148 # ARCHITECTURE DEPENDENT MODULES
149 ###########################################################
150 # For each scratchbox target
151 for target in $__sbox_targets; do
152 msg_begin "Checking distro and arch for target $target"
156 msg " Distribution..: $__distro"
157 msg " Architecture..: $__arch"
158 msg " Build Options.: $__build_pkg_options"
160 if [ ! -d $__pkg_dir ]; then
161 msg_begin " Creating dir for $__distro $__arch packages"
162 $__mkdir -p $__pkg_dir
166 msg_begin " Changing current sbox target to $target"
167 change_sbox_target $target
171 for module in `echo $__lib_modules:$__python_modules:$__python_etk_module|$__sed -e 's/:/ /g'`; do
172 msg " Building $module packages for $__distro $__arch"
174 if [ -d ./$module/$module/debian ]; then
175 msg_begin " Removing existing debian directory"
176 rm -rf ./$module/$module/debian
180 msg_begin " Copying specific debian directory"
181 if [ -d ./$module/debian ]; then
182 cp -r ./$module/debian ./$module/$module/
184 if [ -d ./$module/debian_$__distro ]; then
185 cp -r ./$module/debian_$__distro/* ./$module/$module/debian/
188 if [ -d ./$module/debian_$__distro ]; then
189 cp -r ./$module/debian_$__distro ./$module/$module/debian
192 warn "Missing debian directory for $module. Ignoring"
198 if [ -d $__tmp_dir/$module/$module ]; then
199 msg_begin " Removing temporary $module"
200 rm -rf $__tmp_dir/$module/$module
204 msg_begin " Copying $module dir to $__tmp_dir"
205 cp -f -u -r $module $__tmp_dir
208 msg_begin " Cleaning $module repository"
209 clean_repository $module/$module
212 msg_begin " Building $module packages"
213 build_pkg $__tmp_dir/$module
216 if [ -z $__no_signing ]; then
217 msg_begin " Signing $module packages"
218 sign_pkgs $__tmp_dir/$module
222 msg_begin " Installing $module packages"
223 install_pkgs $__tmp_dir/$module
226 msg_begin " Copying $module packages"
227 if [ "x$__arch" != "xarm" ]; then
228 mv $__tmp_dir/$module/*.dsc $__tmp_dir/$module/*.tar.gz $__pkg_dir
230 mv $__tmp_dir/$module/*.deb $__tmp_dir/$module/*.changes $__pkg_dir
233 msg_begin " Removing temporary $module"
234 rm -rf $__tmp_dir/$module/$module
238 msg_begin " Uninstalling packages $__installed_packages"
244 ###########################################################
245 # ARCHITECTURE INDEPENDENT MODULES
246 ###########################################################
247 # For each scratchbox target
248 for target in $__sbox_targets; do
249 msg_begin "Checking distro and arch for target $target"
253 msg " Distribution..: $__distro"
254 msg " Architecture..: $__arch"
255 msg " Build Options.: $__build_pkg_options"
257 if [ "x$__arch" = "xarm" ]; then
258 warn "Skipping target $target for architecture independent packages"
263 __pkg_dir=`dirname $__pkg_dir`/$__arch
265 if [ ! -d $__pkg_dir ]; then
266 msg_begin " Creating dir for $__distro $__arch packages"
267 $__mkdir -p $__pkg_dir
271 msg_begin " Changing current sbox target to $target"
272 change_sbox_target $target
276 for module in $__python_efl_utils_module; do
277 msg " Building $module packages for $__distro $__arch"
279 if [ ! -d $__tmp_dir/$module ]; then
280 mkdir $__tmp_dir/$module
283 if [ -d $__tmp_dir/$module/$module ]; then
284 msg_begin " Removing temporary $module"
285 rm -rf $__tmp_dir/$module/$module
289 msg_begin " Copying specific debian directory"
290 if [ -d ./$module/debian ]; then
291 cp -r ./$module/debian ./$module/$module/
293 if [ -d ./$module/debian_$__distro ]; then
294 cp -r ./$module/debian_$__distro/* ./$module/$module/debian/
298 warn " Missing debian directory for $module. Ignoring"
303 msg_begin " Copying $module dir to $__tmp_dir"
304 cp -f -u -r $module $__tmp_dir
307 msg_begin " Cleaning $module repository"
308 clean_repository $module/$module
311 msg_begin " Building $module packages"
312 build_pkg $__tmp_dir/$module
315 if [ -z $__no_signing ]; then
316 msg_begin " Signing $module packages"
317 sign_pkgs $__tmp_dir/$module
321 msg_begin " Installing $module packages"
322 install_pkgs $__tmp_dir/$module
325 msg_begin " Copying $module packages"
326 mv $__tmp_dir/$module/*.dsc $__tmp_dir/$module/*.tar.gz $__tmp_dir/$module/*.deb $__tmp_dir/$module/*.changes $__pkg_dir
329 msg_begin " Removing temporary $module"
330 rm -rf $__tmp_dir/$module/$module
334 msg_begin " Uninstalling packages $__installed_packages"
339 ###########################################################
341 ###########################################################
342 # For each scratchbox target
343 for target in $__sbox_targets; do
344 msg_begin "Checking distro and arch for target $target"
348 msg " Distribution..: $__distro"
349 msg " Architecture..: $__arch"
350 msg " Build Options.: $__build_pkg_options"
352 if [ "x$__arch" = "xarm" ]; then
353 warn "Skipping target $target for architecture independent packages"
358 __pkg_dir=`dirname $__pkg_dir`/$__arch
360 if [ ! -d $__pkg_dir ]; then
361 msg_begin " Creating dir for $__distro $__arch packages"
362 $__mkdir -p $__pkg_dir
366 msg_begin " Changing current sbox target to $target"
367 change_sbox_target $target
371 for module in $__virtual_packages; do
372 msg " Building $module packages for $__distro $__arch"
374 if [ ! -d $__tmp_dir/$module ]; then
375 mkdir $__tmp_dir/$module
378 if [ -d $__tmp_dir/$module/$module ]; then
379 msg_begin " Removing temporary $module"
380 rm -rf $__tmp_dir/$module/$module
384 msg_begin " Copying $module dir to $__tmp_dir"
385 cp -f -u -r $module $__tmp_dir/$module
388 msg_begin " Building $module packages"
389 build_pkg $__tmp_dir/$module
392 if [ -z $__no_signing ]; then
393 msg_begin " Signing $module packages"
394 sign_pkgs $__tmp_dir/$module
398 msg_begin " Installing $module packages"
399 install_pkgs $__tmp_dir/$module
402 msg_begin " Copying $module packages"
403 mv $__tmp_dir/$module/*.dsc $__tmp_dir/$module/*.tar.gz $__tmp_dir/$module/*.deb $__tmp_dir/$module/*.changes $__pkg_dir
406 msg_begin " Removing temporary $module"
407 rm -rf $__tmp_dir/$module/$module
411 msg_begin " Uninstalling packages $__installed_packages"