#!/bin/sh
-source "helper-functions.sh"
-
###########################################################
-# Variable definitions
+# Maemo-efl building script
+# Build script
###########################################################
-__this_script=`basename $0`
-__this_script_dir=`dirname $0`
-__orig_path=$PATH
-
-# Binaries
-__date=`which date`
-__git=`which git`
-__head=`which head`
-__mkdir=`which mkdir`
-__sed=`which sed`
-__uname=`which uname`
-__chmod=`which chmod`
-__grep=`which grep`
-__egrep=`which egrep`
-__debsign=`which debsign`
-
-# git definitions
-__git_clone="$__git clone -q"
-__git_pull="$__git pull -q"
-__git_clean="$__git clean -q -x -d -f"
-__git_reset="$__git reset --hard HEAD"
-__git_repo="git://staff.get-e.org/"
-
-# e17 git repositories paths
-__e17_libs="e17/libs"
-__e17_proto="e17/proto"
-__e17_python_efl="$__e17_proto/python-efl"
-__e17_python_etk="users/cmarcelo"
-__e17_python_efl_utils="users/barbieri"
-#__e17_python_dispatcher="users/ulisses"
-
-# modules to build
-#__lib_modules="edb eet evas ecore embryo edje efreet epeg epsilon emotion etk ewl e_dbus exml enhance"
-__lib_modules="eet:evas:ecore:embryo:edje:imlib2:epeg:epsilon:etk:e_dbus"
-__other_modules="himf-ecore:himf-ecore-chinook:lightmediascanner:python-lightmediascanner"
-__python_modules="python-evas:python-ecore:python-edje:python-epsilon:python-e_dbus"
-__python_etk_module="python-etk"
-__python_efl_utils_module="python-efl_utils"
-#__python_dispatcher_module="python-dispatcher"
-__virtual_packages="efl-core python-efl-core"
-
-# dpkg definitions
-__common_build_pkg_options="-rfakeroot -us -uc -D"
-
-# Packages dirs and log file
-__today=`$__date +%Y%m%d`
-__base_pkg_dir="$__this_script_dir/packages_$__today"
-__output_file="$PWD/$__base_pkg_dir/packages_$__today.log"
-
-# Scratchbox definitions
-__sbox_path="/scratchbox"
-
-# Other
-__update_repositories=1
-__installed_packages=""
+
+source "./scripts/message-functions.sh"
+source "./scripts/var-definitions.sh"
+source "./scripts/log-functions.sh"
+source "./scripts/repository-functions.sh"
+source "./scripts/package-functions.sh"
+source "./scripts/setup-functions.sh"
###########################################################
-# Function definitions
+# Begin script
###########################################################
-function usage() {
- cat << EOF
-Usage: $__this_script [OPTIONS]
-
-Build script for EFL debian packages for Maemo.
+# Parse comand line options
+usage () {
+ cat << EOF
+Usage: $__this_script [OPTIONS]
+Build script for Maemo EFL debian packages.
Options:
- -c Don't update source repositories.
- -h Show this usage guide.
- -s PATH Specify alternate scratchbox path (default: $__sbox_path).
-
-EOF
-}
-
-function create_log_file() {
- if [ ! -r $__output_file ]; then
- msg_begin "Creating log file"
- touch $__output_file
- msg_end $?
- else
- msg "Using existing log file: $__output_file"
- fi
-}
-
-function log_to_file() {
- local now
- local msg
- msg=$1
-
- if [ ! -r $__output_file ]; then
- error "log_to_file(): Log file does not exist"
- fi
-
- now=`$__date +%H:%M:%S`
- echo "$now: $msg" >> $__output_file
-}
-
-function start_log() {
- local now
- now=`$__date -R`
-
- echo "" >> $__output_file
-
- if [ $? != 0 ] ; then
- error "start_log(): Could not create $__output_file file"
- fi
-
- cat << EOF >> $__output_file
-*********************************************************
-* Started $__this_script: $now *
-*********************************************************
+ -n Don't sign packages.
+ -c Don't update source repositories.
+ -h Show this usage guide.
+ -s PATH Specify alternate scratchbox path (default: $__sbox_path).
+ -r Remove module sub-directories (not the high level debian dir)
+ and then exit.
+ -t A:B:Z Specify scratchbox building targets
+ (default: all targets installed).
+ -u svn_rev Update the latest revision number to "svn_rev" and exit. This
+ only works on revision numbers that has the svn label on
+ the version part (e.g 0.9.9.043+svn32000-maemo1) Also,
+ this option will not create a new entry on the changelog
+ file, it will only change its first line. If you want to
+ update to the latest repository revision number, just use
+ HEAD as parameter.
+ -p P1:P2:PN Specify packges to build (default: build all packages available).
EOF
}
-function finish_log() {
- local now
- now=`$__date -R`
-
- if [ ! -r $__output_file ]; then
- error "finish_log(): Log file does not exist"
- fi
-
- cat << EOF >> $__output_file
-
-* Finished $__this_script: $now
-EOF
-}
-
-function clone_repository() {
- local repo
- repo=$1
- $__git_clone $repo.git >> $__output_file 2>&1
- return $?
-}
-
-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 1
- cd - > /dev/null 2>&1
-
- return 0
-}
-
-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 || return 1
- $__git_clean >> $__output_file 2>&1 || return 1
- cd - > /dev/null 2>&1
-
- return 0
-}
-
-function configure_pkg() {
- local dir
- dir=$1
-
- cd $dir/`basename $dir`
-
- if [ -x ./autogen.sh ]; then
- NOCONFIGURE=1 ./autogen.sh >> $dir/sbox_build_pkgs.log 2>&1 || return 1
- fi
-
- cd - > /dev/null 2>&1
-
- return 0
-}
-
-function build_pkg() {
- local dir
- dir=$1
-
- configure_pkg $dir || return 1
-
- local DEB_BUILD_OPTIONS=n8x0
- if [ "x$__distro" = "xgregale" ]; then
- DEB_BUILD_OPTIONS=n770
- fi
-
- cat << EOF > $dir/sbox_build_pkgs
-#!/bin/sh
-
-export DEBFULLNAME="$DEBFULLNAME"
-export DEBEMAIL="$DEBEMAIL"
-export DEB_BUILD_OPTIONS="$DEB_BUILD_OPTIONS"
-
-cd $dir/`basename $dir`
-
-VERSION=\`$__sbox_dpkg_parsechangelog | grep Version: | cut -d" " -f2 | cut -d- -f1 >> $dir/sbox_build_pkgs.log 2>&1 || exit 1\`
-REVISION=\`$__sbox_dpkg_parsechangelog | grep Version: | cut -d- -f2 >> $dir/sbox_build_pkgs.log 2>&1 || exit 1\`
-
-# $__sbox_dch -v \$VERSION+cvs$__today-\$REVISION -D $__distro "Snapshot CVS release of $__today" >> $dir/sbox_build_pkgs.log 2>&1 || exit 1
-$__sbox_dpkg_buildpackage $__build_pkg_options >> $dir/sbox_build_pkgs.log 2>&1
-exit \$?
-EOF
-
- $__chmod 755 $dir/sbox_build_pkgs
- $__sbox $dir/sbox_build_pkgs
- return $?
-}
-
-function install_pkgs() {
- local dir
- dir=$1
-
- cat << EOF > $dir/sbox_install_pkgs
-#!/bin/sh
-
-cd $dir
-$__sbox_dpkg --install *.deb >> $dir/sbox_install_pkgs.log 2>&1
-exit \$?
-EOF
-
- $__chmod 755 $dir/sbox_install_pkgs
- $__sbox $dir/sbox_install_pkgs || return 1
-
- for package in $dir/*.deb; do
- pkg=`basename $package | cut -d_ -f1`
- echo $__installed_packages | tr " " "\n" | sort -u | $__egrep "\^$pkg\$" > /dev/null 2>&1
-
- if [ ! $? -eq 0 ]; then
- __installed_packages="$__installed_packages $pkg"
- fi
- done
-
- return 0
-}
-
-function uninstall_pkgs() {
-
- cat << EOF > /tmp/sbox_uninstall_pkgs
-#!/bin/sh
-
-cd /tmp
-$__sbox_dpkg --purge $__installed_packages >> /tmp/sbox_uninstall_pkgs.log 2>&1
-exit \$?
-EOF
-
- __installed_packages=""
- $__chmod 755 /tmp/sbox_uninstall_pkgs
- #$__sbox /tmp/sbox_uninstall_pkgs
- return $?
-}
-
-function sign_pkgs() {
- local dir
- dir=$1
-
- cd $dir
- $__debsign *.changes >> $dir/sign_pkgs.log 2>&1 || return 1
-
- cd - > /dev/null 2>&1
-
- return 0
-}
-
-function get_sources() {
- local modules
- local repo
- modules=`echo $1|$__sed -e 's/:/ /g'`
- repo=$2
-
- for module in $modules; do
-
- 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"
-
- msg_begin " Updating $module repository"
- update_repository $module
- msg_end $?
- else
- log_to_file "Skipping update of $module repository"
- fi
- elif [ -d $module ]; then
- log_to_file "Removing invalid repository at $PWD/$module"
- rm -rf $module
- fi
-
- if [ ! -d $module ]; then
- msg_begin " Cloning $repo/$module.git"
- clone_repository $repo/$module
- msg_end $?
- fi
-
- cd ..
- done
-}
-
-function setup_distro() {
- local target
- local sources_list_file
- local target_conf_file
- local ret
- target=$1
- sources_list_file=$__sbox_path/users/$USER/targets/$target/etc/apt/sources.list
- target_conf_file=$__sbox_path/users/$USER/targets/$target.config
- ret=1
-
- log_to_file "setup_distro(): Target $target"
- log_to_file "setup_distro(): sources.list file : $sources_list_file"
- log_to_file "setup_distro(): config file: $target_conf_file"
-
- if [ "x$target" != "x" ] && [ -r $sources_list_file ] && [ -r $target_conf_file ]; then
- # XXX: FIXME Figure out a better way to get the distro string
- __distro=`$__head -1 $sources_list_file | cut -d" " -f3`
- __arch=`$__grep SBOX_CPU= $target_conf_file | cut -d= -f2`
- __pkg_dir="$__base_pkg_dir/$__distro/$__arch"
- if [ "x$__arch" = "xarm" ] ; then
- __build_pkg_options="$__common_build_pkg_options -B"
- else
- __build_pkg_options="$__common_build_pkg_options -I.svn -I.git -I.gitignore -I.cvsignore -sa"
- fi
- ret=0
- fi
-
- if [ $ret -eq 0 ]; then
- log_to_file "setup_distro(): Configuration:"
- log_to_file "setup_distro(): distro...........: $__distro"
- log_to_file "setup_distro(): arch.............: $__arch"
- log_to_file "setup_distro(): build options....: $__build_pkg_options"
- log_to_file "setup_distro(): pkg_dir..........: $__pkg_dir"
- fi
-
- return $ret
-}
-
-function setup_sbox() {
- if [ ! -d $__sbox_path ]; then
- error "Invalid scratchbox path: $__sbox_path"
- fi
-
- __sbox="$__sbox_path/login"
- __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="$__sbox_maemo3_debian_bin_path/dpkg"
- __sbox_dpkg_buildpackage="$__sbox_dpkg-buildpackage"
- __sbox_dpkg_parsechangelog="$__sbox_dpkg-parsechangelog"
-
- __sbox_debian_sarge_bin_path="/scratchbox/devkits/debian-sarge/bin"
- __sbox_dch="$__sbox_debian_sarge_bin_path/dch"
-}
-
-function change_sbox_target() {
- local target
- target=$1
-
- $__sbox_sb_conf select $target >> $__output_file 2>&1
- return $?
-}
-
-###########################################################
-# Begin script
-###########################################################
-
-# Parse comand line options
-while getopts "chs:" opt ; do
+while getopts "anchre:s:t:u:p:" opt ; do
case "$opt" in
+ p)
+ __lib_modules_temp=""
+ __python_modules_temp=""
+ __python_efl_utils_module_temp=""
+ __python_dispatcher_module_temp=""
+ __virtual_packages_temp=""
+ __not_all_pkgs=1
+ __parameters=`echo "$OPTARG" | $__sed -e 's/:/ /g'`
+ for i in $__parameters; do
+ for module in `echo "$__lib_modules"|$__sed -e 's/:/ /g'`; do
+ if [ x$module == x$i ]; then
+ __lib_modules_temp=$__lib_modules_temp:$i
+ continue
+ fi
+ done
+
+ for module in `echo "$__python_modules"|$__sed -e 's/:/ /g'`; do
+ if [ x$module == x$i ]; then
+ __python_modules_temp=$__python_modules_temp:$i
+ fi
+ done
+
+ for module in `echo "$__python_efl_utils_module"|$__sed -e 's/:/ /g'`; do
+ if [ x$module == x$i ]; then
+ __python_efl_utils_module_temp=$__python_efl_utils_module_temp:$i
+ continue
+ fi
+ done
+
+ for module in `echo "$__python_dispatcher_module" |$__sed -e 's/:/ /g'`; do
+ if [ x$module == x$i ]; then
+ __python_dispatcher_module_temp=$__python_dispatcher_module_temp:$i
+ continue
+ fi
+ done
+
+ for module in `echo "$__virtual_packages" |$__sed -e 's/:/ /g'`; do
+ if [ x$module == x$i ]; then
+ __virtual_packages_temp=$__virtual_packages_temp:$i
+ continue
+ fi
+ done
+
+ done
+ __lib_modules_temp=`echo "$__lib_modules_temp" | tr "[:upper:]" "[:lower:]"`
+ __python_modules_temp=`echo "$__python_modules_temp" | tr "[:upper:]" "[:lower:]"`
+ __python_efl_utils_module_temp=`echo "$__python_efl_utils_module_temp" | tr "[:upper:]" "[:lower:]"`
+ __python_dispatcher_module_temp=`echo "$__python_dispatcher_module_temp" | tr "[:upper:]" "[:lower:]"`
+ __virtual_packages_temp=`echo "$__virtual_packages_temp" | tr "[:upper:]" "[:lower:]"`
+ ;;
c)
__update_repositories=0
- ;;
+ ;;
+ e)
+ __export_dir=$OPTARG
+ if [ "x$__sbox_path" = "x" ] || [ ! -d $__sbox_path ]; then
+ error "Invalid export path: $__export_dir"
+ exit 1
+ fi
+ ;;
h)
usage
exit 0
- ;;
+ ;;
+ r)
+ __force_remove=1
+ ;;
s)
__sbox_path=$OPTARG
if [ "x$__sbox_path" = "x" ] || [ ! -d $__sbox_path ]; then
error "Invalid scratchbox path: $__sbox_path"
+ exit 1
fi
- ;;
- [?])
+ ;;
+ n)
+ __no_signing=1
+ ;;
+ t)
+ __sbox_targets_temp=`echo $OPTARG | tr "[:lower:]" "[:upper:]"`
+ ;;
+ u)
+ __changelog_update=$OPTARG
+ ;;
+ ?)
usage
exit 1
- ;;
+ ;;
esac
done
-# Initial checks
+############################
+# Initial checks #
+###########################
-# Check if we're running inside scratchbox
-if [ -r /targets/links/scratchbox.config ]; then
- error "You should run this script ouside the scratchbox environment."
-fi
+update_all_modules
+init_checks
-# Create base packages dir
-if [ ! -d $__base_pkg_dir ]; then
- msg_begin "Creating base packages dir $__base_pkg_dir"
- $__mkdir -p $__base_pkg_dir
- msg_end $?
+# Remove modules subdirectories and exit
+if [ $__force_remove -eq 1 ]; then
+ clean_modules
+ exit 0
fi
-# Create log file
-create_log_file
-start_log
+# Modify debian changelog
+if [ -n "$__changelog_update" ]; then
+ update_changelog $__changelog_update
+ exit 0
+fi
-# Download modules under e17/libs
-msg "Downloading e17 modules"
-get_sources $__lib_modules $__git_repo$__e17_libs
+setup_dirs
+generate_versions
-# Download python modules under proto/python/efl
-msg "Downloading python modules"
-get_sources $__python_modules $__git_repo$__e17_python_efl
+if [ $__not_all_pkgs -eq 1 ]; then
+ __lib_modules=$__lib_modules_temp
+ __python_modules=$__python_modules_temp
+ __python_efl_utils_module=$__python_efl_utils_module_temp
+ __python_dispatcher_module=$__python_dispatcher_module_temp
+ __virtual_packages=$__virtual_packages_temp
-# Download python-etk module
-get_sources $__python_etk_module $__git_repo$__e17_python_etk
+ update_all_modules
-# Download python-efl-utils module
-get_sources $__python_efl_utils_module $__git_repo$__e17_python_efl_utils
+fi
-# Download python-dispatcher module
-#get_sources $__python_dispatcher_module $__git_repo$__e17_python_dispatcher
+# Create log file
+create_log_file
+start_log
+# update modules
+download_modules
# Setup scratchbox variables
setup_sbox
+# Setup scratchbox targets if option -t was used
+if [ ! -z $__sbox_targets_temp ]; then
+ __sbox_targets=`echo $__sbox_targets_temp|$__sed -e 's/:/ /g'`
+fi
+
###########################################################
# ARCHITECTURE DEPENDENT MODULES
###########################################################
# For each scratchbox target
-for target in `$__sbox_sb_conf list --targets`; do
+for target in $__sbox_targets; do
msg_begin "Checking distro and arch for target $target"
setup_distro $target
msg_end $?
msg_end $?
# For each module
- for module in `echo $__lib_modules:$__python_modules:$__python_etk_module|$__sed -e 's/:/ /g'`; do
+ for module in `echo $__lib_modules:$__python_modules|$__sed -e 's/:/ /g'`; do
msg " Building $module packages for $__distro $__arch"
- if [ -d ./$module/$module/debian ]; then
- msg_begin " Removing existing debian directory"
- rm -rf ./$module/$module/debian
- msg_end $?
- fi
-
- msg_begin " Copying specific debian directory"
- if [ -d ./$module/debian ]; then
- cp -r ./$module/debian ./$module/$module/
+ update_debian_dir $module
- if [ -d ./$module/debian_$__distro ]; then
- cp -r ./$module/debian_$__distro/* ./$module/$module/debian/
- fi
- else
- if [ -d ./$module/debian_$__distro ]; then
- cp -r ./$module/debian_$__distro ./$module/$module/debian
- else
- echo ""
- warn "Missing debian directory for $module. Ignoring"
- continue
- fi
- fi
- msg_end $?
-
- if [ -d /tmp/$module/$module ]; then
+ if [ -d $__tmp_dir/$module/$module ]; then
msg_begin " Removing temporary $module"
- rm -rf /tmp/$module/$module
+ rm -rf $__tmp_dir/$module/$module
msg_end $?
fi
- msg_begin " Copying $module dir to /tmp"
- cp -u -r $module /tmp
+ msg_begin " Copying $module dir to $__tmp_dir"
+ $__tar c --exclude=.svn --exclude=.git $module | $__tar x --directory $__tmp_dir
msg_end $?
- msg_begin " Cleaning $module repository"
- clean_repository $module/$module
- msg_end $?
+# msg_begin " Cleaning $module repository"
+# git_clean_repository $module/$module
+# msg_end $?
msg_begin " Building $module packages"
- build_pkg /tmp/$module
+ build_pkg $__tmp_dir/$module
msg_end $?
- msg_begin " Signing $module packages"
- sign_pkgs /tmp/$module
- msg_end $?
+ if [ -z $__no_signing ]; then
+ msg_begin " Signing $module packages"
+ sign_pkgs $__tmp_dir/$module
+ msg_end $?
+ fi
msg_begin " Installing $module packages"
- install_pkgs /tmp/$module
+ install_pkgs $__tmp_dir/$module
msg_end $?
msg_begin " Copying $module packages"
- if [ "x$__arch" != "xarm" ]; then
- mv /tmp/$module/*.dsc /tmp/$module/*.tar.gz $__pkg_dir
+ if [ "x$__arch" != "xarmel" ]; then
+ mv $__tmp_dir/$module/*.dsc $__tmp_dir/$module/*.tar.gz $__pkg_dir
fi
- mv /tmp/$module/*.deb /tmp/$module/*.changes $__pkg_dir
+ mv $__tmp_dir/$module/*.deb $__tmp_dir/$module/*.changes $__pkg_dir
msg_end $?
msg_begin " Removing temporary $module"
- rm -rf /tmp/$module/$module
+ rm -rf $__tmp_dir/$module/$module
msg_end $?
done
msg_end $?
done
-exit 0
###########################################################
# ARCHITECTURE INDEPENDENT MODULES
###########################################################
# For each scratchbox target
-for target in `$__sbox_sb_conf list --targets`; do
+for target in $__sbox_targets; do
msg_begin "Checking distro and arch for target $target"
setup_distro $target
msg_end $?
msg " Architecture..: $__arch"
msg " Build Options.: $__build_pkg_options"
- if [ "x$__arch" = "xarm" ]; then
+ if [ "x$__arch" = "xarmel" ]; then
warn "Skipping target $target for architecture independent packages"
continue
fi
msg_end $?
# For each module
- for module in $__python_efl_utils_module; do
+ for module in `echo $__python_efl_utils_module|$__sed -e 's/:/ /g'`; do
+
msg " Building $module packages for $__distro $__arch"
+ update_debian_dir $module
+
- if [ ! -d /tmp/$module ]; then
- mkdir /tmp/$module
+ if [ ! -d $__tmp_dir/$module ]; then
+ mkdir $__tmp_dir/$module
fi
- if [ -d /tmp/$module/$module ]; then
+ if [ -d $__tmp_dir/$module/$module ]; then
msg_begin " Removing temporary $module"
- rm -rf /tmp/$module/$module
+ rm -rf $__tmp_dir/$module/$module
msg_end $?
fi
- msg_begin " Copying specific debian directory"
- if [ -d ./$module/debian ]; then
- cp -r ./$module/debian ./$module/$module/
-
- if [ -d ./$module/debian_$__distro ]; then
- cp -r ./$module/debian_$__distro/* ./$module/$module/debian/
- fi
- else
- echo ""
- warn " Missing debian directory for $module. Ignoring"
- continue
- fi
- msg_end $?
- msg_begin " Copying $module dir to /tmp"
- cp -u -r $module /tmp
+ msg_begin " Copying $module dir to $__tmp_dir"
+ $__tar c --exclude=.svn --exclude=.git $module | $__tar x --directory $__tmp_dir
+ #cp -f -u -r $module $__tmp_dir
msg_end $?
- msg_begin " Cleaning $module repository"
- clean_repository $module/$module
- msg_end $?
+# msg_begin " Cleaning $module repository"
+# git_clean_repository $module/$module
+# msg_end $?
msg_begin " Building $module packages"
- build_pkg /tmp/$module
+ build_pkg $__tmp_dir/$module
msg_end $?
- msg_begin " Signing $module packages"
- sign_pkgs /tmp/$module
- msg_end $?
+ if [ -z $__no_signing ]; then
+ msg_begin " Signing $module packages"
+ sign_pkgs $__tmp_dir/$module
+ msg_end $?
+ fi
msg_begin " Installing $module packages"
- install_pkgs /tmp/$module
+ install_pkgs $__tmp_dir/$module
msg_end $?
msg_begin " Copying $module packages"
- mv /tmp/$module/*.dsc /tmp/$module/*.tar.gz /tmp/$module/*.deb /tmp/$module/*.changes $__pkg_dir
+ mv $__tmp_dir/$module/*.dsc $__tmp_dir/$module/*.tar.gz $__tmp_dir/$module/*.deb $__tmp_dir/$module/*.changes $__pkg_dir
msg_end $?
msg_begin " Removing temporary $module"
- rm -rf /tmp/$module/$module
+ rm -rf $__tmp_dir/$module/$module
msg_end $?
done
# VIRTUAL PACKAGES
###########################################################
# For each scratchbox target
-for target in `$__sbox_sb_conf list --targets`; do
+for target in $__sbox_targets; do
msg_begin "Checking distro and arch for target $target"
setup_distro $target
msg_end $?
msg " Architecture..: $__arch"
msg " Build Options.: $__build_pkg_options"
- if [ "x$__arch" = "xarm" ]; then
+ if [ "x$__arch" = "xarmel" ]; then
warn "Skipping target $target for architecture independent packages"
continue
fi
msg_end $?
# For each module
- for module in $__virtual_packages; do
+ for module in `echo $__virtual_packages|$__sed -e 's/:/ /g'`; do
msg " Building $module packages for $__distro $__arch"
- if [ ! -d /tmp/$module ]; then
- mkdir /tmp/$module
+ update_debian_dir $module
+
+ if [ ! -d $__tmp_dir/$module ]; then
+ mkdir $__tmp_dir/$module
fi
- if [ -d /tmp/$module/$module ]; then
+ if [ -d $__tmp_dir/$module/$module ]; then
msg_begin " Removing temporary $module"
- rm -rf /tmp/$module/$module
+ rm -rf $__tmp_dir/$module/$module
msg_end $?
fi
- msg_begin " Copying $module dir to /tmp"
- cp -u -r $module /tmp/$module
+ msg_begin " Copying $module dir to $__tmp_dir"
+ $__tar c --exclude=.svn --exclude=.git $module | $__tar x --directory $__tmp_dir
+ #cp -f -u -r $module $__tmp_dir/$module
msg_end $?
msg_begin " Building $module packages"
- build_pkg /tmp/$module
+ build_pkg $__tmp_dir/$module
msg_end $?
- msg_begin " Signing $module packages"
- sign_pkgs /tmp/$module
- msg_end $?
+ if [ -z $__no_signing ]; then
+ msg_begin " Signing $module packages"
+ sign_pkgs $__tmp_dir/$module
+ msg_end $?
+ fi
msg_begin " Installing $module packages"
- install_pkgs /tmp/$module
+ install_pkgs $__tmp_dir/$module
msg_end $?
msg_begin " Copying $module packages"
- mv /tmp/$module/*.dsc /tmp/$module/*.tar.gz /tmp/$module/*.deb /tmp/$module/*.changes $__pkg_dir
+ mv $__tmp_dir/$module/*.dsc $__tmp_dir/$module/*.tar.gz $__tmp_dir/$module/*.deb $__tmp_dir/$module/*.changes $__pkg_dir
msg_end $?
msg_begin " Removing temporary $module"
- rm -rf /tmp/$module/$module
+ rm -rf $__tmp_dir/$module/$module
msg_end $?
done