3 ###########################################################
4 # Maemo-efl building script
5 # Package functions definitions
7 # Note: var-definitions.sh needed.
8 ###########################################################
10 function configure_pkg() {
14 cd $dir/`basename $dir`
16 if [ -x ./autogen.sh ]; then
17 NOCONFIGURE=1 ./autogen.sh >> $dir/sbox_build_pkgs.log 2>&1 || return 1
25 function build_pkg() {
29 configure_pkg $dir || return 1
31 local DEB_BUILD_OPTIONS=n8x0
32 if [ "x$__distro" = "xgregale" ]; then
33 DEB_BUILD_OPTIONS=n770
36 cat << EOF > $dir/sbox_build_pkgs
39 export DEBFULLNAME="$DEBFULLNAME"
40 export DEBEMAIL="$DEBEMAIL"
41 export DEB_BUILD_OPTIONS="$DEB_BUILD_OPTIONS"
43 cd $dir/`basename $dir`
45 #VERSION=\`$__sbox_dpkg_parsechangelog | grep Version: | cut -d" " -f2 | cut -d- -f1 >> $dir/sbox_build_pkgs.log 2>&1 || exit 1\`
46 #REVISION=\`$__sbox_dpkg_parsechangelog | grep Version: | cut -d- -f2 >> $dir/sbox_build_pkgs.log 2>&1 || exit 1\`
48 VERSION=\`$__sbox_dpkg_parsechangelog | grep Version: | cut -d" " -f2 | cut -d- -f1\`
49 REVISION=\`$__sbox_dpkg_parsechangelog | grep Version: | cut -d- -f2\`
51 TO_REPLACE=\`grep -o -E '@([A-Z]|[0-9])+(-|_)*([A-Z]|[0-9])+_VERSION@' ./debian/control.in | cut -d @ -f 2 | sort -u\`
53 # Test if we should process control.in file or not.
54 if [ -z $__not_all_pkgs ]; then
55 cp ./debian/control.in ./debian/control.temp
57 for replacement in \$TO_REPLACE
59 replacement_lowercase=\`echo \$replacement | tr "[:upper:]" "[:lower:]"\`
60 version_file=$__versions_dir/\$replacement_lowercase
61 version_number=\`cat \$version_file\`
62 sed -i s/@\$replacement@/\$version_number/g ./debian/control.temp
65 mv ./debian/control.temp ./debian/control
67 builddeps=\`$__sbox_dpkg_checkbuilddeps ./debian/control 2>&1 | grep Unmet | cut -d: -f3\`
68 target_lowercase=\`echo $target | cut -d_ -f1 | tr "[:upper:]" "[:lower:]"\`
70 if [ -z $__pkgslist_updated ];then
72 has_extras_rep=\`grep 'deb http://repository.maemo.org/extras' $__srclist_file\`
73 if [ -z "\$has_extras_rep" ];then
74 echo "deb http://repository.maemo.org/extras \$target_lowercase free non-free" >> $__srclist_file
77 has_extras_rep=\`grep 'deb-src http://repository.maemo.org/extras' $__srclist_file\`
78 if [ -z "\$has_extras_rep" ];then
79 echo "deb-src http://repository.maemo.org/extras \$target_lowercase free non-free" >> $__srclist_file
82 apt-get update >> $dir/sbox_apt_update.log 2>&1
86 if [ -n "\$builddeps" ];then
87 echo \$builddeps | while read line
89 pkg_name=\`echo \$line | cut -d'(' -f1 | tr -d "[:blank:]"\`
90 pkg_version=\`echo \$line | cut -d= -f2 | cut -d')' -f1 | tr -d "[:blank:]"\`
91 apt-get -y install \$pkg_name=\$pkg_version >> $dir/sbox_builddeps.log 2>&1
96 # $__sbox_dch -v \$VERSION+cvs$__today-\$REVISION -D $__distro "Snapshot CVS release of $__today" >> $dir/sbox_build_pkgs.log 2>&1 || exit 1
97 $__sbox_dpkg_buildpackage $__build_pkg_options >> $dir/sbox_build_pkgs.log 2>&1
101 echo "\$VERSION" > $__versions_dir/`basename $dir`_version
103 echo "\$VERSION-\$REVISION" > $__versions_dir/`basename $dir`_version
109 $__chmod 755 $dir/sbox_build_pkgs
110 $__sbox $dir/sbox_build_pkgs
114 function install_pkgs() {
118 cat << EOF > $dir/sbox_install_pkgs
122 $__sbox_dpkg --install *.deb >> $dir/sbox_install_pkgs.log 2>&1
126 $__chmod 755 $dir/sbox_install_pkgs
127 $__sbox $dir/sbox_install_pkgs || return 1
129 for package in $dir/*.deb; do
130 pkg=`basename $package | cut -d_ -f1`
131 echo $__installed_packages | tr " " "\n" | sort -u | $__egrep "\^$pkg\$" > /dev/null 2>&1
133 if [ ! $? -eq 0 ]; then
134 __installed_packages="$__installed_packages $pkg"
141 function uninstall_pkgs() {
143 cat << EOF > $__tmp_dir/sbox_uninstall_pkgs
147 $__sbox_dpkg --purge $__installed_packages >> $__tmp_dir/sbox_uninstall_pkgs.log 2>&1
151 __installed_packages=""
152 $__chmod 755 $__tmp_dir/sbox_uninstall_pkgs
153 #$__sbox $__tmp_dir/sbox_uninstall_pkgs
157 function sign_pkgs() {
162 $__debsign *.changes >> $dir/sign_pkgs.log 2>&1 || return 1
164 cd - > /dev/null 2>&1