packaging: Update release tarball name and version scheme.
* 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
Showing
- .gitignore 7 additions, 0 deletions.gitignore
- extras/packaging/gnu-linux/Jenkinsfile 2 additions, 2 deletionsextras/packaging/gnu-linux/Jenkinsfile
- extras/packaging/gnu-linux/Makefile 18 additions, 18 deletionsextras/packaging/gnu-linux/Makefile
- extras/packaging/gnu-linux/rules/rpm/jami-daemon.spec 8 additions, 8 deletionsextras/packaging/gnu-linux/rules/rpm/jami-daemon.spec
- extras/packaging/gnu-linux/rules/rpm/jami-libclient.spec 1 addition, 1 deletionextras/packaging/gnu-linux/rules/rpm/jami-libclient.spec
- extras/packaging/gnu-linux/rules/rpm/jami-libqt.spec 1 addition, 1 deletionextras/packaging/gnu-linux/rules/rpm/jami-libqt.spec
- extras/packaging/gnu-linux/rules/rpm/jami-qt.spec 1 addition, 1 deletionextras/packaging/gnu-linux/rules/rpm/jami-qt.spec
- extras/packaging/gnu-linux/rules/rpm/jami.spec 9 additions, 9 deletionsextras/packaging/gnu-linux/rules/rpm/jami.spec
- extras/packaging/gnu-linux/scripts/build-package-rpm.sh 3 additions, 3 deletionsextras/packaging/gnu-linux/scripts/build-package-rpm.sh
- extras/packaging/gnu-linux/scripts/build-package-snap.sh 1 addition, 1 deletionextras/packaging/gnu-linux/scripts/build-package-snap.sh
- extras/packaging/gnu-linux/scripts/release-version.sh 35 additions, 0 deletionsextras/packaging/gnu-linux/scripts/release-version.sh
- extras/packaging/gnu-linux/tarballs.manifest 0 additions, 16 deletionsextras/packaging/gnu-linux/tarballs.manifest
Loading
Please register or sign in to comment