This reinstates commit f6c8197cba, which was seemingly reverted by
mistake in 4d2c55348b ("packaging: migrate from Qt 6.2.3 to
6.4.3").
Change-Id: I603e004431be0503be0acdd7ce37fa5aaa4ecd91
- Developer id must be rDns identifier of developer
- Exported icons should match rDNS of app id
- Release version and dates should be included
- Added light and dark branding colours for Flathub banner
- Contact url removed - does not pass appstream validation
Change-Id: Ic5e2a5abeab4310ea87a34cc81363d1851135bcd
The application on linux systems currently has a different build version
built into it than the build version generated on Jenkins which dictates
the filenames for release packages. This commit aims to propagate a
build version defined in the gnu-linux Jenkinsfile down to the
build-package-*.sh scripts.
Changes:
- create build version (timestamp) in Jenkinsfile
- propagate build version to Makefile, then the docker containers that
will execute the build-package-*.sh scripts
GitLab: #2045
Change-Id: Ia7cbb2f707c233741039dc7bfd3e5bd6a96c2270
The application currently has a different build version than the one set
in Jenkins. This causes issues in the crash reports on windows where
they contain a different build version than the one defined on Jenkins.
This leads to the names of the build artifacts on dl.jami.net not
matching the crash report's build version.
Changes:
- Add build version as parameter to the build-windows.py script.
- Propagate build version value to the application through the
BUILD_VERSION symbol.
- Deprecate version.h file and VERSION_STRING symbol.
GitLab: #2045
Change-Id: I7986679aaeebf2bcbbd63a781499f5a50e089712
The output directory for windows builds currently matches either Release
or Beta. This does not work as Beta is only a build option, not a build
type. Changes :
- Change build output directory to match the cmake build type (Release
or Debug)
- Change Beta output path references to Release
Change-Id: Ib513f177d93e3c9fb529e00aa160443ac2e804b5
Qt 6.6.3 doesn't build on AlmaLinux when using the latest available
version of the clang-devel and llvm-devel packages. Going back to an
earlier version fixes the issue.
GitLab: #2051
Change-Id: Ie78699197a129cc8804d073085e53cae525c9281
The Python installation fix in the Dockerfile is obsolete and now causes
the build to fail due to a reference to a directory that no longer
exists.
GitLab: #2019
Change-Id: I5cc9c8c26761e16af41616c02326a8522c00b10d
There is no longer a reason to downgrade GCC now that 14.2.0 is the
default version on Debian unstable, and doing so started causing linking
errors recently due to some system libraries (such as libyaml-cpp.so)
requiring a more recent version of libc than the one used when compiling
with GCC 12.
GitLab: #2018
Change-Id: I19879541c4182886bcd3af5e84f0ba0d237345b6
The --enable-gnutls option was added to the bootstrap command on
Debian-based distributions in jami-project commit 46bdda4 in 2017,
because at the time they built GnuTLS without HeartBeat support. This is
no longer true on the more modern versions of Debian and Ubuntu that we
currently support.
GitLab: #1998
Change-Id: I593682e0f8aeb2015a109980840f373b1306670a
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 Hunspell library was added to the project as a git submodule in
commit 2a72da5, but some packaging scripts were not updated accordingly.
GitLab: #1997
Change-Id: I5e6079fc23aeecfba2076067ecf5c4ed1f5a591a
This commit adds a patch for QWindowKit to ensure that it always
installs its dependency QMSetup in a directory where CMake will be able
to find it. This makes the previous QWindowKit patch unnecessary and
fixes a build issue when packaging Jami on Debian and Ubuntu that
started occurring when QWindowKit was updated in commit 6b70ffc.
GitLab: #1976
Change-Id: I5f23fcbb612aa6d0eb0e77e9a5a006b24a5af082
The ZXing-C++ library was recently added to the project as a git
submodule, but some of the packaging scripts were not updated
accordingly.
GitLab: #1947
Change-Id: Ic5324bd807e30bec44c0e07076b1f38903e12895
This commit adds a parameter to the Windows-specific build script to
supply the crash report URL.
Gitlab: #1454
Change-Id: I9f131354c3e9041d068e399fd432c3f6c8325f51
Provide general improvements to the crash reporting submission services
by adding a separate report access server with a simple UI and updating
the crashpad submission server to use waitress.
- changes crashpad.py to crashpad_submit_server.py
- adds report_access_server.py
- updates README.md
Gitlab: #1454
Change-Id: I4e97f77cf2e2c0bb405064b0187ed3dfc2ee703e
This commit adds a basic crash-report system that can be optionally
configured to automatically send minidump crash-reports in addition
to product versions and a platform description including the OS
name and CPU architecture. Reports can be received at a configured
REST endpoint(POST). This endpoint URL can be configured using
a CMake variable `CRASH_REPORT_URL` which defaults to
"http://localhost:8080/submit".
- Introduces a new CMake option `ENABLE_CRASHREPORTS`, defaulting
to OFF. This allows developers to enable crash reporting features
at build time selectively. We also define a new macro with the
same name to expose the state to QML in order to hide the UI
components if needed.
- Implemented conditional inclusion of crashpad dependencies using
`ENABLE_CRASHREPORTS`. If set, `ENABLE_CRASHPAD` is also enabled
(other crash reporters exist and we may want to use them).
- 2 new application settings are added: `EnableCrashReporting` and
`EnableAutomaticCrashReporting`. Default settings make it so
crash-reports are generated but not automatically sent. With this
default configuration, users will be prompted upon application
start to confirm the report upload. Additionally, users may
opt-in in order to have reports sent automatically at crash-time.
Gitlab: #1454
Change-Id: I53edab2dae210240a99272479381695fce1e221b
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
Sometimes qrencode failed when built from Jenkins.
This patch:
- Uses cmake for build.
- Automatically detect host architecture if none is specified.
Change-Id: I18dc90099e3b9efc531c7887b00fc615f69c50fa
<image> tag must be before <caption> tag
To translate <description>, tag must include xml:lang
Update URL addresses
Update description to include extensions, JAMS etc
GitLab: #1262
Change-Id: I8b313a02b119f5ddeaa2b9d760cac7ac5c147b7a