File: clean-build-and-package

package info (click to toggle)
sonic-visualiser 5.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,744 kB
  • sloc: cpp: 158,888; ansic: 11,920; sh: 1,785; makefile: 517; xml: 64; perl: 31
file content (102 lines) | stat: -rwxr-xr-x 2,344 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/bash

set -eu

case $(git status --porcelain --untracked-files=no) in
    "") ;;
    *) echo "ERROR: Current working copy has been modified - not proceeding"; exit 2;;
esac

mkdir -p packages
echo

. deploy/metadata.sh

if [ -d /Applications ]; then

    archs="x86_64 arm64"
    
    qtdir_x86_64="/Users/cannam/Qt/6.7.2/macos"

    qtdir_arm64="$qtdir_x86_64"

    echo "Proceed to rebuild, package, and sign version $version of $full_name using:"
    for arch in $archs; do
	case "$arch" in
	    x86_64) qtdir="$qtdir_x86_64";;
	    arm64) qtdir="$qtdir_arm64";;
	    *) echo "(internal error, unknown arch)"; exit 1;;
	esac
	echo "-> for arch $arch: Qt dir $qtdir"
	if [ ! -d "$qtdir" ]; then
	    echo "*** ERROR: Qt dir $qtdir does not exist"
	    exit 1
	fi
	qmake=$qtdir/bin/qmake
	if [ ! -f "$qmake" ]; then
	    echo "*** ERROR: qmake not found in $qmake (for Qt dir $qtdir)"
	    exit 1
	fi
	if ! lipo -archs "$qmake" | grep -q "$arch"; then
	    echo "*** ERROR: wrong arch $qmake_arch for qmake $qmake (expected $arch)"
	    exit 1
	fi
    done
    echo -n "[Yn] ? "
    read yn
    case "$yn" in "") ;; [Yy]) ;; *) exit 3;; esac
    echo "Proceeding"

    ./repoint install

    builddirs=""

    for arch in $archs; do

	case "$arch" in
	    x86_64) qtdir="$qtdir_x86_64";;
	    arm64) qtdir="$qtdir_arm64";;
	esac

	builddir="build-$arch"
	
	rm -rf "$builddir"
	PATH="$qtdir/bin:$PATH" arch -$arch meson setup "$builddir" --cross-file=deploy/cross/macos-$arch.txt --buildtype release -Db_lto=true
	ninja -C "$builddir"

	builddirs="$builddirs $builddir"

    done

    rm -rf "$full_app"
    rm -rf "$full_versioned"
    rm -f "$full_dmg"

    deploy/macos/deploy-and-package.sh $builddirs

    mv "$full_dmg" packages/

else

    echo -n "Proceed to rebuild and package version $version [Yn] ? "
    read yn
    case "$yn" in "") ;; [Yy]) ;; *) exit 3;; esac
    echo "Proceeding"

    current=$(git rev-parse --short HEAD)

    ./deploy/linux/build-and-test-appimage.sh

    squashedversion=$(echo "$version" | sed 's/_-//g')

    mv deploy/linux/docker/output/SonicVisualiser-"$current"-x86_64.AppImage \
	packages/SonicVisualiser-"$squashedversion"-x86_64.AppImage

    ./deploy/linux/build-and-test-deb.sh

    mv deploy/linux/docker/output/sonic-visualiser_"$literalversion"_amd64.deb \
	packages/
fi

echo "Done"