- Jan 28, 2022
-
-
Sébastien Blin authored
Change-Id: I996b402c5eb9b03ea18a0309818c6a52c9d6e236
-
- Jan 14, 2022
-
-
Amin Bandali authored
* Makefile (QT_PATCH): Bump up to 2. (QT_TARBALL_CHECKSUM): Update to Qt 6.2.2 release tarball's sha256sum. * docker/Dockerfile_ubuntu_18.04: Move the nodejs installation earlier in the Dockerfile, as it needs to already be installed by the time we want to install libqt-jami's build dependencies. * packaging/rules/debian-qt/control (libqt-jami) <Build-Depends>: Add missing nodejs (>= 10.19) dependency. jami-packaging#111 Change-Id: Ie15a1f4c7cfb274dc6a1784ce41f5b7383002abe
-
- Jan 12, 2022
-
-
The recently introduced 'guix shell' command automatically manages a cached profile for us; prefer it to 'guix environment', and do away with a channels file, given fixes in Guix have now been incorporated in the main branch. * Makefile (portable-release-tarball)<guix environment>: Replace by 'guix shell'. * build.py (run_dependencies)[guix]: Likewise, and do not use a channels.scm file. (run_install): Likewise, and provide a hint when TARBALLS is not set. * guix/channels.scm: Delete file. * guix/manifest.scm: Adjust comment. Change-Id: I50ca99e51f0ebca136c9bbc5a0ca3063075432b4
-
- Jan 10, 2022
-
-
Maxim Cournoyer authored
Change-Id: I2c7ae1349a69fb24f65ea435fa57fa7cc547c631
-
Maxim Cournoyer authored
Previously, the Jenkinsfile did not publish anything except for the repositories: the release tarball would not get copied to https://dl.jami.net for stable channel, and no commit nor tag would be published for the release. This change addresses these shortcomings with the following changes: 1. Tarballs can be published for the stable channel. 2. Release commits/tags can be published to their corresponding branch (stable/nightly). The RELEASE_VERSION string is also once again derived in a deterministic fashion, from the date of the last commit. * Jenkinsfile (SSH_PRIVATE_KEY): Remove variable. (RING_PUBLIC_KEY_FINGERPRINT): Rename to... (JAMI_PUBLIC_KEY_FINGERPRINT): ... this. (GIT_USER_EMAIL, GIT_USER_NAME, GIT_PUSH_URL) (JENKINS_SSH_KEY, DL_SSH_KEY): New variables. (params.DEPLOY): Fix description. (Checkout channel branch): New stage. (Generate release tarball): Also commit and tag. (Publish release artifacts): New stage to publish conditionally based on the DEPLOY parameter and the selected channel. (Sign & deploy packages): Use the 'sshagent' step to setup SSH access. <--remote-ssh-identity-file>: Remove argument. <--keyid>: Adjust variable name. * scripts/deploy-packages.sh (package_snap): Simplify. Change-Id: I9008ecc2a4ef9820dbc96e26c966ae72110d897d
-
- Dec 28, 2021
-
-
Sébastien Blin authored
tumbleweed is broken since months (zypper crashes on the docker image) and no issue remounted, also we support guix and snap for this platforms. Change-Id: I0de908ba91eeeaf42c0d2599b3d69924fbcb7920
-
Sébastien Blin authored
https: //git.jami.net/savoirfairelinux/jami-packaging/-/issues/111 Change-Id: I481e71d9650ce738c3211448aadd1d93478d84dc
-
- Dec 07, 2021
-
-
Sébastien Blin authored
else version seems broken. Change-Id: I4059b4dfa752d4c608eafc485867af28f1232602
-
Sébastien Blin authored
Change-Id: I8d78545a23e75d7d9ca016eb00cea3e3094c73ac
-
- Nov 04, 2021
-
-
Sébastien Blin authored
Change-Id: I54ef1d4adc7823fe3a38cd9ff7e7ee9af6a774bb
-
- Oct 22, 2021
-
-
Maxim Cournoyer authored
The deb-pack targets build a Guix pack of the jami-qt client in the .deb format, ready to be installed on any dpkg-based GNU/Linux distribution. * Makefile (RELEASE_VERSION, RELEASE_TARBALL_FILENAME): Export variables. (has-guix-p): New target, to be used as a predicate. (portable-release-tarball): Rewrite in terms of the above. (SUPPORTED_GNU_ARCHS, DEB_PACKS, DEB_PACK_TARGETS): New variables. (guix-pack-command, define-deb-pack-rule): Likewise. (deb-pack-x86_64, deb-pack-i686): New targets. (PACKAGE-TARGETS): Register them. * guix/guix-pack-manifest.scm: New file. * guix/guix-pack-deb.postinst: Likewise. * guix/manifest.scm: Specify qtbase to be at version 5, as Guix now has version 6 too. * packaging/rules/debian/jami-all.postinst: Harmonize. * scripts/deploy-packages.sh (package): Simplify and register the 'guix-deb-pack' distribution. * Jenkinsfile (Sign & deploy packages): Simplify to deploy all the packages subdirectories. This makes it easier to handle multi-arch packages for the same distribution, and removes the need to encode the distribution information in the target name. Change-Id: Id6f69e7a5872a39b4b8f50fa09c8ec3475e9c896
-
- Sep 29, 2021
-
-
Sébastien Blin authored
Change-Id: I195452f1b14a835d08b4e1be734b7a9bd880ef8a
-
- Aug 21, 2021
-
-
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
-
- Aug 20, 2021
-
-
Change-Id: I99a20bcf357032a6fcf689265c93670dcf65b8b7
-
- Aug 09, 2021
-
-
* Makefile (portable-release-tarball): Do expose SSL_CERT_FILE directly; expose SSL_CERT_DIR as /etc/ssl/certs instead, which is where GnuTLS (hence wget) looks. Change-Id: If827b33134a0846317efc0034ed27bd122334e23
-
- Jul 06, 2021
-
-
Maxim Cournoyer authored
* Makefile (TAR_REPRODUCIBILITY_OPTIONS): New variable. $(RELEASE_TARBALL_FILENAME): Invoke tar with the above options. Invoke gzip with '--no-name', to prevent keeping the file name and time stamp. Change-Id: I64cac307c69cbfbdb7132b1f567f1c3f18baad8c
-
- Jun 28, 2021
-
-
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
-
- May 25, 2021
-
-
Maxim Cournoyer authored
When a .tarball-version file containing the version string is present, it is taken for granted that the source tarball is present. This allows to lift the requirement on a Git checkout to use the source tarball. This makes it easy and cheap to sync this tarball and accompanying .tarball-version file across different Jenkins agents to distribute the packaging jobs, bring the total build time from about 1 h 40 to 40 minutes. * Makefile (TARBALL_VERSION): New variable. When defined, do not do not invoke Git to derive the version string, simply use it. [RELEASE_TARBALL_FILENAME]: Do not compute prerequisites when TARBALL_VERSION is defined; assume the tarball is present. * .gitignore: Ignore .tarball-version. * Jenkinsfile: (Generate release tarball): Generate a .tarball-version file, and stash it along the release tarball. Explicit this should run on a 'guix' agent. (Build packages): Forward to any 'linux-builder' agent, clean the workspace, unstash and extract the tarball and build. GitLab: jami-packaging#98 Change-Id: I13088b75c9ccd5166662a84b7c5f8d4e8b7b65da
-
Maxim Cournoyer authored
The phony tarball-producing targets will now always clear the tarballs.manifest file before generating a new release tarball, ensuring it doesn't contain stale information. A new 'portable-release-tarball' target is also added to offer an easy to use target that was previously implemented ad-hoc in the CI. Move this logic here as a portable release tarball is useful for packagers wanting to test locally with the various supported platforms. The Jenkinsfile now makes use of it. * Makefile (daemon/contrib/native/Makefile): New target. (tarballs.manifest): Add the above target as a prerequisite and remove invocation to bootstrap script. Invoke make with --no-print-directory to prevent entering/leaving directory messages from appearing in the output (it's supposed to be on when using --silent, but when the make invocation is nested, it doesn't seem to be the case). (release-tarball): Also clear the tarballs.manifest when invoked. (purge-release-tarballs, portable-release-tarball): New targets. * guix/minimal-manifest.scm: New file. * Jenkinsfile ('Generate release tarball): Use it to spawn the container used to build the release tarball. Also expose /usr/bin/env in the container. Use the new 'portable-release-tarball' target to simplify things. Fix the shebang line; it needs to be the first line of the script. GitLab: jami-packaging#98 Change-Id: I3b55e25933108ae9930bc9fcc867f9fa51d796f2
-
- May 04, 2021
-
-
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
-
- May 01, 2021
-
-
Change-Id: I983607f226476c32a6862a41b55ca1b13a2c010b
-
- Mar 31, 2021
-
-
Maxim Cournoyer authored
* Makefile (release-tarball) <git-archive>: Add the client-qt directory to the release tarball. Change-Id: I994e7a448ddae36821ef4dcca42a462911985089
-
Maxim Cournoyer authored
Change-Id: I68fb4f106f25bc10a80fab1f3e10f9e2702761b2
-
- Feb 26, 2021
-
-
Maxim Cournoyer authored
Previously, the only way to ensure a clean release tarball was to start from scratch, fetching all the contrib sources from the network (> 1 GiB). This change leverages the new 'list-tarballs' targets of the contrib build system to allow reusing the relevant tarballs from the cache when available, which translates to faster builds. It also constructs the pristine source release archive via git-archive, which guards against including unwanted files. Since only the required tarballs are included in the source archive, its size is reduced from 1.4 GiB to 72 MiB. GitLab: jami-packaging#55 Change-Id: I4993b269f3b97f6a4b6b8592aa8b5f4eb5448943
-
Maxim Cournoyer authored
Some tarballs are expensive to generate. It's useful to be able to reuse those. The cleanup is moved to the clean target. Change-Id: Ibe2b379be60dbb4b5c4eea9f0eeae4be84ccdb16
-
Maxim Cournoyer authored
This hack is no longer necessary. The Jenkins nodes are running Docker 19. Change-Id: I8e41e1295a49ebe48b2fca9fa6c91158f49f16c9
-
Maxim Cournoyer authored
Debian 9 packaging is removed as well, not because it is EOL, but because it doesn't have the runtime required to run Jami (the daemon requires C++17 but GCC 6 in Debian stretch doesn't support it). A 'list-package-targets' Make target is also added; it'll be used by the CI. Change-Id: I87a26b14ea48bd17ebccb536f23a5f2637f28743
-
Maxim Cournoyer authored
Rename Makefile.packaging to Makefile, as it's the only one. Makefile.packaging symlinks to it, to preserve backward compatibility for now. Change-Id: I136d01342e9779e9bb7a21b22dd10f54b6ac7064
-
- Feb 05, 2021
-
-
Sébastien Blin authored
This reverts commit c59ff3b3. Reason for revert: Breaks packaging on debian Change-Id: Ia29ff90d7c2dba83d2831f5f81f004532f455311
-
- Feb 03, 2021
-
-
Change-Id: I0df659931adcd5d76912e3fbe2e48eeb4dcb32c1
-
- Dec 09, 2020
-
-
Amin Bandali authored
Change-Id: I5b24b809cec3763c44808fe9f056cba862336531
-
- Nov 18, 2020
-
-
Sébastien Blin authored
Change-Id: I56de10fdfb39d14405cb0e502c472b4dbc112dc0
-
- Oct 22, 2020
-
-
Fix build for opensuse 15.1 Add build for opensuse 15.2 and tumbleweed Change-Id: I561a6f48dc4674efd0a9e83a20bb238d476d29a6
-
- Oct 19, 2020
-
-
Sébastien Blin authored
Change-Id: I6fe7da475e0004278382c4d5a996568557829bf4
-
- Oct 09, 2020
-
-
Sébastien Blin authored
Change-Id: I7f28e39381f33bd42f145e116a0cdc5db9ef10e7
-
- Apr 28, 2020
-
-
Sébastien Blin authored
Change-Id: Ida94131950baf124354b4cb5a521271aaeddee73
-
- Apr 17, 2020
-
-
Sébastien Blin authored
Change-Id: Ic5619dec5e68a18519e7bf64d43a82150c91f73e
-
- Jan 13, 2020
-
-
Adds: * Debian 9 armhf * Debian 9 arm64 * Debian 10 armhf * Debian 10 arm64 * Raspbian 10 armhf * The One Click Install (oci) version for all this items This commit also fix the --generate option in the generated makefile by scripts/make-packaging-target.py and remove the --architecture option there because was not used at any part of the script. Because our builder docker can not docker build with ARM we implemented a workaround called dirty qemu-static is documented and we have a issue to sovle it. The pipeline for packaging-deploy-gnulinux-generic got changed to add the support for the ARM architecture but the OCI build is not enabled because the build including the oci takes long (5 hours or plus). Warning: require companion changes in daemon (topic debian-arm) to ensure the right compilation flags Change-Id: I905bbd4660824670d7de836129886f3d7f1dc83b
-
- Nov 15, 2019
-
-
Change-Id: Iabb7c6a9e77949978ae2cad842440ab658ffbb4b
-
- Nov 14, 2019
-
-
Sébastien Blin authored
Change-Id: I1a4c53ac6a4ee6c16d755e52742eb098b8221a8d
-