[or-cvs] r18585: {torvm} Checkin some work in progress for bundle build and sources. (in torvm/trunk: . build/kamikaze/patches build/win32 build/win32/files build/win32/patches build/win32/src/torvm-w32)

coderman at seul.org coderman at seul.org
Tue Feb 17 06:40:51 UTC 2009


Author: coderman
Date: 2009-02-17 01:40:51 -0500 (Tue, 17 Feb 2009)
New Revision: 18585

Modified:
   torvm/trunk/Makefile
   torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch
   torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch
   torvm/trunk/build/win32/Makefile
   torvm/trunk/build/win32/files/buildall.sh
   torvm/trunk/build/win32/patches/vidalia-torvm.patch
   torvm/trunk/build/win32/src/torvm-w32/Makefile
   torvm/trunk/build/win32/src/torvm-w32/apicommon.c
   torvm/trunk/build/win32/src/torvm-w32/apicommon.h
   torvm/trunk/build/win32/src/torvm-w32/creds.c
   torvm/trunk/build/win32/src/torvm-w32/creds.h
   torvm/trunk/build/win32/src/torvm-w32/torvm.h
Log:
Checkin some work in progress for bundle build and sources. Remaining launcher changes pending.

Modified: torvm/trunk/Makefile
===================================================================
--- torvm/trunk/Makefile	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/Makefile	2009-02-17 06:40:51 UTC (rev 18585)
@@ -1,4 +1,4 @@
-# Copyright (C) 2008  The Tor Project, Inc.
+# Copyright (C) 2008-2009  The Tor Project, Inc.
 # See LICENSE file for rights and terms.
 
 SHELL=/bin/bash
@@ -17,14 +17,22 @@
 ifeq (,$(TGTNAME))
 	TGTNAME=x86-uclibc-vm
 endif
+
+# default locations for download directories
+# vm kernel packages are distinct from win32 packages by nature of the
+# two phase build process.
 ifeq (,$(DLDIR))
 	DLDIR=./build/kamikaze/common/dl
 endif
 ifeq (,$(WDLDIR))
 	WDLDIR=./build/win32/dl
 endif
+ifeq (,$(SDLDIR))
+	SDLDIR=./build/repos
+endif
 override DLDIR:=$(realpath $(DLDIR))
 override WDLDIR:=$(realpath $(WDLDIR))
+override SDLDIR:=$(realpath $(SDLDIR))
 
 # OpenWRT version for build
 override CVER:=14298
@@ -34,22 +42,30 @@
 export TGTNAME
 export DLDIR
 export WDLDIR
+export SDLDIR
 
-default all: prereq import buildtree buildkern buildvmiso buildw32src package
+default all: prereq import buildtree buildkern buildw32
 
 #XXX move this into configure
 prereq: Makefile
 	# check DL paths always, since these are more volatile than build user and tools
+	# we enforce these directories to exist to be sure that strong permissions are
+	# preserved during the switch to build user work of the build process.
 	@if [ ! -d $(DLDIR) ]; then \
-		echo "Error: invalid DLDIR path given."; \
+		echo "Error: invalid DLDIR path given for vm kernel package download directory."; \
 		echo "directory \"$(DLDIR)\" does not exist."; \
 		exit 1; \
 	fi;
 	@if [ ! -d $(WDLDIR) ]; then \
-		echo "Error: invalid WDLDIR path given."; \
+		echo "Error: invalid WDLDIR path given for win32 package download directory."; \
 		echo "directory \"$(WDLDIR)\" does not exist."; \
 		exit 1; \
 	fi;
+	@if [ ! -d $(SDLDIR) ]; then \
+		echo "Error: invalid SDLDIR path given for local upstream repository mirror directory."; \
+		echo "directory \"$(SDLDIR)\" does not exist."; \
+		exit 1; \
+	fi;
 	@if [ ! -f .build_prereqs_verified ]; then \
 		echo "Verifying build prerequisites ..." >&2; \
 		NOFOUND=""; \
@@ -80,22 +96,26 @@
 	fi
 
 import: prereq
-	@if [ ! -d import/kamikaze ]; then \
-		echo "Checking out OpenWRT subversion tree revision $(CVER) ..." >&2; \
-		cd import; \
-		svn co -r $(CVER) https://svn.openwrt.org/openwrt/trunk/ kamikaze ; \
+	@if [ ! -d $(SDLDIR)/kamikaze ]; then \
+		echo "Mirroring local OpenWRT tree in $(SDLDIR) ..." >&2; \
+		cd $(SDLDIR); \
+		svn co https://svn.openwrt.org/openwrt/trunk/ kamikaze ; \
 		if (( $$? != 0 )); then \
 			echo "ERROR: Unable to download a copy of the OpenWRT subversion tree." >&2; \
 			rm -rf kamikaze; \
 			exit 1; \
 		fi; \
-	fi
+	else \
+		echo "Updating local OpenWRT tree at $(SDLDIR)/kamikaze/ ..." >&2; \
+		cd $(SDLDIR)/kamikaze/; \
+		svn up; \
+	fi 
 
 buildtree: import
 	@if [ ! -d build/kamikaze/$(TGTNAME) ]; then \
 		echo "Creating Tor VM build tree ..."; \
 		cd build/kamikaze; \
-		svn export ../../import/kamikaze $(TGTNAME); \
+		svn export -r$(CVER) $(SDLDIR)/kamikaze $(TGTNAME); \
 		if (( $$? != 0 )); then \
 			echo "ERROR: Unable to export working copy of local OpenWRT tree." >&2; \
 			rm -rf $(TGTNAME); \
@@ -125,15 +145,8 @@
 		exit 1; \
 	fi
 
-buildvmiso: buildkern
-	@cd build/iso; \
-	./buildiso; \
-	if (( $$? != 0 )); then \
-		echo "ERROR: Unable to create bootable ISO image." >&2; \
-		exit 1; \
-	fi
-
-
+# XXX: add instructions for automated win32 package builds with a vm using these hooks.
+# see https://data.peertech.org/torbld
 W32MK=WDLDIR=$(WDLDIR) all
 ifneq (,$(BUILD_SCP_USER))
   W32MK:=BUILD_SCP_USER=$(BUILD_SCP_USER) BUILD_SCP_IDF=$(BUILD_SCP_IDF) BUILD_SCP_HOST=$(BUILD_SCP_HOST) BUILD_SCP_DIR=$(BUILD_SCP_DIR) $(W32MK)
@@ -148,7 +161,8 @@
   W32MK:=W32AUTO_BUILD_CMD="$(W32AUTO_BUILD_CMD)" $(W32MK)
 endif
 
-buildw32src: 
+# NOTE: for now this is not dependent on buildkern though maybe it should be...
+buildw32: 
 	@cd build/win32; \
 	chown -R $(BUSER):$(BGROUP) . ; \
 	time su $(BUSER) -c "( $(MAKE) $(W32MK) )"; \
@@ -157,8 +171,5 @@
 		exit 1; \
 	fi
 
-package: buildw32src buildvmiso
-	@echo "Automated packaging of completed win32 build is not yet implemented."
+.PHONY: clean prereq import buildkern buildw32
 
-.PHONY: clean prereq import buildkern buildvmiso buildw32src package
-

Modified: torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch	2009-02-17 06:40:51 UTC (rev 18585)
@@ -19,8 +19,9 @@
  
 diff -Naur a/target/linux/x86/config-2.6.27 b/target/linux/x86/config-2.6.27
 --- a/target/linux/x86/config-2.6.27	2008-12-10 01:39:29.530827000 +0000
-+++ b/target/linux/x86/config-2.6.27	2009-02-05 08:35:46.531869024 +0000
-@@ -1,8 +1,9 @@
++++ b/target/linux/x86/config-2.6.27	2009-02-10 13:21:55.274840920 +0000
+@@ -1,8 +1,10 @@
++CONFIG_LOCALVERSION="-torvm"
 +# CONFIG_BSD_PROCESS_ACCT is not set
  # CONFIG_3C515 is not set
 -CONFIG_4KSTACKS=y
@@ -32,7 +33,7 @@
  # CONFIG_8139TOO_8129 is not set
  CONFIG_8139TOO_PIO=y
  # CONFIG_8139TOO_TUNE_TWISTER is not set
-@@ -20,18 +21,18 @@
+@@ -20,23 +22,23 @@
  CONFIG_ARCH_HAS_CPU_RELAX=y
  # CONFIG_ARCH_HAS_ILOG2_U32 is not set
  # CONFIG_ARCH_HAS_ILOG2_U64 is not set
@@ -55,9 +56,25 @@
  # CONFIG_ATA_NONSTANDARD is not set
  # CONFIG_AUDIT_ARCH is not set
  CONFIG_BASE_SMALL=0
-@@ -57,30 +58,12 @@
+ # CONFIG_BINFMT_AOUT is not set
+-CONFIG_BINFMT_MISC=y
++# CONFIG_BINFMT_MISC is not set
+ CONFIG_BITREVERSE=y
+ # CONFIG_BLK_DEV_4DRIVES is not set
+ # CONFIG_BLK_DEV_ALI14XX is not set
+@@ -50,42 +52,26 @@
+ CONFIG_BLK_DEV_IDEDMA_SFF=y
+ CONFIG_BLK_DEV_IDEPCI=y
+ # CONFIG_BLK_DEV_QD65XX is not set
+-CONFIG_BLK_DEV_SC1200=y
++# CONFIG_BLK_DEV_SC1200 is not set
+ # CONFIG_BLK_DEV_UMC8672 is not set
+-CONFIG_BLK_DEV_VIA82CXXX=y
++# CONFIG_BLK_DEV_VIA82CXXX is not set
+ # CONFIG_BLK_DEV_XD is not set
  CONFIG_BOUNCE=y
  # CONFIG_BT_HIDP is not set
++# CONFIG_CARDBUS is not set
  CONFIG_CLASSIC_RCU=y
 -CONFIG_CLOCKSOURCE_WATCHDOG=y
 -CONFIG_COMPAT_VDSO=y
@@ -90,7 +107,14 @@
  # CONFIG_CS5535_GPIO is not set
  # CONFIG_CS89x0 is not set
  # CONFIG_DCDBAS is not set
-@@ -95,7 +78,7 @@
+ CONFIG_DEBUG_BUGVERBOSE=y
+-CONFIG_DEBUG_MEMORY_INIT=y
++# CONFIG_DEBUG_FS is not set
++# CONFIG_DEBUG_MEMORY_INIT is not set
+ CONFIG_DEFAULT_IO_DELAY_TYPE=0
+ # CONFIG_DELL_RBU is not set
+ # CONFIG_DEPCA is not set
+@@ -95,7 +81,7 @@
  CONFIG_DNOTIFY=y
  CONFIG_DOUBLEFAULT=y
  CONFIG_DUMMY_CONSOLE=y
@@ -99,7 +123,7 @@
  # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
  CONFIG_EARLY_PRINTK=y
  # CONFIG_EDAC is not set
-@@ -111,13 +94,11 @@
+@@ -111,13 +97,11 @@
  # CONFIG_EUROTECH_WDT is not set
  CONFIG_EXT2_FS=y
  CONFIG_FAST_CMPXCHG_LOCAL=y
@@ -115,7 +139,7 @@
  CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
  CONFIG_GENERIC_CMOS_UPDATE=y
  # CONFIG_GENERIC_CPU is not set
