[packaging] Simplify Windows packaging scripts
[mono.git] / packaging / Windows / defs / mono64
index 543fe8c2d831dbb5374d2811a15b6ee5a1ba1dfc..cec3177f3fb71c39d4f903ed6f7f2c1faf23fcb0 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash -xe
 
-REPO=https://github.com/mono/mono.git
-REPODIR=$(dirname $(realpath $0))/../repos/mono
+REPODIR=$(dirname $(realpath $0))/../../..
+INSTALLDIR=$(realpath -m $(dirname $0)/../tmp/mono)
 
 error()
 {
@@ -16,41 +16,20 @@ report()
 
 download()
 {
-       if [ ! -d "${REPODIR}" ]
-       then
-               report "Checking Mono out from Git"
-               git clone --config core.autocrlf=input $REPO ${REPODIR} || error "*** Could not run git clone ***"
-       else
-               report "Fetching the latest Mono from Git"
-               cd ${REPODIR} && git fetch origin || error "*** Could not run git fetch ***"
-       fi
-       if [ -n "$1" ]
-       then
-               report "Checkout out revision $1"
-               cd ${REPODIR} && git reset --hard $1 || error "*** Could not run git checkout ***"
-       fi
-       cd ${REPODIR} && git submodule init || error "*** Could not run git submodule init ***"
-       cd ${REPODIR} && git submodule update || error "*** Could not run git submodule update ***"
        wget --quiet -O ${REPODIR}/pkgconfig.zip http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip
 }
 
 clean()
 {
-       rm -fr ${REPODIR}/../../tmp/mono
-       pushd ${REPODIR}
-       report "Running git clean and reset"
-       git clean -fdx || error "*** Could not run git clean ***"
-       git reset --hard HEAD || error "*** Could not run git reset ***"
-       popd
-       wget --quiet -O ${REPODIR}/pkgconfig.zip http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip
+       rm -rf ${INSTALLDIR}
 }
 
 build()
 {
        pushd ${REPODIR}
        report "Building Mono"
-       mkdir -p ../../tmp/mono
-       WORKSPACE=${REPODIR} EXTRA_CONF_FLAGS="--prefix=$(realpath ../../tmp/mono)" ghprbPullId=1 CI_TAGS="no-tests" label="w64" scripts/ci/run-jenkins.sh || error "*** Could not run autogen ***"
+       mkdir -p ${INSTALLDIR}
+       WORKSPACE=${REPODIR} EXTRA_CONF_FLAGS="--prefix=${INSTALLDIR}" ghprbPullId=1 CI_TAGS="no-tests" label="w64" scripts/ci/run-jenkins.sh || error "*** Could not run autogen ***"
        popd
 }
 
@@ -58,32 +37,32 @@ install()
 {
        pushd ${REPODIR}
        MONO_EXECUTABLE=${REPODIR}/msvc/build/sgen/x64/bin/Release/mono-sgen.exe make install || error "*** Installing to temporary prefix failed ***"
-       rm -f   ../../tmp/mono/bin/mono-sgen.* \
-               ../../tmp/mono/bin/mono-boehm.* \
-               ../../tmp/mono/lib/libmono-2.0.* \
-               ../../tmp/mono/lib/libmonoboehm-2.0.* \
-               ../../tmp/mono/lib/libmonosgen-2.0.* \
-               ../../tmp/mono/bin/MonoPosixHelper.* \
-               ../../tmp/mono/lib/MonoPosixHelper.* \
-               ../../tmp/mono/bin/mono \
-               ../../tmp/mono/bin/pedump \
-               ../../tmp/mono/bin/mono-package-runtime \
-               ../../tmp/mono/bin/monodis*
+       rm -f   ${INSTALLDIR}/bin/mono-sgen.* \
+               ${INSTALLDIR}/bin/mono-boehm.* \
+               ${INSTALLDIR}/lib/libmono-2.0.* \
+               ${INSTALLDIR}/lib/libmonoboehm-2.0.* \
+               ${INSTALLDIR}/lib/libmonosgen-2.0.* \
+               ${INSTALLDIR}/bin/MonoPosixHelper.* \
+               ${INSTALLDIR}/lib/MonoPosixHelper.* \
+               ${INSTALLDIR}/bin/mono \
+               ${INSTALLDIR}/bin/pedump \
+               ${INSTALLDIR}/bin/mono-package-runtime \
+               ${INSTALLDIR}/bin/monodis*
        pushd ${REPODIR}
-       cp -a msvc/build/sgen/x64/bin/Release/monodis-sgen.exe  ../../tmp/mono/bin/monodis.exe
-       cp -a msvc/build/sgen/x64/bin/Release/monodis-sgen.pdb  ../../tmp/mono/bin/monodis.pdb
-       cp -a msvc/build/sgen/x64/bin/Release/mono-sgen.exe             ../../tmp/mono/bin/
-       cp -a msvc/build/sgen/x64/bin/Release/mono-sgen.pdb             ../../tmp/mono/bin/
-       cp -a msvc/build/sgen/x64/bin/Release/mono-2.0-sgen.dll ../../tmp/mono/bin/
-       cp -a msvc/build/sgen/x64/lib/Release/mono-2.0-sgen.lib ../../tmp/mono/lib/
-       cp -a msvc/build/sgen/x64/bin/Release/mono-2.0-sgen.pdb ../../tmp/mono/lib/
-       cp -a msvc/build/sgen/x64/bin/Release/MonoPosixHelper.dll       ../../tmp/mono/bin/
-       cp -a msvc/build/sgen/x64/lib/Release/MonoPosixHelper.lib       ../../tmp/mono/lib/
-       cp -a msvc/build/sgen/x64/bin/Release/MonoPosixHelper.pdb       ../../tmp/mono/lib/
-       cp -a ../../tmp/mono/bin/mono-sgen.exe  ../../tmp/mono/bin/mono.exe
-       cp -a ../../tmp/mono/bin/mono-sgen.pdb  ../../tmp/mono/bin/mono.pdb
+       cp -a msvc/build/sgen/x64/bin/Release/monodis-sgen.exe  ${INSTALLDIR}/bin/monodis.exe
+       cp -a msvc/build/sgen/x64/bin/Release/monodis-sgen.pdb  ${INSTALLDIR}/bin/monodis.pdb
+       cp -a msvc/build/sgen/x64/bin/Release/mono-sgen.exe             ${INSTALLDIR}/bin/
+       cp -a msvc/build/sgen/x64/bin/Release/mono-sgen.pdb             ${INSTALLDIR}/bin/
+       cp -a msvc/build/sgen/x64/bin/Release/mono-2.0-sgen.dll ${INSTALLDIR}/bin/
+       cp -a msvc/build/sgen/x64/lib/Release/mono-2.0-sgen.lib ${INSTALLDIR}/lib/
+       cp -a msvc/build/sgen/x64/bin/Release/mono-2.0-sgen.pdb ${INSTALLDIR}/lib/
+       cp -a msvc/build/sgen/x64/bin/Release/MonoPosixHelper.dll       ${INSTALLDIR}/bin/
+       cp -a msvc/build/sgen/x64/lib/Release/MonoPosixHelper.lib       ${INSTALLDIR}/lib/
+       cp -a msvc/build/sgen/x64/bin/Release/MonoPosixHelper.pdb       ${INSTALLDIR}/lib/
+       cp -a ${INSTALLDIR}/bin/mono-sgen.exe   ${INSTALLDIR}/bin/mono.exe
+       cp -a ${INSTALLDIR}/bin/mono-sgen.pdb   ${INSTALLDIR}/bin/mono.pdb
        popd
-       pushd ${REPODIR}/../../tmp/mono/bin
+       pushd ${INSTALLDIR}/bin
        for i in *
                do if [[ "`file -b $i`" == "POSIX shell script, ASCII text"* ]]
                        then RUNTIME=`grep -ho -m 1 "xbuild/.*/bin/\|[2,3,4]\.[0,5]/" $i | sed 's#/$##'`
@@ -91,7 +70,7 @@ install()
                                then EXENAME=$(basename `grep -ho '.:/.*\.exe' $i`)
                        fi
                        if [ -f "../lib/mono/${RUNTIME}/${EXENAME}" ]
-                               then sed "s#@@RUNTIME@@#${RUNTIME}#g" ${REPODIR}/../../resources/wrapper.bat > $i.bat
+                               then sed "s#@@RUNTIME@@#${RUNTIME}#g" $(dirname $0)/../resources/wrapper.bat > $i.bat
                                sed -i "s#@@COMMAND@@#${EXENAME}#g" $i.bat
                                sed -i 's#/#\\#g' $i.bat
                        fi