diff options
Diffstat (limited to '')
-rw-r--r-- | install-win32/buildinstaller | 16 | ||||
-rw-r--r-- | install-win32/copyinstaller | 15 | ||||
-rw-r--r-- | install-win32/doclean | 6 | ||||
-rw-r--r-- | install-win32/getgui | 8 | ||||
-rw-r--r-- | install-win32/getopenssl | 17 | ||||
-rw-r--r-- | install-win32/getpkcs11helper | 15 | ||||
-rw-r--r-- | install-win32/makebin | 56 | ||||
-rw-r--r-- | install-win32/makeopenvpn | 13 | ||||
-rw-r--r-- | install-win32/makeservice | 30 | ||||
-rw-r--r-- | install-win32/maketap | 40 | ||||
-rw-r--r-- | install-win32/maketapinstall | 28 | ||||
-rw-r--r-- | install-win32/maketext | 20 | ||||
-rwxr-xr-x | install-win32/openvpn.nsi | 40 | ||||
-rw-r--r-- | install-win32/settings.in | 19 | ||||
-rw-r--r-- | install-win32/signinstaller | 16 | ||||
-rw-r--r-- | install-win32/signtap | 10 | ||||
-rw-r--r-- | install-win32/winconfig | 43 |
17 files changed, 208 insertions, 184 deletions
diff --git a/install-win32/buildinstaller b/install-win32/buildinstaller index fb8e968..d906edf 100644 --- a/install-win32/buildinstaller +++ b/install-win32/buildinstaller @@ -1,8 +1,22 @@ #!/bin/sh -# build the installer +# load version.nsi definitions +. autodefs/defs.sh +# build the installer cd install-win32 rm -f *.exe '/c/Program Files/NSIS/makensis' openvpn.nsi &>makensis.log tail -20 makensis.log + +# copy the installer to GENOUT/install +ls openvpn*.exe 2>/dev/null || exit 1 +i=`ls -t openvpn*.exe | head -n 1` +cd .. +mkdir $GENOUT/install &>/dev/null +cp install-win32/$i $GENOUT/install + +# sign the installer +if [ -d "$SIGNTOOL" ]; then + TARGET_EXE="$(pwd)/$GENOUT/install/$i" $SIGNTOOL/signexe +fi diff --git a/install-win32/copyinstaller b/install-win32/copyinstaller deleted file mode 100644 index feecd13..0000000 --- a/install-win32/copyinstaller +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -# copy the installer to the $INSTALLER_DEST directory. - -# load version.nsi definitions -. autodefs/defs.sh - -if [ -n "$INSTALLER_DEST" ] ; then - cd install-win32 - ls openvpn*.exe 2>/dev/null || exit 1 - exe=install-win32/`ls -t openvpn*.exe | head -n 1` - cd .. - echo cp $exe "$INSTALLER_DEST" - cp $exe "$INSTALLER_DEST" -fi diff --git a/install-win32/doclean b/install-win32/doclean new file mode 100644 index 0000000..c3a5c56 --- /dev/null +++ b/install-win32/doclean @@ -0,0 +1,6 @@ +#!/bin/sh + +# get version.nsi definitions +. autodefs/defs.sh + +[ "$CLEAN" = "yes" ] && rm -rf $GENOUT diff --git a/install-win32/getgui b/install-win32/getgui index 1419bc9..c7fd2bb 100644 --- a/install-win32/getgui +++ b/install-win32/getgui @@ -2,19 +2,17 @@ # Get and sign the OpenVPN GUI -c=`pwd` - # load version.nsi definitions . autodefs/defs.sh GUI="$OPENVPN_GUI_DIR/$OPENVPN_GUI" if [ -e "$GUI" ]; then - cp $GUI bin + mkdir -p $GENOUT/bin &>/dev/null + cp $GUI $GENOUT/bin echo '!define OPENVPN_GUI_DEFINED' >autodefs/guidefs.nsi if [ -d "$SIGNTOOL" ]; then - export TARGET_EXE="bin/$OPENVPN_GUI" - $SIGNTOOL/signexe + TARGET_EXE="$GENOUT/bin/$OPENVPN_GUI" $SIGNTOOL/signexe fi else cat /dev/null >autodefs/guidefs.nsi diff --git a/install-win32/getopenssl b/install-win32/getopenssl new file mode 100644 index 0000000..b7d2629 --- /dev/null +++ b/install-win32/getopenssl @@ -0,0 +1,17 @@ +#!/bin/sh + +# get version.nsi definitions +. autodefs/defs.sh + +# Get OpenSSL binaries +if [ -d "$OPENSSL_DIR" ] ; then + mkdir -p $GENOUT/lib &>/dev/null + mkdir -p $GENOUT/bin &>/dev/null + for f in libeay32.dll libssl32.dll openssl.exe ; do + cp $OPENSSL_DIR/$f $GENOUT/lib + strip $GENOUT/lib/$f + done + mv $GENOUT/lib/openssl.exe $GENOUT/bin +else + echo OpenSSL DIR $OPENSSL_DIR NOT FOUND +fi diff --git a/install-win32/getpkcs11helper b/install-win32/getpkcs11helper new file mode 100644 index 0000000..7399c1b --- /dev/null +++ b/install-win32/getpkcs11helper @@ -0,0 +1,15 @@ +#!/bin/sh + +# get version.nsi definitions +. autodefs/defs.sh + +# Get PKCS11-helper libraries +if [ -d "$PKCS11_HELPER_DIR" ] ; then + mkdir -p $GENOUT/lib &>/dev/null + for f in libpkcs11-helper-1.dll ; do + cp $PKCS11_HELPER_DIR/bin/$f $GENOUT/lib + strip $GENOUT/lib/$f + done +else + echo PKCS11-helper DIR $PKCS11_HELPER_DIR NOT FOUND +fi diff --git a/install-win32/makebin b/install-win32/makebin deleted file mode 100644 index de99e74..0000000 --- a/install-win32/makebin +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh - -# Assemble binaries into bin - -# get version.nsi definitions -. autodefs/defs.sh - -rm -rf bin -mkdir bin - -# Get OpenVPN executable -cp $PRODUCT_UNIX_NAME.exe bin -strip bin/$PRODUCT_UNIX_NAME.exe - -# Get OpenVPN service -cp service-win32/${PRODUCT_UNIX_NAME}serv.exe bin -strip bin/${PRODUCT_UNIX_NAME}serv.exe - -# Get OpenSSL binaries -for f in libeay32.dll libssl32.dll openssl.exe ; do - cp $OPENSSL_DIR/$f bin - strip bin/$f -done - -# Get PKCS11 libraries -for f in libpkcs11-helper-1.dll ; do - cp $PKCS11_HELPER_DIR/bin/$f bin - strip bin/$f -done - -# $DRVBINSRC, if defined, points to prebuilt TAP driver and -# tapinstall.exe. -if [ -z "$DRVBINSRC" ] ; then - # Get TAP drivers - cp -a tap-win32/dist bin/driver - - # Get tapinstall - mkdir bin/tapinstall - mkdir bin/tapinstall/i386 - mkdir bin/tapinstall/amd64 - cp tapinstall/objfre_w2k_x86/i386/tapinstall.exe bin/tapinstall/i386 - cp tapinstall/objfre_wnet_amd64/amd64/tapinstall.exe bin/tapinstall/amd64 -else - cp -a $DRVBINSRC/driver bin/driver - cp -a $DRVBINSRC/tapinstall bin/tapinstall -fi - -# $DRVBINDEST, if defined, points to a destination directory -# where TAP driver and tapinstall.exe will be saved, to be used -# as a $DRVBINSRC in future builds. -if [ -n "$DRVBINDEST" ] ; then - rm -rf $DRVBINDEST - mkdir $DRVBINDEST - cp -a bin/driver $DRVBINDEST - cp -a bin/tapinstall $DRVBINDEST -fi diff --git a/install-win32/makeopenvpn b/install-win32/makeopenvpn index 48522e6..31df604 100644 --- a/install-win32/makeopenvpn +++ b/install-win32/makeopenvpn @@ -4,13 +4,10 @@ . autodefs/defs.sh # build OpenVPN binary -[ "$MAKE_CLEAN" = "yes" ] && make -f makefile.w32 clean +[ "$CLEAN" = "yes" ] && make -f makefile.w32 clean make -f makefile.w32 -j $MAKE_JOBS -# build OpenVPN service (openvpnserv.exe) -if [ -n "$SVC_TEMPLATE" ] ; then - cd service-win32 - [ "$MAKE_CLEAN" = "yes" ] && make clean - make -j $MAKE_JOBS - cd .. -fi +# copy OpenVPN executable to GENOUT/bin +mkdir -p $GENOUT/bin &>/dev/null +cp $PRODUCT_UNIX_NAME.exe $GENOUT/bin +strip $GENOUT/bin/$PRODUCT_UNIX_NAME.exe diff --git a/install-win32/makeservice b/install-win32/makeservice new file mode 100644 index 0000000..081ee0a --- /dev/null +++ b/install-win32/makeservice @@ -0,0 +1,30 @@ +#!/bin/sh + +# get version.nsi definitions +. autodefs/defs.sh + +# build OpenVPN service (openvpnserv.exe) +if [ -d "$SVC_TEMPLATE" ] ; then + # silly vista security theatre + PATCH="/tmp/p.exe" + cp `which patch` $PATCH + + # build service sources + cp $SVC_TEMPLATE/service.[ch] service-win32 + cd service-win32 + cp service.c service.c.orig + cp service.h service.h.orig + $PATCH <service.patch + + # compile/link + [ "$CLEAN" = "yes" ] && make clean + make -j $MAKE_JOBS + cd .. + + # copy service to GENOUT/bin + mkdir $GENOUT/bin &>/dev/null + cp service-win32/${PRODUCT_UNIX_NAME}serv.exe $GENOUT/bin + strip $GENOUT/bin/${PRODUCT_UNIX_NAME}serv.exe +else + echo OpenVPN service template directory $SVC_TEMPLATE NOT FOUND +fi diff --git a/install-win32/maketap b/install-win32/maketap index 7fe643c..ef9db13 100644 --- a/install-win32/maketap +++ b/install-win32/maketap @@ -6,9 +6,20 @@ # get version.nsi definitions . autodefs/defs.sh +if [ -d "/c/WINDDK/$DDKVER" ] ; then + # common declarations for all DDK build targets . install-win32/ddk-common +# configure tap driver sources +MACRO="perl install-win32/macro.pl autodefs/defs.in" +IFDEF="perl install-win32/ifdef.pl" +rm -rf tap-win32/amd64 +mkdir tap-win32/amd64 +$MACRO <tap-win32/SOURCES.in >tap-win32/SOURCES +$MACRO <tap-win32/i386/OemWin2k.inf.in | $IFDEF >tap-win32/i386/OemWin2k.inf +$MACRO <tap-win32/i386/OemWin2k.inf.in | $IFDEF -DAMD64 >tap-win32/amd64/OemWin2k.inf + if [ -n "$PRODUCT_TAP_DEBUG" ] ; then w2ktarget="w2k c" amdtarget="chk $x64_tag WNET" @@ -57,4 +68,33 @@ if [ -z "$DRVBINSRC" ] ; then out="TAP driver catalog file is undefined"; echo "$out" >$x86/$PRODUCT_TAP_ID.cat echo "$out" >$x64/$PRODUCT_TAP_ID.cat + cd .. +fi + +# $DRVBINSRC, if defined, points to prebuilt TAP driver and +# tapinstall.exe. +mkdir $GENOUT &>/dev/null +rm -rf $GENOUT/driver +if [ -z "$DRVBINSRC" ] ; then + # Get TAP drivers + cp -a tap-win32/dist $GENOUT/driver + + # Sign TAP drivers + if [ -d "$SIGNTOOL" ]; then + $SIGNTOOL/signtap + fi +else + cp -a $DRVBINSRC/driver $GENOUT/driver +fi + +# $DRVBINDEST, if defined, points to a destination directory +# where TAP driver and tapinstall.exe will be saved, to be used +# as a $DRVBINSRC in future builds. +if [ -n "$DRVBINDEST" ] ; then + mkdir $DRVBINDEST &>/dev/null + cp -a $GENOUT/driver $DRVBINDEST +fi + +else + echo Not building TAP driver -- DDK version $DDKVER NOT INSTALLED fi diff --git a/install-win32/maketapinstall b/install-win32/maketapinstall index 8b06a99..a5aaf47 100644 --- a/install-win32/maketapinstall +++ b/install-win32/maketapinstall @@ -8,6 +8,8 @@ # get version.nsi definitions . autodefs/defs.sh +if [ -d "/c/WINDDK/$DDKVER" ] ; then + if ! [ -d "$TISRC" ] ; then echo "$TISRC" NOT INSTALLED exit 1 @@ -46,4 +48,30 @@ if [ -n "$TI_BIN_AMD64" ]; then cp "$TI_BIN_AMD64" $t/objfre_wnet_amd64/amd64 fi +# $DRVBINSRC, if defined, points to prebuilt TAP driver and +# tapinstall.exe. +if [ -z "$DRVBINSRC" ] ; then + # Get tapinstall + mkdir -p $GENOUT/tapinstall/i386 &>/dev/null + mkdir -p $GENOUT/tapinstall/amd64 &>/dev/null + cp tapinstall/objfre_w2k_x86/i386/tapinstall.exe $GENOUT/tapinstall/i386 + cp tapinstall/objfre_wnet_amd64/amd64/tapinstall.exe $GENOUT/tapinstall/amd64 +else + mkdir $GENOUT &>/dev/null + cp -a $DRVBINSRC/tapinstall $GENOUT/tapinstall +fi + +# $DRVBINDEST, if defined, points to a destination directory +# where TAP driver and tapinstall.exe will be saved, to be used +# as a $DRVBINSRC in future builds. +if [ -n "$DRVBINDEST" ] ; then + mkdir $DRVBINDEST &>/dev/null + cp -a $GENOUT/driver $DRVBINDEST + cp -a $GENOUT/tapinstall $DRVBINDEST +fi + title openvpn-build &>/dev/null + +else + echo Not building tapinstall -- DDK version $DDKVER NOT INSTALLED +fi diff --git a/install-win32/maketext b/install-win32/maketext new file mode 100644 index 0000000..9766d20 --- /dev/null +++ b/install-win32/maketext @@ -0,0 +1,20 @@ +#!/bin/sh + +# get version.nsi definitions +. autodefs/defs.sh + +mkdir -p $GENOUT/text &>/dev/null + +# build license file +cat COPYING COPYRIGHT.GPL >$GENOUT/text/license.txt + +# copy install file +cp INSTALL-win32.txt $GENOUT/text/install-win32.txt + +# copy sample configuration files and docs +s=$GENOUT/samples +mkdir -p $s &>/dev/null +cp sample-config-files/client.conf $s/client.$PRODUCT_FILE_EXT +cp sample-config-files/server.conf $s/server.$PRODUCT_FILE_EXT +cp install-win32/sample.ovpn $s/sample.$PRODUCT_FILE_EXT +cp easy-rsa/1.0/openssl.cnf $s/openssl.cnf.sample diff --git a/install-win32/openvpn.nsi b/install-win32/openvpn.nsi index 37fa0ca..e80482d 100755 --- a/install-win32/openvpn.nsi +++ b/install-win32/openvpn.nsi @@ -15,7 +15,9 @@ !include "setpath.nsi" !include "GetWindowsVersion.nsi" -!define BIN "${HOME}\bin" +!define GEN "${HOME}\${GENOUT}" +!define BIN "${GEN}\bin" +!define LIB "${GEN}\lib" !define PRODUCT_ICON "icon.ico" @@ -75,7 +77,7 @@ !define MUI_UNFINISHPAGE_NOAUTOCLOSE !insertmacro MUI_PAGE_WELCOME - !insertmacro MUI_PAGE_LICENSE "${HOME}\install-win32\license.txt" + !insertmacro MUI_PAGE_LICENSE "${GEN}\text\license.txt" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES @@ -250,7 +252,7 @@ Section "${PRODUCT_NAME} RSA Certificate Management Scripts" SecOpenVPNEasyRSA SetOverwrite on SetOutPath "$INSTDIR\easy-rsa" - File "${HOME}\samples\openssl.cnf.sample" + File "${GEN}\samples\openssl.cnf.sample" File "${HOME}\easy-rsa\Windows\vars.bat.sample" File "${HOME}\easy-rsa\Windows\init-config.bat" @@ -286,9 +288,9 @@ Section "${PRODUCT_NAME} Service" SecService FileClose $R0 SetOutPath "$INSTDIR\sample-config" - File "${HOME}\samples\sample.${SERV_CONFIG_EXT}" - File "${HOME}\samples\client.${SERV_CONFIG_EXT}" - File "${HOME}\samples\server.${SERV_CONFIG_EXT}" + File "${GEN}\samples\sample.${SERV_CONFIG_EXT}" + File "${GEN}\samples\client.${SERV_CONFIG_EXT}" + File "${GEN}\samples\server.${SERV_CONFIG_EXT}" CreateDirectory "$INSTDIR\log" FileOpen $R0 "$INSTDIR\log\README.txt" w @@ -305,8 +307,8 @@ Section "OpenSSL DLLs" SecOpenSSLDLLs SetOverwrite on SetOutPath "$INSTDIR\bin" - File "${BIN}\libeay32.dll" - File "${BIN}\libssl32.dll" + File "${LIB}\libeay32.dll" + File "${LIB}\libssl32.dll" SectionEnd @@ -322,7 +324,7 @@ Section "PKCS#11 DLLs" SecPKCS11DLLs SetOverwrite on SetOutPath "$INSTDIR\bin" - File "${BIN}\libpkcs11-helper-1.dll" + File "${LIB}\libpkcs11-helper-1.dll" SectionEnd @@ -354,13 +356,13 @@ Section "TAP-Win32 Virtual Ethernet Adapter" SecTAP SetOutPath "$INSTDIR\bin" - File "${BIN}\tapinstall\amd64\tapinstall.exe" + File "${GEN}\tapinstall\amd64\tapinstall.exe" SetOutPath "$INSTDIR\driver" - File "${BIN}\driver\amd64\OemWin2k.inf" - File "${BIN}\driver\amd64\${PRODUCT_TAP_ID}.cat" - File "${BIN}\driver\amd64\${TAPDRV}" + File "${GEN}\driver\amd64\OemWin2k.inf" + File "${GEN}\driver\amd64\${PRODUCT_TAP_ID}.cat" + File "${GEN}\driver\amd64\${TAPDRV}" goto tapend @@ -369,12 +371,12 @@ tap-32bit: DetailPrint "We are running on a 32-bit system." SetOutPath "$INSTDIR\bin" - File "${BIN}\tapinstall\i386\tapinstall.exe" + File "${GEN}\tapinstall\i386\tapinstall.exe" SetOutPath "$INSTDIR\driver" - File "${BIN}\driver\i386\OemWin2k.inf" - File "${BIN}\driver\i386\${PRODUCT_TAP_ID}.cat" - File "${BIN}\driver\i386\${TAPDRV}" + File "${GEN}\driver\i386\OemWin2k.inf" + File "${GEN}\driver\i386\${PRODUCT_TAP_ID}.cat" + File "${GEN}\driver\i386\${TAPDRV}" tapend: @@ -497,8 +499,8 @@ Section -post ; Store README, license, icon SetOverwrite on SetOutPath $INSTDIR - File "${HOME}\install-win32\INSTALL-win32.txt" - File "${HOME}\install-win32\license.txt" + File "${GEN}\text\INSTALL-win32.txt" + File "${GEN}\text\license.txt" File "${HOME}\images\${PRODUCT_ICON}" ; store sample config files diff --git a/install-win32/settings.in b/install-win32/settings.in index 5be27a4..ce9ee35 100644 --- a/install-win32/settings.in +++ b/install-win32/settings.in @@ -23,16 +23,6 @@ !define PKCS11_HELPER_DIR "../pkcs11-helper/usr/local" !define DMALLOC_DIR "../dmalloc-5.4.2" -# Write TAP driver and tapinstall.exe to this directory, -# to use as prebuilt binaries for future builds. May -# be undefined. -;!define DRVBINDEST "../tapbin" - -# Don't build TAP driver and tapinstall.exe -- instead get -# them as prebuilt binaries from this directory. May be -# undefined. -;!define DRVBINSRC "../tapbin" - # tapinstall.exe source code. # Not needed if DRVBINSRC is defined. !define TISRC "../tapinstall" @@ -71,8 +61,13 @@ # -j parameter passed to make !define MAKE_JOBS 2 -# do a make clean before make -!define MAKE_CLEAN "yes" +# output directory for built binaries +# and other generated files +!define GENOUT "gen" + +# delete GENOUT directory before starting +# set to "yes" or "no" +!define CLEAN "yes" ; DEBUGGING -- set to something like "-DBG2" !define OUTFILE_LABEL "" diff --git a/install-win32/signinstaller b/install-win32/signinstaller deleted file mode 100644 index a802360..0000000 --- a/install-win32/signinstaller +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# Sign the installer. - -c=`pwd` - -# load version.nsi definitions -. autodefs/defs.sh - -if [ -d "$SIGNTOOL" ]; then - cd install-win32 - ls *.exe 2>/dev/null || exit 1 - export TARGET_EXE=$(pwd)/$(ls -t *.exe | head -n 1) - cd $c - $SIGNTOOL/signexe -fi diff --git a/install-win32/signtap b/install-win32/signtap deleted file mode 100644 index 148bbf0..0000000 --- a/install-win32/signtap +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# Sign the TAP driver. - -# load version.nsi definitions -. autodefs/defs.sh - -if [ -d "$SIGNTOOL" ]; then - $SIGNTOOL/signtap -fi diff --git a/install-win32/winconfig b/install-win32/winconfig index 5f823a2..9beaca3 100644 --- a/install-win32/winconfig +++ b/install-win32/winconfig @@ -3,54 +3,13 @@ # prepare files for building on Windows # run from top directory: install-win32/winconfig -c=`pwd` - rm -rf autodefs mkdir autodefs -MACRO="perl install-win32/macro.pl autodefs/defs.in" -IFDEF="perl install-win32/ifdef.pl" - -# silly vista security theatre -PATCH="/tmp/p.exe" -cp `which patch` $PATCH - # build multi-grammar definition files perl install-win32/m4todef.pl <version.m4 >autodefs/version.in for g in "h" "sh" "nsi" "in" ; do perl install-win32/trans.pl $g install-win32/settings.in >autodefs/defs.$g done -# load sh definitions -. autodefs/defs.sh - -# configure tap driver sources -rm -rf tap-win32/amd64 -mkdir tap-win32/amd64 -$MACRO <tap-win32/SOURCES.in >tap-win32/SOURCES -$MACRO <tap-win32/i386/OemWin2k.inf.in | $IFDEF >tap-win32/i386/OemWin2k.inf -$MACRO <tap-win32/i386/OemWin2k.inf.in | $IFDEF -DAMD64 >tap-win32/amd64/OemWin2k.inf - -# configure service -if [ -n "$SVC_TEMPLATE" ] ; then - cd $c - cp $SVC_TEMPLATE/service.[ch] service-win32 - cd service-win32 - cp service.c service.c.orig - cp service.h service.h.orig - $PATCH <service.patch -fi - -# build license file -cd $c -cat COPYING COPYRIGHT.GPL >install-win32/license.txt - -# copy sample configuration files and docs -s=samples -rm -rf $s -mkdir $s -cp sample-config-files/client.conf $s/client.$PRODUCT_FILE_EXT -cp sample-config-files/server.conf $s/server.$PRODUCT_FILE_EXT -cp install-win32/sample.ovpn $s/sample.$PRODUCT_FILE_EXT -cp easy-rsa/1.0/openssl.cnf $s/openssl.cnf.sample -cp INSTALL-win32.txt install-win32 +cat /dev/null >autodefs/guidefs.nsi |