-@@ -133,23 +114,23 @@
+@@ -133,23 +117,20 @@
  CONFIG_HAS_DMA=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
@@ -128,10 +152,8 @@
 -CONFIG_HAVE_DYNAMIC_FTRACE=y
 -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
 -CONFIG_HAVE_FTRACE=y
-+# CONFIG_HAVE_DYNAMIC_FTRACE is not set
-+# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
-+# CONFIG_HAVE_FTRACE is not set
- CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
  CONFIG_HAVE_IDE=y
  CONFIG_HAVE_IOREMAP_PROT=y
 -CONFIG_HAVE_KPROBES=y
@@ -149,7 +171,7 @@
  CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
  CONFIG_HID=y
  CONFIG_HID_SUPPORT=y
-@@ -158,21 +139,21 @@
+@@ -158,21 +139,18 @@
  # CONFIG_HIGH_RES_TIMERS is not set
  # CONFIG_HPET_TIMER is not set
  # CONFIG_HP_WATCHDOG is not set
@@ -169,15 +191,13 @@
  CONFIG_HW_RANDOM_VIA=y
 -CONFIG_I2C=m
 -CONFIG_I2C_ALGOBIT=m
-+CONFIG_I2C=y
-+CONFIG_I2C_ALGOBIT=y
- CONFIG_I2C_BOARDINFO=y
+-CONFIG_I2C_BOARDINFO=y
 -CONFIG_I2C_CHARDEV=m
-+CONFIG_I2C_CHARDEV=y
++# CONFIG_I2C is not set
  # CONFIG_I6300ESB_WDT is not set
  # CONFIG_I82365 is not set
  # CONFIG_I8K is not set
-@@ -184,15 +165,9 @@
+@@ -184,15 +162,9 @@
  CONFIG_IDE_GENERIC=y
  # CONFIG_IDE_PROC_FS is not set
  CONFIG_IDE_TIMINGS=y
@@ -193,7 +213,7 @@
  # CONFIG_IOMMU_HELPER is not set
  CONFIG_IO_DELAY_0X80=y
  # CONFIG_IO_DELAY_0XED is not set
-@@ -210,19 +185,19 @@
+@@ -210,21 +182,23 @@
  # CONFIG_IT8712F_WDT is not set
  # CONFIG_ITCO_WDT is not set
  CONFIG_KALLSYMS=y
@@ -215,8 +235,12 @@
 +CONFIG_LEDS_NET48XX=y
  # CONFIG_LEDS_WRAP is not set
  CONFIG_LOCK_KERNEL=y
++CONFIG_LZO_COMPRESS=y
++CONFIG_LZO_DECOMPRESS=y
  CONFIG_M386=y
-@@ -239,35 +214,32 @@
+ # CONFIG_M486 is not set
+ # CONFIG_M586 is not set
+@@ -239,35 +213,32 @@
  # CONFIG_MCRUSOE is not set
  # CONFIG_MCYRIXIII is not set
  # CONFIG_MDA_CONSOLE is not set
@@ -267,7 +291,47 @@
  # CONFIG_MOUSE_SERIAL is not set
  # CONFIG_MOUSE_VSXXXAA is not set
  # CONFIG_MPENTIUM4 is not set
-@@ -315,24 +287,24 @@
+@@ -275,38 +246,7 @@
+ # CONFIG_MPENTIUMIII is not set
+ # CONFIG_MPENTIUMM is not set
+ # CONFIG_MPSC is not set
+-CONFIG_MTD=y
+-# CONFIG_MTD_ABSENT is not set
+-CONFIG_MTD_BLKDEVS=y
+-CONFIG_MTD_BLOCK=y
+-CONFIG_MTD_BLOCK2MTD=y
+-# CONFIG_MTD_CFI is not set
+-CONFIG_MTD_CFI_I1=y
+-CONFIG_MTD_CFI_I2=y
+-# CONFIG_MTD_CFI_I4 is not set
+-# CONFIG_MTD_CFI_I8 is not set
+-CONFIG_MTD_CHAR=y
+-# CONFIG_MTD_CMDLINE_PARTS is not set
+-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+-# CONFIG_MTD_CONCAT is not set
+-# CONFIG_MTD_JEDECPROBE is not set
+-CONFIG_MTD_MAP_BANK_WIDTH_1=y
+-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+-CONFIG_MTD_MAP_BANK_WIDTH_2=y
+-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+-CONFIG_MTD_MAP_BANK_WIDTH_4=y
+-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+-# CONFIG_MTD_MTDRAM is not set
+-# CONFIG_MTD_ONENAND is not set
+-CONFIG_MTD_PARTITIONS=y
+-# CONFIG_MTD_PHRAM is not set
+-# CONFIG_MTD_PLATRAM is not set
+-# CONFIG_MTD_PMC551 is not set
+-# CONFIG_MTD_RAM is not set
+-# CONFIG_MTD_REDBOOT_PARTS is not set
+-# CONFIG_MTD_ROM is not set
+-# CONFIG_MTD_SLRAM is not set
+-# CONFIG_MTD_TS5500 is not set
++# CONFIG_MTD is not set
+ CONFIG_MTRR=y
+ # CONFIG_MTRR_SANITIZER is not set
+ # CONFIG_MVIAC3_2 is not set
+@@ -315,24 +255,23 @@
  # CONFIG_MWINCHIP3D is not set
  # CONFIG_MWINCHIPC6 is not set
  CONFIG_NAMESPACES=y
@@ -282,7 +346,7 @@
 -CONFIG_NR_CPUS=8
 -CONFIG_NSC_GPIO=m
 +# CONFIG_NR_CPUS is not set
-+CONFIG_NSC_GPIO=y
++# CONFIG_NSC_GPIO is not set
  CONFIG_NVRAM=y
  # CONFIG_OLPC is not set
  # CONFIG_OPTIMIZE_INLINING is not set
@@ -294,12 +358,11 @@
  # CONFIG_PC87413_WDT is not set
 -CONFIG_PCCARD=m
 -CONFIG_PCCARD_NONSTATIC=m
-+CONFIG_PCCARD=y
-+CONFIG_PCCARD_NONSTATIC=y
++# CONFIG_PCCARD is not set
  CONFIG_PCI=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_PCI_BIOS=y
-@@ -343,11 +315,11 @@
+@@ -343,11 +282,11 @@
  # CONFIG_PCI_GODIRECT is not set
  # CONFIG_PCI_GOMMCONFIG is not set
  # CONFIG_PCI_GOOLPC is not set
@@ -316,7 +379,11 @@
  CONFIG_PCSPKR_PLATFORM=y
  # CONFIG_PCWATCHDOG is not set
  CONFIG_PHYSICAL_ALIGN=0x100000
-@@ -362,28 +334,28 @@
+@@ -359,31 +298,26 @@
+ CONFIG_PROC_PAGE_MONITOR=y
+ # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+ # CONFIG_R6040 is not set
++# CONFIG_R8169 is not set
  # CONFIG_RELOCATABLE is not set
  CONFIG_RFKILL_LEDS=y
  CONFIG_RTC=y
@@ -336,26 +403,24 @@
  CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
 -CONFIG_SCHED_SMT=y
 -CONFIG_SCSI_WAIT_SCAN=m
-+# CONFIG_SCHED_SMT is not set
-+CONFIG_SCSI_WAIT_SCAN=y
- CONFIG_SCx200=y
- CONFIG_SCx200HR_TIMER=y
+-CONFIG_SCx200=y
+-CONFIG_SCx200HR_TIMER=y
 -CONFIG_SCx200_ACB=m
 -CONFIG_SCx200_GPIO=m
 -CONFIG_SCx200_I2C=m
-+CONFIG_SCx200_ACB=y
-+CONFIG_SCx200_GPIO=y
-+CONFIG_SCx200_I2C=y
- CONFIG_SCx200_I2C_SCL=12
- CONFIG_SCx200_I2C_SDA=13
+-CONFIG_SCx200_I2C_SCL=12
+-CONFIG_SCx200_I2C_SDA=13
 -CONFIG_SCx200_WDT=m
 -CONFIG_SENSORS_PC87360=m
-+CONFIG_SCx200_WDT=y
-+CONFIG_SENSORS_PC87360=y
++# CONFIG_SCHED_SMT is not set
++# CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
++# CONFIG_SCx200 is not set
++# CONFIG_SENSORS_PC87360 is not set
  # CONFIG_SERIAL_8250_CS is not set
  # CONFIG_SERIAL_8250_EXTENDED is not set
  CONFIG_SERIAL_8250_PCI=y
-@@ -395,11 +367,17 @@
+@@ -395,11 +329,17 @@
  # CONFIG_SERIO_PCIPS2 is not set
  # CONFIG_SERIO_RAW is not set
  CONFIG_SERIO_SERPORT=y
@@ -376,8 +441,11 @@
  # CONFIG_SONYPI is not set
  CONFIG_SPARSEMEM_STATIC=y
  # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
-@@ -414,65 +392,52 @@
+@@ -412,87 +352,266 @@
+ # CONFIG_TELCLOCK is not set
+ # CONFIG_TICK_ONESHOT is not set
  # CONFIG_TOSHIBA is not set
++CONFIG_TUN=y
  # CONFIG_TYPHOON is not set
  CONFIG_UID16=y
 -CONFIG_USB=m
@@ -457,7 +525,9 @@
  CONFIG_X86_PC=y
  # CONFIG_X86_POWERNOW_K6 is not set
  # CONFIG_X86_POWERNOW_K7 is not set
-@@ -481,18 +446,209 @@
+ # CONFIG_X86_POWERNOW_K8 is not set
+-CONFIG_X86_PPRO_FENCE=y
++# CONFIG_X86_PPRO_FENCE is not set
  # CONFIG_X86_RDC321X is not set
  # CONFIG_X86_REBOOTFIXUPS is not set
  CONFIG_X86_RESERVE_LOW_64K=y

Modified: torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch	2009-02-17 06:40:51 UTC (rev 18585)
@@ -1,11 +1,11 @@
 diff -Naur a/.config b/.config
 --- a/.config	1970-01-01 00:00:00.000000000 +0000
-+++ b/.config	2009-02-05 11:58:02.098982400 +0000
-@@ -0,0 +1,1312 @@
++++ b/.config	2009-02-08 15:23:46.594944296 +0000
+@@ -0,0 +1,1311 @@
 +#
 +# Automatically generated make config: don't edit
 +# OpenWrt version: Kamikaze (unknown)
-+# Thu Feb  5 03:57:41 2009
++# Sun Feb  8 07:23:11 2009
 +#
 +CONFIG_HAVE_DOT_CONFIG=y
 +# CONFIG_TARGET_ppc40x is not set
@@ -178,7 +178,6 @@
 +CONFIG_LINUX_2_6=y
 +CONFIG_DISPLAY_SUPPORT=y
 +CONFIG_PCI_SUPPORT=y
-+CONFIG_PCMCIA_SUPPORT=y
 +CONFIG_USES_EXT2=y
 +CONFIG_i386=y
 +CONFIG_ARCH="i386"
@@ -623,7 +622,8 @@
 +#
 +CONFIG_BUSYBOX_CONFIG_INIT=y
 +# CONFIG_BUSYBOX_CONFIG_DEBUG_INIT is not set
