__mkdir=`which mkdir`
__sed=`which sed`
__uname=`which uname`
+__chmod=`which chmod`
# git definitions
__git_clone="$__git clone -q"
EOF
}
-function clone() {
+function clone_repository() {
local repo
repo=$1
`$__git_clone $repo.git >> $__output_file 2>&1 `
return $?
}
-function pull() {
+function update_repository() {
+ local repo
+ repo=$1
+
+ if [ ! -d $repo ]; then
+ error " Trying to update invalid repository"
+ fi
+
+ cd $repo
`$__git_pull >> $__output_file 2>&1`
- return $?
+ cd - > /dev/null 2>&1
+
+ return 0
}
-function clean() {
+function clean_repository() {
+ local repo
+ repo=$1
+
+ if [ ! -d $repo ]; then
+ error " Trying to clean invalid repository"
+ fi
+
+ cd $repo
`$__git_reset >> $__output_file 2>&1`
`$__git_clean >> $__output_file 2>&1`
- return $?
+ cd - > /dev/null 2>&1
+
+ return 0
}
function build_pkg() {
- echo "build_pkg"
+ local dir
+ dir=$1
+
+ cat << EOF >> $dir/sbox_build_pkg
+#!/bin/bash
+
+cd $dir/`basename $dir`
+./autogen.sh >> $dir/sbox_build_pkg.log 2>&1
+$__sbox_dpkg_buildpackage $__build_pkg_options >> $dir/sbox_build_pkg.log 2>&1
+exit \$?
+EOF
+
+ `$__chmod 755 $dir/sbox_build_pkg`
+ `$__sbox $dir/sbox_build_pkg`
return $?
}
repo=$2
for module in $modules; do
- if [ -d $module/$module/.git ]; then
+
+ if [ ! -d $module ]; then
+ error "Directory $module does not exist."
+ fi
+
+ cd $module
+
+ if [ -d $module/.git ]; then
if [ ! $__update_repositories -eq 0 ]; then
- log_to_file "Updating existing repository at $PWD/$module/$module"
- cd $module/$module
+ log_to_file "Updating existing repository at $PWD/$module"
+
msg_begin " Updating $module repository"
- pull
+ update_repository $module
msg_end $?
- cd - > /dev/null 2>&1
else
log_to_file "Skipping update of $module repository"
fi
- elif [ -d $module/$module ]; then
- log_to_file "Removing invalid repository at $PWD/$module/$module"
- rm -rf $module/$module
+ elif [ -d $module ]; then
+ log_to_file "Removing invalid repository at $PWD/$module"
+ rm -rf $module
fi
- if [ ! -d $module/$module ]; then
- cd $module
+ if [ ! -d $module ]; then
msg_begin " Cloning $repo/$module.git"
- clone $repo/$module
+ clone_repository $repo/$module
msg_end $?
- cd - > /dev/null 2>&1
- elif [ ! -d $module ]; then
- error "Directory $module does not exist."
fi
+
+ cd ..
done
}
fi
__sbox="$__sbox_path/login"
- __sbox_sb_conf="$__sbox /scratchbox/tools/bin/sb-conf"
+ __sbox_tools_bin_path="$__sbox_path/tools/bin"
+ __sbox_sb_conf="$__sbox_tools_bin_path/sb-conf"
__sbox_maemo3_debian_bin_path="/scratchbox/devkits/maemo3-debian/bin"
- __sbox_dpkg_buildpackage="$__sbox $__sbox_maemo3_debian_bin_path/dpkg-buildpackage"
+ __sbox_dpkg_buildpackage="$__sbox_maemo3_debian_bin_path/dpkg-buildpackage"
__sbox_debian_sarge_bin_path="/scratchbox/devkits/debian-sarge/bin"
- __sbox_dch="$__sbox $__sbox_debian_sarge_bin_path/dch"
+ __sbox_dch="$__sbox_debian_sarge_bin_path/dch"
- PATH="$__orig_path:$__sbox_maemo3_debian_bin_path:$__sbox_debian_sarge_bin_path"
+ PATH="$__orig_path:$__sbox_tools_bin_path:$__sbox_maemo3_debian_bin_path:$__sbox_debian_sarge_bin_path"
}
###########################################################
# For each module
for module in `echo $__lib_modules $__python_modules $__python_etk_module|$__sed -e 's/:/ /g'`; do
msg " Building $module packages for $__distro $__arch"
- cd $module/$module
- if [ -d ./debian ]; then
+ if [ -d "./$module/$module/debian" ]; then
msg_begin " Removing existing debian directory"
- rm -rf ./debian
+ rm -rf "./$module/$module/debian"
msg_end $?
fi
- cp -r ../debian .
+ msg_begin " Copying specific debian directory"
+ if [ -d "./$module/debian_$__distro" ]; then
+ cp -r "./$module/debian_$__distro" "./$module/$module/debian"
+ elif [ -d "./$module/debian" ]; then
+ cp -r "./$module/debian" "./$module/$module/"
+ else
+ error " Missing debian directory for $module"
+ fi
+ msg_end $?
+
+ if [ -d "/tmp/$module" ]; then
+ msg_begin " Removing temporary $module"
+ rm -rf "/tmp/$module"
+ msg_end $?
+ fi
- # Build package
- `$__sbox_dpkg_buildpackage $__build_pkg_options >> $__output_file 2>&1`
+ msg_begin " Copying $module dir to /tmp"
+ cp -r $module /tmp
+ msg_end $?
+
+ msg_begin " Cleaning $module repository"
+ clean_repository $module/$module
+ msg_end $?
+
+ msg_begin " Building $module packages"
+ build_pkg /tmp/$module
+ msg_end $?
+
+ msg_begin " Copying $module packages"
+ if [ "x$__arch" != "xarm" ]; then
+ mv /tmp/$module/*.dsc /tmp/$module/*.tar.gz $__pkg_dir
+ fi
+ mv /tmp/$module/*.deb /tmp/$module/*.changes $__pkg_dir
+ msg_end $?
+
+ msg_begin " Removing temporary $module"
+ rm -rf /tmp/$module
+ msg_end $?
# Install packages
# Clean tree
- clean
+ clean_repository $module
- cd - > /dev/null 2>&1
done
done