diff --git a/make-ring.py b/make-ring.py index 44cec5077a845c726ec65a4a125b635be71bec49..95272c30bdf93b91661dccca34c5c2e06efd0f7b 100755 --- a/make-ring.py +++ b/make-ring.py @@ -85,7 +85,7 @@ ZYPPER_INSTALL_SCRIPT = [ ZYPPER_DEPENDENCIES = [ # build system 'autoconf', 'autoconf-archive', 'automake', 'cmake', 'make', 'patch', 'gcc-c++', - 'libtool', 'which', 'pandoc','nasm', + 'libtool', 'which', 'pandoc','nasm', 'doxygen', 'graphviz', # contrib dependencies 'curl', 'gzip', 'bzip2', # daemon @@ -112,7 +112,7 @@ ZYPPER_CLIENT_QT_DEPENDENCIES = [ DNF_DEPENDENCIES = [ 'autoconf', 'autoconf-archive', 'automake', 'cmake', 'make', 'speexdsp-devel', 'pulseaudio-libs-devel', - 'libtool', 'dbus-devel', 'expat-devel', 'pcre-devel', + 'libtool', 'dbus-devel', 'expat-devel', 'pcre-devel', 'doxygen', 'graphviz', 'yaml-cpp-devel', 'boost-devel', 'dbus-c++-devel', 'dbus-devel', 'libXext-devel', 'libXfixes-devel', 'yasm', 'speex-devel', 'chrpath', 'check', 'astyle', 'uuid-c++-devel', 'gettext-devel', @@ -135,8 +135,8 @@ DNF_CLIENT_QT_DEPENDENCIES = [ ] APT_DEPENDENCIES = [ - 'autoconf', 'autoconf-archive', 'autopoint', 'automake', 'cmake', 'make', 'dbus', 'doxygen', 'g++', - 'gettext', 'gnome-icon-theme-symbolic', 'libasound2-dev', 'libavcodec-dev', + 'autoconf', 'autoconf-archive', 'autopoint', 'automake', 'cmake', 'make', 'dbus', 'doxygen', 'graphviz', + 'g++', 'gettext', 'gnome-icon-theme-symbolic', 'libasound2-dev', 'libavcodec-dev', 'libavdevice-dev', 'libavformat-dev', 'libboost-dev', 'libclutter-gtk-1.0-dev', 'libcppunit-dev', 'libdbus-1-dev', 'libdbus-c++-dev', 'libebook1.2-dev', 'libexpat1-dev', 'libgnutls28-dev', @@ -163,8 +163,8 @@ APT_CLIENT_QT_DEPENDENCIES = [ ] PACMAN_DEPENDENCIES = [ - 'autoconf', 'autoconf-archive', 'gettext', 'cmake', 'dbus', 'doxygen', 'gcc', - 'ffmpeg', 'boost', 'cppunit', 'libdbus', 'dbus-c++', 'libe-book', 'expat', + 'autoconf', 'autoconf-archive', 'gettext', 'cmake', 'dbus', 'doxygen', 'graphviz', + 'gcc', 'ffmpeg', 'boost', 'cppunit', 'libdbus', 'dbus-c++', 'libe-book', 'expat', 'jack', 'opus', 'pcre', 'libpulse', 'speex', 'speexdsp', 'libtool', 'yaml-cpp', 'qt5-base', 'swig', 'yasm', 'qrencode', 'make', 'patch', 'pkg-config', 'automake', 'libva', 'libnm', 'libvdpau', 'openssl', 'pandoc', 'nasm' @@ -201,27 +201,15 @@ IOS_DEPENDENCIES_UNLINK = [ 'pkg-config*', 'gettext*', 'swiftlint*', 'swiftgen*', 'libtasn' ] -UNINSTALL_SCRIPT = [ - 'make -C daemon uninstall', - 'rm -rf ./lrc/build-global/', - 'rm -rf ./lrc/build-local/', - 'rm -rf ./client-gnome/build-global', - 'rm -rf ./client-gnome/build-local', - 'rm -rf ./client-qt/build-global', - 'rm -rf ./client-qt/build-local', +UNINSTALL_DAEMON_SCRIPT = [ + 'make -C daemon uninstall' ] OSX_UNINSTALL_SCRIPT = [ 'make -C daemon uninstall', - 'rm -rf install/client-macosx', -] - -STOP_SCRIPT = [ - 'xargs kill < daemon.pid', - 'xargs kill < jami-gnome.pid', + 'rm -rf install/client-macosx' ] - def run_powersell_cmd(cmd): p = subprocess.Popen(["powershell.exe", cmd], stdout=sys.stdout) p.communicate() @@ -417,8 +405,25 @@ def run_uninstall(args): if args.distribution == OSX_DISTRIBUTION_NAME: execute_script(OSX_UNINSTALL_SCRIPT) else: - execute_script(UNINSTALL_SCRIPT) - + execute_script(UNINSTALL_DAEMON_SCRIPT) + + CLIENT_SUFFIX = 'qt' if (args.qt is not None) else 'gnome' + INSTALL_DIR = '/build-global' if args.global_install else '/build-local' + + # Client needs to be uninstalled first + if (os.path.exists('./client-' + CLIENT_SUFFIX + INSTALL_DIR)): + UNINSTALL_CLIENT = [ + 'make -C client-' + CLIENT_SUFFIX + INSTALL_DIR + ' uninstall', + 'rm -rf ./client-' + CLIENT_SUFFIX + INSTALL_DIR + ] + execute_script(UNINSTALL_CLIENT) + + if (os.path.exists('./lrc' + INSTALL_DIR)): + UNINSTALL_LRC = [ + 'make -C lrc' + INSTALL_DIR + ' uninstall', + 'rm -rf ./lrc' + INSTALL_DIR + ] + execute_script(UNINSTALL_LRC) def run_run(args): if args.distribution == OSX_DISTRIBUTION_NAME: @@ -459,7 +464,7 @@ def run_run(args): env=run_env ) - with open('jami-gnome.pid', 'w') as f: + with open("jami-" + client_suffix + ".pid", 'w') as f: f.write(str(client_process.pid)+'\n') if args.debug: @@ -495,6 +500,11 @@ def run_run(args): def run_stop(args): + client_suffix = "qt" if (args.qt is not None) else "gnome" + STOP_SCRIPT = [ + 'xargs kill < daemon.pid', + 'xargs kill < jami-' + client_suffix + '.pid' + ] execute_script(STOP_SCRIPT) diff --git a/scripts/install.sh b/scripts/install.sh index 7ea3c4c189e524034f230ea10220906de6377989..be2b9de1d2387182d60531eb805539b7cf753bde 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -167,40 +167,38 @@ cd "${TOP}/${client}" mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" if [ "${client}" = "client-qt" ]; then - if [ -z ${qt5path} ]; then - if command -v qmake &> /dev/null; then - echo "Build client-qt with $(qmake -v)" - qmake PREFIX="${INSTALL}/${client}" .. + if [ "${global}" = "true" ]; then + if [ "${prefix+set}" ]; then + cmake .. -DQT5_VER="${qt5ver}" \ + -DQT5_PATH="${qt5path}" \ + -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \ + -DCMAKE_INSTALL_PREFIX="${prefix}" $static else - echo "Build client-qt with $(qmake-qt5 -v)" # Fedora - qmake-qt5 PREFIX="${INSTALL}/${client}" .. + cmake .. -DQT5_VER="${qt5ver}" \ + -DQT5_PATH="${qt5path}" \ + -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" $static fi else - echo "Build client-qt using Qt ${qt5path}" - eval ${qt5path}/bin/qmake PREFIX="${INSTALL}/${client}" .. + cmake .. -DQT5_VER="${qt5ver}" \ + -DQT5_PATH="${qt5path}" \ + -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \ + -DCMAKE_INSTALL_PREFIX="${INSTALL}/${client}" \ + -DLRC="${INSTALL}/lrc" fi else if [ "${global}" = "true" ]; then - if [ "${prefix+set}" ]; then - cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" -DCMAKE_INSTALL_PREFIX="${prefix}" $static - else - cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" $static - fi + if [ "${prefix+set}" ]; then + cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \ + -DCMAKE_INSTALL_PREFIX="${prefix}" $static + else + cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" $static + fi else - cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \ - -DCMAKE_INSTALL_PREFIX="${INSTALL}/${client}" \ - -DRINGTONE_DIR="${INSTALL}/daemon/share/ring/ringtones" \ - -DLibRingClient_DIR="${INSTALL}/lrc/lib/cmake/LibRingClient" $static + cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \ + -DCMAKE_INSTALL_PREFIX="${INSTALL}/${client}" \ + -DRINGTONE_DIR="${INSTALL}/daemon/share/ring/ringtones" \ + -DLibRingClient_DIR="${INSTALL}/lrc/lib/cmake/LibRingClient" $static fi fi make -j"${proc}" make_install "${global}" "${priv_install}" - -# copy runtime files -if [ ${client} = "client-qt" ]; then - if [ -z ${qt5path} ]; then - python ../copy-runtime-files.py - else - python ../copy-runtime-files.py -q ${qt5path} - fi -fi