-+# CONFIG_BUSYBOX_CONFIG_FEATURE_USE_INITTAB is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_USE_INITTAB=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_KILL_REMOVED is not set
 +CONFIG_BUSYBOX_CONFIG_FEATURE_KILL_DELAY=0
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_SCTTY is not set
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG is not set
@@ -724,7 +724,7 @@
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE is not set
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_VERBOSE is not set
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS is not set
-+CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL is not set
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_NFS is not set
 +# CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS is not set
 +CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS=y
@@ -1205,7 +1205,6 @@
 +# CONFIG_PACKAGE_kmod-mmc is not set
 +# CONFIG_PACKAGE_kmod-mmc-spi is not set
 +# CONFIG_PACKAGE_kmod-nsc-gpio is not set
-+# CONFIG_PACKAGE_kmod-pcmcia-core is not set
 +# CONFIG_PACKAGE_kmod-sc520-wdt is not set
 +# CONFIG_PACKAGE_kmod-scx200-gpio is not set
 +# CONFIG_PACKAGE_kmod-scx200-wdt is not set

Modified: torvm/trunk/build/win32/Makefile
===================================================================
--- torvm/trunk/build/win32/Makefile	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/Makefile	2009-02-17 06:40:51 UTC (rev 18585)
@@ -10,6 +10,7 @@
 else
 	override ISODIR:=$(realpath $(ISODIR))
 endif
+override UNZIP:=unzip -qq
 
 # various utilities are downloaded and packaged into an ISO image
 # with an autorun.inf that launches a build of all the win32 parts.
@@ -160,28 +161,60 @@
 7ZIP_SUM=19a06e188a83452dc9273290dbef71220686c4c1
 7ZIP_NAME=7zip.msi
 
+SDL_F=SDL-1.2.13.tar.gz
+SDL_URL=http://www.libsdl.org/release/SDL-1.2.13.tar.gz
+SDL_SUM=51fcaa3e1d5c01fd813ea08688780f86b19cf539
+
+WPCAPSRC_F=WpcapSrc_4_1_beta4.zip
+WPCAPSRC_URL=http://www.winpcap.org/install/bin/WpcapSrc_4_1_beta4.zip
+WPCAPSRC_SUM=1450c4d293a38c25ec8cd8a9be30e04858df36d9
+
+QEMU_F=qemu-0.9.1.tar.gz
+QEMU_URL=http://bellard.org/qemu/qemu-0.9.1.tar.gz
+QEMU_SUM=630ea20b5989f0df00128de7f7be661c573ed041
+
+OVPN_F=openvpn-2.1_rc10.tar.gz
+OVPN_URL=http://openvpn.net/release/openvpn-2.1_rc10.tar.gz
+OVPN_SUM=b7f4af94704caa8aa3279ccbc391b98cf7ed953e
+
+WINDDK_F=1830_usa_ddk.iso
+WINDDK_URL=http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso
+WINDDK_SUM=0d2154d88a5ee252cc908630c77863bb42777387
+
 QT_VER=4.4.3
 QT_F=qt-win-opensource-src-$(QT_VER).zip
 QT_TGZ=qt-$(QT_VER).tgz
 QT_URL=ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-$(QT_VER).zip
 QT_SUM=669d494b9c37353f87c13765ed9f3ea97c0fa9e0
 
-VIDALIA_NAME=vidalia-latest
-VIDALIA_TGZ=$(VIDALIA_NAME).tar.gz
-VIDALIA_SVN=https://svn.vidalia-project.net/svn/vidalia/trunk/
-
 POLIPO_F=polipo-20080907.tar.gz
 POLIPO_URL=http://www.pps.jussieu.fr/~jch/software/files/polipo/polipo-20080907.tar.gz
 POLIPO_SUM=dda211e3027310891fb555c1fe5fa2f5b274aa0f
 
+MARBLE_NAME=marble-latest
+MARBLE_TGZ=$(MARBLE_NAME).tar.gz
+MARBLE_SVN=https://svn.vidalia-project.net/svn/marble/
+MARBLE_BR=trunk
+MARBLE_VER=3516
+
+VIDALIA_NAME=vidalia-latest
+VIDALIA_TGZ=$(VIDALIA_NAME).tar.gz
+VIDALIA_SVN=https://svn.vidalia-project.net/svn/vidalia/
+VIDALIA_BR=trunk
+VIDALIA_VER=3520
+
 # for package resources
 TORSVN_NAME=tor-latest
 TORSVN_TGZ=$(TORSVN_NAME).tar.gz
-TORSVN_SVN=https://tor-svn.freehaven.net/svn/tor/trunk
+TORSVN_SVN=https://tor-svn.freehaven.net/svn/tor/
+TORSVN_BR=trunk
+TORSVN_VER=18546
 
 TORBUTTON_NAME=torbutton-latest
 TORBUTTON_TGZ=$(TORBUTTON_NAME).tar.gz
-TORBUTTON_SVN=https://tor-svn.freehaven.net/svn/torbutton/trunk
+TORBUTTON_SVN=https://tor-svn.freehaven.net/svn/torbutton/
+TORBUTTON_BR=trunk
+TORBUTTON_VER=18548
 
 PYCRYPTO_NAME=pycrypto-latest
 PYCRYPTO_TGZ=$(PYCRYPTO_NAME).tar.gz
@@ -191,26 +224,10 @@
 THANDY_TGZ=$(THANDY_NAME).tar.gz
 THANDY_GIT=git://git.torproject.org/git/thandy
 
-SDL_F=SDL-1.2.13.tar.gz
-SDL_URL=http://www.libsdl.org/release/SDL-1.2.13.tar.gz
-SDL_SUM=51fcaa3e1d5c01fd813ea08688780f86b19cf539
+# XXX: tmp equivalent of exit 0 when chaining cmds
+# buildscripts need some dire clean up...
+OK:=echo -n
 
-WPCAPSRC_F=WpcapSrc_4_1_beta4.zip
-WPCAPSRC_URL=http://www.winpcap.org/install/bin/WpcapSrc_4_1_beta4.zip
-WPCAPSRC_SUM=1450c4d293a38c25ec8cd8a9be30e04858df36d9
-
-QEMU_F=qemu-0.9.1.tar.gz
-QEMU_URL=http://bellard.org/qemu/qemu-0.9.1.tar.gz
-QEMU_SUM=630ea20b5989f0df00128de7f7be661c573ed041
-
-OVPN_F=openvpn-2.1_rc10.tar.gz
-OVPN_URL=http://openvpn.net/release/openvpn-2.1_rc10.tar.gz
-OVPN_SUM=b7f4af94704caa8aa3279ccbc391b98cf7ed953e
-
-WINDDK_F=1830_usa_ddk.iso
-WINDDK_URL=http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso
-WINDDK_SUM=0d2154d88a5ee252cc908630c77863bb42777387
-
 ALLFILES=$(ZLIB_F) $(GZIP_F) $(BZIP2_F) $(LIBARCH_F) $(BINUTILS_F) $(GCCORE_F) $(GPP_F) $(MINGWRUN_F) $(MINGWUTIL_F) $(MAKE_F) $(W32API_F) $(MSYS_F) $(MSYSCORE_F) $(BASH_F) $(DIFFUTIL_F) $(LIBTOOL_F) $(MINIRES_F) $(MSYSZLIB_F) $(MSYSCRYPT_F) $(M4_F) $(SSL_F) $(SSH_F) $(ZLIBSRC_F) $(PTHREADS_F) $(AMAKE_F) $(ACONF_F) $(PERL_F) $(GROFF_F) $(CMAKE_F) $(QT_F) $(NSIS_F) $(7ZIP_F) $(SSLSRC_F) $(PY2EXE_F) $(WIX_F) $(GNURX_F) $(POLIPO_F) $(SDL_F) $(WPCAPSRC_F) $(QEMU_F) $(OVPN_F)
 
 default all: downloads extract buildiso runinstall
@@ -258,6 +275,12 @@
 	@if [ ! -e $(WDLDIR)/$(WPCAPSRC_F) ]; then $(DLCMD) "$(WPCAPSRC_URL)" $(WPCAPSRC_SUM) "$(WDLDIR)/$(WPCAPSRC_F)"; fi
 	@if [ ! -e $(WDLDIR)/$(OVPN_F) ]; then $(DLCMD) "$(OVPN_URL)" $(OVPN_SUM) "$(WDLDIR)/$(OVPN_F)"; fi
 	@if [ ! -e $(WDLDIR)/$(QEMU_F) ]; then $(DLCMD) "$(QEMU_URL)" $(QEMU_SUM) "$(WDLDIR)/$(QEMU_F)"; fi
+	@( cd $(SDLDIR); if [ -d $(TORSVN_NAME) ]; then cd $(TORSVN_NAME); svn up; $(OK); else svn co "$(TORSVN_SVN)$(TORSVN_BR)" $(TORSVN_NAME) ; fi )
+	@( cd $(SDLDIR); if [ -d $(TORBUTTON_NAME) ]; then cd $(TORBUTTON_NAME); svn up; $(OK); else svn co "$(TORBUTTON_SVN)$(TORBUTTON_BR)" $(TORBUTTON_NAME) ; fi )
+	@( cd $(SDLDIR); if [ -d $(VIDALIA_NAME) ]; then cd $(VIDALIA_NAME); svn up; $(OK); else svn co "$(VIDALIA_SVN)$(VIDALIA_BR)" $(VIDALIA_NAME) ; fi )
+	@( cd $(SDLDIR); if [ -d $(MARBLE_NAME) ]; then cd $(MARBLE_NAME); svn up; $(OK); else svn co "$(MARBLE_SVN)$(MARBLE_BR)" $(MARBLE_NAME) ; fi )
+	@( cd $(SDLDIR); if [ -d $(THANDY_NAME) ]; then cd $(THANDY_NAME); git pull; $(OK); else git clone $(THANDY_GIT) $(THANDY_NAME); fi ) 
+	@( cd $(SDLDIR); if [ -d $(PYCRYPTO_NAME) ]; then cd $(PYCRYPTO_NAME); git pull; $(OK); else git clone $(PYCRYPTO_GIT) $(PYCRYPTO_NAME); fi ) 
 
 extract: downloads $(addprefix $(WDLDIR)/, $(ALLFILES))
 	@if [ -d $(ISODIR) ]; then \
@@ -283,22 +306,21 @@
 	if [[ "$(DEBUG_NO_STRIP)" != "" ]]; then \
 		echo "export DEBUG_NO_STRIP=$(DEBUG_NO_STRIP)" >> $(ISODIR)/bldopts; \
 	fi; \
