Skip to content
Snippets Groups Projects
Unverified Commit d0db1453 authored by Sébastien Blin's avatar Sébastien Blin
Browse files

nightly

Change-Id: Ic523de4442c8b08651cbacf4f22d9a462fb5e62c
parents fdd4c458 f92d911d
No related branches found
No related tags found
No related merge requests found
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
// - Allow publishing from any node, to avoid relying on a single machine. // - Allow publishing from any node, to avoid relying on a single machine.
// Configuration globals. // Configuration globals.
def SUBMODULES = ['daemon', 'lrc', 'lrc-gnome', 'client-gnome', 'client-qt'] def SUBMODULES = ['daemon', 'lrc', 'client-qt']
def TARGETS = [:] def TARGETS = [:]
def REMOTE_HOST = env.SSH_HOST_DL_RING_CX def REMOTE_HOST = env.SSH_HOST_DL_RING_CX
def REMOTE_BASE_DIR = '/srv/repository/ring' def REMOTE_BASE_DIR = '/srv/repository/ring'
......
...@@ -125,7 +125,7 @@ $(RELEASE_TARBALL_FILENAME): tarballs.manifest ...@@ -125,7 +125,7 @@ $(RELEASE_TARBALL_FILENAME): tarballs.manifest
rm -f "$@" rm -f "$@"
mkdir $(TMPDIR)/jami-project mkdir $(TMPDIR)/jami-project
git archive HEAD | tar xf - -C $(TMPDIR)/jami-project git archive HEAD | tar xf - -C $(TMPDIR)/jami-project
for m in daemon lrc lrc-gnome client-gnome client-qt; do \ for m in daemon lrc client-qt; do \
(cd "$$m" && git archive --prefix "$$m/" HEAD \ (cd "$$m" && git archive --prefix "$$m/" HEAD \
| tar xf - -C $(TMPDIR)/jami-project); \ | tar xf - -C $(TMPDIR)/jami-project); \
done done
...@@ -165,6 +165,7 @@ DISTRIBUTIONS := \ ...@@ -165,6 +165,7 @@ DISTRIBUTIONS := \
ubuntu_20.04 \ ubuntu_20.04 \
ubuntu_21.04 \ ubuntu_21.04 \
ubuntu_21.10 \ ubuntu_21.10 \
ubuntu_22.04 \
fedora_33 \ fedora_33 \
fedora_34 \ fedora_34 \
fedora_35 \ fedora_35 \
......
client-qt @ 92829ad3
Subproject commit bef42fb1ce9b4cbd1418bae539d0ac8f75e8a590 Subproject commit 92829ad3e14dc85cf20d1125ad9fda80887c8290
daemon @ dca2eaaa
Subproject commit 0c98f2b1ffd8528ec26a0d4abc67a6de3067263a Subproject commit dca2eaaa4bb672e3e7c2f69ad02c88c0af15c9a2
...@@ -12,6 +12,7 @@ RUN apt-get update && \ ...@@ -12,6 +12,7 @@ RUN apt-get update && \
g++-8 \ g++-8 \
clang \ clang \
clang-tools \ clang-tools \
libarchive-dev \
software-properties-common \ software-properties-common \
libarchive-dev \ libarchive-dev \
wget wget
......
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get clean
RUN apt-get update && \
apt-get install -y -o Acquire::Retries=10 \
devscripts \
equivs \
python-is-python3 \
wget
ADD scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
COPY packaging/rules/debian-qt/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh qt-deps
COPY packaging/rules/debian/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh jami-deps
# Install CMake 3.19 for Qt 6
ADD scripts/install-cmake.sh /opt/install-cmake.sh
RUN /opt/install-cmake.sh
# nodejs
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN apt install nodejs -y
ADD scripts/build-package-debian.sh /opt/build-package-debian.sh
CMD ["/opt/build-package-debian.sh"]
lrc @ 492ff0fe
Subproject commit 0c88ebafe0f640afd74c215533f9315f171e0d8d Subproject commit 492ff0fec3f9f880a923faaae9ca112e560109c9
...@@ -86,8 +86,7 @@ Conflicts: jami, ...@@ -86,8 +86,7 @@ Conflicts: jami,
libqt-jami libqt-jami
Description: One-click install package for Jami Description: One-click install package for Jami
This package only exists to provide an easy installation user experience. This package only exists to provide an easy installation user experience.
To install the default client, install the 'jami' package. To install To install the default client, install the 'jami' package.
the GNOME client, install the 'jami-gnome' package.
Package: jami Package: jami
Architecture: any Architecture: any
...@@ -109,7 +108,8 @@ Package: jami-gnome ...@@ -109,7 +108,8 @@ Package: jami-gnome
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, Depends: ${shlibs:Depends},
${misc:Depends}, ${misc:Depends},
jami-libclient-gnome (=${binary:Version}) jami-libclient-gnome (=${binary:Version}),
libqt-jami (>= 6.2.3)
Description: Secure and distributed voice, video and chat platform - desktop client Description: Secure and distributed voice, video and chat platform - desktop client
Jami (jami.net) is a secure and distributed voice, video and chat communication Jami (jami.net) is a secure and distributed voice, video and chat communication
platform that requires no centralized server and leaves the power of privacy platform that requires no centralized server and leaves the power of privacy
......
...@@ -105,6 +105,8 @@ if [ -f /etc/os-release ]; then ...@@ -105,6 +105,8 @@ if [ -f /etc/os-release ]; then
ENDTAG="ubuntu_21.04" ENDTAG="ubuntu_21.04"
elif [ "${UBUNTU_CODENAME}" = "impish" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_21.10" ]; then elif [ "${UBUNTU_CODENAME}" = "impish" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_21.10" ]; then
ENDTAG="ubuntu_21.10" ENDTAG="ubuntu_21.10"
elif [ "${UBUNTU_CODENAME}" = "jammy" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_22.04" ]; then
ENDTAG="ubuntu_22.04"
elif [ "${ID}" = "debian" ] && \ elif [ "${ID}" = "debian" ] && \
[ "$(command -v lsb_release)" ] && \ [ "$(command -v lsb_release)" ] && \
[ "$(lsb_release -rs)" = "testing" ]; then [ "$(lsb_release -rs)" = "testing" ]; then
......
...@@ -24,9 +24,7 @@ endif ...@@ -24,9 +24,7 @@ endif
# Binary package names # Binary package names
JAMI_ALL_IN_ONE_PKG_NAME="jami-all" JAMI_ALL_IN_ONE_PKG_NAME="jami-all"
JAMI_CLIENT_PKG_NAME="jami" JAMI_CLIENT_PKG_NAME="jami"
JAMI_CLIENT_GNOME_PKG_NAME="jami-gnome"
JAMI_LIB_CLIENT_PKG_NAME="jami-libclient" JAMI_LIB_CLIENT_PKG_NAME="jami-libclient"
JAMI_LIB_CLIENT_GNOME_PKG_NAME="jami-libclient-gnome"
JAMI_DAEMON_PKG_NAME="jami-daemon" JAMI_DAEMON_PKG_NAME="jami-daemon"
# Bundled packages from contrib # Bundled packages from contrib
...@@ -36,7 +34,7 @@ ifeq (debian_10,$(findstring debian_10, $(DISTRIBUTION))) ...@@ -36,7 +34,7 @@ ifeq (debian_10,$(findstring debian_10, $(DISTRIBUTION)))
BUNDLED_PKGS="--disable-libarchive" BUNDLED_PKGS="--disable-libarchive"
endif endif
ifeq (ubuntu_18.04,$(findstring ubuntu_18.04, $(DISTRIBUTION))) ifeq (ubuntu_18.04,$(findstring ubuntu_18.04, $(DISTRIBUTION)))
# Daemon's bundled libarchive does not build on Debian 10 # Daemon's bundled libarchive does not build on Ubuntu 18.04
BUNDLED_PKGS="--disable-libarchive" BUNDLED_PKGS="--disable-libarchive"
endif endif
ifeq (raspbian_10_armhf,$(findstring raspbian_10_armhf, $(DISTRIBUTION))) ifeq (raspbian_10_armhf,$(findstring raspbian_10_armhf, $(DISTRIBUTION)))
...@@ -109,38 +107,9 @@ override_dh_auto_build: ...@@ -109,38 +107,9 @@ override_dh_auto_build:
-DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_LIBDIR=lib \
$(CMAKE_OPTIONS) .. $(CMAKE_OPTIONS) ..
# Libringclient configure (for GNOME client)
cd lrc-gnome && \
mkdir build && \
cd build && \
cmake \
-DRING_BUILD_DIR=$(CURDIR)/daemon/src \
-DENABLE_LIBWRAP=true \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
$(CMAKE_OPTIONS) ..
# libringclient build # libringclient build
make -C lrc/build -j$(NO_CPUS) V=1 make -C lrc/build -j$(NO_CPUS) V=1
# libringclient build (for GNOME client)
make -C lrc-gnome/build -j$(NO_CPUS) V=1
# GNOME client configure
cd client-gnome && \
mkdir build && \
cd build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DLibRingClient_PROJECT_DIR=/$(CURDIR)/lrc-gnome \
-DGSETTINGS_LOCALCOMPILE=OFF \
$(CMAKE_OPTIONS) ..
# GNOME client build
cd client-gnome/web && \
for f in ../../lrc-gnome/src/web-chatview/*.*; do ln -sf "$$f" .; done
make -C client-gnome/build LDFLAGS="-lpthread" -j$(NO_CPUS) V=1
# Qt client configure and build # Qt client configure and build
cd client-qt && \ cd client-qt && \
mkdir build && \ mkdir build && \
...@@ -160,23 +129,6 @@ override_dh_auto_clean: ...@@ -160,23 +129,6 @@ override_dh_auto_clean:
rm -rfv daemon/contrib/native rm -rfv daemon/contrib/native
rm -rfv daemon/jamid.1 rm -rfv daemon/jamid.1
#########################
## libringclient clean ##
#########################
# CMake build system has no distclean target, so use clean.
[ -f lrc/build/Makefile ] && make -C lrc/build clean || true
rm -rfv lrc/build
[ -f lrc-gnome/build/Makefile ] && make -C lrc-gnome/build clean || true
rm -rfv lrc-gnome/build
###########################
##### gnome client clean ##
###########################
# CMake build system has no distclean target, so use clean.
[ -f client-gnome/build/Makefile ] && \
make -C client-gnome/build clean || true
rm -rfv client-gnome/build
##################### #####################
## qt client clean ## ## qt client clean ##
##################### #####################
...@@ -199,22 +151,13 @@ override_dh_auto_install: ...@@ -199,22 +151,13 @@ override_dh_auto_install:
## LibRingClient ## LibRingClient
cd lrc/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME) install cd lrc/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME) install
rm -rfv $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/include rm -rfv $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/include
## LibRingClient (for GNOME client)
cd lrc-gnome/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME) install
rm -rfv $(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)/usr/include
# This is a symlink, should be in -dev package # This is a symlink, should be in -dev package
rm -v $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/lib/libringclient.so rm -v $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/lib/libringclient.so
rm -v $(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)/usr/lib/libringclient.so
# cmake files # cmake files
rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME)/usr/lib/cmake rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME)/usr/lib/cmake
## GNOME client
cd client-gnome/build && \
make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_GNOME_PKG_NAME) install
rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_GNOME_PKG_NAME)/usr/bin/jami
## Qt client ## Qt client
cd client-qt/build && \ cd client-qt/build && \
make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME) install make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME) install
...@@ -251,7 +194,10 @@ override_dh_auto_install: ...@@ -251,7 +194,10 @@ override_dh_auto_install:
make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install
override_dh_shlibdeps: override_dh_shlibdeps:
dh_shlibdeps -- -x$(JAMI_ALL_IN_ONE_PKG_NAME) dh_shlibdeps -- \
-x$(JAMI_ALL_IN_ONE_PKG_NAME) \
-x$(JAMI_LIB_CLIENT_PKG_NAME) \
-x$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)
tmpdir:= $(shell mktemp -d) tmpdir:= $(shell mktemp -d)
workdir:= $(shell pwd) workdir:= $(shell pwd)
......
%define name jami-gnome
%define version RELEASE_VERSION
%define release 0
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
Summary: GNOME desktop client for Jami
Group: Applications/Internet
License: GPLv3+
Vendor: Savoir-faire Linux
URL: https://jami.net/
Source: jami_%{version}.tar.gz
Requires: jami-libclient-gnome = %{version}
# Build dependencies.
BuildRequires: make
BuildRequires: gettext-devel
# Build and runtime dependencies.
BuildRequires: glib2-devel
%if 0%{?fedora} >= 32
BuildRequires: gcc
BuildRequires: cmake
BuildRequires: dbus-devel
BuildRequires: libnotify-devel
BuildRequires: libappindicator-gtk3-devel
BuildRequires: webkitgtk4-devel
%endif
BuildRequires: clutter-devel
BuildRequires: clutter-gtk-devel
BuildRequires: gtk3-devel
BuildRequires: libcanberra-devel
BuildRequires: qrencode-devel
%description
This package contains the GNOME desktop client of Jami. Jami is a free
software for universal communication which respects freedoms and
privacy of its users.
%prep %setup -n jami-project
%build
cd %{_builddir}/jami-project/client-gnome && \
mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DCMAKE_BUILD_TYPE=Debug \
-DGSETTINGS_LOCALCOMPILE=OFF \
..
make -C %{_builddir}/jami-project/client-gnome/build \
LDFLAGS="-lpthread" %{_smp_mflags} V=1
%install
DESTDIR=%{buildroot} make -C %{_builddir}/jami-project/client-gnome/build install
# Only keep /bin/jami-gnome for the GNOME client.
rm -rfv %{buildroot}/%{_bindir}/jami
%files
%defattr(-,root,root,-)
%{_bindir}/jami-gnome
%{_datadir}/applications/jami-gnome.desktop
%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml
%{_datadir}/icons/hicolor/scalable/apps/jami-gnome.svg
%{_datadir}/icons/hicolor/scalable/apps/jami-gnome-new.svg
%{_datadir}/jami-gnome
%{_datadir}/locale/*
%{_datadir}/metainfo/jami-gnome.appdata.xml
%{_datadir}/sounds/jami-gnome
%define name jami-libclient-gnome
%define version RELEASE_VERSION
%define release 0
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
Summary: Client library for Jami GNOME
Group: Applications/Internet
License: GPLv3+
Vendor: Savoir-faire Linux
URL: https://jami.net/
Source: jami_%{version}.tar.gz
Requires: jami-daemon = %{version}
# Build dependencies
BuildRequires: jami-daemon-devel = %{version}
Requires: jami-libqt
BuildRequires: make
%if 0%{?fedora} >= 32
BuildRequires: NetworkManager-libnm-devel
BuildRequires: cmake
BuildRequires: gcc-c++
%endif
%description
This package contains the client library of Jami GNOME, a free
software for universal communication which respects freedoms and
privacy of its users.
%prep
%setup -n jami-project
%build
# Qt-related variables
cd %{_builddir}/jami-project/lrc-gnome && \
mkdir build && cd build && \
cmake -DRING_BUILD_DIR=%{_builddir}/jami-project/daemon/src \
-DENABLE_LIBWRAP=true \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DCMAKE_BUILD_TYPE=Release \
..
make -C %{_builddir}/jami-project/lrc-gnome/build %{_smp_mflags} V=1
%install
DESTDIR=%{buildroot} make -C lrc-gnome/build install
%files
%defattr(-,root,root,-)
%{_libdir}/libringclient.so.1.0.0
%{_datadir}/libringclient
%package devel
Summary: Development files of the Jami GNOME client library
%description devel
This package contains the header files and the unversioned shared
library for developing with the Jami client library.
%files devel
%{_includedir}/libringclient
%{_libdir}/cmake/LibRingClient
# The following is a symbolic link.
%{_libdir}/libringclient.so
%post
/sbin/ldconfig
%postun
/sbin/ldconfig
...@@ -132,13 +132,6 @@ rpmbuild --define "debug_package %{nil}" -ba jami-libclient.spec ...@@ -132,13 +132,6 @@ rpmbuild --define "debug_package %{nil}" -ba jami-libclient.spec
rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-* rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-*
rpmbuild --define "debug_package %{nil}" -ba jami-qt.spec rpmbuild --define "debug_package %{nil}" -ba jami-qt.spec
# Uninstall the client library, build and install the client library
# version specific to the GNOME client, and build the GNOME client.
rpm --erase $(rpm --query --all 'jami-libclient*')
rpmbuild --define "debug_package %{nil}" -ba jami-libclient-gnome.spec
rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-gnome-*
rpmbuild --define "debug_package %{nil}" -ba jami-gnome.spec
# Move the built packages to the output directory. # Move the built packages to the output directory.
mv /root/rpmbuild/RPMS/*/* /opt/output mv /root/rpmbuild/RPMS/*/* /opt/output
touch /opt/output/.packages-built touch /opt/output/.packages-built
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
git submodule foreach "git pull origin master" git submodule foreach "git pull origin master"
git add client-android \ git add client-android \
client-gnome \
client-ios \ client-ios \
client-macosx \ client-macosx \
client-qt \ client-qt \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment