Skip to content
Snippets Groups Projects
  • Amin Bandali's avatar
    43c2197e
    packaging: Update release tarball name and version scheme. · 43c2197e
    Amin Bandali authored and Sébastien Blin's avatar Sébastien Blin committed
    * 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
    43c2197e
    History
    packaging: Update release tarball name and version scheme.
    Amin Bandali authored and Sébastien Blin's avatar Sébastien Blin committed
    * 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
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitignore 495 B
*.user
doc/Doxyfile

GeneratedFiles/
.vs/
.vscode/
x64/
x86/
[wW]in32/
.qmake.stash
debug/
release/
beta/
*.dll
*.qm
nuget.exe
*.autosave
changelog.html
obj/
build/
build-local/
build-global/
install/
*.vcxproj
*.vcxproj.filters
*qmlcache.qrc
.deploy.stamp

*.log
*.pid

# auto-gen files
src/app/resources.qrc
src/app/qml.qrc
src/app/constant/JamiResources.qml

# macOS
.DS_Store

# packaging
.tarball-version
tarballs.manifest
jami-*.tar.gz
extras/packaging/gnu-linux/packages/
.docker-image-*