|
|
@@ -51,36 +51,30 @@ steps:
|
|
51
|
51
|
event: [ push, tag ]
|
|
52
|
52
|
depends_on: [ clone, prepare ]
|
|
53
|
53
|
environment:
|
|
54
|
|
- MAKEFLAGS: -j 1
|
|
|
54
|
+ MAKEFLAGS: -j 4
|
|
55
|
55
|
# https://wiki.debian.org/CrossCompiling#Building_with_dpkg-buildpackage
|
|
|
56
|
+ # addr2line ar as c++filt cpp cpp-6 dwp elfedit g++ g++-6 gcc gcc-6 gcc-ar gcc-ar-6 gcc-nm gcc-nm-6 gcc-ranlib gcc-ranlib-6 gcov gcov-6 gcov-dump gcov-dump-6 gcov-tool gcov-tool-6 gprof ld ld.bfd ld.gold nm objcopy objdump ranlib readelf size strings strip
|
|
56
|
57
|
BUILD_ARCH: amd64 armhf # amd64 arm64 armel armhf i386 mips mips64el mipsel powerpc ppc64el s390x
|
|
57
|
58
|
commands:
|
|
58
|
|
- # DEB_BUILD_ARCH DEB_HOST_ARCH TARGET=armhf
|
|
59
|
|
- # addr2line ar as c++filt cpp cpp-6 dwp elfedit g++ g++-6 gcc gcc-6 gcc-ar gcc-ar-6 gcc-nm gcc-nm-6 gcc-ranlib gcc-ranlib-6 gcov gcov-6 gcov-dump gcov-dump-6 gcov-tool gcov-tool-6 gprof ld ld.bfd ld.gold nm objcopy objdump ranlib readelf size strings strip
|
|
60
|
|
- - PKG_NAME="${DRONE_REPO_NAME}" &&
|
|
61
|
|
- PKG_VERSION="$(git describe --always)" &&
|
|
62
|
|
- echo git fetch --tags && echo PKG_VERSION="$(git for-each-ref --merged='master' --sort='-*creatordate' --format='%(refname:short)' 'refs/tags' | head -1 | sed 's/[^0-9.]//g')" &&
|
|
63
|
|
- if test -d "debian" ; then PKG_VERSION=$(dpkg-parsechangelog -SVersion | sed 's/-.*//') ; fi &&
|
|
64
|
|
- PKG_BUILDHOST_ARCH="amd64" &&
|
|
65
|
|
- PKG_SRC_ROOT="$(pwd)" &&
|
|
66
|
|
- PKG_RELEASE_DIR="$${PKG_SRC_ROOT}/release" &&
|
|
67
|
|
- PKG_DIST_DIR="dist" &&
|
|
68
|
|
- mkdir -p "$${PKG_RELEASE_DIR}" &&
|
|
69
|
|
- PKG_DEB_ARCHIVE="$${PKG_NAME}_$${PKG_VERSION}.orig.tar.xz" &&
|
|
70
|
|
- PKG_DEB_ARCHIVE_ROOT="$${PKG_NAME}-$${PKG_VERSION}" &&
|
|
71
|
|
- tar --exclude='./.*' --exclude='debian' --exclude="$${PKG_RELEASE_DIR}"
|
|
72
|
|
- --exclude="$${PKG_DEB_ARCHIVE}"
|
|
73
|
|
- --transform "s/\./$${PKG_DEB_ARCHIVE_ROOT}/"
|
|
74
|
|
- -cJf "$${PKG_RELEASE_DIR}/$${PKG_DEB_ARCHIVE}" . &&
|
|
75
|
|
- for PKG_ARCH in $${BUILD_ARCH} ; do cd "$${PKG_SRC_ROOT}" &&
|
|
76
|
|
- echo " ░▒▓█ BUILDING FOR $${PKG_ARCH} █▓▒░ " &&
|
|
77
|
|
- PKG_RELEASE_ARCHIVE="$${PKG_NAME}_$${PKG_VERSION}_$${PKG_ARCH}.tar.xz" &&
|
|
78
|
|
- PKG_RELEASE_ARCHIVE_ROOT="$${PKG_NAME}-$${PKG_VERSION}" &&
|
|
79
|
|
- PKG_BUILD_DIR="$${PKG_SRC_ROOT}/build/$${PKG_ARCH}/$${PKG_RELEASE_ARCHIVE_ROOT}" &&
|
|
80
|
|
- mkdir -p "$${PKG_BUILD_DIR}" &&
|
|
81
|
|
- tar -xf "$${PKG_RELEASE_DIR}/$${PKG_DEB_ARCHIVE}" -C "$${PKG_BUILD_DIR}" --strip 1 &&
|
|
82
|
|
- cd "$${PKG_BUILD_DIR}" &&
|
|
83
|
|
- case "$${PKG_ARCH}" in
|
|
|
59
|
+ - HOST_ARCH="amd64" ;
|
|
|
60
|
+ NAME="${DRONE_REPO_NAME}" ;
|
|
|
61
|
+ VERSION="$(git describe --always)" ;
|
|
|
62
|
+ if test -d "debian" ; then
|
|
|
63
|
+ VERSION=$(dpkg-parsechangelog -SVersion | sed 's/-.*//') ;
|
|
|
64
|
+ fi ;
|
|
|
65
|
+ DESTDIR="dist" ;
|
|
|
66
|
+ RELEASE_DIR="release" ;
|
|
|
67
|
+ SRC_DIR="$(pwd)" ;
|
|
|
68
|
+ ARCHIVE_NAME="$${NAME}_$${VERSION}" ;
|
|
|
69
|
+ ARCHIVE_ROOT="$${NAME}-$${VERSION}" ;
|
|
|
70
|
+ - mkdir -p "$${RELEASE_DIR}" &&
|
|
|
71
|
+ tar --exclude='./.*' --exclude='debian' --exclude="$${RELEASE_DIR}"
|
|
|
72
|
+ --transform "s/\./$${ARCHIVE_ROOT}/"
|
|
|
73
|
+ -cJf "$${SRC_DIR}/$${RELEASE_DIR}/$${ARCHIVE_NAME}.orig.tar.xz" .
|
|
|
74
|
+ - for ARCH in $${BUILD_ARCH} ; do set -e
|
|
|
75
|
+ echo " ░▒▓█ Building for $${ARCH} █▓▒░ " ;
|
|
|
76
|
+ BUILD_DIR="$${SRC_DIR}/build/$${ARCH}/$${ARCHIVE_ROOT}" ;
|
|
|
77
|
+ case "$${ARCH}" in
|
|
84
|
78
|
amd64) PREFIX="x86_64-linux-gnu-" ;;
|
|
85
|
79
|
arm64) PREFIX="aarch64-linux-gnu-" ;;
|
|
86
|
80
|
armel) PREFIX="arm-linux-gnueabi-" ;;
|
|
|
@@ -92,70 +86,48 @@ steps:
|
|
92
|
86
|
powerpc) PREFIX="powerpc-linux-gnu-" ;;
|
|
93
|
87
|
ppc64el) PREFIX="powerpc64le-linux-gnu-" ;;
|
|
94
|
88
|
s390x) PREFIX="s390x-linux-gnu-" ;;
|
|
95
|
|
- esac &&
|
|
96
|
|
- if test "$${PKG_ARCH}" = "$${PKG_BUILDHOST_ARCH}" ; then PREFIX="" ; fi &&
|
|
97
|
|
- export CC="$${PREFIX}gcc" &&
|
|
98
|
|
- export LD="$${PREFIX}ld" &&
|
|
99
|
|
- export STRIP="$${PREFIX}strip" &&
|
|
100
|
|
- export MAKEFLAGS="$${MAKEFLAGS}" &&
|
|
101
|
|
- if test -d "$${PKG_SRC_ROOT}/debian" ; then
|
|
102
|
|
- cp -rp "$${PKG_SRC_ROOT}/debian" . &&
|
|
103
|
|
- cp -p "$${PKG_RELEASE_DIR}/$${PKG_DEB_ARCHIVE}" .. &&
|
|
104
|
|
- echo apt-get build-dep -a $${PKG_ARCH} . &&
|
|
105
|
|
- CONFIG_SITE="/etc/dpkg-cross/cross-config.$${PKG_ARCH}"
|
|
106
|
|
- DEB_BUILD_OPTIONS="nocheck"
|
|
107
|
|
- dpkg-buildpackage -us -uc -a "${PKG_ARCH}" &&
|
|
108
|
|
- ls -l .. &&
|
|
109
|
|
- cp ../*.tar.xz ../*.deb ../*.dsc "$${PKG_RELEASE_DIR}/" ;
|
|
|
89
|
+ *) PREFIX="" ;;
|
|
|
90
|
+ esac ;
|
|
|
91
|
+ if test "$${ARCH}" = "$${HOST_ARCH}" ; then
|
|
|
92
|
+ PREFIX="" ;
|
|
|
93
|
+ fi ;
|
|
|
94
|
+ export CC="$${PREFIX}gcc" ;
|
|
|
95
|
+ export LD="$${PREFIX}ld" ;
|
|
|
96
|
+ export STRIP="$${PREFIX}strip" ;
|
|
|
97
|
+ export MAKEFLAGS="$${MAKEFLAGS}" ;
|
|
|
98
|
+ export CONFIG_SITE="/etc/dpkg-cross/cross-config.$${PKG_ARCH}" ;
|
|
|
99
|
+ mkdir -p "$${BUILD_DIR}" ;
|
|
|
100
|
+ cd "$${BUILD_DIR}" ;
|
|
|
101
|
+ tar -xf "$${SRC_DIR}/$${RELEASE_DIR}/$${ARCHIVE_NAME}.orig.tar.xz"
|
|
|
102
|
+ -C "$${BUILD_DIR}" --strip 1 ;
|
|
|
103
|
+ cp -p "$${SRC_DIR}/$${RELEASE_DIR}/$${ARCHIVE_NAME}.orig.tar.xz"
|
|
|
104
|
+ "$${BUILD_DIR}/../" ;
|
|
|
105
|
+ if test -d "$${SRC_DIR}/debian" ; then
|
|
|
106
|
+ cp -rp "$${SRC_DIR}/debian"
|
|
|
107
|
+ "$${BUILD_DIR}/" ;
|
|
|
108
|
+ export DEBIAN_FRONTEND="noninteractive" ;
|
|
|
109
|
+ export DEB_BUILD_OPTIONS="nocheck" ;
|
|
|
110
|
+ apt-get -qy -o Dpkg::Use-Pty=0 build-dep -a $${ARCH} . ;
|
|
|
111
|
+ dpkg-buildpackage -us -uc -a "$${ARCH}" &&
|
|
|
112
|
+ cp ../*.tar.xz ../*.deb ../*.dsc "$${RELEASE_DIR}/" &&
|
|
|
113
|
+ ls -la .. ;
|
|
|
114
|
+ make clean ;
|
|
110
|
115
|
else
|
|
111
|
116
|
make &&
|
|
112
|
117
|
tar --exclude='./.*'
|
|
113
|
|
- --transform "s/\./$${PKG_RELEASE_ARCHIVE_ROOT}/"
|
|
114
|
|
- -C "$${PKG_DIST_DIR}"
|
|
115
|
|
- -cJf "$${PKG_RELEASE_DIR}/$${PKG_RELEASE_ARCHIVE}" . &&
|
|
|
118
|
+ --transform "s/\./$${ARCHIVE_ROOT}/"
|
|
|
119
|
+ -C "$${DESTDIR}"
|
|
|
120
|
+ -cJf "$${RELEASE_DIR}/$${ARCHIVE_NAME}.$${ARCH}.tar.xz" . &&
|
|
|
121
|
+ ls -la "$${DESTDIR}" &&
|
|
|
122
|
+ ls -la "$${RELEASE_DIR}/$${ARCHIVE_NAME}.$${ARCH}.tar.xz" ;
|
|
116
|
123
|
make clean ;
|
|
117
|
124
|
fi ;
|
|
118
|
|
- done &&
|
|
119
|
|
- ls -la "$${PKG_RELEASE_DIR}" &&
|
|
120
|
|
- find "$${PKG_RELEASE_DIR}" -type f -exec md5sum '{}' \;
|
|
|
125
|
+ done
|
|
|
126
|
+ - ls -la "$${RELEASE_DIR}" &&
|
|
|
127
|
+ find "$${RELEASE_DIR}" -type f -exec md5sum '{}' \;
|
|
121
|
128
|
- exit 0 ; ░▒▓█ BUILD END █▓▒░
|
|
122
|
129
|
|
|
123
|
130
|
|
|
124
|
|
-# tar --exclude='./.*'
|
|
125
|
|
-# --transform "s/$${PKG_DIST_DIR}/$${PKG_RELEASE_ARCHIVE_ROOT}/"
|
|
126
|
|
-# -cJvf "$${PKG_RELEASE_DIR}/$${PKG_RELEASE_ARCHIVE}" "${PKG_DIST_DIR}" &&
|
|
127
|
|
-
|
|
128
|
|
-
|
|
129
|
|
-# - export MAKEFLAGS && make
|
|
130
|
|
-# - CONTENT=${DRONE_REPO_NAME} ;
|
|
131
|
|
-# test -n "${DRONE_TAG}" &&
|
|
132
|
|
-# RELEASE=${DRONE_REPO_NAME}-${DRONE_TAG}-bin ||
|
|
133
|
|
-# RELEASE=${DRONE_REPO_NAME}-bin
|
|
134
|
|
-# - cp -rp dist/. $CONTENT/ ;
|
|
135
|
|
-# ls -la $CONTENT
|
|
136
|
|
-# - find $CONTENT -type f -exec md5sum '{}' \;
|
|
137
|
|
-# - rm -rf release ;
|
|
138
|
|
-# mkdir release
|
|
139
|
|
-# # - zip -rpq release/$RELEASE.zip $CONTENT
|
|
140
|
|
-# - tar -czf release/$RELEASE.tar.gz $CONTENT
|
|
141
|
|
-# # - tar -cJf release/$RELEASE.tar.xz $CONTENT
|
|
142
|
|
-# - make clean ; rm -rf $CONTENT ;
|
|
143
|
|
-# ls -la release
|
|
144
|
|
-# - find release -type f -exec md5sum '{}' \;
|
|
145
|
|
-
|
|
146
|
|
-
|
|
147
|
|
-# - for ARCH in ${BUILD_ARCH} ; do
|
|
148
|
|
-# apt-get build-dep -a $ARCH . ;
|
|
149
|
|
-# done
|
|
150
|
|
-
|
|
151
|
|
-# - for ARCH in ${BUILD_ARCH} ; do
|
|
152
|
|
-# CONFIG_SITE=/etc/dpkg-cross/cross-config.$ARCH
|
|
153
|
|
-# DEB_BUILD_OPTIONS=nocheck
|
|
154
|
|
-# dpkg-buildpackage -us -uc -a $ARCH ;
|
|
155
|
|
-# done
|
|
156
|
|
-# - exit 0 ; ░▒▓█ BUILD END █▓▒░
|
|
157
|
|
-
|
|
158
|
|
-
|
|
159
|
131
|
- name: sign
|
|
160
|
132
|
image: plugins/gpgsign
|
|
161
|
133
|
# http://plugins.drone.io/drone-plugins/drone-gpgsign/
|