+	echo "--- Copying packages for ISO image file system ..."; \
 	cp files/autorun.inf files/install.bat $(ISODIR)/; \
 	cp files/hdd.img.gz $(ISODIR)/add/; \
 	gzip -d $(ISODIR)/add/hdd.img.gz; \
 	cp files/fstab $(ISODIR)/bin/; \
 	cp files/buildall.sh $(ISODIR)/dl/src; \
 	cp patches/* $(ISODIR)/dl/src; \
-	cp $(WDLDIR)/$(7ZIP_F) $(ISODIR)/dl/$(7ZIP_NAME); \
-	unzip $(WDLDIR)/$(ZLIB_F) -d $(ISODIR)/ bin/zlib1.dll; \
-	unzip $(WDLDIR)/$(GZIP_F) -d $(ISODIR)/ bin/gzip.exe; \
-	unzip $(WDLDIR)/$(BZIP2_F) -d $(ISODIR)/ bin/bzip2.exe bin/bzip2.dll; \
+	cp $(addprefix $(WDLDIR)/, $(ALLFILES)) $(ISODIR)/dl/; \
+	$(UNZIP) $(WDLDIR)/$(ZLIB_F) -d $(ISODIR)/ bin/zlib1.dll; \
+	$(UNZIP) $(WDLDIR)/$(GZIP_F) -d $(ISODIR)/ bin/gzip.exe; \
+	$(UNZIP) $(WDLDIR)/$(BZIP2_F) -d $(ISODIR)/ bin/bzip2.exe bin/bzip2.dll; \
 	tar jxf $(WDLDIR)/$(BASH_F) bin/bash.exe bin/sh.exe; mv bin/* $(ISODIR)/bin/;rmdir bin; \
 	tar jxf $(WDLDIR)/$(MSYS_F) bin/msys-1.0.dll bin/mount.exe bin/ps.exe; mv bin/* $(ISODIR)/bin/;rmdir bin; \
 	tar jxf $(WDLDIR)/$(MSYSZLIB_F) bin/msys-z.dll; mv bin/* $(ISODIR)/bin/;rmdir bin; \
-	unzip $(WDLDIR)/$(LIBARCH_F) -d $(ISODIR)/ bin/bsdtar.exe bin/libarchive2.dll; \
-	cp $(addprefix $(WDLDIR)/, $(ALLFILES)) $(ISODIR)/dl/; \
-	unzip $(WDLDIR)/$(WPCAPSRC_F); mv winpcap WpcapSrc_4_1_beta4; tar cf $(ISODIR)/dl/src/WpcapSrc_4_1_beta4.tar WpcapSrc_4_1_beta4; gzip -9 $(ISODIR)/dl/src/WpcapSrc_4_1_beta4.tar; rm -rf WpcapSrc_4_1_beta4; \
+	$(UNZIP) $(WDLDIR)/$(LIBARCH_F) -d $(ISODIR)/ bin/bsdtar.exe bin/libarchive2.dll; \
 	mv $(ISODIR)/dl/$(PTHREADS_F) $(ISODIR)/dl/src/; \
 	mv $(ISODIR)/dl/$(QEMU_F) $(ISODIR)/dl/src/; \
 	mv $(ISODIR)/dl/$(GROFF_F) $(ISODIR)/dl/src/; \
@@ -306,24 +328,33 @@
 	mv $(ISODIR)/dl/$(SSLSRC_F) $(ISODIR)/dl/src/; \
 	mv $(ISODIR)/dl/$(GNURX_F) $(ISODIR)/dl/src/; \
 	mv $(ISODIR)/dl/$(POLIPO_F) $(ISODIR)/dl/src/; \
-	unzip $(WDLDIR)/$(PY2EXE_F) -d tmp; mv tmp/py2exe* py2exe;rmdir tmp; tar zcf $(ISODIR)/dl/$(PY2EXE_TGZ) py2exe; rm -rf py2exe; \
-	unzip $(WDLDIR)/$(NSIS_F); tar zcf $(ISODIR)/dl/$(NSIS_TGZ) nsis-$(NSIS_VER); rm -rf nsis-$(NSIS_VER) ; \
-	unzip $(WDLDIR)/$(WIX_F) -d wix; tar zcf $(ISODIR)/dl/$(WIX_TGZ) wix; rm -rf wix; \
-	unzip $(WDLDIR)/$(QT_F) -d qt-$(QT_VER); mv qt-$(QT_VER)/qt-*/* qt-$(QT_VER)/; rm -rf qt-$(QT_VER)/qt-*; tar zcf $(ISODIR)/dl/src/$(QT_TGZ) qt-$(QT_VER); rm -rf qt-$(QT_VER); \
-	rm -rf $(PYCRYPTO_NAME); git clone $(PYCRYPTO_GIT) $(PYCRYPTO_NAME) ; \
-	find $(PYCRYPTO_NAME) -name '\.git' -exec rm -rf {} \; ; \
-	tar zcf $(ISODIR)/dl/src/$(PYCRYPTO_TGZ) $(PYCRYPTO_NAME); rm -rf $(PYCRYPTO_NAME); \
-	rm -rf $(VIDALIA_NAME); svn export $(VIDALIA_SVN) $(VIDALIA_NAME) ; \
-	tar zcf $(ISODIR)/dl/src/$(VIDALIA_TGZ) $(VIDALIA_NAME); rm -rf $(VIDALIA_NAME); \
-	rm -rf $(THANDY_NAME); git clone $(THANDY_GIT) $(THANDY_NAME) ; \
-	tar zcf $(ISODIR)/dl/src/$(THANDY_TGZ) $(THANDY_NAME); rm -rf $(THANDY_NAME); \
-	rm -rf $(TORSVN_NAME); svn export $(TORSVN_SVN) $(TORSVN_NAME) ; \
-	tar zcf $(ISODIR)/dl/src/$(TORSVN_TGZ) $(TORSVN_NAME); rm -rf $(TORSVN_NAME); \
-	rm -rf $(TORBUTTON_NAME); svn export $(TORBUTTON_SVN) $(TORBUTTON_NAME) ; cd $(TORBUTTON_NAME) ; bash makexpi.sh ; cd .. ; \
-	mv $(TORBUTTON_NAME)/pkg/*.xpi $(ISODIR)/dl/src/ ; rm -rf $(TORSVN_NAME); \
 	mv $(ISODIR)/dl/$(SDL_F) $(ISODIR)/dl/src/; \
 	mv $(ISODIR)/dl/$(OVPN_F) $(ISODIR)/dl/src/; \
 	mv $(ISODIR)/dl/$(ZLIBSRC_F) $(ISODIR)/dl/src/; \
+	echo "--- Repacking WinPCAP archive ..."; \
+	$(UNZIP) $(WDLDIR)/$(WPCAPSRC_F); mv winpcap WpcapSrc_4_1_beta4; tar cf $(ISODIR)/dl/src/WpcapSrc_4_1_beta4.tar WpcapSrc_4_1_beta4; gzip -9 $(ISODIR)/dl/src/WpcapSrc_4_1_beta4.tar; rm -rf WpcapSrc_4_1_beta4 $(ISODIR)/dl/$(WPCAPSRC_F); \
+	echo "--- Repacking Py2Exe archive ..."; \
+	$(UNZIP) $(WDLDIR)/$(PY2EXE_F) -d tmp; mv tmp/py2exe* py2exe;rmdir tmp; tar zcf $(ISODIR)/dl/$(PY2EXE_TGZ) py2exe; rm -rf py2exe $(ISODIR)/dl/$(PY2EXE_F); \
+	echo "--- Repacking NSIS archive ..."; \
+	$(UNZIP) $(WDLDIR)/$(NSIS_F); tar zcf $(ISODIR)/dl/$(NSIS_TGZ) nsis-$(NSIS_VER); rm -rf nsis-$(NSIS_VER) $(ISODIR)/dl/$(NSIS_F); \
+	echo "--- Repacking WiX archive ..."; \
+	$(UNZIP) $(WDLDIR)/$(WIX_F) -d wix; tar zcf $(ISODIR)/dl/$(WIX_TGZ) wix; rm -rf wix $(ISODIR)/dl/$(WIX_F); \
+	echo "--- Repacking Qt archive ..."; \
+	$(UNZIP) $(WDLDIR)/$(QT_F) -d qt-$(QT_VER); mv qt-$(QT_VER)/qt-*/* qt-$(QT_VER)/; rm -rf qt-$(QT_VER)/qt-*; tar zcf $(ISODIR)/dl/src/$(QT_TGZ) qt-$(QT_VER); rm -rf qt-$(QT_VER) $(ISODIR)/dl/$(QT_F); \
+	echo "--- Exporting Vidalia from local mirror ..."; \
+	rm -rf $(VIDALIA_NAME); svn export --revision $(VIDALIA_VER) $(SDLDIR)/$(VIDALIA_NAME) $(VIDALIA_NAME); \
+	tar zcf $(ISODIR)/dl/src/$(VIDALIA_TGZ) $(VIDALIA_NAME); rm -rf $(VIDALIA_NAME); \
+	echo "--- Exporting Marble from local mirror ..."; \
+	rm -rf $(MARBLE_NAME); svn export --revision $(MARBLE_VER) $(SDLDIR)/$(MARBLE_NAME) $(MARBLE_NAME) ; \
+	tar zcf $(ISODIR)/dl/src/$(MARBLE_TGZ) $(MARBLE_NAME); rm -rf $(MARBLE_NAME); \
+	echo "--- Exporting Thandy from local mirror ..."; \
+	( cd $(SDLDIR); tar zcf $(ISODIR)/dl/src/$(THANDY_TGZ) $(THANDY_NAME) ); \
+	echo "--- Exporting Tor from local mirror ..."; \
+	rm -rf $(TORSVN_NAME); svn export --revision $(TORSVN_VER) $(SDLDIR)/$(TORSVN_NAME) $(TORSVN_NAME) ; \
+	tar zcf $(ISODIR)/dl/src/$(TORSVN_TGZ) $(TORSVN_NAME); rm -rf $(TORSVN_NAME); \
+	echo "--- Exporting PyCrypto from local mirror ..."; \
+	( cd $(SDLDIR); tar zcf $(ISODIR)/dl/src/$(PYCRYPTO_TGZ) $(PYCRYPTO_NAME) ); \
+	echo "--- Creating source archives from win32 tree ..."; \
 	( cd src && tar zcf ../$(ISODIR)/dl/src/torvm-w32.tgz torvm-w32 ); \
 	( cd src && tar zcf ../$(ISODIR)/dl/src/pkg.tgz pkg ); \
 	touch $(ISODIR)/VMDEVISO.TXT

Modified: torvm/trunk/build/win32/files/buildall.sh
===================================================================
--- torvm/trunk/build/win32/files/buildall.sh	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/files/buildall.sh	2009-02-17 06:40:51 UTC (rev 18585)
@@ -73,6 +73,11 @@
   unset VSTOOLSDIR
   unset VSTOOLSENV
 fi
+if [ -f "$VSTOOLSENV" ]; then
+  echo "Using VisualStudio environment script at $VSTOOLSENV."
+  export PATH="$PATH:$VSTOOLSDIR:$VSTOOLSDIR\Bin:$VSTOOLSDIR\VC\bin:$VSTOOLSDIR\Common7\IDE:$VSTOOLSDIR\SDK\v2.0\bin"
+  echo "Using new PATH=$PATH"
+fi
 
 if [ -f ~/.ssh/user ]; then
   export BUILD_SCP_USER=`cat ~/.ssh/user`
@@ -153,7 +158,10 @@
   echo "ERROR: pthreads-32 build failed." >&2
   exit 1
 fi
-cp pthreadGC2.dll $libdir/
+# make install not quite sane yet ...
+cp *.a /lib/
+cp *.dll /bin/
+cp *.h /usr/include/
 
 
 echo "Building zlib ..."
@@ -622,6 +630,7 @@
 
 echo "Building bundle packages ..."
 cd /usr/src/pkg
