]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
add winfuse plugin to installer
authorrobk-tahoe <robk-tahoe@allmydata.com>
Thu, 17 Jan 2008 02:15:35 +0000 (19:15 -0700)
committerrobk-tahoe <robk-tahoe@allmydata.com>
Thu, 17 Jan 2008 02:15:35 +0000 (19:15 -0700)
this adds the latest build of mike's winfuse plugins, now also running as
a windows service (and using the node.url, private/root_dir.cap files from
the noderoot specified by the registry) into the install process.

12 files changed:
windows/confwiz.py
windows/installer.tmpl
windows/setup.py
windows/winfuse/InstallUtil.exe [new file with mode: 0644]
windows/winfuse/Interface.dll [new file with mode: 0644]
windows/winfuse/MicroKernel.dll [new file with mode: 0644]
windows/winfuse/NamedPipe.dll [new file with mode: 0644]
windows/winfuse/PortalSMB.dll [new file with mode: 0644]
windows/winfuse/TahoeFS.dll [new file with mode: 0644]
windows/winfuse/UserLogon.dll [new file with mode: 0644]
windows/winfuse/WinFUSE.exe [new file with mode: 0644]
windows/winfuse/WinFUSE.exe.config [new file with mode: 0644]

index 334c0d711e87080c6c658210f5c8f0e111a9f8fc..39669ae0dc2e9aa0b5c2ecd59d0c9bcd9eeb5f7a 100644 (file)
@@ -1,7 +1,8 @@
 
 BACKEND_URL = 'https://www-test.allmydata.com/native_client2.php'
 REGISTER_PAGE = 'https://www-test.allmydata.com/register'
-WINSVC_NAME = 'Tahoe'
+TAHOESVC_NAME = 'Tahoe'
+WINFUSESVC_NAME = 'Allmydata Tahoe SMB'
 
 import os
 import sys
@@ -173,17 +174,21 @@ class LoginPanel(wx.Panel):
 
         # start service etc.
         if sys.platform == 'win32':
-            try:
-                import win32service
-                import win32serviceutil as wsu
-                if wsu.QueryServiceStatus(WINSVC_NAME)[1] != win32service.SERVICE_RUNNING:
-                    wsu.StartService(WINSVC_NAME)
-            except:
-                DisplayTraceback('Failed to start windows service')
+            self.start_windows_service(TAHOESVC_NAME)
+            self.start_windows_service(WINFUSESVC_NAME)
 
         # exit
         self.parent.parent.Close()
 
+    def start_windows_service(self, svc_name):
+        try:
+            import win32service
+            import win32serviceutil as wsu
+            if wsu.QueryServiceStatus(svc_name)[1] != win32service.SERVICE_RUNNING:
+                wsu.StartService(svc_name)
+        except:
+            DisplayTraceback('Failed to start windows service "%s"' % (svc_name,))
+
 class RegisterPanel(wx.Panel):
     def __init__(self, parent):
         wx.Panel.__init__(self, parent, -1)
index db1044327a0289fe5ae0e9bb0ae348b69370498f..ea3b4359bdd698e9b3a92828572e50b3d1583ba6 100644 (file)
@@ -24,6 +24,7 @@ OutputBaseFilename=Allmydata_Tahoe_Setup_v%(major)d_%(minor)d_%(point)d_%(nano)d
 ; contents of 'binaries' dir. (consolidated build target)
 Source: "*.*"; DestDir: "{app}\Install"; Flags: restartreplace replacesameversion uninsrestartdelete
 Source: ".\web\*.*"; DestDir: "{app}\Install\web"; Flags: recursesubdirs
+Source: ".\winfuse\*.*"; DestDir: "{app}\Install\winfuse"; Flags: recursesubdirs
 
 [Dirs]
 Name: "{app}\noderoot"
@@ -35,14 +36,17 @@ Name: "{group}\Allmydata Help"; Filename: "http://www.allmydata.com/help.php"
 
 [Run]
 ; Things performed before the final page of the installer
-Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-install"; Flags: runhidden
-Filename: "{app}\Install\tahoe.exe"; Parameters: "create-client ""{app}\noderoot"""; Description: "Set the node into debug logging mode"; Flags: runhidden
+Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-install -auto"; Flags: runhidden
+Filename: "{app}\Install\tahoe.exe"; Parameters: "create-client ""{app}\noderoot"""; Flags: runhidden
+Filename: "{app}\Install\winfuse\InstallUtil.exe"; Parameters: """{app}\Install\winfuse\WinFUSE.exe"""; Flags: runhidden
 Filename: "{app}\Install\confwiz.exe"; Flags: hidewizard
 ;Filename: "{app}\Install\ReadMe.txt"; Description: "View the ReadMe file"; Flags: unchecked postinstall nowait shellexec skipifdoesntexist
 
 [UninstallRun]
 ; Performed before the uninstaller runs to undo things
+Filename: "{sys}\net.exe"; Parameters: "stop ""Allmydata Tahoe SMB"""; Flags: runhidden
 Filename: "{sys}\net.exe"; Parameters: "stop Tahoe"; Flags: runhidden
+Filename: "{app}\Install\winfuse\InstallUtil.exe"; Parameters: "/uninstall ""{app}\Install\winfuse\WinFUSE.exe"""; Flags: runhidden
 Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-remove"; Flags: runhidden
 ;Filename: "http://www.allmydata.com/redirect/uninstallsurvey.php?build=%(build)s"; Flags: shellexec
 
index df2f293040bb2d465878b4fbd207add74b74abdf..230aa4d3d9698689ed372456e1f199129cb62dab 100644 (file)
@@ -59,6 +59,7 @@ setup_args = {
         ('.', [
         ],),
         ('web', glob.glob('../src/allmydata/web/*')),
+        ('winfuse', glob.glob('./winfuse/*')),
     ],
     'zipfile' : 'library.zip',
     'options': {
diff --git a/windows/winfuse/InstallUtil.exe b/windows/winfuse/InstallUtil.exe
new file mode 100644 (file)
index 0000000..dbe9967
Binary files /dev/null and b/windows/winfuse/InstallUtil.exe differ
diff --git a/windows/winfuse/Interface.dll b/windows/winfuse/Interface.dll
new file mode 100644 (file)
index 0000000..82136d4
Binary files /dev/null and b/windows/winfuse/Interface.dll differ
diff --git a/windows/winfuse/MicroKernel.dll b/windows/winfuse/MicroKernel.dll
new file mode 100644 (file)
index 0000000..4155811
Binary files /dev/null and b/windows/winfuse/MicroKernel.dll differ
diff --git a/windows/winfuse/NamedPipe.dll b/windows/winfuse/NamedPipe.dll
new file mode 100644 (file)
index 0000000..b737b32
Binary files /dev/null and b/windows/winfuse/NamedPipe.dll differ
diff --git a/windows/winfuse/PortalSMB.dll b/windows/winfuse/PortalSMB.dll
new file mode 100644 (file)
index 0000000..5025e61
Binary files /dev/null and b/windows/winfuse/PortalSMB.dll differ
diff --git a/windows/winfuse/TahoeFS.dll b/windows/winfuse/TahoeFS.dll
new file mode 100644 (file)
index 0000000..528bd24
Binary files /dev/null and b/windows/winfuse/TahoeFS.dll differ
diff --git a/windows/winfuse/UserLogon.dll b/windows/winfuse/UserLogon.dll
new file mode 100644 (file)
index 0000000..fa85a50
Binary files /dev/null and b/windows/winfuse/UserLogon.dll differ
diff --git a/windows/winfuse/WinFUSE.exe b/windows/winfuse/WinFUSE.exe
new file mode 100644 (file)
index 0000000..55068fd
Binary files /dev/null and b/windows/winfuse/WinFUSE.exe differ
diff --git a/windows/winfuse/WinFUSE.exe.config b/windows/winfuse/WinFUSE.exe.config
new file mode 100644 (file)
index 0000000..7543a9c
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>\r
+<configuration>\r
+\r
+  <configSections>\r
+    <section name="microkernel" type="MicroKernel.CustomSection, MicroKernel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />\r
\r
+  </configSections>\r
+\r
+  <microkernel>\r
+    <references>\r
+      <!-- Must be set if no DomainController is used for Authentification, otherwise it can be left empty -->\r
+      <local description="Logon"   keyType="Suchwerk.Interface.IAuth"       assembly="UserLogon" implementationType="Suchwerk.UserLogon"             singleton="true" />\r
+\r
+      <!-- Must be set. Is the IPC share that all CIFS server must provide. The implementation is done very simple -->\r
+      <local description="IPC$"    keyType="Suchwerk.Interface.IFilesystem" assembly="NamedPipe" implementationType="Suchwerk.Filesystem.Pipe"  singleton="true" />\r
+      \r
+      <!-- That's the CIFS server, must be included -->\r
+      <local description="SMBServer" keyType="Suchwerk.Interface.ISMBPortal" assembly="PortalSMB" implementationType="Suchwerk.Portal.SMB.SMB"       singleton="true" />\r
+      \r
+      <!-- Add here your IFilesystem implementations, the more you add, the more your server can provide \r
+           The same IFilesystem implementation can be listed more than once, to provide different data views \r
+           \r
+           To know with share was called, add then field, "parameter_constructor=true" and instead of the\r
+           parameter less standard constructor a constructor with the share name will be called -->\r
+      <local description="Tahoe"     keyType="Suchwerk.Interface.IFilesystem" assembly="TahoeFS"  implementationType="TahoeFS.TahoeFS" singleton="true" />\r
+     \r
+    </references>\r
+  </microkernel>\r
+\r
+</configuration>\r
+\r