mirror of
https://github.com/savoirfairelinux/jami-client-qt.git
synced 2026-01-03 18:43:17 +08:00
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
This commit is contained in:
committed by
Sébastien Blin
parent
a791ab5a52
commit
43c2197ef1
@@ -10,7 +10,7 @@ Group: Applications/Internet
|
||||
License: GPLv3+
|
||||
Vendor: Savoir-faire Linux
|
||||
URL: https://jami.net/
|
||||
Source: jami_%{version}.tar.gz
|
||||
Source: jami-%{version}.tar.gz
|
||||
Requires: jami-daemon = %{version}
|
||||
|
||||
# Build dependencies
|
||||
@@ -59,14 +59,14 @@ universal communication which respects the freedoms and privacy of its
|
||||
users.
|
||||
|
||||
%prep
|
||||
%setup -n client-qt
|
||||
%setup -n jami-%{version}
|
||||
|
||||
%build
|
||||
CFLAGS="${CFLAGS} -fno-lto"
|
||||
CXXFLAGS="${CXXFLAGS} -fno-lto"
|
||||
# Configure the Jami bundled libraries (ffmpeg & pjproject).
|
||||
mkdir -p daemon/contrib/native
|
||||
cd %{_builddir}/client-qt/daemon/contrib/native && \
|
||||
cd %{_builddir}/jami-%{version}/daemon/contrib/native && \
|
||||
../bootstrap \
|
||||
--no-checksums \
|
||||
--disable-ogg \
|
||||
@@ -83,19 +83,19 @@ cd %{_builddir}/client-qt/daemon/contrib/native && \
|
||||
make %{_smp_mflags} V=1 && \
|
||||
make %{_smp_mflags} V=1 .ffmpeg
|
||||
# Configure the daemon.
|
||||
cd %{_builddir}/client-qt/daemon && \
|
||||
cd %{_builddir}/jami-%{version}/daemon && \
|
||||
./autogen.sh && \
|
||||
./configure \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_libdir}
|
||||
# Build the daemon.
|
||||
make -C %{_builddir}/client-qt/daemon %{_smp_mflags} V=1
|
||||
pod2man %{_builddir}/client-qt/daemon/man/jamid.pod \
|
||||
> %{_builddir}/client-qt/daemon/jamid.1
|
||||
make -C %{_builddir}/jami-%{version}/daemon %{_smp_mflags} V=1
|
||||
pod2man %{_builddir}/jami-%{version}/daemon/man/jamid.pod \
|
||||
> %{_builddir}/jami-%{version}/daemon/jamid.1
|
||||
|
||||
%install
|
||||
DESTDIR=%{buildroot} make -C daemon install
|
||||
cp %{_builddir}/client-qt/daemon/jamid.1 \
|
||||
cp %{_builddir}/jami-%{version}/daemon/jamid.1 \
|
||||
%{buildroot}/%{_mandir}/man1/jamid.1
|
||||
rm -rfv %{buildroot}/%{_libdir}/*.a
|
||||
rm -rfv %{buildroot}/%{_libdir}/*.la
|
||||
|
||||
@@ -15,7 +15,7 @@ Group: Applications/Internet
|
||||
License: GPLv3+
|
||||
Vendor: Savoir-faire Linux
|
||||
URL: https://jami.net/
|
||||
Source: jami_%{version}.tar.gz
|
||||
Source: jami-%{version}.tar.gz
|
||||
|
||||
%description
|
||||
This is a transitional package. Jami libclient has been merged into
|
||||
|
||||
@@ -25,7 +25,7 @@ Group: Applications/Internet
|
||||
License: GPLv3+
|
||||
Vendor: Savoir-faire Linux
|
||||
URL: https://jami.net/
|
||||
Source: jami-qtlib_%{version}.tar.xz
|
||||
Source: jami-libqt-%{version}.tar.xz
|
||||
Patch0: 0001-qtbug-101201-fatal-error-getcurrenkeyboard.patch
|
||||
|
||||
%global gst 0.10
|
||||
|
||||
@@ -15,7 +15,7 @@ Group: Applications/Internet
|
||||
License: GPLv3+
|
||||
Vendor: Savoir-faire Linux
|
||||
URL: https://jami.net/
|
||||
Source: jami_%{version}.tar.gz
|
||||
Source: jami-%{version}.tar.gz
|
||||
Requires: jami
|
||||
|
||||
%description
|
||||
|
||||
@@ -10,7 +10,7 @@ Group: Applications/Internet
|
||||
License: GPLv3+
|
||||
Vendor: Savoir-faire Linux
|
||||
URL: https://jami.net/
|
||||
Source: jami_%{version}.tar.gz
|
||||
Source: jami-%{version}.tar.gz
|
||||
Requires: jami-daemon = %{version}
|
||||
Requires: jami-libqt
|
||||
Provides: jami-qt = %{version}
|
||||
@@ -36,12 +36,12 @@ software for universal communication which respects freedoms and
|
||||
privacy of its users.
|
||||
|
||||
%prep
|
||||
%setup -n client-qt
|
||||
%setup -n jami-%{version}
|
||||
|
||||
%build
|
||||
# Configure and build bundled ffmpeg (for libavutil/avframe).
|
||||
mkdir -p %{_builddir}/client-qt/daemon/contrib/native
|
||||
cd %{_builddir}/client-qt/daemon/contrib/native && \
|
||||
mkdir -p %{_builddir}/jami-%{version}/daemon/contrib/native
|
||||
cd %{_builddir}/jami-%{version}/daemon/contrib/native && \
|
||||
../bootstrap \
|
||||
--no-checksums \
|
||||
--disable-ogg \
|
||||
@@ -57,19 +57,19 @@ cd %{_builddir}/client-qt/daemon/contrib/native && \
|
||||
make fetch && \
|
||||
make %{_smp_mflags} V=1 .ffmpeg
|
||||
# Qt-related variables
|
||||
cd %{_builddir}/client-qt && \
|
||||
cd %{_builddir}/jami-%{version} && \
|
||||
mkdir build && cd build && \
|
||||
cmake -DENABLE_LIBWRAP=true \
|
||||
-DLIBJAMI_BUILD_DIR=%{_builddir}/client-qt/daemon/src \
|
||||
-DLIBJAMI_BUILD_DIR=%{_builddir}/jami-%{version}/daemon/src \
|
||||
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
|
||||
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
|
||||
-DWITH_DAEMON_SUBMODULE=true \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
..
|
||||
make -C %{_builddir}/client-qt/build %{_smp_mflags} V=1
|
||||
make -C %{_builddir}/jami-%{version}/build %{_smp_mflags} V=1
|
||||
|
||||
%install
|
||||
DESTDIR=%{buildroot} make -C %{_builddir}/client-qt/build install
|
||||
DESTDIR=%{buildroot} make -C %{_builddir}/jami-%{version}/build install
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
@@ -81,4 +81,4 @@ DESTDIR=%{buildroot} make -C %{_builddir}/client-qt/build install
|
||||
%{_datadir}/pixmaps/jami.xpm
|
||||
%{_datadir}/metainfo/jami.appdata.xml
|
||||
%{_datadir}/jami/translations/*
|
||||
%doc %{_mandir}/man1/jami*
|
||||
%doc %{_mandir}/man1/jami*
|
||||
|
||||
Reference in New Issue
Block a user