+cp ../torvm-w32/tor-icon-32.ico ./torvm.ico
 # DONT STRIP PY2EXEs!
 cp $thandir/Thandy.exe bin/
 cp /src/$TORSVN_DIR/contrib/*.wxs ./
@@ -629,12 +638,12 @@
 if [ -f /src/$TORBUTTON_FILE ]; then
   cp /src/$TORBUTTON_FILE bin/torbutton.xpi
 fi
-
-cp /src/$TORBUTTON_FILE ./torbutton.xpi
+# XXX replace this with Matt's torbutton NSIS magic
 touch tbcheck.bat
 touch uninstall.bat
 candle.exe *.wxs
 
+echo "Linking torvm MSI installer package ..."
 light.exe -out torvm.msi WixUI_Tor.wixobj torvm.wixobj -ext $WIX_UI
 if [ -f torvm.msi ]; then
   cp torvm.msi $bundledir
@@ -643,6 +652,7 @@
   echo "ERROR: unable to build Tor VM MSI installer."
 fi
 
+echo "Linking polipo MSI installer package ..."
 light.exe -out polipo.msi WixUI_Tor.wixobj polipo.wixobj -ext $WIX_UI
 if [ -f polipo.msi ]; then
   cp polipo.msi $bundledir
@@ -651,6 +661,7 @@
   echo "ERROR: unable to build polipo MSI installer."
 fi
 
+echo "Linking torbutton MSI installer package ..."
 light.exe -out torbutton.msi WixUI_Tor.wixobj torbutton.wixobj -ext $WIX_UI
 if [ -f torbutton.msi ]; then
   cp torbutton.msi $bundledir
@@ -659,6 +670,7 @@
   echo "ERROR: unable to build torbutton MSI installer."
 fi
 
+echo "Linking thandy MSI installer package ..."
 light.exe -out thandy.msi WixUI_Tor.wixobj thandy.wixobj -ext $WIX_UI
 if [ -f thandy.msi ]; then
   cp thandy.msi $bundledir
@@ -667,6 +679,7 @@
   echo "ERROR: unable to build Thandy MSI installer."
 fi
 
+echo "Creating Tor VM bundle installer executable ..."
 makensis.exe bundle.nsi
 if [ -f TorVMBundle.exe ]; then
   cp TorVMBundle.exe $bundledir
@@ -675,6 +688,7 @@
   echo "ERROR: unable to build Tor VM executable bundle installer."
 fi
 
+echo "Creating Tor VM network installer executable ..."
 makensis.exe netinst.nsi
 if [ -f TorVMNetInstaller.exe ]; then
   cp TorVMNetInstaller.exe $bundledir
@@ -683,6 +697,7 @@
   echo "ERROR: unable to build Tor VM executable network installer."
 fi
 
+echo "Creating self-extracting Tor VM archive ..."
 export exename=Tor_VM.exe
 if [ -f $exename ]; then
   rm -f $exename

Modified: torvm/trunk/build/win32/patches/vidalia-torvm.patch
===================================================================
--- torvm/trunk/build/win32/patches/vidalia-torvm.patch	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/patches/vidalia-torvm.patch	2009-02-17 06:40:51 UTC (rev 18585)
@@ -1,6 +1,6 @@
-diff -Naur orig-vidalia/cmake/FindOpenSSL.cmake mod-vidalia/cmake/FindOpenSSL.cmake
---- orig-vidalia/cmake/FindOpenSSL.cmake	2008-04-02 02:00:24.794800000 +0000
-+++ mod-vidalia/cmake/FindOpenSSL.cmake	2009-01-26 10:46:24.132337536 +0000
+diff -Naur a/cmake/FindOpenSSL.cmake b/cmake/FindOpenSSL.cmake
+--- a/cmake/FindOpenSSL.cmake	2008-04-02 02:00:24.794800000 +0000
++++ b/cmake/FindOpenSSL.cmake	2009-02-15 14:46:02.122270032 +0000
 @@ -96,8 +96,8 @@
    mark_as_advanced(OPENSSL_LIBSSL_DEBUG   OPENSSL_LIBCRYPTO_DEBUG
                     OPENSSL_LIBSSL_RELEASE OPENSSL_LIBCRYPTO_RELEASE)
@@ -12,9 +12,9 @@
  endif(MSVC)
  
  
-diff -Naur orig-vidalia/pkg/build-geoip-cache.sh mod-vidalia/pkg/build-geoip-cache.sh
---- orig-vidalia/pkg/build-geoip-cache.sh	2008-02-29 04:30:11.928307000 +0000
-+++ mod-vidalia/pkg/build-geoip-cache.sh	2009-01-26 10:47:18.600057184 +0000
+diff -Naur a/pkg/build-geoip-cache.sh b/pkg/build-geoip-cache.sh
+--- a/pkg/build-geoip-cache.sh	2008-02-29 04:30:11.928307000 +0000
++++ b/pkg/build-geoip-cache.sh	2009-02-15 14:46:02.122270032 +0000
 @@ -13,7 +13,7 @@
  
  
@@ -24,9 +24,9 @@
  CACHEFILE="geoip-cache"
  
  if [ "$1" == "-notimestamp" -o "$1" == "--notimestamp" ]; then
-diff -Naur orig-vidalia/pkg/win32/WixUI_Tor.wxs mod-vidalia/pkg/win32/WixUI_Tor.wxs
---- orig-vidalia/pkg/win32/WixUI_Tor.wxs	1970-01-01 00:00:00.000000000 +0000
-+++ mod-vidalia/pkg/win32/WixUI_Tor.wxs	2009-01-26 10:47:34.940573048 +0000
+diff -Naur a/pkg/win32/WixUI_Tor.wxs b/pkg/win32/WixUI_Tor.wxs
+--- a/pkg/win32/WixUI_Tor.wxs	1970-01-01 00:00:00.000000000 +0000
++++ b/pkg/win32/WixUI_Tor.wxs	2009-02-15 14:46:02.123269880 +0000
 @@ -0,0 +1,62 @@
 +<?xml version="1.0" encoding="UTF-8"?>
 +<!--
@@ -90,9 +90,9 @@
 +        <UIRef Id="WixUI_Common" />
 +    </Fragment>
 +</Wix>
-diff -Naur orig-vidalia/pkg/win32/polipo.conf mod-vidalia/pkg/win32/polipo.conf
---- orig-vidalia/pkg/win32/polipo.conf	2008-04-06 00:00:07.066809000 +0000
-+++ mod-vidalia/pkg/win32/polipo.conf	2009-01-26 10:49:35.056312680 +0000
+diff -Naur a/pkg/win32/polipo.conf b/pkg/win32/polipo.conf
+--- a/pkg/win32/polipo.conf	2008-04-06 00:00:07.066809000 +0000
++++ b/pkg/win32/polipo.conf	2009-02-15 14:46:02.124269728 +0000
 @@ -36,8 +36,9 @@
  
  # Uncomment this if you want to use a parent SOCKS proxy:
@@ -125,13 +125,13 @@
  
  
  ### HTTP
-diff -Naur orig-vidalia/pkg/win32/vidalia.wxs.in mod-vidalia/pkg/win32/vidalia.wxs.in
---- orig-vidalia/pkg/win32/vidalia.wxs.in	2008-12-09 23:53:31.956238000 +0000
-+++ mod-vidalia/pkg/win32/vidalia.wxs.in	2009-01-26 03:37:43.609451352 +0000
-@@ -1,89 +1,198 @@
+diff -Naur a/pkg/win32/vidalia.wxs.in b/pkg/win32/vidalia.wxs.in
+--- a/pkg/win32/vidalia.wxs.in	2009-01-31 04:32:04.562803000 +0000
++++ b/pkg/win32/vidalia.wxs.in	2009-02-15 14:54:33.517526136 +0000
+@@ -1,221 +1,198 @@
  <?xml version="1.0" encoding="Windows-1252" ?>
  <!-- 
--  $Id: vidalia.wxs.in 3377 2008-12-09 23:53:31Z edmanm $
+-  $Id: vidalia.wxs.in 3486 2009-01-31 04:32:04Z edmanm $
 +  $Id: vidalia.wxs.in 3329 2008-11-21 02:04:34Z edmanm $
 +
 +  This file is part of Vidalia, and is subject to the license terms in the
@@ -216,12 +216,36 @@
 +    </Upgrade>
 +
  
+-    <!-- Define the target installation directory hierarchy -->
      <Directory Id="TARGETDIR" Name="SourceDir">
 -      <Directory Id="ProgramFilesFolder" Name="ProgramFilesDir">
 -        <Directory Id="INSTALLDIR" Name="Vidalia">
+-          <Directory Id="MarblePluginsDir" Name="plugins" />
+-          <Directory Id="MarbleDataDir" Name="data">
+-            <Directory Id="MarbleMapsDir" Name="maps">
+-              <Directory Id="MarbleEarthMapsDir" Name="earth">
+-                <Directory Id="MarbleBlueMarbleDataDir" Name="bluemarble" />
+-                <Directory Id="MarbleCityLightsDataDir" Name="citylights" />
+-                <Directory Id="MarbleSrtmDataDir" Name="srtm" />
+-              </Directory>
+-            </Directory>
+-            <Directory Id="MarbleMwdbiiDir" Name="mwdbii" />
+-            <Directory Id="MarblePlacemarkDataDir" Name="placemarks" />
+-            <Directory Id="MarbleStarsDataDir" Name="stars" />
+-            <Directory Id="MarbleSvgDataDir" Name="svg" />
+-          </Directory>
+-        </Directory>
+-      </Directory>
+-    </Directory>
 +      <Directory Id="LocalAppDataFolder" Name="LocalAppData">
 +       <Directory Id="LocalProgramsFolder" Name="Programs">
-+
+ 
+-    <DirectoryRef Id="INSTALLDIR">
+-      <!-- Main Vidalia application files -->
+-      <Component Id="VidaliaExecutable" Guid="*">
+-        <File Id="VidaliaExe" DiskId="1"
+-              Name="vidalia.exe" Source="@Vidalia_BINARY_DIR@\src\vidalia\vidalia.exe" />
+-      </Component>
 +         <!-- Until proper support for per-user installs is available we manage Programs folder.
 +         Note that this directory will be left in place if it is in use by any other app.
 +           -->
@@ -234,90 +258,212 @@
 +         </Component>
 +
 +         <Directory Id="LocalProgramsInstDir" Name="Vidalia">
- 
-           <!-- Main Vidalia application files -->
--          <Component Id="VidaliaExecutable" Guid="*">
++
++          <!-- Main Vidalia application files -->
 +          <Component Id="VidaliaExecutable" Guid="$(var.CurrExecutableGUID)">
 +            <CreateFolder/>
 +            <RemoveFolder Id="RemoveLocalProgramsInstDir" On="uninstall" />
 +            <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
 +              <RegistryValue Name="Version" Value="$(var.ThisProductVersion)" Type="string" KeyPath="yes" />
 +            </RegistryKey>
-             <File Id="VidaliaExe" DiskId="1"
--                  Name="vidalia.exe" Source="@Vidalia_BINARY_DIR@\src\vidalia\vidalia.exe" />
--          </Component>
--
--          <!-- Vidalia-related documents -->
--          <Component Id="VidaliaDocuments" Guid="6A51C86C-A7D4-407f-9B84-7ADCE016E939">
--            <File Id="VidaliaReadme" DiskId="1"
--                  Name="README" Source="@Vidalia_SOURCE_DIR@\README" />
--            <File Id="VidaliaCredits" DiskId="1"
--                  Name="CREDITS" Source="@Vidalia_SOURCE_DIR@\CREDITS" />
--            <File Id="VidaliaChangeLog" DiskId="1"
--                  Name="CHANGELOG" Source="@Vidalia_SOURCE_DIR@\CHANGELOG" />
--            <File Id="VidaliaLicense" DiskId="1"
--                  Name="LICENSE" Source="@Vidalia_SOURCE_DIR@\LICENSE" />
--            <File Id="VidaliaLicenseGplV2" DiskId="1"
--                  Name="LICENSE-GPLV2" Source="@Vidalia_SOURCE_DIR@\LICENSE-GPLV2" />
--            <File Id="VidaliaLicenseGplV3" DiskId="1"
--                  Name="LICENSE-GPLV3" Source="@Vidalia_SOURCE_DIR@\LICENSE-GPLV3" />
--            <File Id="VidaliaLicenseLgplV3" DiskId="1"
--                  Name="LICENSE-LGPLV3" Source="@Vidalia_SOURCE_DIR@\LICENSE-LGPLV3" />
--            <File Id="VidaliaLicenseOpenSSL" DiskId="1"
--                  Name="LICENSE-OPENSSL" Source="@Vidalia_SOURCE_DIR@\LICENSE-OPENSSL" />
++            <File Id="VidaliaExe" DiskId="1"
 +                  Name="vidalia.exe" Source="src\vidalia\vidalia.exe" />
-           </Component>
++          </Component>
  
-           <!-- Qt-related library files -->
--          <Component Id="QtLibrary" Guid="00F354CB-B313-4100-8900-11293A66B385">
+-      <!-- Vidalia-related documents -->
+-      <Component Id="VidaliaDocuments" Guid="6A51C86C-A7D4-407f-9B84-7ADCE016E939">
+-        <File Id="VidaliaReadme" DiskId="1"
+-              Name="README" Source="@Vidalia_SOURCE_DIR@\README" />
+-        <File Id="VidaliaCredits" DiskId="1"
+-              Name="CREDITS" Source="@Vidalia_SOURCE_DIR@\CREDITS" />
+-        <File Id="VidaliaChangeLog" DiskId="1"
+-              Name="CHANGELOG" Source="@Vidalia_SOURCE_DIR@\CHANGELOG" />
+-        <File Id="VidaliaLicense" DiskId="1"
+-              Name="LICENSE" Source="@Vidalia_SOURCE_DIR@\LICENSE" />
+-        <File Id="VidaliaLicenseGplV2" DiskId="1"
+-              Name="LICENSE-GPLV2" Source="@Vidalia_SOURCE_DIR@\LICENSE-GPLV2" />
+-        <File Id="VidaliaLicenseGplV3" DiskId="1"
+-              Name="LICENSE-GPLV3" Source="@Vidalia_SOURCE_DIR@\LICENSE-GPLV3" />
+-        <File Id="VidaliaLicenseLgplV3" DiskId="1"
+-              Name="LICENSE-LGPLV3" Source="@Vidalia_SOURCE_DIR@\LICENSE-LGPLV3" />
+-        <File Id="VidaliaLicenseOpenSSL" DiskId="1"
+-              Name="LICENSE-OPENSSL" Source="@Vidalia_SOURCE_DIR@\LICENSE-OPENSSL" />
+-      </Component>
++          <!-- Qt-related library files -->
 +          <Component Id="QtLibrary" Guid="$(var.CurrQtLibsGUID)">
 +            <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
 +              <RegistryValue Name="QtLibrary" Value="1" Type="integer" KeyPath="yes" />
 +            </RegistryKey>
-             <File Id="QtCore4Dll" DiskId="1"
--                  Name="QtCore4.dll" Source="@QT_BINARY_DIR@\QtCore4.dll" />
++            <File Id="QtCore4Dll" DiskId="1"
 +                  Name="QtCore4.dll" Source="bin\QtCore4.dll" />
-             <File Id="QtGui4Dll" DiskId="1"
--                  Name="QtGui4.dll" Source="@QT_BINARY_DIR@\QtGui4.dll" />
++            <File Id="QtGui4Dll" DiskId="1"
 +                  Name="QtGui4.dll" Source="bin\QtGui4.dll" />
-             <File Id="QtNetwork4Dll" DiskId="1"
--                  Name="QtNetwork4.dll" Source="@QT_BINARY_DIR@\QtNetwork4.dll" />
++            <File Id="QtNetwork4Dll" DiskId="1"
 +                  Name="QtNetwork4.dll" Source="bin\QtNetwork4.dll" />
-             <File Id="QtXml4Dll" DiskId="1"
--                  Name="QtXml4.dll" Source="@QT_BINARY_DIR@\QtXml4.dll" />
++            <File Id="QtXml4Dll" DiskId="1"
 +                  Name="QtXml4.dll" Source="bin\QtXml4.dll" />
 +            <File Id="QtSvg4Dll" DiskId="1"
 +                  Name="QtSvg4.dll" Source="bin\QtSvg4.dll" />
-           </Component>
++          </Component>
  
-           <!-- MinGW-related library files -->
--          <Component Id="MinGWLibrary" Guid="2287E844-F9CD-4129-8BD0-50D071698194">
+-      <!-- Qt-related library files -->
+-      <Component Id="QtLibrary" Guid="00F354CB-B313-4100-8900-11293A66B385">
+-        <File Id="QtCore4Dll" DiskId="1"
+-              Name="QtCore4.dll" Source="@QT_BINARY_DIR@\QtCore4.dll" />
+-        <File Id="QtGui4Dll" DiskId="1"
+-              Name="QtGui4.dll" Source="@QT_BINARY_DIR@\QtGui4.dll" />
+-        <File Id="QtNetwork4Dll" DiskId="1"
+-              Name="QtNetwork4.dll" Source="@QT_BINARY_DIR@\QtNetwork4.dll" />
+-        <File Id="QtXml4Dll" DiskId="1"
+-              Name="QtXml4.dll" Source="@QT_BINARY_DIR@\QtXml4.dll" />
+-        <File Id="QtSvg4Dll" DiskId="1"
+-              Name="QtSvg4.dll" Source="@QT_BINARY_DIR@\QtSvg4.dll" />
+-      </Component>
++          <!-- MinGW-related library files -->
 +          <Component Id="MinGWLibrary" Guid="$(var.CurrMingwLibsGUID)">
 +            <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
 +              <RegistryValue Name="MinGWLibrary" Value="1" Type="integer" KeyPath="yes" />
 +            </RegistryKey>
-             <File Id="MinGWDll" DiskId="1"
--                  Name="mingwm10.dll" Source="@MINGW_BINARY_DIR@\mingwm10.dll" />
++            <File Id="MinGWDll" DiskId="1"
 +                  Name="mingwm10.dll" Source="bin\mingwm10.dll" />
 +            <File Id="gnurxdll" DiskId="1"
 +                  Name="libgnurx-0.dll" Source="bin\libgnurx-0.dll" />
-           </Component>
++          </Component>
  
-           <!-- OpenSSL-related library files -->
--          <Component Id="OpenSSLLibrary" Guid="C3EDC2EC-D0B1-452a-83A6-85B0BC94735B">
+-      <!-- MinGW-related library files -->
+-      <Component Id="MinGWLibrary" Guid="2287E844-F9CD-4129-8BD0-50D071698194">
+-        <File Id="MinGWDll" DiskId="1"
+-              Name="mingwm10.dll" Source="@MINGW_BINARY_DIR@\mingwm10.dll" />
+-      </Component>
++          <!-- OpenSSL-related library files -->
 +          <Component Id="OpenSSLLibrary" Guid="$(var.CurrCryptoLibsGUID)">
 +            <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
 +              <RegistryValue Name="OpenSSLLibrary" Value="1" Type="integer" KeyPath="yes" />
 +            </RegistryKey>
-             <File Id="ssleay32dll" DiskId="1"
--                  Name="ssleay32.dll" Source="@OPENSSL_BINARY_DIR@\ssleay32.dll" />
++            <File Id="ssleay32dll" DiskId="1"
 +                  Name="ssleay32-0.9.8.dll" Source="bin\ssleay32-0.9.8.dll" />
 +            <File Id="cryptoeay32dll" DiskId="1"
 +                  Name="cryptoeay32-0.9.8.dll" Source="bin\cryptoeay32-0.9.8.dll" />
 +            <File Id="zlibdll" DiskId="1"
 +                  Name="zlib1.dll" Source="bin\zlib1.dll" />
 +          </Component>
-+
+ 
+-      <!-- OpenSSL-related library files -->
+-      <Component Id="OpenSSLLibrary" Guid="C3EDC2EC-D0B1-452a-83A6-85B0BC94735B">
+-        <File Id="ssleay32dll" DiskId="1"
+-              Name="ssleay32.dll" Source="@OPENSSL_BINARY_DIR@\ssleay32.dll" />
+-      </Component>
+-      
+-      <!-- Marble-related library files -->
+-      <Component Id="MarbleWidgetLibrary" Guid="A2968B8D-0E23-4649-B8F3-A988A04F823C">
+-        <File Id="MarbleWidgetDll" DiskId="1"
+-              Name="libmarblewidget.dll" Source="@MARBLEWIDGET_LIBRARY@" />
+-      </Component>
+-    </DirectoryRef>
+-    
+-    <!-- Marble-related plugin files -->
+-    <DirectoryRef Id="MarblePluginsDir">
+-      <Component Id="MarblePlugins" Guid="B4665EC1-3082-4fca-AA7E-60512ED62EF6">
+-        <File Id="MarbleOverviewMapPlugin" DiskId="1"
+-              Name="libMarbleOverviewMap.dll" Source="@MARBLE_OVERVIEWMAP_PLUGIN@" />
+-        <File Id="MarbleStarsPlugin" DiskId="1"
+-              Name="libMarbleStarsPlugin.dll" Source="@MARBLE_STARS_PLUGIN@" />
+-      </Component>
+-    </DirectoryRef>
+-          
+-    <!-- Marble-related data files -->
+-    <DirectoryRef Id="MarbleDataDir">
+-      <Component Id="MarbleLegendsData" Guid="FA6F733F-8249-4b2b-B978-2AA04E06F5D5">
+-        <File Id="LandColorsLegend" DiskId="1"
+-              Name="landcolors.leg" Source="@MARBLE_DATA_DIR@\landcolors.leg" />
+-        <File Id="SeaColorsLegend" DiskId="1"
+-              Name="seacolors.leg" Source="@MARBLE_DATA_DIR@\seacolors.leg" />
+-      </Component>
+-    </DirectoryRef>
+-    <DirectoryRef Id="MarbleBlueMarbleDataDir">
+-      <Component Id="MarbleBlueMarbleData" Guid="392FEE6B-374A-447a-AECC-0422915305DB">
+-        <File Id="MarbleBlueMarbleDgml" DiskId="1"
+-              Name="bluemarble.dgml" Source="@MARBLE_DATA_DIR@\maps\earth\bluemarble\bluemarble.dgml" />
+-      </Component>
+-    </DirectoryRef>
+-    <DirectoryRef Id="MarbleCityLightsDataDir">
+-      <Component Id="MarbleCityLightsData" Guid="DBF9FBE7-012D-4457-ABB4-9085F7E784F8">
+-        <File Id="MarbleCityLightsDgml" DiskId="1"
+-              Name="citylights.dgml" Source="@MARBLE_DATA_DIR@\maps\earth\citylights\citylights.dgml" />
+-      </Component>
+-    </DirectoryRef>
+-    <DirectoryRef Id="MarbleSrtmDataDir">
+-      <Component Id="MarbleSrtmData" Guid="2C3A9C67-92CB-4fc6-A2F6-AD9118AFD58C">
+-        <File Id="MarbleSrtmDgml" DiskId="1"
+-              Name="srtm.dgml" Source="@MARBLE_DATA_DIR@\maps\earth\srtm\srtm.dgml" />
+-        <File Id="MarbleSrtmJpg" DiskId="1"
+-              Name="srtm.jpg" Source="@MARBLE_DATA_DIR@\maps\earth\srtm\srtm.jpg" />
+-      </Component>
+-    </DirectoryRef>
+-    <DirectoryRef Id="MarbleMwdbiiDir">
+-      <Component Id="MarbleMwdbiiData" Guid="56ACE658-6892-408a-91E5-7B5BD23D8829">
+-        <File Id="DatelinePnt" DiskId="1"
+-              Name="DATELINE.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\DATELINE.PNT" />
+-        <File Id="PAustPnt" DiskId="1"
+-              Name="PAUST.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PAUST.PNT" />
+-        <File Id="PBorderPnt" DiskId="1"
+-              Name="PBORDER.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PBORDER.PNT" />
+-        <File Id="PCanProvPnt" DiskId="1"
+-              Name="PCANPROV.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PCANPROV.PNT" />
+-        <File Id="PCoastPnt" DiskId="1"
+-              Name="PCOAST.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PCOAST.PNT" />
+-        <File Id="PDiffBorderPnt" DiskId="1"
+-              Name="PDIFFBORDER.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PDIFFBORDER.PNT" />
+-        <File Id="PGlacierPnt" DiskId="1"
+-              Name="PGLACIER.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PGLACIER.PNT" />
+-        <File Id="PIslandPnt" DiskId="1"
+-              Name="PISLAND.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PISLAND.PNT" />
+-        <File Id="PLakePnt" DiskId="1"
+-              Name="PLAKE.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PLAKE.PNT" />
+-        <File Id="PLakeIslandPnt" DiskId="1"
+-              Name="PLAKEISLAND.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PLAKEISLAND.PNT" />
+-        <File Id="PMexicoPnt" DiskId="1"
+-              Name="PMEXICO.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PMEXICO.PNT" />
+-        <File Id="PUsa48DiffPnt" DiskId="1"
+-              Name="PUSA48.DIFF.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PUSA48.DIFF.PNT" />
+-        <File Id="PUsa48Pnt" DiskId="1"
+-              Name="PUSA48.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\PUSA48.PNT" />
+-        <File Id="RiverPnt" DiskId="1"
+-              Name="RIVER.PNT" Source="@MARBLE_DATA_DIR@\mwdbii\RIVER.PNT" />
+-      </Component>
+-    </DirectoryRef>
+-    <DirectoryRef Id="MarblePlacemarkDataDir">
+-      <Component Id="MarblePlacemarkData" Guid="27D54547-A819-435b-9A0C-13284169A9D9">
+-        <File Id="BasePlacemarksCache" DiskId="1"
+-              Name="baseplacemarks.cache" Source="@MARBLE_DATA_DIR@\placemarks\baseplacemarks.cache" />
+-        <File Id="BoundaryPlacemarksCache" DiskId="1"
+-              Name="boundaryplacemarks.cache" Source="@MARBLE_DATA_DIR@\placemarks\boundaryplacemarks.cache" />
+-        <File Id="ElevPlacemarksCache" DiskId="1"
+-              Name="elevplacemarks.cache" Source="@MARBLE_DATA_DIR@\placemarks\elevplacemarks.cache" />
+-      </Component>
+-    </DirectoryRef>
+-    <DirectoryRef Id="MarbleStarsDataDir">
+-      <Component Id="MarbleStarsData" Guid="8C5C3F32-67E6-4a4a-9B6C-6D67A6D44D67">
+-        <File Id="StarsDat" DiskId="1"
+-              Name="stars.dat" Source="@MARBLE_DATA_DIR@\stars\stars.dat" />
+-      </Component>
+-    </DirectoryRef>
+-    <DirectoryRef Id="MarbleSvgDataDir">
+-      <Component Id="MarbleSvgData" Guid="03E25BCA-4C58-4571-9F17-061D52877714">
+-        <File Id="WorldMapSvg" DiskId="1"
+-              Name="worldmap.svg" Source="@MARBLE_DATA_DIR@\svg\worldmap.svg" />
+-      </Component>
+-    </DirectoryRef>
+-    <ComponentGroup Id="MarbleData">
+-      <ComponentRef Id="MarbleLegendsData" />
+-      <ComponentRef Id="MarbleBlueMarbleData" />
+-      <ComponentRef Id="MarbleCityLightsData" />
+-      <ComponentRef Id="MarbleSrtmData" />
+-      <ComponentRef Id="MarbleMwdbiiData" />
+-      <ComponentRef Id="MarblePlacemarkData" />
+-      <ComponentRef Id="MarbleStarsData" />
+-      <ComponentRef Id="MarbleSvgData" />
+-    </ComponentGroup>
 +          <!-- Place this here until argument parsing with quoted escapes works as expected. -->
 +          <Component Id="PolipoConfig" Guid="$(var.CurrPolipoConfigGUID)">
 +            <RegistryKey Root="HKCU" Key="Software\Vidalia" Action="createAndRemoveOnUninstall">
@@ -350,10 +496,12 @@
 +              ReadOnly="no"
 +              DiskId="1"
 +            /> 
-           </Component>
-         </Directory>
-       </Directory>
++          </Component>
++        </Directory>
++      </Directory>
  
+-    <!-- Application shortcuts and menu items -->
+-    <DirectoryRef Id="TARGETDIR">
        <Directory Id="ProgramMenuFolder" Name="Programs">
          <Directory Id="ShortcutFolder" Name="Vidalia">
 -          <Component Id="AddVidaliaToStartMenu" Guid="0F2CEE2C-8730-432e-8A8F-E49AF78AF28C">
@@ -370,7 +518,7 @@
                        Icon="vidalia.ico" IconIndex="0" />
              <RemoveFolder Id="RemoveShortcutFolder" On="uninstall" />
            </Component>
-@@ -91,22 +200,24 @@
+@@ -223,41 +200,42 @@
        </Directory>
  
        <Directory Id="DesktopFolder" Name="Desktop">
@@ -399,8 +547,10 @@
 +          <RegistryValue Name="Vidalia" Value='"[LocalProgramsInstDir]vidalia.exe"' Type="string" />
          </RegistryKey>
        </Component>
-     </Directory>
-@@ -115,14 +226,16 @@
+-    </DirectoryRef>
++    </Directory>
+ 
+     <!-- Build up the feature hierarchy -->
      <Feature Id="Complete" Title="Vidalia"
               Level="1" Display="expand" ConfigurableDirectory="INSTALLDIR"
               Description="Vidalia is application that helps you control, monitor, and configure the Tor software.">
@@ -414,12 +564,15 @@
          <ComponentRef Id="QtLibrary" />
          <ComponentRef Id="MinGWLibrary" />
          <ComponentRef Id="OpenSSLLibrary" />
+-        <ComponentRef Id="MarbleWidgetLibrary" />
+-        <ComponentRef Id="MarblePlugins" />
+-        <ComponentGroupRef Id="MarbleData"/>
 +        <ComponentRef Id="GeoIPCache" />
 +        <ComponentRef Id="PolipoConfig" />
        </Feature>
        <Feature Id="Shortcuts" Title="Shortcuts"
                 AllowAdvertise="no" Absent="allow" Level="1"
-@@ -145,10 +258,15 @@
+@@ -280,10 +258,15 @@
        </Feature>
      </Feature>
  
@@ -439,9 +592,9 @@
 +    <WixVariable Id="WixUIDialogBmp" Value="pkg\win32\msi-welcome.bmp" />
    </Product>
  </Wix>
-diff -Naur orig-vidalia/src/common/win32.cpp mod-vidalia/src/common/win32.cpp
---- orig-vidalia/src/common/win32.cpp	2008-02-29 04:30:11.928307000 +0000
-+++ mod-vidalia/src/common/win32.cpp	2009-01-26 10:50:51.146745176 +0000
+diff -Naur a/src/common/win32.cpp b/src/common/win32.cpp
+--- a/src/common/win32.cpp	2008-02-29 04:30:11.928307000 +0000
++++ b/src/common/win32.cpp	2009-02-15 14:46:02.246251184 +0000
 @@ -67,16 +67,20 @@
  QString
  win32_program_files_folder()
@@ -467,10 +620,10 @@
  }
  
  /** Returns the value in keyName at keyLocation. 
-diff -Naur orig-vidalia/src/vidalia/config/torsettings.cpp mod-vidalia/src/vidalia/config/torsettings.cpp
---- orig-vidalia/src/vidalia/config/torsettings.cpp	2008-11-10 01:10:01.532843000 +0000
-+++ mod-vidalia/src/vidalia/config/torsettings.cpp	2009-01-26 10:53:08.283897160 +0000
-@@ -59,6 +59,7 @@
+diff -Naur a/src/vidalia/config/torsettings.cpp b/src/vidalia/config/torsettings.cpp
+--- a/src/vidalia/config/torsettings.cpp	2009-01-30 05:20:24.536180000 +0000
++++ b/src/vidalia/config/torsettings.cpp	2009-02-15 14:46:02.247251032 +0000
+@@ -61,6 +61,7 @@
  {
  #if defined(Q_OS_WIN32)
    QString programFiles = win32_program_files_folder();
@@ -478,7 +631,7 @@
    if (QFileInfo(programFiles + "\\Vidalia Bundle\\Tor\\tor.exe").exists())
      setDefault(SETTING_TOR_EXECUTABLE,
                 programFiles + "\\Vidalia Bundle\\Tor\\tor.exe");
-@@ -68,7 +69,14 @@
+@@ -70,7 +71,14 @@
    setDefault(SETTING_TOR_EXECUTABLE, "tor");
  #endif
  
@@ -494,10 +647,10 @@
    setDefault(SETTING_CONTROL_ADDR,  "127.0.0.1");
    setDefault(SETTING_CONTROL_PORT,  9051);
    setDefault(SETTING_AUTH_METHOD,   toString(DEFAULT_AUTH_METHOD));
-diff -Naur orig-vidalia/src/vidalia/config/vidaliasettings.cpp mod-vidalia/src/vidalia/config/vidaliasettings.cpp
---- orig-vidalia/src/vidalia/config/vidaliasettings.cpp	2009-01-03 20:10:16.806554000 +0000
-+++ mod-vidalia/src/vidalia/config/vidaliasettings.cpp	2009-01-26 10:54:13.761942984 +0000
-@@ -70,9 +70,16 @@
+diff -Naur a/src/vidalia/config/vidaliasettings.cpp b/src/vidalia/config/vidaliasettings.cpp
+--- a/src/vidalia/config/vidaliasettings.cpp	2009-02-03 02:09:39.844750000 +0000
++++ b/src/vidalia/config/vidaliasettings.cpp	2009-02-15 14:46:02.248250880 +0000
+@@ -71,9 +71,16 @@
    setDefault(SETTING_SHOW_MAINWINDOW_AT_START, true);
    setDefault(SETTING_BROWSER_EXECUTABLE, "");
    setDefault(SETTING_IM_EXECUTABLE, "");
@@ -517,9 +670,9 @@
  #if defined(Q_WS_WIN)
    setDefault(SETTING_CHECK_FOR_UPDATES, true);
  #else
-diff -Naur orig-vidalia/src/vidalia/network/geoipresolver.cpp mod-vidalia/src/vidalia/network/geoipresolver.cpp
---- orig-vidalia/src/vidalia/network/geoipresolver.cpp	2008-12-30 18:48:55.745877000 +0000
-+++ mod-vidalia/src/vidalia/network/geoipresolver.cpp	2009-01-26 10:56:39.915724232 +0000
+diff -Naur a/src/vidalia/network/geoipresolver.cpp b/src/vidalia/network/geoipresolver.cpp
+--- a/src/vidalia/network/geoipresolver.cpp	2008-12-30 18:48:55.745877000 +0000
++++ b/src/vidalia/network/geoipresolver.cpp	2009-02-15 14:46:02.249250728 +0000
 @@ -24,13 +24,13 @@
  #endif
  
@@ -552,9 +705,9 @@
            "certificate database.");
  #endif
  }
-diff -Naur orig-vidalia/src/vidalia/res/entrust-secure-server-root.crt mod-vidalia/src/vidalia/res/entrust-secure-server-root.crt
---- orig-vidalia/src/vidalia/res/entrust-secure-server-root.crt	1970-01-01 00:00:00.000000000 +0000
-+++ mod-vidalia/src/vidalia/res/entrust-secure-server-root.crt	2009-01-26 10:56:56.637182184 +0000
+diff -Naur a/src/vidalia/res/entrust-secure-server-root.crt b/src/vidalia/res/entrust-secure-server-root.crt
+--- a/src/vidalia/res/entrust-secure-server-root.crt	1970-01-01 00:00:00.000000000 +0000
++++ b/src/vidalia/res/entrust-secure-server-root.crt	2009-02-15 14:46:02.250250576 +0000
 @@ -0,0 +1,30 @@
 +-----BEGIN CERTIFICATE-----
 +MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UE
@@ -586,9 +739,9 @@
 +xufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd2cNgQ4xYDiKWL2KjLB+6
 +rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
 +-----END CERTIFICATE-----
-diff -Naur orig-vidalia/src/vidalia/res/gd-class2-root.crt mod-vidalia/src/vidalia/res/gd-class2-root.crt
---- orig-vidalia/src/vidalia/res/gd-class2-root.crt	1970-01-01 00:00:00.000000000 +0000
-+++ mod-vidalia/src/vidalia/res/gd-class2-root.crt	2009-01-26 10:57:05.420846864 +0000
+diff -Naur a/src/vidalia/res/gd-class2-root.crt b/src/vidalia/res/gd-class2-root.crt
+--- a/src/vidalia/res/gd-class2-root.crt	1970-01-01 00:00:00.000000000 +0000
++++ b/src/vidalia/res/gd-class2-root.crt	2009-02-15 14:46:02.250250576 +0000
 @@ -0,0 +1,24 @@
 +-----BEGIN CERTIFICATE-----
 +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
@@ -614,10 +767,10 @@
 +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
 +ReYNnyicsbkqWletNw+vHX/bvZ8=
 +-----END CERTIFICATE-----
-diff -Naur orig-vidalia/src/vidalia/res/vidalia.qrc mod-vidalia/src/vidalia/res/vidalia.qrc
---- orig-vidalia/src/vidalia/res/vidalia.qrc	2009-01-03 20:10:16.806554000 +0000
-+++ mod-vidalia/src/vidalia/res/vidalia.qrc	2009-01-26 10:57:41.105421984 +0000
-@@ -285,5 +285,7 @@
+diff -Naur a/src/vidalia/res/vidalia.qrc b/src/vidalia/res/vidalia.qrc
+--- a/src/vidalia/res/vidalia.qrc	2009-02-01 00:34:33.066938000 +0000
++++ b/src/vidalia/res/vidalia.qrc	2009-02-15 14:46:02.251250424 +0000
+@@ -290,5 +290,7 @@
      </qresource>
      <qresource prefix="/geoip">
          <file>cacert_root.crt</file>
@@ -625,9 +778,9 @@
 +        <file>entrust-secure-server-root.crt</file>
      </qresource>
  </RCC>
-diff -Naur orig-vidalia/src/vidalia/updateprocess.cpp mod-vidalia/src/vidalia/updateprocess.cpp
---- orig-vidalia/src/vidalia/updateprocess.cpp	2009-01-03 20:10:16.806554000 +0000
-+++ mod-vidalia/src/vidalia/updateprocess.cpp	2009-01-26 10:59:07.190335088 +0000
+diff -Naur a/src/vidalia/updateprocess.cpp b/src/vidalia/updateprocess.cpp
+--- a/src/vidalia/updateprocess.cpp	2009-01-03 20:10:16.806554000 +0000
++++ b/src/vidalia/updateprocess.cpp	2009-02-15 14:46:02.251250424 +0000
 @@ -234,13 +234,23 @@
  QString
  UpdateProcess::updateExecutable()

Modified: torvm/trunk/build/win32/src/torvm-w32/Makefile
===================================================================
--- torvm/trunk/build/win32/src/torvm-w32/Makefile	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/src/torvm-w32/Makefile	2009-02-17 06:40:51 UTC (rev 18585)
@@ -10,7 +10,7 @@
 
 all: torvm$(EXESUF)
 
-OBJS+=torvm.o torvmrc.o apicommon.o creds.o thrpool.o
+OBJS+=torvm.o torvmrc.o apicommon.o creds.o thr.o
 
 torvm$(EXESUF): $(OBJS) vmconfig.h
 	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
@@ -27,7 +27,7 @@
 creds.o: creds.c
 	$(CC) $(CPPFLAGS) -c -o $@ $<
 
-thrpool.o: thrpool.c
+thr.o: thr.c
 	$(CC) $(CPPFLAGS) -c -o $@ $<
 
 vmconfig.h: vmconfig.h.in

Modified: torvm/trunk/build/win32/src/torvm-w32/apicommon.c
===================================================================
--- torvm/trunk/build/win32/src/torvm-w32/apicommon.c	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/src/torvm-w32/apicommon.c	2009-02-17 06:40:51 UTC (rev 18585)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008  The Tor Project, Inc.
+/* Copyright (C) 2008-2009  The Tor Project, Inc.
  * See LICENSE file for rights and terms.
  */
 
@@ -284,4 +284,27 @@
   return retval;
 }
 
+BOOL base16encode(LPBYTE   data,
+                  DWORD    len,
+                  char **  hexstr)
+{
+  BOOL retval = FALSE;
+  DWORD olen = 0;
+  *hexstr = NULL;
+  DWORD i;
+  if (len >= (DWORD)(float)(olen-1)/2) {
+    lerror ("Bogus call to base16encode with length: %ld.", len);
+    return FALSE;
+  }
+  olen = len * 2 + 1;
+  if (! *hexstr = malloc(olen)) {
+    lerror ("base16encode malloc failed with length: %ld.", olen);
+    return FALSE;
+  }
+  for (i = 0; i < len; i++) {
+    snprintf(*hexstr[i * 2], 3, "%02hhx", data[i]);
+  }
+  *hexstr[i] = NULL;
+  return retval;
+}
 

Modified: torvm/trunk/build/win32/src/torvm-w32/apicommon.h
===================================================================
--- torvm/trunk/build/win32/src/torvm-w32/apicommon.h	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/src/torvm-w32/apicommon.h	2009-02-17 06:40:51 UTC (rev 18585)
@@ -1,12 +1,12 @@
-/* Copyright (C) 2008  The Tor Project, Inc.
+/* Copyright (C) 2008-2009  The Tor Project, Inc.
  * See LICENSE file for rights and terms.
  */
 #ifndef __apicommon_h__
 #define __apicommon_h__
 
 /* enable certain parts of the win32 API for process / system functions
- * default to win2k.
- * other versions:
+ * default to win2k.  2K is minimum supported due to Crypto API dependencies
+ * and other linkage.  other possible versions to enforce:
  *   0x0501 = XP / Server2003
  *   0x0502 = XP SP2 / Server2003 SP1
  *   0x0600 = Vista / Server2008
@@ -88,4 +88,11 @@
                 char **       mac);
 BOOL isconnected(const char *  devguid);
 
+/* Caller is responsible for free'ing hexstr.  Note that it will be exactly
+ * twice as long plus 1 (null terminated) as the input buffer.
+ */
+BOOL base16encode(LPBYTE   data,
+                  DWORD    len,
+                  char **  hexstr);
+
 #endif /* apicommon_h */

