From c7d0eb90e33c1d9ecd561242be29f1ccb1eebd02 Mon Sep 17 00:00:00 2001 From: Julien Bonjean <julien@bonjean.info> Date: Mon, 1 Jun 2009 19:39:12 -0400 Subject: [PATCH] [#1317] Added mandriva and opensuse-11 64 bits --- .../libs/pjproject-1.0.1/autogen.sh | 6 +- .../distributions/build-packages.sh | 10 +- tools/build-system/distributions/globals | 2 + .../mandriva/build-packages-mandriva.sh | 94 +++++++++++++++++++ .../mandriva/sflphone-client-gnome.spec | 74 +++++++++++++++ .../mandriva/sflphone-client-kde.spec | 67 +++++++++++++ .../mandriva/sflphone-common.spec | 89 ++++++++++++++++++ .../opensuse/sflphone-client-gnome.spec | 1 + .../opensuse/sflphone-client-kde.spec | 67 +++++++++++++ .../opensuse/sflphone-common.spec | 1 + tools/build-system/launch-build-machine.sh | 51 +++++----- tools/build-system/send-emails.sh | 4 +- 12 files changed, 439 insertions(+), 27 deletions(-) create mode 100755 tools/build-system/distributions/mandriva/build-packages-mandriva.sh create mode 100644 tools/build-system/distributions/mandriva/sflphone-client-gnome.spec create mode 100644 tools/build-system/distributions/mandriva/sflphone-client-kde.spec create mode 100644 tools/build-system/distributions/mandriva/sflphone-common.spec create mode 100644 tools/build-system/distributions/opensuse/sflphone-client-kde.spec diff --git a/sflphone-common/libs/pjproject-1.0.1/autogen.sh b/sflphone-common/libs/pjproject-1.0.1/autogen.sh index 1aad191a1e..ec81ce5503 100755 --- a/sflphone-common/libs/pjproject-1.0.1/autogen.sh +++ b/sflphone-common/libs/pjproject-1.0.1/autogen.sh @@ -7,13 +7,17 @@ # Author: Julien Bonjean (julien@bonjean.info) # # Creation Date: 2009-05-26 -# Last Modified: 2009-05-27 11:00:20 -0400 +# Last Modified: 2009-06-01 18:25:28 -0400 ##################################################### if [ -e /usr/share/misc/config.guess ]; then rm -f config.sub config.guess ln -s /usr/share/misc/config.sub . ln -s /usr/share/misc/config.guess . +elif [ -e /usr/lib/rpm/config.guess ]; then + rm -f config.sub config.guess + ln -s /usr/lib/rpm/config.sub . + ln -s /usr/lib/rpm/config.guess . else aclocal --force automake --add-missing --force-missing --copy diff --git a/tools/build-system/distributions/build-packages.sh b/tools/build-system/distributions/build-packages.sh index 166c162cc6..0b9e09fbec 100755 --- a/tools/build-system/distributions/build-packages.sh +++ b/tools/build-system/distributions/build-packages.sh @@ -7,7 +7,7 @@ # Author: Julien Bonjean (julien@bonjean.info) # # Creation Date: 2009-05-29 -# Last Modified: 2009-05-29 17:42:50 -0400 +# Last Modified: 2009-06-01 17:27:25 -0400 ##################################################### . ./globals @@ -69,6 +69,14 @@ elif [ "${DISTRIBUTION}" = "opensuse" ]; then echo "Launch packaging for openSUSE 11" cd ${OPENSUSE_DIR} && ./build-packages-opensuse.sh $* +elif [ "${DISTRIBUTION}" = "mandriva" ]; then + echo "Launch packaging for Mandriva 2009.1" + cd ${MANDRIVA_DIR} && ./build-packages-mandriva.sh $* + +elif [ "${DISTRIBUTION}" = "fedora" ]; then + echo "Launch packaging for Fedora 11" + cd ${FEDORA_DIR} && ./build-packages-fedora.sh $* + else echo "!! Cannot detect distribution" exit -1 diff --git a/tools/build-system/distributions/globals b/tools/build-system/distributions/globals index dab38b1c24..0de0f01a92 100644 --- a/tools/build-system/distributions/globals +++ b/tools/build-system/distributions/globals @@ -17,6 +17,8 @@ PACKAGING_DIR="${ROOT_DIR}/sflphone-packaging" # distributions UBUNTU_DIR="${PACKAGING_DIR}/ubuntu" OPENSUSE_DIR="${PACKAGING_DIR}/opensuse" +MANDRIVA_DIR="${PACKAGING_DIR}/mandriva" +FEDORA_DIR="${PACKAGING_DIR}/fedora" # where packaging will be donne BUILD_DIR="${PACKAGING_DIR}/build" diff --git a/tools/build-system/distributions/mandriva/build-packages-mandriva.sh b/tools/build-system/distributions/mandriva/build-packages-mandriva.sh new file mode 100755 index 0000000000..0b52d2cbeb --- /dev/null +++ b/tools/build-system/distributions/mandriva/build-packages-mandriva.sh @@ -0,0 +1,94 @@ +#!/bin/bash +##################################################### +# File Name: build-packages-opensuse.sh +# +# Purpose : +# +# Author: Julien Bonjean (julien@bonjean.info) +# +# Creation Date: 2009-05-27 +# Last Modified: 2009-06-01 17:24:52 -0400 +##################################################### + +. ../globals + +cd ${MANDRIVA_DIR} + +if [ "$?" -ne "0" ]; then + echo " !! Cannot cd to Mandriva directory" + exit -1 +fi + +echo "Do updates" +sudo /usr/sbin/urpmi --auto-update --auto >/dev/null + +# create build directories +echo "Create directories" +mkdir -p ${BUILD_DIR}/BUILD +mkdir -p ${RPM_RESULT_DIR} +mkdir -p ${BUILD_DIR}/SOURCES +mkdir -p ${BUILD_DIR}/SPECS + +# create rpm macros +echo "Create RPM macros" +cat > ~/.rpmmacros << STOP +%packager Julien Bonjean (julien.bonjean@savoirfairelinux.com) +%distribution Savoir-faire Linux +%vendor Savoir-faire Linux + +%_signature gpg +%_gpg_name Julien Bonjean + +%_topdir ${BUILD_DIR} +%_builddir %{_topdir}/BUILD +%_rpmdir ${RPM_RESULT_DIR} +%_sourcedir %{_topdir}/SOURCES +%_specdir %{_topdir}/SPECS +%_srcrpmdir ${RPM_RESULT_DIR} +STOP + +# create packages +for PACKAGE in ${PACKAGES[@]} +do + echo "Prepare ${PACKAGE}" + + cd ${REPOSITORY_DIR} + + echo " -> create source archive" + mv ${PACKAGE} ${PACKAGE}-${VERSION} 2>/dev/null && \ + tar cf ${PACKAGE}.tar.gz ${PACKAGE}-${VERSION} >/dev/null && \ + mv ${PACKAGE}-${VERSION} ${PACKAGE} + + if [ "$?" -ne "0" ]; then + echo "!! Cannot create source archive" + exit -1 + fi + + echo " -> move archive to source directory" + mv ${PACKAGE}.tar.gz ${BUILD_DIR}/SOURCES + + if [ "$?" -ne "0" ]; then + echo "!! Cannot move archive" + exit -1 + fi + + cd ${PACKAGING_DIR} + + echo " -> update spec file" + sed "s/VERSION/${VERSION}/g" opensuse/${PACKAGE}.spec > ${BUILD_DIR}/SPECS/${PACKAGE}.spec + + if [ "$?" -ne "0" ]; then + echo "!! Cannot update spec file" + exit -1 + fi +done + +# launch build +echo "Launch build" +rpmbuild -ba ${BUILD_DIR}/SPECS/*.spec + +if [ "$?" -ne "0" ]; then + echo "!! Cannot build packages" + exit -1 +fi + diff --git a/tools/build-system/distributions/mandriva/sflphone-client-gnome.spec b/tools/build-system/distributions/mandriva/sflphone-client-gnome.spec new file mode 100644 index 0000000000..5266efec37 --- /dev/null +++ b/tools/build-system/distributions/mandriva/sflphone-client-gnome.spec @@ -0,0 +1,74 @@ +##################################################### +# File Name: sflphone-client-gnome.spec +# +# Purpose : +# +# Author: Julien Bonjean (julien@bonjean.info) +# +# Creation Date: 2009-05-27 +# Last Modified: 2009-05-27 17:23:32 -0400 +##################################################### + +Name: sflphone-client-gnome +License: GNU General Public License (GPL) +Group: Productivity/Networking/System +Summary: GNOME client for SFLphone +Version: VERSION +Release: mandriva +URL: http://www.sflphone.org/ +Vendor: Savoir-faire Linux +Packager: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + +BuildRoot: %{_tmppath}/%{name}-%{version} +Source0: sflphone-client-gnome.tar.gz +BuildRequires: gtk2-devel +BuildRequires: libnotify-devel +BuildRequires: libsexy-devel +BuildRequires: evolution-data-server-devel +BuildRequires: check-devel +BuildRequires: libdbus-glib-devel +BuildRequires: log4c-devel +Requires: sflphone-common = %{version} +Requires: dbus-1-glib +Requires: gtk2 +Requires: glib2 +Requires: dbus-1-glib +Requires: libnotify +Requires: librsvg +Requires: log4c +Requires: libsexy +Conflicts: sflphone +Prefix: %{_prefix} + +%description +Provide a GNOME client for SFLphone. + SFLphone is meant to be a robust enterprise-class desktop phone. + SFLphone is released under the GNU General Public License. + SFLphone is being developed by the global community, and maintained by + Savoir-faire Linux, a Montreal, Quebec, Canada-based Linux consulting company. + +Authors: +-------- + Julien Bonjean <julien.bonjean@savoirfairelinux.com> + +%lang_package + +%prep +%setup -q + +%build +./autogen.sh --prefix=%{_prefix} +make -j + +%install +make prefix=%{buildroot}/%{_prefix} install + +%clean +make clean + +%files +%defattr(-, root, root) +%{_prefix}/* +%doc AUTHORS COPYING README + +%changelog diff --git a/tools/build-system/distributions/mandriva/sflphone-client-kde.spec b/tools/build-system/distributions/mandriva/sflphone-client-kde.spec new file mode 100644 index 0000000000..f9fe31205b --- /dev/null +++ b/tools/build-system/distributions/mandriva/sflphone-client-kde.spec @@ -0,0 +1,67 @@ +##################################################### +# File Name: sflphone-client-kde.spec +# +# Purpose : +# +# Author: Julien Bonjean (julien@bonjean.info) +# +# Creation Date: 2009-05-27 +# Last Modified: 2009-05-27 17:23:32 -0400 +##################################################### + +Name: sflphone-client-kde +License: GNU General Public License (GPL) +Group: Productivity/Networking/System +Summary: KDE client for SFLphone +Version: VERSION +Release: mandriva +URL: http://www.sflphone.org/ +Vendor: Savoir-faire Linux +Packager: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + +BuildRoot: %{_tmppath}/%{name}-%{version} +Source0: sflphone-client-kde.tar.gz +Requires: sflphone-common = %{version} +Requires: commoncpp2 +Requires: libkdepimlibs4 +Requires: libqt4-dbus-1 +Requires: libqt4-svg +Requires: libqt4-x11 +BuildRequires: cmake +BuildRequires: libcommoncpp-devel +BuildRequires: kdepimlibs4-devel +Conflicts: sflphone +Prefix: %{_prefix} + +%description +Provide a KDE client for SFLphone. + SFLphone is meant to be a robust enterprise-class desktop phone. + SFLphone is released under the GNU General Public License. + SFLphone is being developed by the global community, and maintained by + Savoir-faire Linux, a Montreal, Quebec, Canada-based Linux consulting company. + +Authors: +-------- + Julien Bonjean <julien.bonjean@savoirfairelinux.com> + +%lang_package + +%prep +%setup -q + +%build +cmake . -DCMAKE_INSTALL_PREFIX=%{buildroot}/%{_prefix} +make -j + +%install +make install + +%clean +make clean + +%files +%defattr(-, root, root) +%{_prefix}/* +%doc AUTHORS COPYING README + +%changelog diff --git a/tools/build-system/distributions/mandriva/sflphone-common.spec b/tools/build-system/distributions/mandriva/sflphone-common.spec new file mode 100644 index 0000000000..35bcbe1e6c --- /dev/null +++ b/tools/build-system/distributions/mandriva/sflphone-common.spec @@ -0,0 +1,89 @@ +##################################################### +# File Name: sflphone-common.spec +# +# Purpose : +# +# Author: Julien Bonjean (julien@bonjean.info) +# +# Creation Date: 2009-05-27 +# Last Modified: 2009-05-27 17:23:32 -0400 +##################################################### + +Name: sflphone-common +License: GNU General Public License (GPL) +Group: System Environment/Daemons +Summary: SIP and IAX2 compatible softphone - Core +Version: VERSION +Release: mandriva +URL: http://www.sflphone.org/ +Vendor: Savoir-faire Linux +Packager: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + +BuildRoot: %{_tmppath}/%{name}-%{version} +Source0: sflphone-common.tar.gz +BuildRequires: glibc-devel +BuildRequires: libccrtp-devel +BuildRequires: libsamplerate-devel +BuildRequires: dbus-1-devel +BuildRequires: libexpat-devel +BuildRequires: libgsm-devel +BuildRequires: speex-devel +BuildRequires: libcppunit-devel +BuildRequires: libcommoncpp-devel +BuildRequires: libalsa2-devel +BuildRequires: libpulseaudio-devel +BuildRequires: libext2fs-devel +Requires: libsamplerate +Requires: libexpat1 +Requires: commoncpp2 +Requires: libgsm1 +Requires: libspeex +Requires: dbus-1 +Requires: libasound2 +Requires: libpulse0 +Requires: libccrtp1 +Conflicts: sflphone +Prefix: %{_prefix} + +%description +SFLphone is meant to be a robust enterprise-class desktop phone. + SFLphone is released under the GNU General Public License. + SFLphone is being developed by the global community, and maintained by + Savoir-faire Linux, a Montreal, Quebec, Canada-based Linux consulting company. + +Authors: +-------- + Julien Bonjean <julien.bonjean@savoirfairelinux.com> + +%prep +%setup -q + +%build +cd libs/pjproject-1.0.1 +./autogen.sh --prefix=%{_prefix} +make dep +make clean +make +cd - +./autogen.sh --prefix=%{_prefix} +make -j + +%install +cd libs/pjproject-1.0.1 +make prefix=%{buildroot}/%{_prefix} install +cd - +make prefix=%{buildroot}/%{_prefix} install + +%clean +cd libs/pjproject-1.0.1 +make clean +cd - +make clean + +%files +%defattr(-, root, root) +%{_prefix}/* +%exclude %{_prefix}/include +%doc AUTHORS COPYING README TODO + +%changelog diff --git a/tools/build-system/distributions/opensuse/sflphone-client-gnome.spec b/tools/build-system/distributions/opensuse/sflphone-client-gnome.spec index fb908810a2..f9cc62a3e2 100644 --- a/tools/build-system/distributions/opensuse/sflphone-client-gnome.spec +++ b/tools/build-system/distributions/opensuse/sflphone-client-gnome.spec @@ -27,6 +27,7 @@ BuildRequires: dbus-1-glib-devel BuildRequires: libnotify-devel BuildRequires: libsexy-devel BuildRequires: evolution-data-server-devel +BuildRequires: check-devel Requires: sflphone-common = %{version} Requires: dbus-1-glib Requires: gtk2 diff --git a/tools/build-system/distributions/opensuse/sflphone-client-kde.spec b/tools/build-system/distributions/opensuse/sflphone-client-kde.spec new file mode 100644 index 0000000000..a92ee2554a --- /dev/null +++ b/tools/build-system/distributions/opensuse/sflphone-client-kde.spec @@ -0,0 +1,67 @@ +##################################################### +# File Name: sflphone-client-kde.spec +# +# Purpose : +# +# Author: Julien Bonjean (julien@bonjean.info) +# +# Creation Date: 2009-05-27 +# Last Modified: 2009-05-27 17:23:32 -0400 +##################################################### + +Name: sflphone-client-kde +License: GNU General Public License (GPL) +Group: Productivity/Networking/System +Summary: KDE client for SFLphone +Version: VERSION +Release: opensuse +URL: http://www.sflphone.org/ +Vendor: Savoir-faire Linux +Packager: Julien Bonjean <julien.bonjean@savoirfairelinux.com> + +BuildRoot: %{_tmppath}/%{name}-%{version} +Source0: sflphone-client-kde.tar.gz +Requires: sflphone-common = %{version} +Requires: commoncpp2 +Requires: libkdepimlibs4 +Requires: libqt4-dbus-1 +Requires: libqt4-svg +Requires: libqt4-x11 +BuildRequires: cmake +BuildRequires: libkdepimlibs4-devel +BuildRequires: commoncpp2-devel +Conflicts: sflphone +Prefix: %{_prefix} + +%description +Provide a KDE client for SFLphone. + SFLphone is meant to be a robust enterprise-class desktop phone. + SFLphone is released under the GNU General Public License. + SFLphone is being developed by the global community, and maintained by + Savoir-faire Linux, a Montreal, Quebec, Canada-based Linux consulting company. + +Authors: +-------- + Julien Bonjean <julien.bonjean@savoirfairelinux.com> + +%lang_package + +%prep +%setup -q + +%build +cmake . -DCMAKE_INSTALL_PREFIX=%{buildroot}/%{_prefix} +make -j + +%install +make install + +%clean +make clean + +%files +%defattr(-, root, root) +%{_prefix}/* +%doc AUTHORS COPYING README + +%changelog diff --git a/tools/build-system/distributions/opensuse/sflphone-common.spec b/tools/build-system/distributions/opensuse/sflphone-common.spec index d0a9d28601..721bda7e1a 100644 --- a/tools/build-system/distributions/opensuse/sflphone-common.spec +++ b/tools/build-system/distributions/opensuse/sflphone-common.spec @@ -31,6 +31,7 @@ BuildRequires: libgsm-devel BuildRequires: speex-devel BuildRequires: libcppunit-devel BuildRequires: alsa-devel +BuildRequires: libuuid-devel Requires: libsamplerate Requires: libexpat1 Requires: commoncpp2 diff --git a/tools/build-system/launch-build-machine.sh b/tools/build-system/launch-build-machine.sh index 5f5f8a0eb5..a5555ccf86 100755 --- a/tools/build-system/launch-build-machine.sh +++ b/tools/build-system/launch-build-machine.sh @@ -7,7 +7,7 @@ # Author: Julien Bonjean (julien@bonjean.info) # # Creation Date: 2009-04-20 -# Last Modified: 2009-06-01 09:58:11 -0400 +# Last Modified: 2009-06-01 19:11:22 -0400 ##################################################### # @@ -77,7 +77,7 @@ export EDITOR NON_FATAL_ERRORS="" -MACHINES=( "ubuntu-8.04" "ubuntu-8.04-64" "ubuntu-8.10" "ubuntu-8.10-64" "ubuntu-9.04" "ubuntu-9.04-64" "opensuse-11") +MACHINES=( "ubuntu-8.04" "ubuntu-8.04-64" "ubuntu-8.10" "ubuntu-8.10-64" "ubuntu-9.04" "ubuntu-9.04-64" "opensuse-11" "opensuse-11-64" "mandriva-2009.1" ) ######################### # BEGIN @@ -307,6 +307,7 @@ if [ ${DO_MAIN_LOOP} ]; then echo "Entering main loop" echo + rm -f ${PACKAGING_RESULT_DIR}/stats.log for MACHINE in ${MACHINES[*]} do @@ -317,7 +318,7 @@ if [ ${DO_MAIN_LOOP} ]; then else cd ${VBOX_USER_HOME} && VBoxHeadless -startvm "${MACHINE}" -p 50000 & if [[ ${MACHINE} =~ "opensuse" ]]; then - STARTUP_WAIT=120 + STARTUP_WAIT=200 fi echo "Wait ${STARTUP_WAIT} s" sleep ${STARTUP_WAIT} @@ -331,26 +332,30 @@ if [ ${DO_MAIN_LOOP} ]; then if [ "$?" -ne "0" ]; then echo " !! Cannot deploy packaging system" - NON_FATAL_ERRORS="${NON_FATAL_ERRORS} !! Error when packaging for ${MACHINE}\n" - fi - - echo "Launch remote build" - ${SSH_BASE} "cd ${REMOTE_DEPLOY_DIR} && ./build-packages.sh ${RELEASE_MODE}" - - if [ "$?" -ne "0" ]; then - echo " !! Error during remote packaging process" - NON_FATAL_ERRORS="${NON_FATAL_ERRORS} !! Error when packaging for ${MACHINE}\n" - fi - - echo "Retrieve dists and log files (current tag is ${TAG})" - ${SCP_BASE} ${SSH_HOST}:${REMOTE_DEPLOY_DIR}/deb ${PACKAGING_RESULT_DIR}/ >/dev/null 2>&1 - ${SCP_BASE} ${SSH_HOST}:${REMOTE_DEPLOY_DIR}/rpm ${PACKAGING_RESULT_DIR}/ >/dev/null 2>&1 - ${SCP_BASE} ${SSH_HOST}:${REMOTE_DEPLOY_DIR}"/*.log" ${PACKAGING_RESULT_DIR}/ - - if [ "$?" -ne "0" ]; then - echo " !! Cannot retrieve remote files" - NON_FATAL_ERRORS="${NON_FATAL_ERRORS} !! Error when packaging for ${MACHINE}\n" - fi + echo "${MACHINE} : Cannot deploy packaging system" >> ${PACKAGING_RESULT_DIR}/stats.log + else + + echo "Launch remote build" + ${SSH_BASE} "cd ${REMOTE_DEPLOY_DIR} && ./build-packages.sh ${RELEASE_MODE}" + + if [ "$?" -ne "0" ]; then + echo " !! Error during remote packaging process" + echo "${MACHINE} : Error during remote packaging process" >> ${PACKAGING_RESULT_DIR}/stats.log + else + + echo "Retrieve dists and log files (current tag is ${TAG})" + ${SCP_BASE} ${SSH_HOST}:${REMOTE_DEPLOY_DIR}/deb ${PACKAGING_RESULT_DIR}/ >/dev/null 2>&1 + ${SCP_BASE} ${SSH_HOST}:${REMOTE_DEPLOY_DIR}/rpm ${PACKAGING_RESULT_DIR}/ >/dev/null 2>&1 + ${SCP_BASE} ${SSH_HOST}:${REMOTE_DEPLOY_DIR}"/*.log" ${PACKAGING_RESULT_DIR}/ + + if [ "$?" -ne "0" ]; then + echo " !! Cannot retrieve remote files" + echo "${MACHINE} : Cannot retrieve remote files" >> ${PACKAGING_RESULT_DIR}/stats.log + else + echo "${MACHINE} : OK" >> ${PACKAGING_RESULT_DIR}/stats.log + fi + fi + fi if [ "${VM_STATE}" = "running" ]; then echo "Leave machine running" diff --git a/tools/build-system/send-emails.sh b/tools/build-system/send-emails.sh index b0b2612cc8..4b9c7d52bc 100755 --- a/tools/build-system/send-emails.sh +++ b/tools/build-system/send-emails.sh @@ -7,7 +7,7 @@ # Author: Julien Bonjean (julien@bonjean.info) # # Creation Date: 2009-04-20 -# Last Modified: 2009-05-29 18:09:44 -0400 +# Last Modified: 2009-06-01 18:11:20 -0400 ##################################################### TAG=`date +%Y-%m-%d` @@ -34,7 +34,7 @@ else # uuencode $i $(basename $i) # done # ) - echo | mail -s "${MAIL_SUBJECT}" -c emmanuel.milou@savoirfairelinux.com julien.bonjean@savoirfairelinux.com + cat ${PACKAGING_RESULT_DIR}/stats.log | mail -s "${MAIL_SUBJECT}" -c emmanuel.milou@savoirfairelinux.com julien.bonjean@savoirfairelinux.com fi exit 0 -- GitLab