Commit c79ae4d4 authored by Hugo Lefeuvre's avatar Hugo Lefeuvre

packaging: build again ring client binary package

Recent packaging changes removed the ring binary package from ring.cx
and replaced it by ring-all. This is because it doesn't make sense to
most end users to install daemon and client separately. However this
change has broken compatibility with the previous packaging policy, at
the very least because we didn't provide a transition package.

There are two solutions:
1. Provide a transition package
2. Build ring binary package again

Both should work well but 2. has better compatibility with official
Debian/Ubuntu packaging so we opt for this one.

Change-Id: I556ae580126038de7077f91b137adbf1046d59e4
parent ae00a7dd
# Differences and compatibility with official debian.org package
This source package provides two binary packages ring-all and ring-daemon.
This source package provides binary packages ring, ring-all and ring-daemon.
It differs slightly from the official Debian package (the one from debian.org).
ring-daemon: structurally identical to the Debian package, the only difference
potentially being the shipped version of Ring (the debian.org package is
usually older).
ring & ring-daemon: structurally identical to the Debian package, the only
difference potentially being the shipped version of Ring (the debian.org
package from stable is usually older).
ring-all: all-in-one package, ships both the Ring Daemon and the GNOME client.
This package is not available in the debian.org repositories (not needed in the
......@@ -16,11 +16,12 @@ ring-all: all-in-one package, ships both the Ring Daemon and the GNOME client.
- installation of release keys and ring.cx package repository as trusted peers
so Ring can be updated from ring.cx along with system updates
Why not two packages ring and ring-daemon instead of a single all package ?
two packages ring and ring-daemon vs. single all package ?
-> One cannot register a repository in source.list.d and directly use it to
fetch the dependencies. That would require something like an apt update in
the maintscripts and we don't want that. So, it is not possible to have a
one-click-install with two packages.
one-click-install with two packages. That's why we build ring-all for
one-click install.
ring-all conflicts with ring and ring-daemon since they are distributing the
same files.
......
......@@ -61,10 +61,10 @@ Vcs-Browser: https://git.ring.cx/savoirfairelinux/ring-project
Package: ring-all
Architecture: any
Depends: ${shlibs:Depends},
libqt5sql5-sqlite,
${misc:Depends},
gnupg
Depends: libqt5sql5-sqlite,
gnupg,
${shlibs:Depends},
${misc:Depends}
Replaces: ring,
ring-gnome,
ring-daemon
......@@ -78,6 +78,20 @@ Description: Secure and distributed voice, video and chat platform - all in one
.
This package contains the GNOME desktop client and dring, the Ring daemon.
Package: ring
Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends},
ring-daemon (=${binary:Version})
Replaces: ring-gnome
Conflicts: ring-gnome
Description: Secure and distributed voice, video and chat platform - desktop client
Ring (ring.cx) is a secure and distributed voice, video and chat communication
platform that requires no centralized server and leaves the power of privacy
in the hands of the user.
.
This package contains the desktop client: gnome-ring.
Package: ring-daemon
Architecture: any
Depends: ${shlibs:Depends},
......
# We are shipping a .so, but this isn't a library package
package-name-doesnt-match-sonames
no-symbols-control-file
client-gnome/doc/gnome-ring.1
......@@ -14,6 +14,7 @@ endif
# Binary package names
RING_ALL_IN_ONE_PKG_NAME="ring-all"
RING_CLIENT_PKG_NAME="ring"
RING_DAEMON_PKG_NAME="ring-daemon"
%:
......@@ -144,6 +145,23 @@ override_dh_auto_install:
rm -rfv $(CURDIR)/debian/$(RING_DAEMON_PKG_NAME)/usr/lib/*.a
rm -rfv $(CURDIR)/debian/$(RING_DAEMON_PKG_NAME)/usr/lib/*.la
#########################
## Ring client install ##
#########################
## LibRingClient
cd lrc/build && make DESTDIR=$(CURDIR)/debian/$(RING_CLIENT_PKG_NAME) install
rm -rfv $(CURDIR)/debian/$(RING_CLIENT_PKG_NAME)/usr/include
# This is a symlink, should be in -dev package
rm -v $(CURDIR)/debian/$(RING_CLIENT_PKG_NAME)/usr/lib/libringclient.so
# cmake files
rm -rfv $(CURDIR)/debian/$(RING_CLIENT_PKG_NAME)/usr/lib/cmake
## GNOME client
cd client-gnome/build && make DESTDIR=$(CURDIR)/debian/$(RING_CLIENT_PKG_NAME) install
######################
## Ring AiO install ##
######################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment