summaryrefslogtreecommitdiff
path: root/bin/build-nsis-package.sh
diff options
context:
space:
mode:
authorMike DePaulo <mikedep333@gmail.com>2014-09-12 21:36:17 -0400
committerMike DePaulo <mikedep333@gmail.com>2014-09-12 21:36:17 -0400
commitd675f6927f74f39762bcc38e28a76e63363eee86 (patch)
tree82fb64e69c48556a2508cd6105288c4dded7de77 /bin/build-nsis-package.sh
parent2ee0c00a85cf68cf689b80e713874d14bef391fd (diff)
downloadbuildscripts-d675f6927f74f39762bcc38e28a76e63363eee86.tar.gz
buildscripts-d675f6927f74f39762bcc38e28a76e63363eee86.tar.bz2
buildscripts-d675f6927f74f39762bcc38e28a76e63363eee86.zip
Add support for MinGW 4.8.2 + Qt 4.8.6 builds
Diffstat (limited to 'bin/build-nsis-package.sh')
-rwxr-xr-xbin/build-nsis-package.sh60
1 files changed, 29 insertions, 31 deletions
diff --git a/bin/build-nsis-package.sh b/bin/build-nsis-package.sh
index a978834..64087a6 100755
--- a/bin/build-nsis-package.sh
+++ b/bin/build-nsis-package.sh
@@ -23,6 +23,8 @@
# It needs to be run under cygwin.
# It also needs to be placed under /cygdrive/d/Build/buildscripts/bin/
+set -ex
+
export PATH=~/bin:/cygdrive/d/Build/buildscripts/bin:$PATH
GIT_USER="x2go"
@@ -42,13 +44,11 @@ GNUPGHOME=$HOME/.gnupg
test -z $1 && { echo "usage: $(basename $0) [<subpath>/]<git-project> {main,main/<codename>,nightly,nightly/<codename>} [<git-checkout>]"; exit -1; }
FORCE_BUILD=${FORCE_BUILD:-"yes"}
-NSIS_BUILD_FOR=${NSIS_BUILD_FOR:-"mingw:$MINGW_DISTROS"}
- # FIXME: these should be generated from the env var!!!
- l_DIST=mingw32-4.4
- l_CODENAME=qt-4.8
+echo ${NSIS_BUILD_FOR}
-set -ex
+l_DIST=$(echo ${NSIS_BUILD_FOR} | cut -d":" -f1 | tr [:upper:] [:lower:])
+l_CODENAME=$(echo ${NSIS_BUILD_FOR} | cut -d":" -f2- | sed -e 's/,/ /g' | tr [:upper:] [:lower:])
set_vars() {
USE_SUDO="no"
@@ -178,36 +178,35 @@ clear_pkgdist() {
}
build_packages() {
- echo "$NSIS_DISTS_SUPPORTED" | grep $l_DIST >/dev/null && {
- TEMP_DIR="$(mktemp -d --tmpdir=$TEMP_BASE)"
- mkdir -p "$TEMP_DIR/$PROJECT"
- chmod 2770 "$TEMP_DIR" -Rf
+ TEMP_DIR="$(mktemp -d --tmpdir=$TEMP_BASE)"
+ mkdir -p "$TEMP_DIR/$PROJECT"
+ chmod 2770 "$TEMP_DIR" -Rf
+
+ cd "$PROJECT_DIR"
+ git clone --local "$PROJECT_DIR" "$TEMP_DIR/$PROJECT/"
+ cd "$TEMP_DIR/$PROJECT"
+ git checkout $CHECKOUT || git checkout master
+ find $PROJECT_DIR/../ -type f -maxdepth 0 -mindepth 0 | grep $PROJECT_*.orig.tar.gz &>/dev/null && cp $PROJECT_DIR/../$PROJECT_*.orig.tar.gz ..
+ GITREV=$(gitrevno)
- cd "$PROJECT_DIR"
- git clone --local "$PROJECT_DIR" "$TEMP_DIR/$PROJECT/"
- cd "$TEMP_DIR/$PROJECT"
- git checkout $CHECKOUT || git checkout master
- find $PROJECT_DIR/../ -type f -maxdepth 0 -mindepth 0 | grep $PROJECT_*.orig.tar.gz &>/dev/null && cp $PROJECT_DIR/../$PROJECT_*.orig.tar.gz ..
- GITREV=$(gitrevno)
+ # TODO: Improve generate-nsis-version.pl so that it can be run from another dir
+ cd /cygdrive/d/Build/buildscripts/bin/
+ ./generate-nsis-version.pl $PROJECT_DIR
- # TODO: Improve generate-nsis-version.pl so that it can be run from another dir
- cd /cygdrive/d/Build/buildscripts/bin/
- ./generate-nsis-version.pl $PROJECT_DIR
+ cd $PROJECT_DIR
+ cp -a debian/changelog txt/
- cd $PROJECT_DIR
- cp -a debian/changelog txt/
+ # create git changelog immediately prior to building the SRPM package
+ git --no-pager log --since "2 years ago" --format="%ai %aN (%h) %n%n%x09*%w(68,0,10) %s%d%n" > ChangeLog.gitlog
+ cp ChangeLog.gitlog txt/git-info
- # create git changelog immediately prior to building the SRPM package
- git --no-pager log --since "2 years ago" --format="%ai %aN (%h) %n%n%x09*%w(68,0,10) %s%d%n" > ChangeLog.gitlog
- cp ChangeLog.gitlog txt/git-info
+ cd /cygdrive/d/Build/buildscripts/bin/
- cd /cygdrive/d/Build/buildscripts/bin/
-
- nice /cygdrive/d/Build/buildscripts/bin/nsis-builder.bat "${l_DIST}" "${l_CODENAME}"
+ nice /cygdrive/d/Build/buildscripts/bin/nsis-builder.bat "${l_DIST}" "${l_CODENAME}"
+
+ rm -Rf "$TEMP_DIR"
- rm -Rf "$TEMP_DIR"
- }
return 0
}
@@ -222,7 +221,7 @@ upload_packages() {
0</dev/null ssh $REPOS_SERVER mkdir -p $MINGW_REPOS_BASE/$l_DIST/$l_CODENAME/
# remove installer packages that are older than 30 days
- 0</dev/null ssh $REPOS_SERVER "find \"$MINGW_REPOS_BASE/$l_DIST/$l_CODENAME/*\" -mtime +30 -name \"x2goclient-*-setup.exe\" 2>/dev/null | while read installer; do rm -f "$installer"; done
+ 0</dev/null ssh $REPOS_SERVER "find \"$MINGW_REPOS_BASE/$l_DIST/$l_CODENAME/*\" -mtime +30 -name \"x2goclient-*-setup.exe\" 2>/dev/null | while read installer; do rm -f "$installer"; done"
# Ensure that the package is world-readable before being uploaded to an HTTP/HTTPS server.
# Otherwise, sometimes cygwin sftp/scp uploads files with 000 permissions.
@@ -233,10 +232,9 @@ upload_packages() {
# Furthermore, the permissions on the uploaded builds are fine right now.
# The file not found error was:
# chmod: Zugriff auf »/cygdrive/d/Build/GIT/nightly/x2goclient/nsis/x2goclient-*-setup.exe“ nicht möglich: Datei oder Verzeichnis nicht gefunden
- # chmod a+r /cygdrive/d/Build/GIT/nightly/$PROJECT/nsis/$PROJECT-*-setup.exe
+ chmod 755 /cygdrive/d/Build/GIT/nightly/$l_DIST/$l_CODENAME/$PROJECT/nsis/$PROJECT-*-setup.exe
# copy new installer to download location
- # FIXME: this should work scp /cygdrive/d/Build/pkg-dist/$l_DIST/$l_CODENAME/i386/$PROJECT-*-setup.exe" "$MINGW_REPOS_BASE/$l_DIST/$l_CODENAME/"
scp /cygdrive/d/Build/GIT/nightly/$l_DIST/$l_CODENAME/$PROJECT/nsis/$PROJECT-*-setup.exe $REPOS_SERVER:"$MINGW_REPOS_BASE/$l_DIST/$l_CODENAME/"
done
return 0