The debian installer requires libavcodec60 as a dependency, which is
already included in linuxmint through libavcodec-extra60, creating a
package conflict.
Changes to fix this :
- also accept libavcodec-extra as a dependency as it includes libavcodec
GitLab: #1937
Change-Id: Ia3ab39e6d8bd233414c607ab70fd70af629595b0
The AppStream specification includes both a "metainfo" file format,
which can be used (among other things) to provide metadata about a
specific application, as well as a "catalog" file format used to provide
information about the contents of a repository. This patch adds a
"catalog" file for the Jami repos, which seems to be necessary in order
for some graphical package management applications to be able to launch
or uninstall Jami. In particular, this was an issue with GNOME Software
on all the rpm-based distributions supported by Jami (Fedora, openSUSE,
AlmaLinux).
This patch also fixes a few minor noncompliance issues with the existing
metainfo and .desktop files:
- the metainfo and .desktop files were renamed so that the names'
prefixes match the application's ID as defined by the <id> tag in the
metainfo file (in our case "net.jami.Jami") [1];
- the <br/> tags in the metainfo file were removed (they are not
supported -- metainfo files only allow a very limited number of tags,
not arbitrary html [2]); the list (<ul>) and list item (<li>) tags are
now used instead;
- the invalid categories "Communication" and "Productivity" were removed
[3, 4].
[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/
[2] https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description
[3] https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-categories
[4] https://specifications.freedesktop.org/menu-spec/latest/category-registry.html
GitLab: #1842
Change-Id: I4a8bab79b6e54d02c08f509d7a9196a0a2e1541e
The libpcre3-dev package doesn't exist on Debian testing, which caused
an error when trying to build Dockerfile_debian_testing. Adding the
newer libpcre2-dev package as an alternative in the debian/control file
fixes the issue.
GitLab: #1856
Change-Id: I3f9068a67101597eb2ffe7cb5a358870e7284e5b
This commit adds four patches to fix various issues that were preventing
Qt 6.6.1 from building on Debian testing and Debian unstable. These
patches are backports of fixes that were applied in later versions of
Qt; links to the relevant commits are included in the description at the
top of each patch.
There are also two changes in the Dockerfiles for Debian testing and
Debian unstable:
1) CMake 3.21 is no longer installed via the install-cmake.sh script.
This is not necessary anymore given that Debian testing and Debian
unstable now both come with more recent versions of CMake by default
(3.29 and 3.30 respectively).
2) The libre2-dev package (which is part of the dependencies in
debian-qt/control) is removed from the Docker image in order to force
Qt to build using the bundled version of the RE2 library. This is
necessary because the system version of the library on testing and
unstable (libre2-11) is not compatible with earlier versions due to
an API change, c.f.
https://codereview.qt-project.org/c/qt/qtwebengine/+/516094
GitLab: #1822
Change-Id: I763fb6692949052e2a846b3f4ce54619e6d98108
This is necessary because we use the core20 base snap, which is built
from Ubuntu 20.04 and therefore doesn't have a recent enough version of
PipeWire available by default.
Change-Id: Id039ec446f4b3f0e89b9ec27f37f81cfd6b3587e
The RPM automatic dependency generator adds provides for all
libraries under %{_libdir}. When vendoring libraries you must disable
this behaviour, otherwise other packages that link against Qt will
not pull in the distro qt packages if jami-libqt is already installed
Change-Id: I3f0a018ea12be7f29d04ca4441cbfdebc2efb909
This commit makes the necessary changes to migrate from Qt 6.5.3 to
Qt 6.6.1 and fixes the following issues:
- EditedPopup.qml: "layout polish loop" and "recursive rearrange"
errors (GitLab: #1510) as well as an unreported bug where text was
clipped instead of elided
- BaseContextMenu.qml: QML warning ("Created graphical object was not
placed in the graphics scene.")
The daemon is also bumped in order to include a patch for a build issue
on openSUSE Leap (GitLab: #1552).
GitLab: #1466
Change-Id: I12df2f84067ebe961368879e08ff7ef275d93395
Python2 is removed from Debian stable/unstable and
latest Ubuntu. So, we need to use a newest version of
Qt (here Qt 6.4.3).
Change-Id: I6c8b1eee644aab787d54e467f64011762ffd7548
Ubuntu 23.04 is not yet functional due to python2 missing.
We're working on fixing Jami for Qt 6.4 (they changed the whole video
pipeline and introduced some breaking changes).
Fedora 38 is working fine.
GitLab: #1086
Change-Id: I51bbecdfbcf908e2bf57c4c002ef4216a34d746d
MediaPlayer is crashing on snap for an unknown reason. For now,
the easiest thing is to use the webengine component as it's already
used pretty everywhere and snap is built with.
GitLab: #1037
Change-Id: Ida24f0401bbd5c6a861a7229fb51135652722561
* extras/packaging/gnu-linux/scripts/release-version.sh: Add script
for deriving (reproducibly) a release version. The format will follow
a 'YYYYMMDD.X' scheme, where 'YYYYMMDD' is the date of the last commit
on the current branch, and 'X' the number of releases tagged that day,
starting from zero. Example: the first stable release with a newest
commit date of 2023-01-02 would have a version of '20230102.0', the
subsequent one '20230102.1', and so on. This is derived by counting
the number of git tags with the prefix 'TYPE/YYYYMMDD', where 'TYPE'
is the release type: either 'stable', 'beta', or 'nightly'.
* extras/packaging/gnu-linux/Jenkinsfile: Call the above new script to
derive the release version to use for tagging.
* extras/packaging/gnu-linux/Makefile: Switch from the previous
'jami_YYYYMMDD.hhmm.COMMIT.tar.gz' tarball filename format to
'jami-YYYYMMDD.X.tar.gz'. The new format is shorter, omits the
unnecessary and confusing commit id, and uses dash instead of
underscore. Also, it contains everything in a top-level directory
with the same name as the tarball (without the .tar.gz extensions),
so that 'jami-YYYYMMDD.X.tar.gz' nicely extracts to 'jami-YYYYMMDD.X'.
With these changes, our release tarballs will follow more closely the
related instructions from the GNU maintainers manual:
https://www.gnu.org/prep/maintain/html_node/Distribution-tar-Files.html
Lastly, this change inadvertently 'fixes' a recent issue where the
'extras/ci/client-qt-gnulinux' subdirectory and its contents would be
moved to top-level in the tarball due to one of the tarball transforms
matching the 'client-qt' in the directory's name, replacing the
'extras/ci/client-qt' prefix with 'client-qt', thereby resulting in
'client-qt-gnulinux' being moved to the tarball's top-level.
* .gitignore: Ignore several packaging-related directories and files.
* extras/packaging/gnu-linux/rules/rpm/jami-daemon.spec:
* extras/packaging/gnu-linux/rules/rpm/jami-libclient.spec:
* extras/packaging/gnu-linux/rules/rpm/jami-qt.spec:
* extras/packaging/gnu-linux/rules/rpm/jami.spec: Update the expected
release tarball filename pattern in the 'Source' field. Also replace
references to previous top-level directory name 'client-qt' with the
new one 'jami-%{version}' where needed.
* extras/packaging/gnu-linux/rules/rpm/jami-libqt.spec: Update the
'Source' field to follow new tarball name consistent with the main
Jami release tarball.
* extras/packaging/gnu-linux/scripts/build-package-rpm.sh: Update the
tarball top-level directory pattern for the new format, now passing
the --wildcards option to GNU Tar. Also use a name for the jami-libqt
source tarball that is more consistent with the main Jami release
tarball.
* extras/packaging/gnu-linux/scripts/build-package-snap.sh: Update the
top-level directory pattern for the new format.
* extras/packaging/gnu-linux/tarballs.manifest: Drop file accidentally
checked into git.
Change-Id: I2695f560c0bc5e61fb99dc0244f8fbb8e7026a62
This patch moves already existing packaging scripts from jami-project
into client-qt.
Introduced changes are:
+ WITH_SUBMODULE must search in system lib too because for
packaging client-qt (for rpm) will be built separately, and will
depend on jami-daemon.
+ Fix appdata.xml (replace old wiki with docs.jami.net)
+ path changes (because we build in client-qt not jami-project).
GitLab: #853
Change-Id: I1313830d85c8094fcbcc52e22033a2add7b1e89f