-
Notifications
You must be signed in to change notification settings - Fork 42
/
Copy pathbuild_deb_from_tar.sh
executable file
·67 lines (51 loc) · 1.23 KB
/
build_deb_from_tar.sh
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
#!/bin/sh
set -e
SCRIPTS_DIR=$(dirname "$0")
PROJECT_DIR=$(realpath "${SCRIPTS_DIR}/..")
usage () {
cat << EOF
Usage: $0 [options]
Options:
-s Builds the source package
-h Show usage message
EOF
}
create_orig_tar () {
SOURCE_NAME=$(dpkg-parsechangelog -SSource)
SOURCE_VERSION=$(dpkg-parsechangelog -SVersion | awk -F'-' '{print $1}')
echo "Repack ${SOURCE_NAME}_${SOURCE_VERSION}.orig.tar.xz"
PERMISSION_OPTS="--mode=u=rwX,g=rwX,o=rX"
REPRODUCIBLE_OPTS="--owner=g3:1000 --group=g3:1000 --sort=name ${PERMISSION_OPTS}"
PROGRESS_OPTS="--checkpoint=100 --checkpoint-action=dot"
cd ..
tar -Jcf "${SOURCE_NAME}_${SOURCE_VERSION}.orig.tar.xz" ${REPRODUCIBLE_OPTS} ${PROGRESS_OPTS} ${SOURCE_NAME}-${SOURCE_VERSION}
cd -
echo
}
while getopts hs f
do
case $f in
h)
usage;exit 0;;
s)
BUILD_SOURCE="1";;
\?)
usage;exit 1;;
esac
done
shift $((OPTIND - 1))
cd "${PROJECT_DIR}"
CODENAME=$(lsb_release -c -s)
echo "Finalize debian/changelog"
sed -i s/UNRELEASED/${CODENAME}/ debian/changelog
BUILD_FLAGS="-uc"
if [ -n "${BUILD_SOURCE}" ]
then
create_orig_tar
BUILD_FLAGS="-us ${BUILD_FLAGS}"
else
BUILD_FLAGS="-b ${BUILD_FLAGS}"
fi
echo "Building"
export RUSTFLAGS="--remap-path-prefix ${HOME}=~"
dpkg-buildpackage ${BUILD_FLAGS}