[gtk-vnc] build: switch to use meson for making releases
- From: Daniel P. Berrange <dberrange src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk-vnc] build: switch to use meson for making releases
- Date: Tue, 6 Aug 2019 13:39:07 +0000 (UTC)
commit a3e0195049471ce58165915b65dfe994ff5e6cf0
Author: Daniel P. Berrangé <berrange redhat com>
Date: Mon Aug 5 18:03:36 2019 +0100
build: switch to use meson for making releases
Signed-off-by: Daniel P. Berrangé <berrange redhat com>
build-aux/make-dist | 37 +++++++++++++++++++++
prepare-release.sh | 94 +++++++++++++++++------------------------------------
2 files changed, 67 insertions(+), 64 deletions(-)
---
diff --git a/build-aux/make-dist b/build-aux/make-dist
new file mode 100755
index 0000000..63b869e
--- /dev/null
+++ b/build-aux/make-dist
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+set -e
+
+BUILDDIR=$1
+
+test -z "$BUILDDIR" && BUILDDIR=build
+
+VERSION=`grep 'version:' meson.build | head -1 | awk '{print $2}' | sed -e "s/'//g" -e "s/,//"`
+DISTNAME=gtk-vnc-$VERSION
+DISTDIR=$BUILDDIR/$DISTNAME
+
+rm -rf $DISTDIR
+mkdir -p $DISTDIR
+
+git clone --shared . $DISTDIR
+rm -rf $DISTDIR/.git
+
+for p in subprojects/*
+do
+ git clone --shared $p $DISTDIR/$p
+ rm -rf $DISTDIR/$p/.git
+done
+
+build-aux/gitlog-to-changelog > $DISTDIR/ChangeLog
+
+out="`git log --pretty=format:' %aN <%aE>' | sort -u`"
+perl -p -e "s/#authorslist#// and print '$out'" < AUTHORS.in > $DISTDIR/AUTHORS
+rm -f $DISTDIR/AUTHORS.in
+
+perl -p -e "s/\@VERSION\@/$VERSION/" gtk-vnc.spec.in > $DISTDIR/gtk-vnc.spec
+
+cd $BUILDDIR
+tar Jcf $DISTNAME.tar.xz $DISTNAME/
+rm -rf $DISTNAME
+
+echo "Created $DISTDIR.tar.xz"
diff --git a/prepare-release.sh b/prepare-release.sh
index 3868480..9297c4a 100755
--- a/prepare-release.sh
+++ b/prepare-release.sh
@@ -3,81 +3,47 @@
set -e
set -v
-test -n "$1" && RESULTS=$1 || RESULTS=results.log
-: ${AUTOBUILD_INSTALL_ROOT=$HOME/builder}
+rm -rf build vroot
-# Make things clean.
-test -f Makefile && make -k distclean || :
+INSTALL_ROOT=`pwd`/vroot
-rm -rf build
-mkdir build
-cd build
+meson --prefix="$INSTALL_ROOT" build/native
-../autogen.sh --prefix=$AUTOBUILD_INSTALL_ROOT \
- --enable-werror
+ninja -C build/native install
-make
-make install
+ninja -C build/native syntax-check
-# set -o pipefail is a bashism; this use of exec is the POSIX alternative
-exec 3>&1
-st=$(
- exec 4>&1 >&3
- { make syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
-)
-exec 3>&-
-test "$st" = 0
+build-aux/make-dist build/
-rm -f *.tar.gz
-make dist
+rpmbuild --nodeps \
+ --define "_sourcedir `pwd`/build" \
+ -ta --clean build/gtk-vnc*.tar.xz
-if [ -f /usr/bin/rpmbuild ]; then
- rpmbuild --nodeps \
- --define "_sourcedir `pwd`" \
- -ba --clean gtk-vnc.spec
-fi
-
-if [ -x /usr/bin/i686-w64-mingw32-gcc ]; then
- make distclean
-
- PKG_CONFIG_PATH="$AUTOBUILD_INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig" \
- PATH="/usr/i686-w64-mingw32/sys-root/mingw/bin:$PATH" \
- CC="i686-w64-mingw32-gcc" \
- ../configure \
- --build=$(uname -m)-w64-linux \
- --host=i686-w64-mingw32 \
- --without-python \
- --without-sasl \
- --prefix="$AUTOBUILD_INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
- --enable-werror
+if test -x /usr/bin/i686-w64-mingw32-gcc && \
+ test -r /usr/share/mingw/toolchain-mingw32.meson ; then
+ meson build/win32 --prefix="$INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
+ --cross-file="/usr/share/mingw/toolchain-mingw32.meson"
- make
- make install
+ ninja -C build/win32
+ ninja -C build/win32 install
fi
+if test -x /usr/bin/x86_64-w64-mingw32-gcc && \
+ test -r /usr/share/mingw/toolchain-mingw64.meson ; then
+ meson build/win64 --prefix="$INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw" \
+ --cross-file="/usr/share/mingw/toolchain-mingw64.meson"
-if [ -x /usr/bin/x86_64-w64-mingw32-gcc ]; then
- make distclean
-
- PKG_CONFIG_PATH="$AUTOBUILD_INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig" \
- PATH="/usr/x86_64-w64-mingw32/sys-root/mingw/bin:$PATH" \
- CC="x86_64-w64-mingw32-gcc" \
- ../configure \
- --build=$(uname -m)-w64-linux \
- --host=x86_64-w64-mingw32 \
- --without-python \
- --without-sasl \
- --prefix="$AUTOBUILD_INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw" \
- --enable-werror
-
- make
- make install
+ ninja -C build/win64
+ ninja -C build/win64 install
fi
-if test -x /usr/bin/i686-w64-mingw32-gcc && test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
- if [ -f /usr/bin/rpmbuild ]; then
- rpmbuild --nodeps \
- --define "_sourcedir `pwd`" \
- -ba --clean mingw-gtk-vnc.spec
- fi
+if test -x /usr/bin/i686-w64-mingw32-gcc && \
+ test -r /usr/share/mingw/toolchain-mingw32.meson && \
+ test -x /usr/bin/x86_64-w64-mingw32-gcc && \
+ test -r /usr/share/mingw/toolchain-mingw64.meson &&
+ test -f /usr/bin/rpmbuild; then
+
+ rpmbuild --nodeps \
+ --define "_sourcedir `pwd`/build" \
+ -ba --clean build/native/mingw-gtk-vnc.spec
fi
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]