# Note: var-definitions.sh needed.
###########################################################
-function configure_pkg() {
+configure_pkg() {
local dir
dir=$1
return 0
}
-function build_pkg() {
+update_changelog() {
+ local rev
+ local rev_tmp
+ local fst
+ rev=$1
+
+ if [ x$rev == xHEAD ]; then
+ msg_begin "Getting latest repository revision number"
+ svn_latest_rev
+ msg_end $?
+ rev=$__svn_latest_rev
+ fi
+ rev_tmp=`echo $rev | $__sed -nr 's/^([0-9]+)$/\1/p'`
+ if [ -z "$rev_tmp" ]; then
+ error "Invalid revision number '$rev'"
+ fi
+ rev=$rev_tmp
+ msg_begin "Updating changelog files to svn$rev"
+ for module in `echo $__all_modules|$__sed -e 's/:/ /g'`; do
+ if [ -e $module/debian/changelog ]; then
+ fst=`$__head -1 $module/debian/changelog | grep svn`
+ if [ -n "$fst" ]; then
+ cp -f $module/debian/changelog $module/debian/changelog.orig
+ fst=`echo $fst | $__sed -nr "s/(.*)svn([0-9]+)(.*)/\1svn$rev\3/p"`
+ echo "$fst" > $module/debian/changelog
+ $__tail -n +2 $module/debian/changelog.orig >> $module/debian/changelog
+ fi
+ fi
+ done
+ msg_end $?
+}
+
+update_debian_dir() {
+
+ local module
+ local TO_REPLACE
+ local replacement_lowercase
+ local version_file
+ local version_number
+ local replacement
+ module=$1
+
+ if [ -d ./$module/$module/debian ]; then
+ msg_begin " Removing existing debian directory"
+ rm -rf ./$module/$module/debian
+ msg_end $?
+ fi
+
+ mkdir -p $module/$module/debian
+
+ msg_begin " Copying specific debian directory"
+ if [ -d ./$module/debian ]; then
+ $__tar c --exclude=.svn --exclude=.git --exclude=changelog.orig $module/debian | $__tar x --directory $module/
+ if [ -d ./$module/debian_$__distro ]; then
+ cp -r ./$module/debian_$__distro/* ./$module/$module/debian/
+ fi
+ else
+ if [ -d ./$module/debian_$__distro ]; then
+ $__tar c --exclude=.svn --exclude=.git --exclude=changelog.orig $module/debian_$__distro | $__tar x --directory $module/
+ else
+ echo ""
+ warn "Missing debian directory for $module. Ignoring"
+ return
+ fi
+ fi
+ msg_end $?
+
+ if [ -e ./$module/$module/debian/control.in ]; then
+ msg_begin " Replacing versions in control file"
+#TO_REPLACE=`grep -o -E '@([A-Z]|[0-9])+(-|_)*([A-Z]|[0-9])+_VERSION@' ./$module/$module/debian/control.in | cut -d @ -f 2 | sort -u`
+ TO_REPLACE=`grep -o -E '@([A-Z]|[0-9])+((-|_)*([A-Z]|[0-9]))*_VERSION@' ./$module/$module/debian/control.in | cut -d @ -f 2 | sort -u`
+ cp ./$module/$module/debian/control.in ./$module/$module/debian/control.temp
+
+ for replacement in $TO_REPLACE
+ do
+ replacement_lowercase=`echo $replacement | tr "[:upper:]" "[:lower:]"`
+ version_file=$__versions_dir/$replacement_lowercase
+ if [ ! -e $version_file ]; then
+ echo ""
+ warn "Could not find a replacement for $replacement"
+ continue
+ fi
+ version_number=`cat $version_file`
+ sed -i s/@$replacement@/$version_number/g ./$module/$module/debian/control.temp
+ done
+
+ mv ./$module/$module/debian/control.temp ./$module/$module/debian/control
+ msg_end $?
+ fi
+}
+
+generate_versions() {
+ if [ ! -d $__versions_dir ]; then
+ msg_begin "Creating versions dir $__versions_dir"
+ $__mkdir -p $__versions_dir
+ msg_end $?
+ fi
+
+ msg_begin "Generating version files"
+ for module in `echo $__all_modules |$__sed -e 's/:/ /g'`; do
+ if [ -e $module/debian/changelog ]; then
+ VERSION=`$__dpkg_parsechangelog -l$module/debian/changelog | grep Version: | cut -d" " -f2 | cut -d- -f1`
+ REVISION=`$__dpkg_parsechangelog -l$module/debian/changelog | grep Version: | cut -d- -f2`
+ if [ -z \$REVISION ]; then
+ echo "$VERSION" > $__versions_dir/"$module"_version
+ else
+ echo "$VERSION-$REVISION" > $__versions_dir/"$module"_version
+ fi
+ fi
+ done
+ msg_end $?
+}
+
+build_pkg() {
local dir
dir=$1
VERSION=\`$__sbox_dpkg_parsechangelog | grep Version: | cut -d" " -f2 | cut -d- -f1\`
REVISION=\`$__sbox_dpkg_parsechangelog | grep Version: | cut -d- -f2\`
-TO_REPLACE=\`grep -o -E '@([A-Z]|[0-9])+(-|_)*([A-Z]|[0-9])+_VERSION@' ./debian/control.in | cut -d @ -f 2 | sort -u\`
-
-# Test if we should process control.in file or not.
-if [ -z $__not_all_pkgs ]; then
- cp ./debian/control.in ./debian/control.temp
-
- for replacement in \$TO_REPLACE
- do
- replacement_lowercase=\`echo \$replacement | tr "[:upper:]" "[:lower:]"\`
- version_file=$__versions_dir/\$replacement_lowercase
- version_number=\`cat \$version_file\`
- sed -i s/@\$replacement@/\$version_number/g ./debian/control.temp
- done
-
- mv ./debian/control.temp ./debian/control
-else
- builddeps=\`$__sbox_dpkg_checkbuilddeps ./debian/control 2>&1 | grep Unmet | cut -d: -f3\`
- target_lowercase=\`echo $target | cut -d_ -f1 | tr "[:upper:]" "[:lower:]"\`
- if [ -z $__pkgslist_updated ];then
+builddeps=\`$__sbox_dpkg_checkbuilddeps ./debian/control 2>&1 | grep Unmet | cut -d: -f3\`
+target_lowercase=\`echo $target | cut -d_ -f1 | tr "[:upper:]" "[:lower:]"\`
- has_extras_rep=\`grep 'deb http://repository.maemo.org/extras' $__srclist_file\`
- if [ -z "\$has_extras_rep" ];then
- echo "deb http://repository.maemo.org/extras \$target_lowercase free non-free" >> $__srclist_file
- fi
+if [ -z $__pkgslist_updated ];then
- has_extras_rep=\`grep 'deb-src http://repository.maemo.org/extras' $__srclist_file\`
- if [ -z "\$has_extras_rep" ];then
- echo "deb-src http://repository.maemo.org/extras \$target_lowercase free non-free" >> $__srclist_file
- fi
-
- apt-get update >> $dir/sbox_apt_update.log 2>&1
- __pkgslist_updated=1
+ has_extras_rep=\`grep 'deb http://repository.maemo.org/extras' $__srclist_file\`
+ if [ -z "\$has_extras_rep" ];then
+ echo "deb http://repository.maemo.org/extras \$target_lowercase free non-free" >> $__srclist_file
fi
- if [ -n "\$builddeps" ];then
- echo \$builddeps | while read line
- do
- pkg_name=\`echo \$line | cut -d'(' -f1 | tr -d "[:blank:]"\`
- pkg_version=\`echo \$line | cut -d= -f2 | cut -d')' -f1 | tr -d "[:blank:]"\`
- apt-get -y install \$pkg_name=\$pkg_version >> $dir/sbox_builddeps.log 2>&1
- done
+ has_extras_rep=\`grep 'deb-src http://repository.maemo.org/extras' $__srclist_file\`
+ if [ -z "\$has_extras_rep" ];then
+ echo "deb-src http://repository.maemo.org/extras \$target_lowercase free non-free" >> $__srclist_file
fi
+
+ apt-get update >> $dir/sbox_apt_update.log 2>&1
+ __pkgslist_updated=1
+fi
+
+if [ -n "\$builddeps" ];then
+ echo \$builddeps | while read line
+ do
+ pkg_name=\`echo \$line | cut -d'(' -f1 | tr -d "[:blank:]"\`
+ pkg_version=\`echo \$line | cut -d= -f2 | cut -d')' -f1 | tr -d "[:blank:]"\`
+ apt-get -y install \$pkg_name=\$pkg_version >> $dir/sbox_builddeps.log 2>&1
+ done
fi
# $__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
-if [ -z \$REVISION ]
-then
- echo "\$VERSION" > $__versions_dir/`basename $dir`_version
-else
- echo "\$VERSION-\$REVISION" > $__versions_dir/`basename $dir`_version
-fi
-
exit \$?
EOF
return $?
}
-function install_pkgs() {
+install_pkgs() {
local dir
dir=$1
return 0
}
-function uninstall_pkgs() {
+uninstall_pkgs() {
cat << EOF > $__tmp_dir/sbox_uninstall_pkgs
#!/bin/sh
return $?
}
-function sign_pkgs() {
+sign_pkgs() {
local dir
dir=$1
cd $dir
+ print $__debsign
$__debsign *.changes >> $dir/sign_pkgs.log 2>&1 || return 1
cd - > /dev/null 2>&1
return 0
}
-