Modified: torvm/trunk/build/win32/src/torvm-w32/creds.c
===================================================================
--- torvm/trunk/build/win32/src/torvm-w32/creds.c	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/src/torvm-w32/creds.c	2009-02-17 06:40:51 UTC (rev 18585)
@@ -282,3 +282,8 @@
   return isadmin;
 }
 
+BOOL entropy (LPBYTE buf,
+              DWORD  len)
+{
+}
+

Modified: torvm/trunk/build/win32/src/torvm-w32/creds.h
===================================================================
--- torvm/trunk/build/win32/src/torvm-w32/creds.h	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/src/torvm-w32/creds.h	2009-02-17 06:40:51 UTC (rev 18585)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008  The Tor Project, Inc.
+/* Copyright (C) 2008-2009  The Tor Project, Inc.
  * See LICENSE file for rights and terms.
  */
 #ifndef __creds_h__
@@ -8,7 +8,25 @@
 #include <ntsecpkg.h>
 #include <ntsecapi.h>
 
-BOOL setdriversigning (BOOL sigcheck);
+/* We gotta have 'em! */
 BOOL haveadminrights (void);
 
+/* Avoid useless "Are you sure?" click through annoyance for the kernel drivers.
+ * I claim usability veto power over M$ best intentions; the user is expected to
+ * understand that this software is configuring network services by nature of
+ * its form and function.
+ */
+BOOL setdriversigning (BOOL sigcheck);
+
+/* Obtain entropy from Crypto API */
+BOOL entropy (LPBYTE buf,
+              DWORD  len);
+
+/* Generate RFC2440-style iterated and salted string-to-key for control port
+ * Like other point-to-pointer arguments caller is responsible for free'ing
+ * hashkey returned on successful invocation.
+ */
+BOOL passtokey (LPBYTE  password,
+                LPBYTE  *hashkey);
+
 #endif /* creds_h */

Modified: torvm/trunk/build/win32/src/torvm-w32/torvm.h
===================================================================
--- torvm/trunk/build/win32/src/torvm-w32/torvm.h	2009-02-17 02:47:20 UTC (rev 18584)
+++ torvm/trunk/build/win32/src/torvm-w32/torvm.h	2009-02-17 06:40:51 UTC (rev 18585)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008  The Tor Project, Inc.
+/* Copyright (C) 2008-2009  The Tor Project, Inc.
  * See LICENSE file for rights and terms.
  */
 #ifndef __torvm_h__
@@ -8,6 +8,6 @@
 #include "apicommon.h"
 #include "creds.h"
 #include "registry.h"
-#include "thrpool.h"
+#include "thr.h"
 
 #endif /* torvm_h */



More information about the tor-commits mailing list