Skip to content
Snippets Groups Projects
  1. Aug 25, 2021
  2. Aug 21, 2021
    • Maxim Cournoyer's avatar
      Makefile: Repatriate the definition of packaging targets. · 004fda67
      Maxim Cournoyer authored and Amin Bandali's avatar Amin Bandali committed
      Prior to this change, the Makefile packaging targets were generated by
      a Python script, supposedly to reduce boilerplate.  Make is able to
      programmatically define rules, so use its features instead.
      
      The packaging targets 'package-' prefix is dropped, making the targets
      names match the distribution directly, such as 'ubuntu_20.04'.
      
      The docker *-ro bind mounts are dropped; instead only the release
      tarball file name is exposed to the containers as *the* source, which
      makes it unambiguous as to which sources are used.
      
      The files related to RHEL builds are removed, as the RHEL build is
      known to be broken and isn't being used.
      
      * Makefile (DISTRIBUTIONS): New variable.
      (make-docker-package-target): New function.
      (docker/Dockerfile-snap): Adjust accordingly.
      docker/*: Standardize to use hyphens instead of a mix of hyphens and
      underscores.
      * docker/Dockerfile_rhel_8: Delete file.
      * docker/profile-seccomp-fedora_28.json: Delete file.
      * scripts/make-packaging-target.py: Delete file.
      * Jenkinsfile: Adjust accordingly.
      
      Change-Id: I2dc42b489a54b177ad038398a9d23a2a7e3007ec
      004fda67
  3. Aug 20, 2021
  4. Aug 19, 2021
  5. Aug 16, 2021
  6. Jul 30, 2021
    • Maxim Cournoyer's avatar
      scripts: deploy: Upgrade to newer createrepo_c. · c2194e4c
      Maxim Cournoyer authored
      The old 'createrepo' has been deprecated and is no longer offered in
      current distributions.  Its replacement should be mostly backward
      compatible.
      
      * scripts/deploy-packages.sh: List requirements.
      (enabled)<createrepo>: Adjust to use createrepo_c'.
      
      Change-Id: Ie3e658dd1ea685558b07d6c9b969be7ad3a98050
      c2194e4c
  7. Jun 29, 2021
    • Maxim Cournoyer's avatar
      packaging: Adjust following the relocation of the ringtones. · 15dd42ec
      Maxim Cournoyer authored
      This is a follow up to the f0fb8148ba7f453d73e31e1cece2dcffae68e878
      commit (Use the PROGSHAREDIR macro to refer to the custom datadir) in
      the daemon, that moved the ringtones from a hard-coded location of
      /usr/share/ring/ringtones to $datadir/jami/ringtones.
      
      * packaging/rules/rpm/jami-daemon.spec (%files): Adjust accordingly.
      * scripts/install.sh (client_cmake_flags) <DRINGTONE_DIR>: Likewise.
      
      Change-Id: Ia9d3403f5600a4ab4eefe28ee20611afc3f5e8b0
      Unverified
      15dd42ec
  8. Jun 28, 2021
    • Maxim Cournoyer's avatar
      docker: Allow interrupting packaging jobs with C-c. · 420b205d
      Maxim Cournoyer authored
      Use the recommended exec syntax for the CMD directive in the
      Dockerfiles, which invokes the command directly rather than through an
      intermediate shell.  Also provide the -i option, but conditionally as
      Docker checks if there is a real TTY to connect to, which is not the
      case in Jenkins.
      
      * scripts/make-packaging-target.py (PACKAGE_*_DOCKER_RUN_COMMAND)
      [IS_SHELL_INTERACTIVE]: Conditionally provide the '-i' option.
      (package-*-interactive) <DOCKER_EXTRA_ARGS>: Remove target-specific variable.
      (DOCKER_EXTRA_ARGS): Move/rename variable to ...
      * Makefile (DOCKER_RUN_EXTRA_ARGS): ... here/this.
      (IS_SHELL_INTERACTIVE): New variable.
      
      The rest of this change was automated using the command:
      
        $ git grep -l CMD | xargs sed -i -E 's,CMD (.*)$,CMD ["\1"],g'
      
      Change-Id: I93ba9ad8115541a7c7f02421384ae01a5b0650ad
      Unverified
      420b205d
    • Maxim Cournoyer's avatar
      build-package-rpm: Cache Qt tarball. · 3725c504
      Maxim Cournoyer authored
      Also make the script more readable by factoring out variables to avoid
      repeating ourselves.
      
      Change-Id: I30e85fb7b0a1207a8eff3a89d8c7ab4f455e0c4a
      Unverified
      3725c504
    • Maxim Cournoyer's avatar
      packaging: Deploy the Ubuntu debug symbol packages. · c9803565
      Maxim Cournoyer authored
      * scripts/build-package-debian.sh: Revert glob pattern to *deb and add comment.
      * scripts/deploy-packages.sh (package_deb): Rename .ddeb to .deb.
      
      Change-Id: I46bd9855bec451102a5ef5046f9ac52b161559c5
      Unverified
      c9803565
  9. Jun 25, 2021
  10. Jun 08, 2021
    • Amin Bandali's avatar
      packaging: simplify build of libqt-jami deb packages · 027bd5e2
      Amin Bandali authored and Sébastien Blin's avatar Sébastien Blin committed
      Since the introduction of libqt-jami deb packages, they were built
      using quite an ugly hack on the Jenkins side.  This patch reworks all
      of that so that libqt-jami is built for each distro version if it was
      not already previously built, or if a force rebuild is specified.
      
      Change-Id: Ib74b747628a007cd0d61b068e0ff9ed80006b93d
      027bd5e2
  11. Jun 04, 2021
    • Amin Bandali's avatar
      packaging: fix snap build · a392a4af
      Amin Bandali authored
      Support for package repositories is no longer experimental, and the
      --enable-experimental-package-repositories flag has been removed as of
      Snapcraft 4.8.
      
      Change-Id: Ie095aaef7806a13ba765941bed480a25f8cae552
      Unverified
      a392a4af
  12. Jun 03, 2021
  13. Jun 02, 2021
  14. Jun 01, 2021
  15. May 27, 2021
  16. May 25, 2021
    • Maxim Cournoyer's avatar
      build.py: Build with verbosity. · f47e94cb
      Maxim Cournoyer authored
      Seeing which commands are executed during the build is useful to debug
      when something goes wrong.
      
      Change-Id: I2acec49b519c9070fbfa2d18d14e2b459c9bc76f
      Unverified
      f47e94cb
    • Maxim Cournoyer's avatar
      scripts: Reduce code duplication for the install.sh script. · 2a0cb09a
      Maxim Cournoyer authored
      The CMake flags list is now built dynamically, allowing to share the
      common flags between the clients and the conditional branches.  Quote
      more arguments as reported by 'shellcheck'.
      
      Change-Id: I0cd845ec733fb8389c4cd9bd74455ba86a602fee
      Unverified
      2a0cb09a
    • Maxim Cournoyer's avatar
      build.py: Do not rebuild the daemon every time. · e098ac56
      Maxim Cournoyer authored
      Running autogen.sh invalidates the build artifacts, causing them to be
      rebuilt every time the 'install' action is invoked, which is wasteful.
      Only invoke autogen.sh when the configure script is missing.
      
      Change-Id: Ib92b3d14e9f44f465f467ee0948fe3fceb5d3bea
      Unverified
      e098ac56
    • Maxim Cournoyer's avatar
      build.py: Build contribs with multiple cores and with debug symbols. · 2f250c14
      Maxim Cournoyer authored
      This hastens the build when using the ./build.py script.  The
      debug symbols are now also kept for the built contribs when the
      --debug option is provided along --install.
      
      Change-Id: Ia5a68456213e8984f5ac8f050131356b324d9777
      Unverified
      2f250c14
    • Maxim Cournoyer's avatar
      scripts: Do not hard-code /bin/bash. · 1551a85e
      Maxim Cournoyer authored
      Instead, use Bash from PATH.  This approach works more reliably on
      distributions not strictly adhering to the File Hierarchy
      Standard (FHS) such as Guix System or NixOS.
      
      Change-Id: Ic7b168d0f4d73f3a1cb1085e9a84600a25d153c5
      Unverified
      1551a85e
    • Maxim Cournoyer's avatar
      build.py: Allow skipping the operating system check. · f69e9fa2
      Maxim Cournoyer authored
      While it's not possible to automatically check and configure the
      dependencies for unknown/unsupported distributions, build.py
      still provides a convenient experience to checkout the sources and
      install Jami locally.  In this mode of operation, the user is expected
      to configure their environment by their own means.
      
      * build.py: Rename Ring to Jami in the document string.  Remove
      unused 'signal' import.
      (choose_distribution): Do not crash when the '/etc/os-release' does
      not exist; return 'Unknown' instead.
      (validate_args): Allow disabling the distribution check when the user
      provides 'no-check' as the value of the --distribution argument, or
      defines the JAMI_BUILD_NO_CHECK environment variable.  Update the
      help documentation.
      * scripts/install.sh (priv_install): Document the arguments.
      
      Change-Id: I41ba2da05771feb6e3f9bc7c087206596063ba81
      Unverified
      f69e9fa2
    • Maxim Cournoyer's avatar
      packaging: debian: Do not alter the source tarball. · 9d5387f0
      Maxim Cournoyer authored
      AFAICT, this was made to clear some supposedly non-redistributable
      files in the sources according to Debian policy.  If there's some
      cleanup to do, we should do so at the level of the common source
      tarball, not in a Debian-specific way.
      
      * packaging/rules/debian/rules (override_dh_auto_configure): Remove
      code repacking tarballs.
      (override_dh_clean, get-orig-source): Remove.
      * packaging/rules/debian/copyright (Files-Excluded): Remove.  Also
      streamline the listing of copyrights to the files part of our tree,
      not in bundled libraries.  Debian-specific requirements can stay in
      the Debian-maintained corresponding packages.
      * scripts/build-package-debian.sh: Streamline, making the release
      tarball the sole input of the process.  Do not build source packages,
      for simplicity (dpkg-source doesn't like our source tarball as-is).
      
      Change-Id: I78a482ab3362e9bba8ffdc0ab60324f94715bfb8
      Unverified
      9d5387f0
  17. May 21, 2021
    • Maxim Cournoyer's avatar
      packaging: Remove unused targets. · 7e29582b
      Maxim Cournoyer authored
      This further reduces the targets set to what the CI currently uses.
      The native ARM (armhf, aarch64) builds are dropped as we are not
      equipped in terms of native hardware to build them and QEMU user
      emulation is too slow.  The remaining i386 builds are removed as they
      are not used by the CI and have or are being phased out by their
      upstreams.
      
      * scripts/make-packaging-target.py
      (DPKG_BASED_SYSTEMS_DOCKER_RUN_OPTIONS): New variable.
      [debian_10]: Use it.
      [debian_10_i386, debian_10_armhf, debian_10_arm64]
      [ubuntu_18.04_i386, ubuntu_18.04_qt_i386]: Delete targets.
      [rhel_8]: Comment out target for now.
      [debian_testing]: Use the above variable.
      [ubuntu_20.04, ubuntu_20.10, ubuntu_21.04]: Likewise.
      * docker/Dockerfile_debian_10_arm64: Delete file.
      * docker/Dockerfile_debian_10_armhf: Likewise.
      * docker/Dockerfile_debian_10_i386: Likewise.
      * docker/Dockerfile_ubuntu_18.04_i386: Likewise.
      * docker/Dockerfile_ubuntu_18.04_qt_i386: Likewise.
      
      Change-Id: Iabb840e7f9a2111afe822e2c05797a651d55e21d
      Unverified
      7e29582b
    • Maxim Cournoyer's avatar
      build: package-snap: Default SNAP_PKG_NAME to 'jami'. · b87dfe4c
      Maxim Cournoyer authored
      This variable is set on the CI; it's nice to have it default to
      something rather than fail.
      
      * scripts/make-packaging-target.py (run_generate_all): Expand
      SNAP_PKG_NAME to 'jami' if unset or null.
      
      Change-Id: Iacc6edd62388c0e803928863e6e53ddd7314379a
      Unverified
      b87dfe4c
  18. May 13, 2021
  19. May 12, 2021
  20. May 04, 2021
    • Sébastien Blin's avatar
      ubuntu: package client-qt on 21.04 · 6cd87423
      Sébastien Blin authored
      Change-Id: Iaf5f84533e2eb6d7efc9f52b1aab3846152d9ae8
      6cd87423
    • Maxim Cournoyer's avatar
      packaging: Add jami-libqt to the jami-all package. · 4e969701
      Maxim Cournoyer authored and Sébastien Blin's avatar Sébastien Blin committed
      This makes the current 'jami-all' package the one used for the
      one-click install package.
      
      * packaging/rules/debian/rules (OCI_INSTALL_DIR): New variable.
      (override_dh_auto_install): Extend rule to install the files of the
      jami-libqt package.  Do not include the jami-gnome in jami-all.
      * packaging/rules/debian/control (jami-all): Update description.
      * packaging/rules/debian-one-click-install: Delete directory.
      * packaging/rules/debian-one-click-install/jami-all.postinst: Move to ...
      * packaging/rules/debian/jami-all.postinst: ... here.
      * scripts/make-packaging-target.py: Remove all OCI-specific targets.
      * scripts/deploy-packages.sh (package_deb) [jami-all]: Do not add
      package to the apt repository.
      [manual-download]: Look for the jami-all package from the main
      distribution directory, not in a '_oci' suffixed version.
      
      GitLab: jami-client-qt#263
      Change-Id: I4cacf26355c767d1c77b1ce478b184023481b674
      4e969701
  21. May 01, 2021
    • Maxim Cournoyer's avatar
      maint: Completely get rid of OVERRIDE_PACKAGING_DIR. · 7ae79f80
      Maxim Cournoyer authored
      This is a follow-up to commit
      47b1b0151d6c3703ee25c0050cd2031ab7edae4c, which removed it from the
      make-packaging-target.py script.
      
      * docker/Dockerfile_debian_10: Remove support code for
      OVERRIDE_PACKAGING_DIR.
      * docker/Dockerfile_debian_10_arm64: Likewise.
      * docker/Dockerfile_debian_10_armhf: Likewise.
      * docker/Dockerfile_debian_10_i386: Likewise.
      * docker/Dockerfile_debian_10_qt: Likewise.
      * docker/Dockerfile_ubuntu_18.04: Likewise.
      * docker/Dockerfile_ubuntu_18.04_i386: Likewise.
      * docker/Dockerfile_ubuntu_18.04_qt: Likewise.
      * docker/Dockerfile_ubuntu_18.04_qt_i386: Likewise.
      * docker/Dockerfile_ubuntu_20.04: Likewise.
      * docker/Dockerfile_ubuntu_20.04_qt: Likewise.
      * docker/Dockerfile_ubuntu_20.10: Likewise.
      * docker/Dockerfile_ubuntu_20.10_qt: Likewise.
      * scripts/build-package-debian-qt.sh: Likewise.
      * scripts/build-package-debian.sh: Likewise.
      
      Change-Id: Ia15961fe1ccc05222d43da2bdded819f95315aae
      Unverified
      7ae79f80
    • Maxim Cournoyer's avatar
      maint: Fix typos, shebang and simplify a conditional. · 98b22dff
      Maxim Cournoyer authored and Maxim Cournoyer's avatar Maxim Cournoyer committed
      * scripts/deploy-packages.sh: Use /usr/bin/env as the shebang as it is
      more susceptible to work on all systems (e.g. Guix System).  Fix typo
      in header comment.
      (package_deb) [qt]: Use a Bash regexp test and an if instead of a case.
      
      Change-Id: Ifa986ddb3bcbea8bacc6af8e510dc64b938588f4
      Unverified
      98b22dff
    • Maxim Cournoyer's avatar
      maint: Fix typo in deploy script. · c20cb478
      Maxim Cournoyer authored and Maxim Cournoyer's avatar Maxim Cournoyer committed
      Via: sed 's/REPOSITOIRY/REPOSITORY/g'. scripts/deploy-packages.sh
      Change-Id: I875ce951e7696f8778acea80b994e95435990f85
      Unverified
      c20cb478
    • Maxim Cournoyer's avatar
      maint: Remove debian_packaging_override arguments. · e93afd48
      Maxim Cournoyer authored and Maxim Cournoyer's avatar Maxim Cournoyer committed
      These are no longer supported by the script and cause errors.
      
      * scripts/make-packaging-target.py (run_generate_all)
      [debian_packaging_override]: Remove arguments.
      
      Change-Id: I5211a8f6e67cd52e1e1a136acf1e58fbe37ec76b
      Unverified
      e93afd48
    • Amin Bandali's avatar
      debian: build and package client-qt · 6d0caec2
      Amin Bandali authored and Maxim Cournoyer's avatar Maxim Cournoyer committed
      Also remove unused DEBIAN_PACKAGING_OVERRIDE.
      
      Change-Id: Ida109a811bebd1fb46fd1a8b90fb5463518382c0
      Unverified
      6d0caec2
    • Amin Bandali's avatar
      debian: build and package our own Qt · 019583c0
      Amin Bandali authored and Maxim Cournoyer's avatar Maxim Cournoyer committed
      Change-Id: I983607f226476c32a6862a41b55ca1b13a2c010b
      Unverified
      019583c0
  22. Apr 30, 2021
Loading