File: pack-source

package info (click to toggle)
snapd 2.71-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 79,536 kB
  • sloc: ansic: 16,114; sh: 16,105; python: 9,941; makefile: 1,890; exp: 190; awk: 40; xml: 22
file content (70 lines) | stat: -rwxr-xr-x 1,879 bytes parent folder | download
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
#!/bin/bash

set -e

show_help() {
    echo "usage: $(basename "$0") [-v <version>] [-o <output-dir>] [-g] [-h]"
    echo "       -v <version>       set version"
    echo "       -o <output-dir>    write source packages to this directory"
    echo "       -g                 use 'git describe' output as version string"
    echo "       -s                 use single source archive instead of no-vendor and"
    echo "                          only-vendor packages"
    echo "       -h                 show help"
    exit 1
}

if [ ! -e "packaging/$(basename "$0")" ]; then
    echo "must be executed at the top of srcdir"
    exit 1
fi

outdir=.
single=0

while getopts "v:o:gsh" arg; do
    case "$arg" in
        o)
            outdir="$OPTARG"
            ;;
        v)
            version="$OPTARG"
            ;;
        g)
            version="$(git describe | tr '-' '.')"
            ;;
        s)
            single=1
            ;;
        h|*)
            show_help
            ;;
    esac
done

if [ -z "$version" ]; then
    echo "error: version is unset"
    exit 1
fi

set -x

tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT

if [[ "$single" == 0 ]]; then
    tar -cJf "$tmpdir"/snapd_"$version".no-vendor.tar.xz \
        --exclude='./vendor/*' --exclude='./c-vendor/*' \
        --exclude='.git' --exclude='.git/*' \
        --transform "s#^#snapd-$version/#" .
    tar -cJf "$tmpdir"/snapd_"$version".only-vendor.tar.xz \
        --exclude='.git' --exclude='.git/*' \
        --transform "s#^#snapd-$version/#" vendor

    mv "$tmpdir"/snapd_"$version".no-vendor.tar.xz "$outdir"/
    mv "$tmpdir"/snapd_"$version".only-vendor.tar.xz "$outdir"/
else
    tar -cJf "$tmpdir"/snapd_"$version".vendor.tar.xz \
        --exclude='.git' --exclude='.git/*' \
        --transform "s#^#snapd-$version/#" .
    mv "$tmpdir"/snapd_"$version".vendor.tar.xz "$outdir"/
fi