From: Robert Nelson Date: Wed, 7 Feb 2007 09:18:43 +0000 (+0000) Subject: Fix eol properties. X-Git-Tag: Release-2.2.0~1086 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=366c58759510a7c4e26477bbd81d32b8f44265e4;p=bacula%2Fbacula Fix eol properties. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4126 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/win32/bacula.sln b/bacula/src/win32/bacula.sln index 8b114bd2fa..429b639b6e 100644 --- a/bacula/src/win32/bacula.sln +++ b/bacula/src/win32/bacula.sln @@ -1,405 +1,405 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wx-console", "wx-console\wx-console.vcproj", "{9BA8E10D-0D82-4B25-8543-DE34641FBC10}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "console", "console\console.vcproj", "{A0F65E06-9F18-40AC-81F6-A080852F1104}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstype", "tools\fstype\fstype.vcproj", "{AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbac", "libbac\libbac.vcproj", "{374BF775-AF68-4A88-814A-48F692DFFE5A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "drivetype", "tools\drivetype\drivetype.vcproj", "{E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfind", "tools\testfind\testfind.vcproj", "{558838F9-D792-4F56-AAB2-99C03687C5FF}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testls", "tools\testls\testls.vcproj", "{28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculafd", "filed\baculafd.vcproj", "{6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{825DFFD0-4747-43CA-8326-529655E31935}" - ProjectSection(SolutionItems) = preProject - build-depkgs-mingw32 = build-depkgs-mingw32 - build-depkgs-msvc.cmd = build-depkgs-msvc.cmd - build-msvc.cmd = build-msvc.cmd - build-win32-cross-tools = build-win32-cross-tools - External-mingw32 = External-mingw32 - External-msvc = External-msvc - README.mingw32 = README.mingw32 - README.vc8 = README.vc8 - README.win32 = README.win32 - ..\..\technotes-1.39 = ..\..\technotes-1.39 - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Header Files", "Header Files", "{C8301485-CFD1-43D4-827C-8EA050C8E256}" - ProjectSection(SolutionItems) = preProject - ..\baconfig.h = ..\baconfig.h - ..\bacula.h = ..\bacula.h - ..\bc_types.h = ..\bc_types.h - ..\jcr.h = ..\jcr.h - ..\version.h = ..\version.h - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculadird", "dird\dird.vcproj", "{D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculasd", "stored\baculasd\baculasd.vcproj", "{F5F063F8-11A1-475A-82E2-19759BB40B25}" - ProjectSection(ProjectDependencies) = postProject - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bcopy", "stored\bcopy\bcopy.vcproj", "{614CE916-0972-4126-9392-CD9FC0ADD7DE}" - ProjectSection(ProjectDependencies) = postProject - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bextract", "stored\bextract\bextract.vcproj", "{6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}" - ProjectSection(ProjectDependencies) = postProject - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bls", "stored\bls\bls.vcproj", "{F8AF7D74-2918-422B-A7B6-4D98566B7160}" - ProjectSection(ProjectDependencies) = postProject - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bscan", "stored\bscan\bscan.vcproj", "{56EADEDB-FBED-4758-8B54-7B0B47ABDABF}" - ProjectSection(ProjectDependencies) = postProject - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "btape", "stored\btape\btape.vcproj", "{496415E0-AF44-4AD8-8C99-91B837DDF469}" - ProjectSection(ProjectDependencies) = postProject - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "storelib", "stored\storelib\storelib.vcproj", "{CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "postest", "stored\postest\postest.vcproj", "{208D3989-794B-47A2-9D04-D7AEE1524078}" - ProjectSection(ProjectDependencies) = postProject - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{0377E151-3352-487B-A5CF-24BCDC9EC43F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test Tools", "Test Tools", "{D6767108-F420-41C0-A834-2E6F487E1AB3}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Daemons", "Daemons", "{B9099DDA-18C9-4DE0-AECB-5D8139EA619F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{37F903FE-3474-4C93-AD5B-987CB6A92E62}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Consoles", "Consoles", "{C66C8B3B-C156-4498-91E9-CA9A24CF9051}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bacula", "bacula\bacula.vcproj", "{2D729599-C008-4154-BCCB-53E6A260F220}" - ProjectSection(ProjectDependencies) = postProject - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_mysql", "cats\cats_mysql\cats_mysql.vcproj", "{B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bacula_cats", "cats\bacula_cats\bacula_cats.vcproj", "{8B79A2B5-8889-43D4-9B92-9AE8A6F00413}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dbcheck", "tools\dbcheck\dbcheck.vcproj", "{85696E20-777A-41F6-BC00-2E7AB375B171}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_postgresql", "cats\cats_postgresql\cats_postgresql.vcproj", "{2FB961E5-213C-4475-8CB3-72F904D40752}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scsilist", "tools\scsilist\scsilist.vcproj", "{56D8C233-610E-4EE4-A73A-72CEF1C6A33A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\installer.vcproj", "{6D1B0964-FB32-4916-A61C-49D7F715EAD8}" - ProjectSection(ProjectDependencies) = postProject - {A0F65E06-9F18-40AC-81F6-A080852F1104} = {A0F65E06-9F18-40AC-81F6-A080852F1104} - {9BA8E10D-0D82-4B25-8543-DE34641FBC10} = {9BA8E10D-0D82-4B25-8543-DE34641FBC10} - {614CE916-0972-4126-9392-CD9FC0ADD7DE} = {614CE916-0972-4126-9392-CD9FC0ADD7DE} - {85696E20-777A-41F6-BC00-2E7AB375B171} = {85696E20-777A-41F6-BC00-2E7AB375B171} - {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F} = {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F} - {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} = {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} - {23BFE838-5682-4F39-969F-0B40366D4D98} = {23BFE838-5682-4F39-969F-0B40366D4D98} - {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} = {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} - {F8AF7D74-2918-422B-A7B6-4D98566B7160} = {F8AF7D74-2918-422B-A7B6-4D98566B7160} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} - {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA} = {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA} - {AB67F297-8491-4515-8E52-BFF5340EC242} = {AB67F297-8491-4515-8E52-BFF5340EC242} - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - {0F56AEB0-14DA-4A80-8962-1F85A17339D0} = {0F56AEB0-14DA-4A80-8962-1F85A17339D0} - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} - {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} = {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} - {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} = {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} - {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} = {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} - {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} = {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} - {496415E0-AF44-4AD8-8C99-91B837DDF469} = {496415E0-AF44-4AD8-8C99-91B837DDF469} - {2FB961E5-213C-4475-8CB3-72F904D40752} = {2FB961E5-213C-4475-8CB3-72F904D40752} - {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} = {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} - {F5F063F8-11A1-475A-82E2-19759BB40B25} = {F5F063F8-11A1-475A-82E2-19759BB40B25} - {558838F9-D792-4F56-AAB2-99C03687C5FF} = {558838F9-D792-4F56-AAB2-99C03687C5FF} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bsleep", "scripts\bsleep.vcproj", "{0F56AEB0-14DA-4A80-8962-1F85A17339D0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bsmtp", "tools\bsmtp\bsmtp.vcproj", "{AB67F297-8491-4515-8E52-BFF5340EC242}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{40CADEE4-8D53-4157-AA36-B256F4934FC3}" - ProjectSection(SolutionItems) = preProject - build-depkgs-msvc.cmd = build-depkgs-msvc.cmd - scripts\disk-changer.cmd = scripts\disk-changer.cmd - scripts\dvd-handler.cmd = scripts\dvd-handler.cmd - scripts\mtx-changer.cmd = scripts\mtx-changer.cmd - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_sqlite3", "cats\cats_sqlite3\cats_sqlite3.vcproj", "{23BFE838-5682-4F39-969F-0B40366D4D98}" - ProjectSection(ProjectDependencies) = postProject - {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|Win32 = Debug|Win32 - Release|Any CPU = Release|Any CPU - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Debug|Win32.ActiveCfg = Debug|Win32 - {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Debug|Win32.Build.0 = Debug|Win32 - {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Release|Any CPU.ActiveCfg = Release|Win32 - {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Release|Win32.ActiveCfg = Release|Win32 - {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Release|Win32.Build.0 = Release|Win32 - {A0F65E06-9F18-40AC-81F6-A080852F1104}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {A0F65E06-9F18-40AC-81F6-A080852F1104}.Debug|Win32.ActiveCfg = Debug|Win32 - {A0F65E06-9F18-40AC-81F6-A080852F1104}.Debug|Win32.Build.0 = Debug|Win32 - {A0F65E06-9F18-40AC-81F6-A080852F1104}.Release|Any CPU.ActiveCfg = Release|Win32 - {A0F65E06-9F18-40AC-81F6-A080852F1104}.Release|Win32.ActiveCfg = Release|Win32 - {A0F65E06-9F18-40AC-81F6-A080852F1104}.Release|Win32.Build.0 = Release|Win32 - {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Debug|Win32.ActiveCfg = Debug|Win32 - {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Debug|Win32.Build.0 = Debug|Win32 - {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Release|Any CPU.ActiveCfg = Release|Win32 - {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Release|Win32.ActiveCfg = Release|Win32 - {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Release|Win32.Build.0 = Release|Win32 - {374BF775-AF68-4A88-814A-48F692DFFE5A}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {374BF775-AF68-4A88-814A-48F692DFFE5A}.Debug|Win32.ActiveCfg = Debug|Win32 - {374BF775-AF68-4A88-814A-48F692DFFE5A}.Debug|Win32.Build.0 = Debug|Win32 - {374BF775-AF68-4A88-814A-48F692DFFE5A}.Release|Any CPU.ActiveCfg = Release|Win32 - {374BF775-AF68-4A88-814A-48F692DFFE5A}.Release|Win32.ActiveCfg = Release|Win32 - {374BF775-AF68-4A88-814A-48F692DFFE5A}.Release|Win32.Build.0 = Release|Win32 - {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Debug|Win32.ActiveCfg = Debug|Win32 - {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Debug|Win32.Build.0 = Debug|Win32 - {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Release|Any CPU.ActiveCfg = Release|Win32 - {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Release|Win32.ActiveCfg = Release|Win32 - {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Release|Win32.Build.0 = Release|Win32 - {558838F9-D792-4F56-AAB2-99C03687C5FF}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {558838F9-D792-4F56-AAB2-99C03687C5FF}.Debug|Win32.ActiveCfg = Debug|Win32 - {558838F9-D792-4F56-AAB2-99C03687C5FF}.Debug|Win32.Build.0 = Debug|Win32 - {558838F9-D792-4F56-AAB2-99C03687C5FF}.Release|Any CPU.ActiveCfg = Release|Win32 - {558838F9-D792-4F56-AAB2-99C03687C5FF}.Release|Win32.ActiveCfg = Release|Win32 - {558838F9-D792-4F56-AAB2-99C03687C5FF}.Release|Win32.Build.0 = Release|Win32 - {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Debug|Win32.ActiveCfg = Debug|Win32 - {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Debug|Win32.Build.0 = Debug|Win32 - {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Release|Any CPU.ActiveCfg = Release|Win32 - {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Release|Win32.ActiveCfg = Release|Win32 - {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Release|Win32.Build.0 = Release|Win32 - {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Debug|Win32.ActiveCfg = Debug|Win32 - {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Debug|Win32.Build.0 = Debug|Win32 - {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Release|Any CPU.ActiveCfg = Release|Win32 - {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Release|Win32.ActiveCfg = Release|Win32 - {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Release|Win32.Build.0 = Release|Win32 - {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Debug|Win32.ActiveCfg = Debug|Win32 - {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Debug|Win32.Build.0 = Debug|Win32 - {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Release|Any CPU.ActiveCfg = Release|Win32 - {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Release|Win32.ActiveCfg = Release|Win32 - {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Release|Win32.Build.0 = Release|Win32 - {F5F063F8-11A1-475A-82E2-19759BB40B25}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {F5F063F8-11A1-475A-82E2-19759BB40B25}.Debug|Win32.ActiveCfg = Debug|Win32 - {F5F063F8-11A1-475A-82E2-19759BB40B25}.Debug|Win32.Build.0 = Debug|Win32 - {F5F063F8-11A1-475A-82E2-19759BB40B25}.Release|Any CPU.ActiveCfg = Release|Win32 - {F5F063F8-11A1-475A-82E2-19759BB40B25}.Release|Win32.ActiveCfg = Release|Win32 - {F5F063F8-11A1-475A-82E2-19759BB40B25}.Release|Win32.Build.0 = Release|Win32 - {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Debug|Win32.ActiveCfg = Debug|Win32 - {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Debug|Win32.Build.0 = Debug|Win32 - {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Release|Any CPU.ActiveCfg = Release|Win32 - {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Release|Win32.ActiveCfg = Release|Win32 - {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Release|Win32.Build.0 = Release|Win32 - {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Debug|Win32.ActiveCfg = Debug|Win32 - {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Debug|Win32.Build.0 = Debug|Win32 - {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Release|Any CPU.ActiveCfg = Release|Win32 - {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Release|Win32.ActiveCfg = Release|Win32 - {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Release|Win32.Build.0 = Release|Win32 - {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Debug|Win32.Build.0 = Debug|Win32 - {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Release|Any CPU.ActiveCfg = Release|Win32 - {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Release|Win32.ActiveCfg = Release|Win32 - {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Release|Win32.Build.0 = Release|Win32 - {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Debug|Win32.ActiveCfg = Debug|Win32 - {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Debug|Win32.Build.0 = Debug|Win32 - {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Release|Any CPU.ActiveCfg = Release|Win32 - {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Release|Win32.ActiveCfg = Release|Win32 - {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Release|Win32.Build.0 = Release|Win32 - {496415E0-AF44-4AD8-8C99-91B837DDF469}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {496415E0-AF44-4AD8-8C99-91B837DDF469}.Debug|Win32.ActiveCfg = Debug|Win32 - {496415E0-AF44-4AD8-8C99-91B837DDF469}.Debug|Win32.Build.0 = Debug|Win32 - {496415E0-AF44-4AD8-8C99-91B837DDF469}.Release|Any CPU.ActiveCfg = Release|Win32 - {496415E0-AF44-4AD8-8C99-91B837DDF469}.Release|Win32.ActiveCfg = Release|Win32 - {496415E0-AF44-4AD8-8C99-91B837DDF469}.Release|Win32.Build.0 = Release|Win32 - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Debug|Win32.ActiveCfg = Debug|Win32 - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Debug|Win32.Build.0 = Debug|Win32 - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Release|Any CPU.ActiveCfg = Release|Win32 - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Release|Win32.ActiveCfg = Release|Win32 - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Release|Win32.Build.0 = Release|Win32 - {208D3989-794B-47A2-9D04-D7AEE1524078}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {208D3989-794B-47A2-9D04-D7AEE1524078}.Debug|Win32.ActiveCfg = Debug|Win32 - {208D3989-794B-47A2-9D04-D7AEE1524078}.Release|Any CPU.ActiveCfg = Release|Win32 - {208D3989-794B-47A2-9D04-D7AEE1524078}.Release|Win32.ActiveCfg = Release|Win32 - {2D729599-C008-4154-BCCB-53E6A260F220}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {2D729599-C008-4154-BCCB-53E6A260F220}.Debug|Win32.ActiveCfg = Debug|Win32 - {2D729599-C008-4154-BCCB-53E6A260F220}.Debug|Win32.Build.0 = Debug|Win32 - {2D729599-C008-4154-BCCB-53E6A260F220}.Release|Any CPU.ActiveCfg = Release|Win32 - {2D729599-C008-4154-BCCB-53E6A260F220}.Release|Win32.ActiveCfg = Release|Win32 - {2D729599-C008-4154-BCCB-53E6A260F220}.Release|Win32.Build.0 = Release|Win32 - {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Debug|Win32.ActiveCfg = Debug|Win32 - {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Debug|Win32.Build.0 = Debug|Win32 - {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Release|Any CPU.ActiveCfg = Release|Win32 - {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Release|Win32.ActiveCfg = Release|Win32 - {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Release|Win32.Build.0 = Release|Win32 - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Debug|Win32.ActiveCfg = Debug|Win32 - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Debug|Win32.Build.0 = Debug|Win32 - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Release|Any CPU.ActiveCfg = Release|Win32 - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Release|Win32.ActiveCfg = Release|Win32 - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Release|Win32.Build.0 = Release|Win32 - {85696E20-777A-41F6-BC00-2E7AB375B171}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {85696E20-777A-41F6-BC00-2E7AB375B171}.Debug|Win32.ActiveCfg = Debug|Win32 - {85696E20-777A-41F6-BC00-2E7AB375B171}.Debug|Win32.Build.0 = Debug|Win32 - {85696E20-777A-41F6-BC00-2E7AB375B171}.Release|Any CPU.ActiveCfg = Release|Win32 - {85696E20-777A-41F6-BC00-2E7AB375B171}.Release|Win32.ActiveCfg = Release|Win32 - {85696E20-777A-41F6-BC00-2E7AB375B171}.Release|Win32.Build.0 = Release|Win32 - {2FB961E5-213C-4475-8CB3-72F904D40752}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {2FB961E5-213C-4475-8CB3-72F904D40752}.Debug|Win32.ActiveCfg = Debug|Win32 - {2FB961E5-213C-4475-8CB3-72F904D40752}.Debug|Win32.Build.0 = Debug|Win32 - {2FB961E5-213C-4475-8CB3-72F904D40752}.Release|Any CPU.ActiveCfg = Release|Win32 - {2FB961E5-213C-4475-8CB3-72F904D40752}.Release|Win32.ActiveCfg = Release|Win32 - {2FB961E5-213C-4475-8CB3-72F904D40752}.Release|Win32.Build.0 = Release|Win32 - {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Debug|Win32.ActiveCfg = Debug|Win32 - {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Debug|Win32.Build.0 = Debug|Win32 - {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Release|Any CPU.ActiveCfg = Release|Win32 - {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Release|Win32.ActiveCfg = Release|Win32 - {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Release|Win32.Build.0 = Release|Win32 - {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Debug|Win32.ActiveCfg = Debug|Win32 - {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Debug|Win32.Build.0 = Debug|Win32 - {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Release|Any CPU.ActiveCfg = Release|Win32 - {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Release|Win32.ActiveCfg = Release|Win32 - {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Release|Win32.Build.0 = Release|Win32 - {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Debug|Win32.Build.0 = Debug|Win32 - {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Release|Any CPU.ActiveCfg = Release|Win32 - {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Release|Win32.ActiveCfg = Release|Win32 - {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Release|Win32.Build.0 = Release|Win32 - {AB67F297-8491-4515-8E52-BFF5340EC242}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {AB67F297-8491-4515-8E52-BFF5340EC242}.Debug|Win32.ActiveCfg = Debug|Win32 - {AB67F297-8491-4515-8E52-BFF5340EC242}.Debug|Win32.Build.0 = Debug|Win32 - {AB67F297-8491-4515-8E52-BFF5340EC242}.Release|Any CPU.ActiveCfg = Release|Win32 - {AB67F297-8491-4515-8E52-BFF5340EC242}.Release|Win32.ActiveCfg = Release|Win32 - {AB67F297-8491-4515-8E52-BFF5340EC242}.Release|Win32.Build.0 = Release|Win32 - {23BFE838-5682-4F39-969F-0B40366D4D98}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {23BFE838-5682-4F39-969F-0B40366D4D98}.Debug|Win32.ActiveCfg = Debug|Win32 - {23BFE838-5682-4F39-969F-0B40366D4D98}.Debug|Win32.Build.0 = Debug|Win32 - {23BFE838-5682-4F39-969F-0B40366D4D98}.Release|Any CPU.ActiveCfg = Release|Win32 - {23BFE838-5682-4F39-969F-0B40366D4D98}.Release|Win32.ActiveCfg = Release|Win32 - {23BFE838-5682-4F39-969F-0B40366D4D98}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {A0F65E06-9F18-40AC-81F6-A080852F1104} = {C66C8B3B-C156-4498-91E9-CA9A24CF9051} - {9BA8E10D-0D82-4B25-8543-DE34641FBC10} = {C66C8B3B-C156-4498-91E9-CA9A24CF9051} - {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F} = {D6767108-F420-41C0-A834-2E6F487E1AB3} - {558838F9-D792-4F56-AAB2-99C03687C5FF} = {D6767108-F420-41C0-A834-2E6F487E1AB3} - {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} = {D6767108-F420-41C0-A834-2E6F487E1AB3} - {208D3989-794B-47A2-9D04-D7AEE1524078} = {D6767108-F420-41C0-A834-2E6F487E1AB3} - {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} = {D6767108-F420-41C0-A834-2E6F487E1AB3} - {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {374BF775-AF68-4A88-814A-48F692DFFE5A} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {2D729599-C008-4154-BCCB-53E6A260F220} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {2FB961E5-213C-4475-8CB3-72F904D40752} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {23BFE838-5682-4F39-969F-0B40366D4D98} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} - {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} - {F5F063F8-11A1-475A-82E2-19759BB40B25} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} - {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} - {C8301485-CFD1-43D4-827C-8EA050C8E256} = {825DFFD0-4747-43CA-8326-529655E31935} - {40CADEE4-8D53-4157-AA36-B256F4934FC3} = {825DFFD0-4747-43CA-8326-529655E31935} - {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {F8AF7D74-2918-422B-A7B6-4D98566B7160} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {496415E0-AF44-4AD8-8C99-91B837DDF469} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {614CE916-0972-4126-9392-CD9FC0ADD7DE} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {85696E20-777A-41F6-BC00-2E7AB375B171} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {0F56AEB0-14DA-4A80-8962-1F85A17339D0} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - {AB67F297-8491-4515-8E52-BFF5340EC242} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wx-console", "wx-console\wx-console.vcproj", "{9BA8E10D-0D82-4B25-8543-DE34641FBC10}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "console", "console\console.vcproj", "{A0F65E06-9F18-40AC-81F6-A080852F1104}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstype", "tools\fstype\fstype.vcproj", "{AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbac", "libbac\libbac.vcproj", "{374BF775-AF68-4A88-814A-48F692DFFE5A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "drivetype", "tools\drivetype\drivetype.vcproj", "{E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfind", "tools\testfind\testfind.vcproj", "{558838F9-D792-4F56-AAB2-99C03687C5FF}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testls", "tools\testls\testls.vcproj", "{28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculafd", "filed\baculafd.vcproj", "{6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{825DFFD0-4747-43CA-8326-529655E31935}" + ProjectSection(SolutionItems) = preProject + build-depkgs-mingw32 = build-depkgs-mingw32 + build-depkgs-msvc.cmd = build-depkgs-msvc.cmd + build-msvc.cmd = build-msvc.cmd + build-win32-cross-tools = build-win32-cross-tools + External-mingw32 = External-mingw32 + External-msvc = External-msvc + README.mingw32 = README.mingw32 + README.vc8 = README.vc8 + README.win32 = README.win32 + ..\..\technotes-1.39 = ..\..\technotes-1.39 + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Header Files", "Header Files", "{C8301485-CFD1-43D4-827C-8EA050C8E256}" + ProjectSection(SolutionItems) = preProject + ..\baconfig.h = ..\baconfig.h + ..\bacula.h = ..\bacula.h + ..\bc_types.h = ..\bc_types.h + ..\jcr.h = ..\jcr.h + ..\version.h = ..\version.h + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculadird", "dird\dird.vcproj", "{D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "baculasd", "stored\baculasd\baculasd.vcproj", "{F5F063F8-11A1-475A-82E2-19759BB40B25}" + ProjectSection(ProjectDependencies) = postProject + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bcopy", "stored\bcopy\bcopy.vcproj", "{614CE916-0972-4126-9392-CD9FC0ADD7DE}" + ProjectSection(ProjectDependencies) = postProject + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bextract", "stored\bextract\bextract.vcproj", "{6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}" + ProjectSection(ProjectDependencies) = postProject + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bls", "stored\bls\bls.vcproj", "{F8AF7D74-2918-422B-A7B6-4D98566B7160}" + ProjectSection(ProjectDependencies) = postProject + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bscan", "stored\bscan\bscan.vcproj", "{56EADEDB-FBED-4758-8B54-7B0B47ABDABF}" + ProjectSection(ProjectDependencies) = postProject + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "btape", "stored\btape\btape.vcproj", "{496415E0-AF44-4AD8-8C99-91B837DDF469}" + ProjectSection(ProjectDependencies) = postProject + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "storelib", "stored\storelib\storelib.vcproj", "{CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "postest", "stored\postest\postest.vcproj", "{208D3989-794B-47A2-9D04-D7AEE1524078}" + ProjectSection(ProjectDependencies) = postProject + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{0377E151-3352-487B-A5CF-24BCDC9EC43F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test Tools", "Test Tools", "{D6767108-F420-41C0-A834-2E6F487E1AB3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Daemons", "Daemons", "{B9099DDA-18C9-4DE0-AECB-5D8139EA619F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{37F903FE-3474-4C93-AD5B-987CB6A92E62}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Consoles", "Consoles", "{C66C8B3B-C156-4498-91E9-CA9A24CF9051}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bacula", "bacula\bacula.vcproj", "{2D729599-C008-4154-BCCB-53E6A260F220}" + ProjectSection(ProjectDependencies) = postProject + {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_mysql", "cats\cats_mysql\cats_mysql.vcproj", "{B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bacula_cats", "cats\bacula_cats\bacula_cats.vcproj", "{8B79A2B5-8889-43D4-9B92-9AE8A6F00413}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dbcheck", "tools\dbcheck\dbcheck.vcproj", "{85696E20-777A-41F6-BC00-2E7AB375B171}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_postgresql", "cats\cats_postgresql\cats_postgresql.vcproj", "{2FB961E5-213C-4475-8CB3-72F904D40752}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scsilist", "tools\scsilist\scsilist.vcproj", "{56D8C233-610E-4EE4-A73A-72CEF1C6A33A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\installer.vcproj", "{6D1B0964-FB32-4916-A61C-49D7F715EAD8}" + ProjectSection(ProjectDependencies) = postProject + {A0F65E06-9F18-40AC-81F6-A080852F1104} = {A0F65E06-9F18-40AC-81F6-A080852F1104} + {9BA8E10D-0D82-4B25-8543-DE34641FBC10} = {9BA8E10D-0D82-4B25-8543-DE34641FBC10} + {614CE916-0972-4126-9392-CD9FC0ADD7DE} = {614CE916-0972-4126-9392-CD9FC0ADD7DE} + {85696E20-777A-41F6-BC00-2E7AB375B171} = {85696E20-777A-41F6-BC00-2E7AB375B171} + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F} = {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F} + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} = {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} + {23BFE838-5682-4F39-969F-0B40366D4D98} = {23BFE838-5682-4F39-969F-0B40366D4D98} + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} = {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} + {F8AF7D74-2918-422B-A7B6-4D98566B7160} = {F8AF7D74-2918-422B-A7B6-4D98566B7160} + {374BF775-AF68-4A88-814A-48F692DFFE5A} = {374BF775-AF68-4A88-814A-48F692DFFE5A} + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA} = {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA} + {AB67F297-8491-4515-8E52-BFF5340EC242} = {AB67F297-8491-4515-8E52-BFF5340EC242} + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + {0F56AEB0-14DA-4A80-8962-1F85A17339D0} = {0F56AEB0-14DA-4A80-8962-1F85A17339D0} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} = {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} = {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} = {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} = {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} + {496415E0-AF44-4AD8-8C99-91B837DDF469} = {496415E0-AF44-4AD8-8C99-91B837DDF469} + {2FB961E5-213C-4475-8CB3-72F904D40752} = {2FB961E5-213C-4475-8CB3-72F904D40752} + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} = {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} + {F5F063F8-11A1-475A-82E2-19759BB40B25} = {F5F063F8-11A1-475A-82E2-19759BB40B25} + {558838F9-D792-4F56-AAB2-99C03687C5FF} = {558838F9-D792-4F56-AAB2-99C03687C5FF} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bsleep", "scripts\bsleep.vcproj", "{0F56AEB0-14DA-4A80-8962-1F85A17339D0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bsmtp", "tools\bsmtp\bsmtp.vcproj", "{AB67F297-8491-4515-8E52-BFF5340EC242}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{40CADEE4-8D53-4157-AA36-B256F4934FC3}" + ProjectSection(SolutionItems) = preProject + build-depkgs-msvc.cmd = build-depkgs-msvc.cmd + scripts\disk-changer.cmd = scripts\disk-changer.cmd + scripts\dvd-handler.cmd = scripts\dvd-handler.cmd + scripts\mtx-changer.cmd = scripts\mtx-changer.cmd + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cats_sqlite3", "cats\cats_sqlite3\cats_sqlite3.vcproj", "{23BFE838-5682-4F39-969F-0B40366D4D98}" + ProjectSection(ProjectDependencies) = postProject + {2D729599-C008-4154-BCCB-53E6A260F220} = {2D729599-C008-4154-BCCB-53E6A260F220} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Win32 = Debug|Win32 + Release|Any CPU = Release|Any CPU + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Debug|Win32.ActiveCfg = Debug|Win32 + {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Debug|Win32.Build.0 = Debug|Win32 + {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Release|Any CPU.ActiveCfg = Release|Win32 + {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Release|Win32.ActiveCfg = Release|Win32 + {9BA8E10D-0D82-4B25-8543-DE34641FBC10}.Release|Win32.Build.0 = Release|Win32 + {A0F65E06-9F18-40AC-81F6-A080852F1104}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {A0F65E06-9F18-40AC-81F6-A080852F1104}.Debug|Win32.ActiveCfg = Debug|Win32 + {A0F65E06-9F18-40AC-81F6-A080852F1104}.Debug|Win32.Build.0 = Debug|Win32 + {A0F65E06-9F18-40AC-81F6-A080852F1104}.Release|Any CPU.ActiveCfg = Release|Win32 + {A0F65E06-9F18-40AC-81F6-A080852F1104}.Release|Win32.ActiveCfg = Release|Win32 + {A0F65E06-9F18-40AC-81F6-A080852F1104}.Release|Win32.Build.0 = Release|Win32 + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Debug|Win32.ActiveCfg = Debug|Win32 + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Debug|Win32.Build.0 = Debug|Win32 + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Release|Any CPU.ActiveCfg = Release|Win32 + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Release|Win32.ActiveCfg = Release|Win32 + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E}.Release|Win32.Build.0 = Release|Win32 + {374BF775-AF68-4A88-814A-48F692DFFE5A}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {374BF775-AF68-4A88-814A-48F692DFFE5A}.Debug|Win32.ActiveCfg = Debug|Win32 + {374BF775-AF68-4A88-814A-48F692DFFE5A}.Debug|Win32.Build.0 = Debug|Win32 + {374BF775-AF68-4A88-814A-48F692DFFE5A}.Release|Any CPU.ActiveCfg = Release|Win32 + {374BF775-AF68-4A88-814A-48F692DFFE5A}.Release|Win32.ActiveCfg = Release|Win32 + {374BF775-AF68-4A88-814A-48F692DFFE5A}.Release|Win32.Build.0 = Release|Win32 + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Debug|Win32.ActiveCfg = Debug|Win32 + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Debug|Win32.Build.0 = Debug|Win32 + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Release|Any CPU.ActiveCfg = Release|Win32 + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Release|Win32.ActiveCfg = Release|Win32 + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F}.Release|Win32.Build.0 = Release|Win32 + {558838F9-D792-4F56-AAB2-99C03687C5FF}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {558838F9-D792-4F56-AAB2-99C03687C5FF}.Debug|Win32.ActiveCfg = Debug|Win32 + {558838F9-D792-4F56-AAB2-99C03687C5FF}.Debug|Win32.Build.0 = Debug|Win32 + {558838F9-D792-4F56-AAB2-99C03687C5FF}.Release|Any CPU.ActiveCfg = Release|Win32 + {558838F9-D792-4F56-AAB2-99C03687C5FF}.Release|Win32.ActiveCfg = Release|Win32 + {558838F9-D792-4F56-AAB2-99C03687C5FF}.Release|Win32.Build.0 = Release|Win32 + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Debug|Win32.ActiveCfg = Debug|Win32 + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Debug|Win32.Build.0 = Debug|Win32 + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Release|Any CPU.ActiveCfg = Release|Win32 + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Release|Win32.ActiveCfg = Release|Win32 + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF}.Release|Win32.Build.0 = Release|Win32 + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Debug|Win32.ActiveCfg = Debug|Win32 + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Debug|Win32.Build.0 = Debug|Win32 + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Release|Any CPU.ActiveCfg = Release|Win32 + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Release|Win32.ActiveCfg = Release|Win32 + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B}.Release|Win32.Build.0 = Release|Win32 + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Debug|Win32.ActiveCfg = Debug|Win32 + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Debug|Win32.Build.0 = Debug|Win32 + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Release|Any CPU.ActiveCfg = Release|Win32 + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Release|Win32.ActiveCfg = Release|Win32 + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA}.Release|Win32.Build.0 = Release|Win32 + {F5F063F8-11A1-475A-82E2-19759BB40B25}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {F5F063F8-11A1-475A-82E2-19759BB40B25}.Debug|Win32.ActiveCfg = Debug|Win32 + {F5F063F8-11A1-475A-82E2-19759BB40B25}.Debug|Win32.Build.0 = Debug|Win32 + {F5F063F8-11A1-475A-82E2-19759BB40B25}.Release|Any CPU.ActiveCfg = Release|Win32 + {F5F063F8-11A1-475A-82E2-19759BB40B25}.Release|Win32.ActiveCfg = Release|Win32 + {F5F063F8-11A1-475A-82E2-19759BB40B25}.Release|Win32.Build.0 = Release|Win32 + {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Debug|Win32.ActiveCfg = Debug|Win32 + {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Debug|Win32.Build.0 = Debug|Win32 + {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Release|Any CPU.ActiveCfg = Release|Win32 + {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Release|Win32.ActiveCfg = Release|Win32 + {614CE916-0972-4126-9392-CD9FC0ADD7DE}.Release|Win32.Build.0 = Release|Win32 + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Debug|Win32.ActiveCfg = Debug|Win32 + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Debug|Win32.Build.0 = Debug|Win32 + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Release|Any CPU.ActiveCfg = Release|Win32 + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Release|Win32.ActiveCfg = Release|Win32 + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA}.Release|Win32.Build.0 = Release|Win32 + {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Debug|Win32.ActiveCfg = Debug|Win32 + {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Debug|Win32.Build.0 = Debug|Win32 + {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Release|Any CPU.ActiveCfg = Release|Win32 + {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Release|Win32.ActiveCfg = Release|Win32 + {F8AF7D74-2918-422B-A7B6-4D98566B7160}.Release|Win32.Build.0 = Release|Win32 + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Debug|Win32.ActiveCfg = Debug|Win32 + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Debug|Win32.Build.0 = Debug|Win32 + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Release|Any CPU.ActiveCfg = Release|Win32 + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Release|Win32.ActiveCfg = Release|Win32 + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF}.Release|Win32.Build.0 = Release|Win32 + {496415E0-AF44-4AD8-8C99-91B837DDF469}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {496415E0-AF44-4AD8-8C99-91B837DDF469}.Debug|Win32.ActiveCfg = Debug|Win32 + {496415E0-AF44-4AD8-8C99-91B837DDF469}.Debug|Win32.Build.0 = Debug|Win32 + {496415E0-AF44-4AD8-8C99-91B837DDF469}.Release|Any CPU.ActiveCfg = Release|Win32 + {496415E0-AF44-4AD8-8C99-91B837DDF469}.Release|Win32.ActiveCfg = Release|Win32 + {496415E0-AF44-4AD8-8C99-91B837DDF469}.Release|Win32.Build.0 = Release|Win32 + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Debug|Win32.ActiveCfg = Debug|Win32 + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Debug|Win32.Build.0 = Debug|Win32 + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Release|Any CPU.ActiveCfg = Release|Win32 + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Release|Win32.ActiveCfg = Release|Win32 + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D}.Release|Win32.Build.0 = Release|Win32 + {208D3989-794B-47A2-9D04-D7AEE1524078}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {208D3989-794B-47A2-9D04-D7AEE1524078}.Debug|Win32.ActiveCfg = Debug|Win32 + {208D3989-794B-47A2-9D04-D7AEE1524078}.Release|Any CPU.ActiveCfg = Release|Win32 + {208D3989-794B-47A2-9D04-D7AEE1524078}.Release|Win32.ActiveCfg = Release|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Debug|Win32.ActiveCfg = Debug|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Debug|Win32.Build.0 = Debug|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Release|Any CPU.ActiveCfg = Release|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Release|Win32.ActiveCfg = Release|Win32 + {2D729599-C008-4154-BCCB-53E6A260F220}.Release|Win32.Build.0 = Release|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Debug|Win32.ActiveCfg = Debug|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Debug|Win32.Build.0 = Debug|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Release|Any CPU.ActiveCfg = Release|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Release|Win32.ActiveCfg = Release|Win32 + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC}.Release|Win32.Build.0 = Release|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Debug|Win32.ActiveCfg = Debug|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Debug|Win32.Build.0 = Debug|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Release|Any CPU.ActiveCfg = Release|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Release|Win32.ActiveCfg = Release|Win32 + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413}.Release|Win32.Build.0 = Release|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Debug|Win32.ActiveCfg = Debug|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Debug|Win32.Build.0 = Debug|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Release|Any CPU.ActiveCfg = Release|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Release|Win32.ActiveCfg = Release|Win32 + {85696E20-777A-41F6-BC00-2E7AB375B171}.Release|Win32.Build.0 = Release|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Debug|Win32.ActiveCfg = Debug|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Debug|Win32.Build.0 = Debug|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Release|Any CPU.ActiveCfg = Release|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Release|Win32.ActiveCfg = Release|Win32 + {2FB961E5-213C-4475-8CB3-72F904D40752}.Release|Win32.Build.0 = Release|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Debug|Win32.ActiveCfg = Debug|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Debug|Win32.Build.0 = Debug|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Release|Any CPU.ActiveCfg = Release|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Release|Win32.ActiveCfg = Release|Win32 + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A}.Release|Win32.Build.0 = Release|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Debug|Win32.ActiveCfg = Debug|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Debug|Win32.Build.0 = Debug|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Release|Any CPU.ActiveCfg = Release|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Release|Win32.ActiveCfg = Release|Win32 + {6D1B0964-FB32-4916-A61C-49D7F715EAD8}.Release|Win32.Build.0 = Release|Win32 + {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Debug|Win32.ActiveCfg = Debug|Win32 + {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Debug|Win32.Build.0 = Debug|Win32 + {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Release|Any CPU.ActiveCfg = Release|Win32 + {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Release|Win32.ActiveCfg = Release|Win32 + {0F56AEB0-14DA-4A80-8962-1F85A17339D0}.Release|Win32.Build.0 = Release|Win32 + {AB67F297-8491-4515-8E52-BFF5340EC242}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {AB67F297-8491-4515-8E52-BFF5340EC242}.Debug|Win32.ActiveCfg = Debug|Win32 + {AB67F297-8491-4515-8E52-BFF5340EC242}.Debug|Win32.Build.0 = Debug|Win32 + {AB67F297-8491-4515-8E52-BFF5340EC242}.Release|Any CPU.ActiveCfg = Release|Win32 + {AB67F297-8491-4515-8E52-BFF5340EC242}.Release|Win32.ActiveCfg = Release|Win32 + {AB67F297-8491-4515-8E52-BFF5340EC242}.Release|Win32.Build.0 = Release|Win32 + {23BFE838-5682-4F39-969F-0B40366D4D98}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {23BFE838-5682-4F39-969F-0B40366D4D98}.Debug|Win32.ActiveCfg = Debug|Win32 + {23BFE838-5682-4F39-969F-0B40366D4D98}.Debug|Win32.Build.0 = Debug|Win32 + {23BFE838-5682-4F39-969F-0B40366D4D98}.Release|Any CPU.ActiveCfg = Release|Win32 + {23BFE838-5682-4F39-969F-0B40366D4D98}.Release|Win32.ActiveCfg = Release|Win32 + {23BFE838-5682-4F39-969F-0B40366D4D98}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {A0F65E06-9F18-40AC-81F6-A080852F1104} = {C66C8B3B-C156-4498-91E9-CA9A24CF9051} + {9BA8E10D-0D82-4B25-8543-DE34641FBC10} = {C66C8B3B-C156-4498-91E9-CA9A24CF9051} + {E5BC5B2E-976D-4DED-AA07-5DD52BF2163F} = {D6767108-F420-41C0-A834-2E6F487E1AB3} + {558838F9-D792-4F56-AAB2-99C03687C5FF} = {D6767108-F420-41C0-A834-2E6F487E1AB3} + {28FB58CE-AB8C-4C60-83DA-BC1BFCC59BFF} = {D6767108-F420-41C0-A834-2E6F487E1AB3} + {208D3989-794B-47A2-9D04-D7AEE1524078} = {D6767108-F420-41C0-A834-2E6F487E1AB3} + {AAF33ADD-A4F9-4BCA-B7F9-0C35C843CC7E} = {D6767108-F420-41C0-A834-2E6F487E1AB3} + {CAD30B43-D93B-47D5-9161-6A3E9BADCC1D} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {374BF775-AF68-4A88-814A-48F692DFFE5A} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {2D729599-C008-4154-BCCB-53E6A260F220} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {B52BD53B-0E57-4E9A-A601-8E8171BA1CFC} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {8B79A2B5-8889-43D4-9B92-9AE8A6F00413} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {2FB961E5-213C-4475-8CB3-72F904D40752} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {23BFE838-5682-4F39-969F-0B40366D4D98} = {0377E151-3352-487B-A5CF-24BCDC9EC43F} + {D03415F7-654E-42F4-B0E9-CB8FBE3F22FA} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} + {F5F063F8-11A1-475A-82E2-19759BB40B25} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} + {6A435DBB-4D3D-4DAE-8CB3-E0AF169A240B} = {B9099DDA-18C9-4DE0-AECB-5D8139EA619F} + {C8301485-CFD1-43D4-827C-8EA050C8E256} = {825DFFD0-4747-43CA-8326-529655E31935} + {40CADEE4-8D53-4157-AA36-B256F4934FC3} = {825DFFD0-4747-43CA-8326-529655E31935} + {6A7AA493-E46C-4994-B8D6-AA6C9C19C9BA} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {F8AF7D74-2918-422B-A7B6-4D98566B7160} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {56EADEDB-FBED-4758-8B54-7B0B47ABDABF} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {496415E0-AF44-4AD8-8C99-91B837DDF469} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {614CE916-0972-4126-9392-CD9FC0ADD7DE} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {85696E20-777A-41F6-BC00-2E7AB375B171} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {56D8C233-610E-4EE4-A73A-72CEF1C6A33A} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {0F56AEB0-14DA-4A80-8962-1F85A17339D0} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + {AB67F297-8491-4515-8E52-BFF5340EC242} = {37F903FE-3474-4C93-AD5B-987CB6A92E62} + EndGlobalSection +EndGlobal diff --git a/bacula/src/win32/bacula/bacula.vcproj b/bacula/src/win32/bacula/bacula.vcproj index 091f0b651f..ae9fe374a2 100644 --- a/bacula/src/win32/bacula/bacula.vcproj +++ b/bacula/src/win32/bacula/bacula.vcproj @@ -1,225 +1,225 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/build-depkgs-mingw32 b/bacula/src/win32/build-depkgs-mingw32 old mode 100644 new mode 100755 diff --git a/bacula/src/win32/build-depkgs-msvc.cmd b/bacula/src/win32/build-depkgs-msvc.cmd index 689a2f32db..5d73f6c16d 100644 --- a/bacula/src/win32/build-depkgs-msvc.cmd +++ b/bacula/src/win32/build-depkgs-msvc.cmd @@ -1,419 +1,419 @@ -@echo off -SETLOCAL - -SET PERL_PATH= -FOR /F "tokens=1" %%I in ( "perl.exe" ) DO SET PERL_PATH=%%~$PATH:I - -IF NOT "%PERL_PATH%"=="" GOTO :PERL_OK -ECHO Perl must be in your PATH. Please fix and rerun this script! -EXIT /B 1 - -:PERL_OK - -IF "%CLOBBER_SOURCE%"=="" SET CLOBBER_SOURCE=false - -FOR /F "eol=# delims=| tokens=1-4" %%I in ( External-msvc ) DO SET URL_%%I=%%J& SET DIR_%%I=%%K& SET MKD_%%I=%%L - -SET CWD=%CD% -FOR %%I IN ( %0 ) DO CD %%~dpI -SET SCRIPT_DIR=%CD% - -CD ..\..\.. -set TOP_DIR=%CD% - -IF NOT EXIST %TOP_DIR%\depkgs-msvc\nul MD %TOP_DIR%\depkgs-msvc - -cd %TOP_DIR%\depkgs-msvc -set DEPPKG_DIR=%CD% - -cd %DEPPKG_DIR% - -IF /I "%CLOBBER_SOURCE:~0,1%"=="y" SET CLOBBER_SOURCE=true -IF /I "%CLOBBER_SOURCE:~0,1%"=="t" SET CLOBBER_SOURCE=true -IF /I "%CLOBBER_SOURCE:~0,1%"=="1" SET CLOBBER_SOURCE=true - -SET PATH=%DEPPKG_DIR%\tools;%PATH% -SET INCLUDE=%INCLUDE%;%DEPPKG_DIR%\include -SET LIB=%LIB%;%DEPPKG_DIR%\lib - -IF NOT EXIST bin\nul MKDIR bin -IF NOT EXIST src\nul MKDIR src -IF NOT EXIST include\nul MKDIR include -IF NOT EXIST lib\nul MKDIR lib - -CD src - -COPY NUL parse_output.sed >nul 2>&1 -REM ECHO /\\$/N >>parse_output.sed -REM ECHO s/\\\n// >>parse_output.sed -ECHO s/\t\+/ /g >>parse_output.sed -ECHO s/ \+/ /g >>parse_output.sed -ECHO / [Ee]rror: /p >>parse_output.sed -REM ECHO s;.*Entering directory[ ]\+.%DEPPKG_DIR%/\([^^ ]\+\).;Entering \1;p >>parse_output.sed -REM ECHO s;.*Leaving directory[ ]\+.%DEPPKG_DIR%/\([^^ ]\+.\).;Leaving \1;p >>parse_output.sed -ECHO /[Cc][Ll] \^|[Ll][Ii][Nn][Kk] \^|[Ll][Ii][Bb] /!d >>parse_output.sed -ECHO s; \(\.\.\\\)\+; ;g >>parse_output.sed -ECHO s; \.\\; ;g >>parse_output.sed -ECHO s/.* \([^^ ]\+\(\.[Cc]\^|\.[Cc][Pp][Pp]\^|\.[Cc][Cc]\^|\.[Cc][Xx][Xx]\)\)\( .*\^|\)$/Compiling \1/p >>parse_output.sed -ECHO s/.* \([^^ ]\+\.[Aa][Ss][Mm]\)\( .*\^|\)$/Assembling \1/p >>parse_output.sed -ECHO s/.* \/[Oo][Uu][Tt]:\(\.\\\)*\(\.\.\\\)*\([^^ ]\+\)\( .*\^|\)$/Linking \3/p >>parse_output.sed -REM ECHO s/.*[Ll][Ii][Bb] [^^ ]\+ \([^^ ]\+\)\(\( [^^ ]\+\.o\)\+\)/Updating \1 -\2/p >>parse_output.sed - -IF NOT "%1"=="" GOTO :ProcessArgs - CALL :process_zlib -REM CALL :process_pcre - CALL :process_pthreads - CALL :process_openssl - CALL :process_mysql - CALL :process_sqlite - CALL :process_postgreSQL - CALL :process_wx -REM CALL :process_scons - CALL :process_nsis - CALL :process_mtx - CALL :process_mt - CALL :process_sed - CALL :process_cmd_utils - CALL :process_mkisofs - CALL :process_dvd_rw_tools - GOTO :EOF - -:ProcessArgs - IF "%1"=="" GOTO :EOF - - CALL :process_%1 - SHIFT - GOTO :ProcessArgs - -:get_source - SET URL=%1 - SET SRC_DIR=%2 - SET MAKE_SRC_ENABLE=%3 - SET BASENAME= - - IF NOT "%SRC_DIR%"=="" GOTO :get_source_make_src - FOR %%I IN ( %URL% ) DO (SET BASENAME=%%~nI& IF NOT "%%~xI"==".gz" IF NOT "%%~xI"==".bz2" SET SRC_DIR=%%~nI) - IF "%SRC_DIR%"=="" FOR %%I IN ( %BASENAME% ) DO SET SRC_DIR=%%~nI - -:get_source_make_src - SET MAKE_SRC_DIR= - IF /I "%MAKE_SRC_ENABLE:~0,1%"=="y" SET MAKE_SRC_DIR=true - IF /I "%MAKE_SRC_ENABLE:~0,1%"=="t" SET MAKE_SRC_DIR=true - IF /I "%MAKE_SRC_ENABLE:~0,1%"=="1" SET MAKE_SRC_DIR=true - - FOR %%I IN ( %URL% ) DO ( SET ARCHIVE=%%~nxI& SET ARCHIVE_EXT=%%~xI) - - CD %DEPPKG_DIR%\src - - IF EXIST %ARCHIVE% GOTO :get_source_check_srcdir - ECHO Downloading %URL% - wget -nv --passive-ftp "%URL%" - IF NOT ERRORLEVEL 1 GOTO :get_source_extract - ECHO Unable to download %ARCHIVE% - EXIT /B 2 - -:get_source_check_srcdir - IF /I "%ARCHIVE_EXT%"==".exe" EXIT /B 0 - IF NOT EXIST %SRC_DIR%\nul GOTO :get_source_extract - IF NOT "%CLOBBER_SOURCE%"=="true" GOTO :get_source_skipped - IF EXIST %SRC_DIR%\nul RD /s /q "%SRC_DIR%" -:get_source_extract - IF /I "%ARCHIVE_EXT%"==".exe" EXIT /B 0 - SET TAR_ARCHIVE= - FOR %%I IN ( "%ARCHIVE%" ) do IF "%%~xI"==".gz" SET TAR_ARCHIVE=%%~nI - FOR %%I IN ( "%ARCHIVE%" ) do IF "%%~xI"==".bz2" SET TAR_ARCHIVE=%%~nI - - SET TARGET_DIR=. - IF DEFINED MAKE_SRC_DIR IF NOT EXIST %SRC_DIR%\nul MKDIR %SRC_DIR% - IF DEFINED MAKE_SRC_DIR SET TARGET_DIR=%SRC_DIR% - - ECHO Extracting %ARCHIVE% - 7z x -bd -y -o"%TARGET_DIR%" "%ARCHIVE%" 2>&1 > "%ARCHIVE%.log" - IF ERRORLEVEL 1 EXIT /B 2 - IF NOT DEFINED TAR_ARCHIVE GOTO :get_source_done - ECHO Extracting %TAR_ARCHIVE% - 7z x -bd -y -o"%TARGET_DIR%" "%TARGET_DIR%\%TAR_ARCHIVE%" & del /q "%TAR_ARCHIVE%" 2>&1 >> "%ARCHIVE%.log" - -:get_source_done - CD "%SRC_DIR%" - EXIT /B 0 - -:get_source_skipped - CD %SRC_DIR% - EXIT /B 1 - -:process_zlib - CALL :get_source %URL_ZLIB% %DIR_ZLIB% %MKD_ZLIB% - ECHO Building zlib - COPY /Y nul make.log -REM XCOPY contrib\masmx86\gvmat32.asm . /Y -REM XCOPY contrib\masmx86\gvmat32c.c . /Y -REM XCOPY contrib\masmx86\inffas32.asm . /Y -REM CALL :do_nmake win32\Makefile.msc AS=nasmw ASFLAGS= LOC="-D_CRT_SECURE_NO_DEPRECATE -DASMV -DASMINF" OBJA="gvmat32c.obj gvmat32.obj inffas32.obj" all - CALL :do_nmake win32\Makefile.msc LOC="-D_CRT_SECURE_NO_DEPRECATE" all - ECHO Installing zlib - XCOPY zlib1.dll.manifest %DEPPKG_DIR%\bin\ /Y - XCOPY zlib1.dll %DEPPKG_DIR%\bin\ /Y - XCOPY zlib.lib %DEPPKG_DIR%\lib\ /Y - XCOPY zdll.lib %DEPPKG_DIR%\lib\ /Y - XCOPY zlib.h %DEPPKG_DIR%\include\ /Y - XCOPY zconf.h %DEPPKG_DIR%\include\ /Y - EXIT /B 0 - -:process_pcre - CALL :get_source %URL_PCRE% %DIR_PCRE% %MKD_PCRE% -REM ECHO Patching PCRE -REM COPY /Y nul patch.log -REM do_patch pcre.patch - ECHO Configuring PCRE - ./configure CC_FOR_BUILD=gcc CXX_FOR_BUILD=g++ --host=mingw32 --prefix=%DEPPKG_DIR% --enable-utf8 --enable-unicode-properties 2>&1 > make.log - ECHO Building PCRE - do_make Makefile PREFIX=%DEPPKG_DIR% all - ECHO Installing PCRE - do_make Makefile PREFIX=%DEPPKG_DIR% install - EXIT /B 0 - -:process_pthreads - CALL :get_source %URL_PTHREADS% %DIR_PTHREADS% %MKD_PTHREADS% - FOR %%I IN ( %URL_PTHREADS% ) DO (SET ARCHIVE=%%~nxI) - IF EXIST %SRC_DIR%\nul GOTO :install_pthreads - ECHO Extracting %ARCHIVE% - 7z x -bd -y -o"%DIR_PTHREADS%" "%ARCHIVE%" 2>&1 > "%ARCHIVE%.log" -:install_pthreads - CD %DIR_PTHREADS% - ECHO Installing pthreads - XCOPY Pre-built\include\*.h %DEPPKG_DIR%\include\ /Y - XCOPY Pre-built\lib\pthreadVCE.lib %DEPPKG_DIR%\lib\ /Y - XCOPY Pre-built\lib\pthreadVCE.dll %DEPPKG_DIR%\bin\ /Y - EXIT /B 0 - -:process_openssl - CALL :get_source %URL_OPENSSL% %DIR_OPENSSL% %MKD_OPENSSL% - IF ERRORLEVEL 2 GOTO :OpenSSLError - ECHO Configuring openssl - perl Configure VC-WIN32 --prefix=%DEPPKG_DIR:\=/% > make.log - ECHO Building openssl - CALL ms\do_nasm - @ECHO off - CALL :do_nmake ms\ntdll.mak - @ECHO off - ECHO Installing openssl - CALL :do_nmake ms\ntdll.mak install - EXIT /B 0 -:OpenSSLError - ECHO Unable to download OpenSSL source from %URL_OPENSSL% - EXIT /B 1 - -:process_mysql - CALL :get_source %URL_MYSQL% %DIR_MYSQL% %MKD_MYSQL% - ECHO Installing mysql - IF EXIST ..\..\include\mysql\nul RD /s /q ..\..\include\mysql - XCOPY include\* ..\..\include\mysql\ /e/h/k/y 2>&1 - XCOPY lib\opt\libmysql.lib ..\..\lib\ /y - XCOPY lib\opt\libmysql.dll ..\..\bin\ /y - EXIT /B 0 - -:process_postgreSQL - CALL :get_source %URL_POSTGRESQL% %DIR_POSTGRESQL% %MKD_POSTGRESQL% - IF ERRORLEVEL 2 GOTO :pstgreSQL_Error1 - CALL :get_source %URL_POSTGRESQL_SRC% %DIR_POSTGRESQL_SRC% %MKD_POSTGRESQL_SRC% - IF ERRORLEVEL 2 GOTO :pstgreSQL_Error2 -REM ECHO Patching postgreSQL -REM COPY /Y nul patch.log -REM do_patch postgresql.patch - ECHO Installing postgreSQL - XCOPY ..\pgsql\include\libpq-fe.h ..\..\include\ /Y 2>&1 - XCOPY ..\pgsql\include\postgres_ext.h ..\..\include\ /Y 2>&1 - LIB /def:src\interfaces\libpq\libpqdll.def /out:..\..\lib\libpqdll.lib /machine:x86 /subsystem:console - XCOPY ..\pgsql\lib\libpq.dll ..\..\bin\ /Y - XCOPY ..\pgsql\lib\comerr32.dll ..\..\bin\ /Y - XCOPY ..\pgsql\lib\krb5_32.dll ..\..\bin\ /Y - XCOPY ..\pgsql\lib\libintl-2.dll ..\..\bin\ /Y - XCOPY ..\pgsql\lib\libiconv-2.dll ..\..\bin\ /Y - EXIT /B 0 -:pstgreSQL_Error1 - ECHO Unable to download postgreSQL binaries from %URL_POSTGRESQL% - EXIT /B 1 -:pstgreSQL_Error2 - ECHO Unable to download postgreSQL source from %URL_POSTGRESQL_SRC% - EXIT /B 1 - -:process_sqlite - CALL :get_source %URL_SQLITE% %DIR_SQLITE% %MKD_SQLITE% - IF ERRORLEVEL 2 GOTO :sqlite_error - IF ERRORLEVEL 1 GOTO :sqlite_skip_patch - ECHO Patching SQLite - COPY /Y nul patch.log - CALL :do_patch sqlite_msc.patch -:sqlite_skip_patch - ECHO Configuring SQLite - IF NOT EXIST bld/nul MKDIR bld - CD bld - ECHO Building SQLite - COPY /Y nul make.log - CALL :do_nmake ../Makefile.msvc clean all - ECHO Installing SQLite - COPY sqlite3.exe %DEPPKG_DIR%\bin - COPY sqlite3.exe.manifest %DEPPKG_DIR%\bin - COPY sqlite3.lib %DEPPKG_DIR%\lib - COPY sqlite3.h %DEPPKG_DIR%\include - EXIT /B 0 -:sqlite_error - ECHO Unable to download sqlite source from %URL_SQLITE% - EXIT /B 1 - -:process_wx - CALL :get_source %URL_WX% %DIR_WX% %MKD_WX% - IF ERRORLEVEL 2 GOTO :wx_error -REM IF ERRORLEVEL 1 GOTO :wx_skip_patch -REM ECHO Patching wxWidgets -REM COPY /Y nul patch.log -REM do_patch wx1.patch -o build/msw/config.mingw32 -REM do_patch wx2.patch -REM find . -name makefile.gcc -exec sh -c "sed -f %SCRIPT_DIR%/patches/wx.sed {% > \`ECHO {% | sed s/\.gcc$/\.mingw32/\`" \; - ECHO Building wxWidgets - cd build\msw - COPY /Y nul make.log - CALL :do_nmake makefile.vc BUILD=release SHARED=1 VENDOR=bacula DEBUG_INFO=1 CPPFLAGS=-D_USE_32BIT_TIME_T - ECHO Installing wxWidgets - cd ..\.. - IF EXIST ..\..\include\wx\nul RD /s /q ..\..\include\wx - XCOPY include\wx ..\..\include\wx\ 2>&1 - XCOPY include\wx\generic ..\..\include\wx\generic\ /e 2>&1 - XCOPY include\wx\msw ..\..\include\wx\msw\ /e 2>&1 - XCOPY lib\vc_dll\*.dll ..\..\bin\ /y - IF EXIST ..\..\lib\wx_dll\nul RD /s /q ..\..\lib\wx_dll - XCOPY lib\vc_dll\*.lib ..\..\lib\wx_dll\ - XCOPY lib\vc_dll\msw ..\..\lib\wx_dll\msw\ /e 2>&1 - EXIT /B 0 -:wx_error - ECHO Unable to download wxWidgets source from %URL_MTX% - EXIT /B 1 - -:process_nsis - CALL :get_source %URL_NSIS_BIN% %DIR_NSIS_BIN% %MKD_NSIS_BIN% - CD .. - IF EXIST ..\nsis\nul RD /s /q ..\nsis - MOVE nsis-2.17 ..\nsis - EXIT /B 0 - -:process_mtx - CALL :get_source %URL_MTX% %DIR_MTX% %MKD_MTX% - IF ERRORLEVEL 2 GOTO :mtx_error - IF ERRORLEVEL 1 GOTO :mtx_skip_patch - ECHO Patching mtx - COPY /Y config.h.in config.h - COPY /Y Makefile.in Makefile - COPY /Y nul patch.log - CALL :do_patch mtx.patch - CALL :do_patch mtx-msvc1.patch - CALL :do_patch mtx-msvc2.patch -:mtx_skip_patch - ECHO Building mtx - CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% all - ECHO Installing mtx - CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% install - EXIT /B 0 -:mtx_error - ECHO Unable to download mtx source from %URL_MTX% - EXIT /B 1 - -:process_mt - CALL :get_source %URL_MT% %DIR_MT% %MKD_MT% - IF ERRORLEVEL 2 GOTO :mt_error - IF ERRORLEVEL 1 GOTO :mt_skip_patch - ECHO Patching mt - COPY /Y nul patch.log - CALL :do_patch mt.patch -:mt_skip_patch - ECHO Building mt - CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% all - ECHO Installing mt - CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% install - EXIT /B 0 -:mt_error - ECHO Unable to download mt source from %URL_MT% - EXIT /B 1 - -:process_sed - CALL :get_source %URL_SED% %DIR_SED% %MKD_SED% - IF ERRORLEVEL 2 GOTO :sed_error - IF ERRORLEVEL 1 GOTO :sed_skip_patch - ECHO Patching sed - COPY /Y nul patch.log - CALL :do_patch sed_msc.patch -:sed_skip_patch - ECHO Building sed - CALL :do_nmake Makefile.msc all - ECHO Installing sed - CALL :do_nmake Makefile.msc install - EXIT /B 0 -:sed_error - ECHO Unable to download sed source from %URL_MT% - EXIT /B 1 - -:process_cmd_utils - CALL :get_source %URL_CMD_UTILS% %DIR_CMD_UTILS% %MKD_CMD_UTILS% - IF ERRORLEVEL 2 GOTO :cmd_utils_error - IF ERRORLEVEL 1 GOTO :cmd_utils_skip_patch -REM ECHO Patching cmd-utils -REM COPY /Y nul patch.log -REM CALL :do_patch cmd_utils_msc.patch -:cmd_utils_skip_patch - ECHO Building cmd-utils - vcbuild /nologo cmd-utils.sln "Release|WIN32" 2>&1 | tee -a make.log | sed -nf "%DEPPKG_DIR%\src\parse_output.sed" - IF ERRORLEVEL 1 GOTO :cmd_utils_build_error - ECHO Installing cmd-utils - XCOPY Release\*.exe %DEPPKG_DIR%\bin - EXIT /B 0 -:cmd_utils_build_error - ECHO Make failed - Check %CD%\make.log > con - EXIT /B 1 -:cmd_utils_error - ECHO Unable to download cmd-utils source from %URL_MT% - EXIT /B 1 - -:process_mkisofs - CALL :get_source %URL_MKISOFS% %DIR_MKISOFS% %MKD_MKISOFS% - IF ERRORLEVEL 2 GOTO :mkisofs_error - ECHO Installing mkisofs - FOR %%i IN ( %URL_MKISOFS% ) DO XCOPY %DEPPKG_DIR%\src\%%~nxi %DEPPKG_DIR%\bin /Y /Q >nul 2>&1 - EXIT /B 0 -:mkisofs_error - ECHO Unable to download mkisofs source from %URL_MKISOFS% - EXIT /B 1 - -:process_dvd_rw_tools - CALL :get_source %URL_DVD_RW_TOOLS% %DIR_DVD_RW_TOOLS% %MKD_DVD_RW_TOOLS% - IF ERRORLEVEL 2 GOTO :dvd_rw_tools_error - IF ERRORLEVEL 1 GOTO :dvd_rw_tools_skip_patch - ECHO Patching dvd+rw-tools - COPY /Y nul patch.log - CALL :do_patch dvd+rw-tools.patch -:dvd_rw_tools_skip_patch - ECHO Building dvd+rw-tools - IF NOT EXIST Release\nul MKDIR Release - CALL :do_nmake Makefile.msc dvd+rw-tools - ECHO Installing dvd+rw-tools - CALL :do_nmake Makefile.msc prefix=%DEPPKG_DIR% install - EXIT /B 0 -:dvd_rw_tools_error - ECHO Unable to download dvd+rw-tools source from %URL_DVD_RW_TOOLS% - EXIT /B 1 - -:do_patch - SET PATCH_FILE=%SCRIPT_DIR%\patches\%1 - SHIFT - patch -f -p0 %2 %3 %4 %5 %6 %7 %8 %9 >>patch.log < %PATCH_FILE% - IF NOT ERRORLEVEL 1 EXIT/B 0 - ECHO Patch failed - Check %CD%\patch.log > con - EXIT /B 1 - -:do_nmake - nmake /nologo -f %* 2>&1 | tee -a make.log | sed -nf "%DEPPKG_DIR%\src\parse_output.sed" - IF NOT ERRORLEVEL 1 EXIT /B 0 - ECHO Make failed - Check %CD%\make.log > con - EXIT /B 1 - -#vss -#Need to download from Microsoft +@echo off +SETLOCAL + +SET PERL_PATH= +FOR /F "tokens=1" %%I in ( "perl.exe" ) DO SET PERL_PATH=%%~$PATH:I + +IF NOT "%PERL_PATH%"=="" GOTO :PERL_OK +ECHO Perl must be in your PATH. Please fix and rerun this script! +EXIT /B 1 + +:PERL_OK + +IF "%CLOBBER_SOURCE%"=="" SET CLOBBER_SOURCE=false + +FOR /F "eol=# delims=| tokens=1-4" %%I in ( External-msvc ) DO SET URL_%%I=%%J& SET DIR_%%I=%%K& SET MKD_%%I=%%L + +SET CWD=%CD% +FOR %%I IN ( %0 ) DO CD %%~dpI +SET SCRIPT_DIR=%CD% + +CD ..\..\.. +set TOP_DIR=%CD% + +IF NOT EXIST %TOP_DIR%\depkgs-msvc\nul MD %TOP_DIR%\depkgs-msvc + +cd %TOP_DIR%\depkgs-msvc +set DEPPKG_DIR=%CD% + +cd %DEPPKG_DIR% + +IF /I "%CLOBBER_SOURCE:~0,1%"=="y" SET CLOBBER_SOURCE=true +IF /I "%CLOBBER_SOURCE:~0,1%"=="t" SET CLOBBER_SOURCE=true +IF /I "%CLOBBER_SOURCE:~0,1%"=="1" SET CLOBBER_SOURCE=true + +SET PATH=%DEPPKG_DIR%\tools;%PATH% +SET INCLUDE=%INCLUDE%;%DEPPKG_DIR%\include +SET LIB=%LIB%;%DEPPKG_DIR%\lib + +IF NOT EXIST bin\nul MKDIR bin +IF NOT EXIST src\nul MKDIR src +IF NOT EXIST include\nul MKDIR include +IF NOT EXIST lib\nul MKDIR lib + +CD src + +COPY NUL parse_output.sed >nul 2>&1 +REM ECHO /\\$/N >>parse_output.sed +REM ECHO s/\\\n// >>parse_output.sed +ECHO s/\t\+/ /g >>parse_output.sed +ECHO s/ \+/ /g >>parse_output.sed +ECHO / [Ee]rror: /p >>parse_output.sed +REM ECHO s;.*Entering directory[ ]\+.%DEPPKG_DIR%/\([^^ ]\+\).;Entering \1;p >>parse_output.sed +REM ECHO s;.*Leaving directory[ ]\+.%DEPPKG_DIR%/\([^^ ]\+.\).;Leaving \1;p >>parse_output.sed +ECHO /[Cc][Ll] \^|[Ll][Ii][Nn][Kk] \^|[Ll][Ii][Bb] /!d >>parse_output.sed +ECHO s; \(\.\.\\\)\+; ;g >>parse_output.sed +ECHO s; \.\\; ;g >>parse_output.sed +ECHO s/.* \([^^ ]\+\(\.[Cc]\^|\.[Cc][Pp][Pp]\^|\.[Cc][Cc]\^|\.[Cc][Xx][Xx]\)\)\( .*\^|\)$/Compiling \1/p >>parse_output.sed +ECHO s/.* \([^^ ]\+\.[Aa][Ss][Mm]\)\( .*\^|\)$/Assembling \1/p >>parse_output.sed +ECHO s/.* \/[Oo][Uu][Tt]:\(\.\\\)*\(\.\.\\\)*\([^^ ]\+\)\( .*\^|\)$/Linking \3/p >>parse_output.sed +REM ECHO s/.*[Ll][Ii][Bb] [^^ ]\+ \([^^ ]\+\)\(\( [^^ ]\+\.o\)\+\)/Updating \1 -\2/p >>parse_output.sed + +IF NOT "%1"=="" GOTO :ProcessArgs + CALL :process_zlib +REM CALL :process_pcre + CALL :process_pthreads + CALL :process_openssl + CALL :process_mysql + CALL :process_sqlite + CALL :process_postgreSQL + CALL :process_wx +REM CALL :process_scons + CALL :process_nsis + CALL :process_mtx + CALL :process_mt + CALL :process_sed + CALL :process_cmd_utils + CALL :process_mkisofs + CALL :process_dvd_rw_tools + GOTO :EOF + +:ProcessArgs + IF "%1"=="" GOTO :EOF + + CALL :process_%1 + SHIFT + GOTO :ProcessArgs + +:get_source + SET URL=%1 + SET SRC_DIR=%2 + SET MAKE_SRC_ENABLE=%3 + SET BASENAME= + + IF NOT "%SRC_DIR%"=="" GOTO :get_source_make_src + FOR %%I IN ( %URL% ) DO (SET BASENAME=%%~nI& IF NOT "%%~xI"==".gz" IF NOT "%%~xI"==".bz2" SET SRC_DIR=%%~nI) + IF "%SRC_DIR%"=="" FOR %%I IN ( %BASENAME% ) DO SET SRC_DIR=%%~nI + +:get_source_make_src + SET MAKE_SRC_DIR= + IF /I "%MAKE_SRC_ENABLE:~0,1%"=="y" SET MAKE_SRC_DIR=true + IF /I "%MAKE_SRC_ENABLE:~0,1%"=="t" SET MAKE_SRC_DIR=true + IF /I "%MAKE_SRC_ENABLE:~0,1%"=="1" SET MAKE_SRC_DIR=true + + FOR %%I IN ( %URL% ) DO ( SET ARCHIVE=%%~nxI& SET ARCHIVE_EXT=%%~xI) + + CD %DEPPKG_DIR%\src + + IF EXIST %ARCHIVE% GOTO :get_source_check_srcdir + ECHO Downloading %URL% + wget -nv --passive-ftp "%URL%" + IF NOT ERRORLEVEL 1 GOTO :get_source_extract + ECHO Unable to download %ARCHIVE% + EXIT /B 2 + +:get_source_check_srcdir + IF /I "%ARCHIVE_EXT%"==".exe" EXIT /B 0 + IF NOT EXIST %SRC_DIR%\nul GOTO :get_source_extract + IF NOT "%CLOBBER_SOURCE%"=="true" GOTO :get_source_skipped + IF EXIST %SRC_DIR%\nul RD /s /q "%SRC_DIR%" +:get_source_extract + IF /I "%ARCHIVE_EXT%"==".exe" EXIT /B 0 + SET TAR_ARCHIVE= + FOR %%I IN ( "%ARCHIVE%" ) do IF "%%~xI"==".gz" SET TAR_ARCHIVE=%%~nI + FOR %%I IN ( "%ARCHIVE%" ) do IF "%%~xI"==".bz2" SET TAR_ARCHIVE=%%~nI + + SET TARGET_DIR=. + IF DEFINED MAKE_SRC_DIR IF NOT EXIST %SRC_DIR%\nul MKDIR %SRC_DIR% + IF DEFINED MAKE_SRC_DIR SET TARGET_DIR=%SRC_DIR% + + ECHO Extracting %ARCHIVE% + 7z x -bd -y -o"%TARGET_DIR%" "%ARCHIVE%" 2>&1 > "%ARCHIVE%.log" + IF ERRORLEVEL 1 EXIT /B 2 + IF NOT DEFINED TAR_ARCHIVE GOTO :get_source_done + ECHO Extracting %TAR_ARCHIVE% + 7z x -bd -y -o"%TARGET_DIR%" "%TARGET_DIR%\%TAR_ARCHIVE%" & del /q "%TAR_ARCHIVE%" 2>&1 >> "%ARCHIVE%.log" + +:get_source_done + CD "%SRC_DIR%" + EXIT /B 0 + +:get_source_skipped + CD %SRC_DIR% + EXIT /B 1 + +:process_zlib + CALL :get_source %URL_ZLIB% %DIR_ZLIB% %MKD_ZLIB% + ECHO Building zlib + COPY /Y nul make.log +REM XCOPY contrib\masmx86\gvmat32.asm . /Y +REM XCOPY contrib\masmx86\gvmat32c.c . /Y +REM XCOPY contrib\masmx86\inffas32.asm . /Y +REM CALL :do_nmake win32\Makefile.msc AS=nasmw ASFLAGS= LOC="-D_CRT_SECURE_NO_DEPRECATE -DASMV -DASMINF" OBJA="gvmat32c.obj gvmat32.obj inffas32.obj" all + CALL :do_nmake win32\Makefile.msc LOC="-D_CRT_SECURE_NO_DEPRECATE" all + ECHO Installing zlib + XCOPY zlib1.dll.manifest %DEPPKG_DIR%\bin\ /Y + XCOPY zlib1.dll %DEPPKG_DIR%\bin\ /Y + XCOPY zlib.lib %DEPPKG_DIR%\lib\ /Y + XCOPY zdll.lib %DEPPKG_DIR%\lib\ /Y + XCOPY zlib.h %DEPPKG_DIR%\include\ /Y + XCOPY zconf.h %DEPPKG_DIR%\include\ /Y + EXIT /B 0 + +:process_pcre + CALL :get_source %URL_PCRE% %DIR_PCRE% %MKD_PCRE% +REM ECHO Patching PCRE +REM COPY /Y nul patch.log +REM do_patch pcre.patch + ECHO Configuring PCRE + ./configure CC_FOR_BUILD=gcc CXX_FOR_BUILD=g++ --host=mingw32 --prefix=%DEPPKG_DIR% --enable-utf8 --enable-unicode-properties 2>&1 > make.log + ECHO Building PCRE + do_make Makefile PREFIX=%DEPPKG_DIR% all + ECHO Installing PCRE + do_make Makefile PREFIX=%DEPPKG_DIR% install + EXIT /B 0 + +:process_pthreads + CALL :get_source %URL_PTHREADS% %DIR_PTHREADS% %MKD_PTHREADS% + FOR %%I IN ( %URL_PTHREADS% ) DO (SET ARCHIVE=%%~nxI) + IF EXIST %SRC_DIR%\nul GOTO :install_pthreads + ECHO Extracting %ARCHIVE% + 7z x -bd -y -o"%DIR_PTHREADS%" "%ARCHIVE%" 2>&1 > "%ARCHIVE%.log" +:install_pthreads + CD %DIR_PTHREADS% + ECHO Installing pthreads + XCOPY Pre-built\include\*.h %DEPPKG_DIR%\include\ /Y + XCOPY Pre-built\lib\pthreadVCE.lib %DEPPKG_DIR%\lib\ /Y + XCOPY Pre-built\lib\pthreadVCE.dll %DEPPKG_DIR%\bin\ /Y + EXIT /B 0 + +:process_openssl + CALL :get_source %URL_OPENSSL% %DIR_OPENSSL% %MKD_OPENSSL% + IF ERRORLEVEL 2 GOTO :OpenSSLError + ECHO Configuring openssl + perl Configure VC-WIN32 --prefix=%DEPPKG_DIR:\=/% > make.log + ECHO Building openssl + CALL ms\do_nasm + @ECHO off + CALL :do_nmake ms\ntdll.mak + @ECHO off + ECHO Installing openssl + CALL :do_nmake ms\ntdll.mak install + EXIT /B 0 +:OpenSSLError + ECHO Unable to download OpenSSL source from %URL_OPENSSL% + EXIT /B 1 + +:process_mysql + CALL :get_source %URL_MYSQL% %DIR_MYSQL% %MKD_MYSQL% + ECHO Installing mysql + IF EXIST ..\..\include\mysql\nul RD /s /q ..\..\include\mysql + XCOPY include\* ..\..\include\mysql\ /e/h/k/y 2>&1 + XCOPY lib\opt\libmysql.lib ..\..\lib\ /y + XCOPY lib\opt\libmysql.dll ..\..\bin\ /y + EXIT /B 0 + +:process_postgreSQL + CALL :get_source %URL_POSTGRESQL% %DIR_POSTGRESQL% %MKD_POSTGRESQL% + IF ERRORLEVEL 2 GOTO :pstgreSQL_Error1 + CALL :get_source %URL_POSTGRESQL_SRC% %DIR_POSTGRESQL_SRC% %MKD_POSTGRESQL_SRC% + IF ERRORLEVEL 2 GOTO :pstgreSQL_Error2 +REM ECHO Patching postgreSQL +REM COPY /Y nul patch.log +REM do_patch postgresql.patch + ECHO Installing postgreSQL + XCOPY ..\pgsql\include\libpq-fe.h ..\..\include\ /Y 2>&1 + XCOPY ..\pgsql\include\postgres_ext.h ..\..\include\ /Y 2>&1 + LIB /def:src\interfaces\libpq\libpqdll.def /out:..\..\lib\libpqdll.lib /machine:x86 /subsystem:console + XCOPY ..\pgsql\lib\libpq.dll ..\..\bin\ /Y + XCOPY ..\pgsql\lib\comerr32.dll ..\..\bin\ /Y + XCOPY ..\pgsql\lib\krb5_32.dll ..\..\bin\ /Y + XCOPY ..\pgsql\lib\libintl-2.dll ..\..\bin\ /Y + XCOPY ..\pgsql\lib\libiconv-2.dll ..\..\bin\ /Y + EXIT /B 0 +:pstgreSQL_Error1 + ECHO Unable to download postgreSQL binaries from %URL_POSTGRESQL% + EXIT /B 1 +:pstgreSQL_Error2 + ECHO Unable to download postgreSQL source from %URL_POSTGRESQL_SRC% + EXIT /B 1 + +:process_sqlite + CALL :get_source %URL_SQLITE% %DIR_SQLITE% %MKD_SQLITE% + IF ERRORLEVEL 2 GOTO :sqlite_error + IF ERRORLEVEL 1 GOTO :sqlite_skip_patch + ECHO Patching SQLite + COPY /Y nul patch.log + CALL :do_patch sqlite_msc.patch +:sqlite_skip_patch + ECHO Configuring SQLite + IF NOT EXIST bld/nul MKDIR bld + CD bld + ECHO Building SQLite + COPY /Y nul make.log + CALL :do_nmake ../Makefile.msvc clean all + ECHO Installing SQLite + COPY sqlite3.exe %DEPPKG_DIR%\bin + COPY sqlite3.exe.manifest %DEPPKG_DIR%\bin + COPY sqlite3.lib %DEPPKG_DIR%\lib + COPY sqlite3.h %DEPPKG_DIR%\include + EXIT /B 0 +:sqlite_error + ECHO Unable to download sqlite source from %URL_SQLITE% + EXIT /B 1 + +:process_wx + CALL :get_source %URL_WX% %DIR_WX% %MKD_WX% + IF ERRORLEVEL 2 GOTO :wx_error +REM IF ERRORLEVEL 1 GOTO :wx_skip_patch +REM ECHO Patching wxWidgets +REM COPY /Y nul patch.log +REM do_patch wx1.patch -o build/msw/config.mingw32 +REM do_patch wx2.patch +REM find . -name makefile.gcc -exec sh -c "sed -f %SCRIPT_DIR%/patches/wx.sed {% > \`ECHO {% | sed s/\.gcc$/\.mingw32/\`" \; + ECHO Building wxWidgets + cd build\msw + COPY /Y nul make.log + CALL :do_nmake makefile.vc BUILD=release SHARED=1 VENDOR=bacula DEBUG_INFO=1 CPPFLAGS=-D_USE_32BIT_TIME_T + ECHO Installing wxWidgets + cd ..\.. + IF EXIST ..\..\include\wx\nul RD /s /q ..\..\include\wx + XCOPY include\wx ..\..\include\wx\ 2>&1 + XCOPY include\wx\generic ..\..\include\wx\generic\ /e 2>&1 + XCOPY include\wx\msw ..\..\include\wx\msw\ /e 2>&1 + XCOPY lib\vc_dll\*.dll ..\..\bin\ /y + IF EXIST ..\..\lib\wx_dll\nul RD /s /q ..\..\lib\wx_dll + XCOPY lib\vc_dll\*.lib ..\..\lib\wx_dll\ + XCOPY lib\vc_dll\msw ..\..\lib\wx_dll\msw\ /e 2>&1 + EXIT /B 0 +:wx_error + ECHO Unable to download wxWidgets source from %URL_MTX% + EXIT /B 1 + +:process_nsis + CALL :get_source %URL_NSIS_BIN% %DIR_NSIS_BIN% %MKD_NSIS_BIN% + CD .. + IF EXIST ..\nsis\nul RD /s /q ..\nsis + MOVE nsis-2.17 ..\nsis + EXIT /B 0 + +:process_mtx + CALL :get_source %URL_MTX% %DIR_MTX% %MKD_MTX% + IF ERRORLEVEL 2 GOTO :mtx_error + IF ERRORLEVEL 1 GOTO :mtx_skip_patch + ECHO Patching mtx + COPY /Y config.h.in config.h + COPY /Y Makefile.in Makefile + COPY /Y nul patch.log + CALL :do_patch mtx.patch + CALL :do_patch mtx-msvc1.patch + CALL :do_patch mtx-msvc2.patch +:mtx_skip_patch + ECHO Building mtx + CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% all + ECHO Installing mtx + CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% install + EXIT /B 0 +:mtx_error + ECHO Unable to download mtx source from %URL_MTX% + EXIT /B 1 + +:process_mt + CALL :get_source %URL_MT% %DIR_MT% %MKD_MT% + IF ERRORLEVEL 2 GOTO :mt_error + IF ERRORLEVEL 1 GOTO :mt_skip_patch + ECHO Patching mt + COPY /Y nul patch.log + CALL :do_patch mt.patch +:mt_skip_patch + ECHO Building mt + CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% all + ECHO Installing mt + CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% install + EXIT /B 0 +:mt_error + ECHO Unable to download mt source from %URL_MT% + EXIT /B 1 + +:process_sed + CALL :get_source %URL_SED% %DIR_SED% %MKD_SED% + IF ERRORLEVEL 2 GOTO :sed_error + IF ERRORLEVEL 1 GOTO :sed_skip_patch + ECHO Patching sed + COPY /Y nul patch.log + CALL :do_patch sed_msc.patch +:sed_skip_patch + ECHO Building sed + CALL :do_nmake Makefile.msc all + ECHO Installing sed + CALL :do_nmake Makefile.msc install + EXIT /B 0 +:sed_error + ECHO Unable to download sed source from %URL_MT% + EXIT /B 1 + +:process_cmd_utils + CALL :get_source %URL_CMD_UTILS% %DIR_CMD_UTILS% %MKD_CMD_UTILS% + IF ERRORLEVEL 2 GOTO :cmd_utils_error + IF ERRORLEVEL 1 GOTO :cmd_utils_skip_patch +REM ECHO Patching cmd-utils +REM COPY /Y nul patch.log +REM CALL :do_patch cmd_utils_msc.patch +:cmd_utils_skip_patch + ECHO Building cmd-utils + vcbuild /nologo cmd-utils.sln "Release|WIN32" 2>&1 | tee -a make.log | sed -nf "%DEPPKG_DIR%\src\parse_output.sed" + IF ERRORLEVEL 1 GOTO :cmd_utils_build_error + ECHO Installing cmd-utils + XCOPY Release\*.exe %DEPPKG_DIR%\bin + EXIT /B 0 +:cmd_utils_build_error + ECHO Make failed - Check %CD%\make.log > con + EXIT /B 1 +:cmd_utils_error + ECHO Unable to download cmd-utils source from %URL_MT% + EXIT /B 1 + +:process_mkisofs + CALL :get_source %URL_MKISOFS% %DIR_MKISOFS% %MKD_MKISOFS% + IF ERRORLEVEL 2 GOTO :mkisofs_error + ECHO Installing mkisofs + FOR %%i IN ( %URL_MKISOFS% ) DO XCOPY %DEPPKG_DIR%\src\%%~nxi %DEPPKG_DIR%\bin /Y /Q >nul 2>&1 + EXIT /B 0 +:mkisofs_error + ECHO Unable to download mkisofs source from %URL_MKISOFS% + EXIT /B 1 + +:process_dvd_rw_tools + CALL :get_source %URL_DVD_RW_TOOLS% %DIR_DVD_RW_TOOLS% %MKD_DVD_RW_TOOLS% + IF ERRORLEVEL 2 GOTO :dvd_rw_tools_error + IF ERRORLEVEL 1 GOTO :dvd_rw_tools_skip_patch + ECHO Patching dvd+rw-tools + COPY /Y nul patch.log + CALL :do_patch dvd+rw-tools.patch +:dvd_rw_tools_skip_patch + ECHO Building dvd+rw-tools + IF NOT EXIST Release\nul MKDIR Release + CALL :do_nmake Makefile.msc dvd+rw-tools + ECHO Installing dvd+rw-tools + CALL :do_nmake Makefile.msc prefix=%DEPPKG_DIR% install + EXIT /B 0 +:dvd_rw_tools_error + ECHO Unable to download dvd+rw-tools source from %URL_DVD_RW_TOOLS% + EXIT /B 1 + +:do_patch + SET PATCH_FILE=%SCRIPT_DIR%\patches\%1 + SHIFT + patch -f -p0 %2 %3 %4 %5 %6 %7 %8 %9 >>patch.log < %PATCH_FILE% + IF NOT ERRORLEVEL 1 EXIT/B 0 + ECHO Patch failed - Check %CD%\patch.log > con + EXIT /B 1 + +:do_nmake + nmake /nologo -f %* 2>&1 | tee -a make.log | sed -nf "%DEPPKG_DIR%\src\parse_output.sed" + IF NOT ERRORLEVEL 1 EXIT /B 0 + ECHO Make failed - Check %CD%\make.log > con + EXIT /B 1 + +#vss +#Need to download from Microsoft diff --git a/bacula/src/win32/build-msvc.cmd b/bacula/src/win32/build-msvc.cmd index 8265adb2d8..ae6434df13 100644 --- a/bacula/src/win32/build-msvc.cmd +++ b/bacula/src/win32/build-msvc.cmd @@ -1,7 +1,7 @@ -@echo off -setlocal -PATH ..\..\..\depkgs-msvc\tools;%PATH% -for /f %%i in ( 'sed -ne "s/.*[ \t]VERSION[ \t][ \t]*\x22\(.*\)\x22/\1/p" ^< ..\version.h' ) do @set VERSION=%%i -echo Building Bacula version %VERSION% -vcbuild bacula.sln %* -endlocal +@echo off +setlocal +PATH ..\..\..\depkgs-msvc\tools;%PATH% +for /f %%i in ( 'sed -ne "s/.*[ \t]VERSION[ \t][ \t]*\x22\(.*\)\x22/\1/p" ^< ..\version.h' ) do @set VERSION=%%i +echo Building Bacula version %VERSION% +vcbuild bacula.sln %* +endlocal diff --git a/bacula/src/win32/cats/bacula_cats.def b/bacula/src/win32/cats/bacula_cats.def index a967f64289..7cf4871f24 100644 --- a/bacula/src/win32/cats/bacula_cats.def +++ b/bacula/src/win32/cats/bacula_cats.def @@ -1,128 +1,128 @@ -LIBRARY bacula_cats.dll -EXPORTS - -; bdb.c: -; mysql.c: -; postgresql.c: -; sqlite.c: -_Z11db_get_typev -_Z12db_sql_queryP4B_DBPKcPFiPviPPcES3_ -_Z16db_escape_stringPcS_i -_Z16db_init_databaseP3JCRPKcS2_S2_S2_iS2_i -_Z16db_open_databaseP3JCRP4B_DB -_Z17db_close_databaseP3JCRP4B_DB - -; sql.c: -_Z10_db_unlockPKciP4B_DB -_Z11db_strerrorP4B_DB -_Z16db_int64_handlerPviPPc -_Z18db_end_transactionP3JCRP4B_DB -_Z20db_start_transactionP3JCRP4B_DB -_Z8_db_lockPKciP4B_DB - -; bdb_create.c: -; sql_create.c: -_Z20db_create_job_recordP3JCRP4B_DBP7JOB_DBR -_Z21db_create_pool_recordP3JCRP4B_DBP8POOL_DBR -_Z22db_create_media_recordP3JCRP4B_DBP9MEDIA_DBR -_Z23db_create_client_recordP3JCRP4B_DBP10CLIENT_DBR -_Z24db_create_counter_recordP3JCRP4B_DBP11COUNTER_DBR -_Z24db_create_fileset_recordP3JCRP4B_DBP11FILESET_DBR -_Z24db_create_storage_recordP3JCRP4B_DBP11STORAGE_DBR -_Z25db_create_jobmedia_recordP3JCRP4B_DBP12JOBMEDIA_DBR -_Z26db_create_mediatype_recordP3JCRP4B_DBP13MEDIATYPE_DBR -_Z32db_create_file_attributes_recordP3JCRP4B_DBP8ATTR_DBR - -; bdb_delete.c: -; sql_delete.c: -_Z21db_delete_pool_recordP3JCRP4B_DBP8POOL_DBR -_Z22db_delete_media_recordP3JCRP4B_DBP9MEDIA_DBR - -; bdb_find.c: -; sql_find.c: -_Z18db_find_last_jobidP3JCRP4B_DBPKcP7JOB_DBR -_Z19db_find_next_volumeP3JCRP4B_DBibP9MEDIA_DBR -_Z22db_find_job_start_timeP3JCRP4B_DBP7JOB_DBRPPc -_Z24db_find_failed_job_sinceP3JCRP4B_DBP7JOB_DBRPcRi - -; bdb_get.c: -; sql_get.c: -_Z15db_get_pool_idsP3JCRP4B_DBPiPPj -_Z16db_get_media_idsP3JCRP4B_DBjPiPPj -_Z17db_get_client_idsP3JCRP4B_DBPiPPj -_Z17db_get_job_recordP3JCRP4B_DBP7JOB_DBR -_Z18db_get_pool_recordP3JCRP4B_DBP8POOL_DBR -_Z19db_get_media_recordP3JCRP4B_DBP9MEDIA_DBR -_Z20db_get_client_recordP3JCRP4B_DBP10CLIENT_DBR -_Z21db_get_fileset_recordP3JCRP4B_DBP11FILESET_DBR -_Z23db_get_job_volume_namesP3JCRP4B_DBjPPc -_Z28db_get_job_volume_parametersP3JCRP4B_DBjPP10VOL_PARAMS -_Z29db_get_file_attributes_recordP3JCRP4B_DBPcP7JOB_DBRP8FILE_DBR - -; bdb_list.c: -; sql_list.c: -_Z17db_list_sql_queryP3JCRP4B_DBPKcPFvPvS4_ES5_i11e_list_type -_Z18db_list_job_totalsP3JCRP4B_DBP7JOB_DBRPFvPvPKcES5_ -_Z19db_list_job_recordsP3JCRP4B_DBP7JOB_DBRPFvPvPKcES5_11e_list_type -_Z20db_list_pool_recordsP3JCRP4B_DBP8POOL_DBRPFvPvPKcES5_11e_list_type -_Z21db_list_files_for_jobP3JCRP4B_DBjPFvPvPKcES3_ -_Z21db_list_media_recordsP3JCRP4B_DBP9MEDIA_DBRPFvPvPKcES5_11e_list_type -_Z22db_list_client_recordsP3JCRP4B_DBPFvPvPKcES3_11e_list_type -_Z24db_list_jobmedia_recordsP3JCRP4B_DBjPFvPvPKcES3_11e_list_type - -; bdb_update.c: -; sql_update.c: -_Z19db_mark_file_recordP3JCRP4B_DBjj -_Z21db_update_pool_recordP3JCRP4B_DBP8POOL_DBR -_Z22db_update_media_recordP3JCRP4B_DBP9MEDIA_DBR -_Z23db_update_client_recordP3JCRP4B_DBP10CLIENT_DBR -_Z24db_make_inchanger_uniqueP3JCRP4B_DBP9MEDIA_DBR -_Z24db_update_counter_recordP3JCRP4B_DBP11COUNTER_DBR -_Z24db_update_job_end_recordP3JCRP4B_DBP7JOB_DBR -_Z24db_update_media_defaultsP3JCRP4B_DBP9MEDIA_DBR -_Z24db_update_storage_recordP3JCRP4B_DBP11STORAGE_DBR -_Z26db_update_job_start_recordP3JCRP4B_DBP7JOB_DBR -_Z28db_add_digest_to_file_recordP3JCRP4B_DBjPci - -client_backups DATA -list_pool DATA -drop_deltabs DATA -create_deltabs DATA -insert_delcand DATA -select_backup_del DATA -select_verify_del DATA -select_restore_del DATA -select_admin_del DATA -select_migrate_del DATA -select_job DATA -del_File DATA -cnt_DelCand DATA -del_Job DATA -del_JobMedia DATA -cnt_JobMedia DATA -sel_JobMedia DATA -upd_Purged DATA - -uar_list_jobs DATA -uar_file DATA -uar_count_files DATA -uar_sel_files DATA -uar_del_temp DATA -uar_del_temp1 DATA -uar_create_temp DATA -uar_create_temp1 DATA -uar_last_full DATA -uar_full DATA -uar_inc DATA -uar_list_temp DATA -uar_sel_all_temp1 DATA -uar_sel_fileset DATA -uar_mediatype DATA -uar_jobid_fileindex DATA -uar_dif DATA -uar_sel_all_temp DATA -uar_count_files DATA -uar_jobids_fileindex DATA -uar_jobid_fileindex_from_dir DATA -uar_jobid_fileindex_from_table DATA -uar_sel_jobid_temp DATA +LIBRARY bacula_cats.dll +EXPORTS + +; bdb.c: +; mysql.c: +; postgresql.c: +; sqlite.c: +_Z11db_get_typev +_Z12db_sql_queryP4B_DBPKcPFiPviPPcES3_ +_Z16db_escape_stringPcS_i +_Z16db_init_databaseP3JCRPKcS2_S2_S2_iS2_i +_Z16db_open_databaseP3JCRP4B_DB +_Z17db_close_databaseP3JCRP4B_DB + +; sql.c: +_Z10_db_unlockPKciP4B_DB +_Z11db_strerrorP4B_DB +_Z16db_int64_handlerPviPPc +_Z18db_end_transactionP3JCRP4B_DB +_Z20db_start_transactionP3JCRP4B_DB +_Z8_db_lockPKciP4B_DB + +; bdb_create.c: +; sql_create.c: +_Z20db_create_job_recordP3JCRP4B_DBP7JOB_DBR +_Z21db_create_pool_recordP3JCRP4B_DBP8POOL_DBR +_Z22db_create_media_recordP3JCRP4B_DBP9MEDIA_DBR +_Z23db_create_client_recordP3JCRP4B_DBP10CLIENT_DBR +_Z24db_create_counter_recordP3JCRP4B_DBP11COUNTER_DBR +_Z24db_create_fileset_recordP3JCRP4B_DBP11FILESET_DBR +_Z24db_create_storage_recordP3JCRP4B_DBP11STORAGE_DBR +_Z25db_create_jobmedia_recordP3JCRP4B_DBP12JOBMEDIA_DBR +_Z26db_create_mediatype_recordP3JCRP4B_DBP13MEDIATYPE_DBR +_Z32db_create_file_attributes_recordP3JCRP4B_DBP8ATTR_DBR + +; bdb_delete.c: +; sql_delete.c: +_Z21db_delete_pool_recordP3JCRP4B_DBP8POOL_DBR +_Z22db_delete_media_recordP3JCRP4B_DBP9MEDIA_DBR + +; bdb_find.c: +; sql_find.c: +_Z18db_find_last_jobidP3JCRP4B_DBPKcP7JOB_DBR +_Z19db_find_next_volumeP3JCRP4B_DBibP9MEDIA_DBR +_Z22db_find_job_start_timeP3JCRP4B_DBP7JOB_DBRPPc +_Z24db_find_failed_job_sinceP3JCRP4B_DBP7JOB_DBRPcRi + +; bdb_get.c: +; sql_get.c: +_Z15db_get_pool_idsP3JCRP4B_DBPiPPj +_Z16db_get_media_idsP3JCRP4B_DBjPiPPj +_Z17db_get_client_idsP3JCRP4B_DBPiPPj +_Z17db_get_job_recordP3JCRP4B_DBP7JOB_DBR +_Z18db_get_pool_recordP3JCRP4B_DBP8POOL_DBR +_Z19db_get_media_recordP3JCRP4B_DBP9MEDIA_DBR +_Z20db_get_client_recordP3JCRP4B_DBP10CLIENT_DBR +_Z21db_get_fileset_recordP3JCRP4B_DBP11FILESET_DBR +_Z23db_get_job_volume_namesP3JCRP4B_DBjPPc +_Z28db_get_job_volume_parametersP3JCRP4B_DBjPP10VOL_PARAMS +_Z29db_get_file_attributes_recordP3JCRP4B_DBPcP7JOB_DBRP8FILE_DBR + +; bdb_list.c: +; sql_list.c: +_Z17db_list_sql_queryP3JCRP4B_DBPKcPFvPvS4_ES5_i11e_list_type +_Z18db_list_job_totalsP3JCRP4B_DBP7JOB_DBRPFvPvPKcES5_ +_Z19db_list_job_recordsP3JCRP4B_DBP7JOB_DBRPFvPvPKcES5_11e_list_type +_Z20db_list_pool_recordsP3JCRP4B_DBP8POOL_DBRPFvPvPKcES5_11e_list_type +_Z21db_list_files_for_jobP3JCRP4B_DBjPFvPvPKcES3_ +_Z21db_list_media_recordsP3JCRP4B_DBP9MEDIA_DBRPFvPvPKcES5_11e_list_type +_Z22db_list_client_recordsP3JCRP4B_DBPFvPvPKcES3_11e_list_type +_Z24db_list_jobmedia_recordsP3JCRP4B_DBjPFvPvPKcES3_11e_list_type + +; bdb_update.c: +; sql_update.c: +_Z19db_mark_file_recordP3JCRP4B_DBjj +_Z21db_update_pool_recordP3JCRP4B_DBP8POOL_DBR +_Z22db_update_media_recordP3JCRP4B_DBP9MEDIA_DBR +_Z23db_update_client_recordP3JCRP4B_DBP10CLIENT_DBR +_Z24db_make_inchanger_uniqueP3JCRP4B_DBP9MEDIA_DBR +_Z24db_update_counter_recordP3JCRP4B_DBP11COUNTER_DBR +_Z24db_update_job_end_recordP3JCRP4B_DBP7JOB_DBR +_Z24db_update_media_defaultsP3JCRP4B_DBP9MEDIA_DBR +_Z24db_update_storage_recordP3JCRP4B_DBP11STORAGE_DBR +_Z26db_update_job_start_recordP3JCRP4B_DBP7JOB_DBR +_Z28db_add_digest_to_file_recordP3JCRP4B_DBjPci + +client_backups DATA +list_pool DATA +drop_deltabs DATA +create_deltabs DATA +insert_delcand DATA +select_backup_del DATA +select_verify_del DATA +select_restore_del DATA +select_admin_del DATA +select_migrate_del DATA +select_job DATA +del_File DATA +cnt_DelCand DATA +del_Job DATA +del_JobMedia DATA +cnt_JobMedia DATA +sel_JobMedia DATA +upd_Purged DATA + +uar_list_jobs DATA +uar_file DATA +uar_count_files DATA +uar_sel_files DATA +uar_del_temp DATA +uar_del_temp1 DATA +uar_create_temp DATA +uar_create_temp1 DATA +uar_last_full DATA +uar_full DATA +uar_inc DATA +uar_list_temp DATA +uar_sel_all_temp1 DATA +uar_sel_fileset DATA +uar_mediatype DATA +uar_jobid_fileindex DATA +uar_dif DATA +uar_sel_all_temp DATA +uar_count_files DATA +uar_jobids_fileindex DATA +uar_jobid_fileindex_from_dir DATA +uar_jobid_fileindex_from_table DATA +uar_sel_jobid_temp DATA diff --git a/bacula/src/win32/cats/bacula_cats/bacula_cats.def b/bacula/src/win32/cats/bacula_cats/bacula_cats.def index 7eb0f9ce42..c036655970 100644 --- a/bacula/src/win32/cats/bacula_cats/bacula_cats.def +++ b/bacula/src/win32/cats/bacula_cats/bacula_cats.def @@ -1,127 +1,127 @@ -LIBRARY bacula_cats.dll -EXPORTS - -; bdb.c: -; mysql.c: -; postgresql.c: -; sqlite.c: -?db_get_type@@YAPBDXZ -?db_sql_query@@YAHPAUB_DB@@PBDP6AHPAXHPAPAD@Z2@Z -?db_escape_string@@YAXPAD0H@Z -?db_init_database@@YAPAUB_DB@@PAVJCR@@PBD111H1H@Z -?db_open_database@@YAHPAVJCR@@PAUB_DB@@@Z -?db_close_database@@YAXPAVJCR@@PAUB_DB@@@Z - -; sql.c: -?_db_unlock@@YAXPBDHPAUB_DB@@@Z -?db_strerror@@YAPADPAUB_DB@@@Z -?db_int64_handler@@YAHPAXHPAPAD@Z -?db_end_transaction@@YAXPAVJCR@@PAUB_DB@@@Z -?db_start_transaction@@YAXPAVJCR@@PAUB_DB@@@Z -?_db_lock@@YAXPBDHPAUB_DB@@@Z - -; sql_cmds.c -?list_pool@@3PBDB DATA -?client_backups@@3PBDB DATA -?del_File@@3PBDB DATA -?upd_Purged@@3PBDB DATA -?cnt_DelCand@@3PBDB DATA -?del_Job@@3PBDB DATA -?del_JobMedia@@3PBDB DATA -?cnt_JobMedia@@3PBDB DATA -?sel_JobMedia@@3PBDB DATA -?select_job@@3PBDB DATA -?drop_deltabs@@3PAPBDA DATA -?create_deltabs@@3PAPBDA DATA -?insert_delcand@@3PBDB DATA -?select_backup_del@@3PBDB DATA -?select_verify_del@@3PBDB DATA -?select_restore_del@@3PBDB DATA -?select_admin_del@@3PBDB DATA -?select_migrate_del@@3PBDB DATA -?uar_count_files@@3PBDB DATA -?uar_list_jobs@@3PBDB DATA -?uar_file@@3PBDB DATA -?uar_sel_files@@3PBDB DATA -?uar_del_temp@@3PBDB DATA -?uar_del_temp1@@3PBDB DATA -?uar_create_temp@@3PBDB DATA -?uar_create_temp1@@3PBDB DATA -?uar_last_full@@3PBDB DATA -?uar_full@@3PBDB DATA -?uar_dif@@3PBDB DATA -?uar_inc@@3PBDB DATA -?uar_list_temp@@3PBDB DATA -?uar_sel_jobid_temp@@3PBDB DATA -?uar_sel_all_temp1@@3PBDB DATA -?uar_sel_all_temp@@3PBDB DATA -?uar_sel_fileset@@3PBDB DATA -?uar_mediatype@@3PBDB DATA -?uar_jobid_fileindex@@3PBDB DATA -?uar_jobids_fileindex@@3PBDB DATA -?uar_jobid_fileindex_from_dir@@3PBDB DATA -?uar_jobid_fileindex_from_table@@3PBDB DATA - -; bdb_create.c: -; sql_create.c: -?db_create_job_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z -?db_create_jobmedia_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOBMEDIA_DBR@@@Z -?db_create_pool_record@@YA_NPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z -?db_create_storage_record@@YA_NPAVJCR@@PAUB_DB@@PAVSTORAGE_DBR@@@Z -?db_create_mediatype_record@@YA_NPAVJCR@@PAUB_DB@@PAVMEDIATYPE_DBR@@@Z -?db_create_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z -?db_create_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z -?db_create_counter_record@@YAHPAVJCR@@PAUB_DB@@PAUCOUNTER_DBR@@@Z -?db_create_fileset_record@@YA_NPAVJCR@@PAUB_DB@@PAUFILESET_DBR@@@Z -?db_create_file_attributes_record@@YAHPAVJCR@@PAUB_DB@@PAUATTR_DBR@@@Z - -; bdb_delete.c: -; sql_delete.c: -?db_delete_pool_record@@YAHPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z -?db_delete_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z - -; bdb_find.c: -; sql_find.c: -?db_find_job_start_time@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@PAPAD@Z -?db_find_failed_job_since@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@PADAAH@Z -?db_find_last_jobid@@YA_NPAVJCR@@PAUB_DB@@PBDPAUJOB_DBR@@@Z -?db_find_next_volume@@YAHPAVJCR@@PAUB_DB@@H_NPAUMEDIA_DBR@@@Z - -; bdb_get.c: -; sql_get.c: -?db_get_file_attributes_record@@YAHPAVJCR@@PAUB_DB@@PADPAUJOB_DBR@@PAUFILE_DBR@@@Z -?db_get_job_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z -?db_get_job_volume_names@@YAHPAVJCR@@PAUB_DB@@IPAPAD@Z -?db_get_job_volume_parameters@@YAHPAVJCR@@PAUB_DB@@IPAPAUVOL_PARAMS@@@Z -?db_get_pool_ids@@YAHPAVJCR@@PAUB_DB@@PAHPAPAI@Z -?db_get_client_ids@@YAHPAVJCR@@PAUB_DB@@PAHPAPAI@Z -?db_get_pool_record@@YA_NPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z -?db_get_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z -?db_get_fileset_record@@YAHPAVJCR@@PAUB_DB@@PAUFILESET_DBR@@@Z -?db_get_media_ids@@YA_NPAVJCR@@PAUB_DB@@IPAHPAPAI@Z -?db_get_media_record@@YA_NPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z - -; bdb_list.c: -; sql_list.c: -?db_list_sql_query@@YAHPAVJCR@@PAUB_DB@@PBDP6AXPAX2@Z3HW4e_list_type@@@Z -?db_list_pool_records@@YAXPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z -?db_list_client_records@@YAXPAVJCR@@PAUB_DB@@P6AXPAXPBD@Z2W4e_list_type@@@Z -?db_list_media_records@@YAXPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z -?db_list_jobmedia_records@@YAXPAVJCR@@PAUB_DB@@IP6AXPAXPBD@Z2W4e_list_type@@@Z -?db_list_job_records@@YAXPAVJCR@@PAUB_DB@@PAUJOB_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z -?db_list_job_totals@@YAXPAVJCR@@PAUB_DB@@PAUJOB_DBR@@P6AXPAXPBD@Z3@Z -?db_list_files_for_job@@YAXPAVJCR@@PAUB_DB@@IP6AXPAXPBD@Z2@Z - -; bdb_update.c: -; sql_update.c: -?db_add_digest_to_file_record@@YAHPAVJCR@@PAUB_DB@@IPADH@Z -?db_mark_file_record@@YAHPAVJCR@@PAUB_DB@@II@Z -?db_update_job_start_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z -?db_update_job_end_record@@YAHPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z -?db_update_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z -?db_update_counter_record@@YAHPAVJCR@@PAUB_DB@@PAUCOUNTER_DBR@@@Z -?db_update_pool_record@@YAHPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z -?db_update_storage_record@@YA_NPAVJCR@@PAUB_DB@@PAVSTORAGE_DBR@@@Z -?db_update_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z -?db_update_media_defaults@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z -?db_make_inchanger_unique@@YAXPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z +LIBRARY bacula_cats.dll +EXPORTS + +; bdb.c: +; mysql.c: +; postgresql.c: +; sqlite.c: +?db_get_type@@YAPBDXZ +?db_sql_query@@YAHPAUB_DB@@PBDP6AHPAXHPAPAD@Z2@Z +?db_escape_string@@YAXPAD0H@Z +?db_init_database@@YAPAUB_DB@@PAVJCR@@PBD111H1H@Z +?db_open_database@@YAHPAVJCR@@PAUB_DB@@@Z +?db_close_database@@YAXPAVJCR@@PAUB_DB@@@Z + +; sql.c: +?_db_unlock@@YAXPBDHPAUB_DB@@@Z +?db_strerror@@YAPADPAUB_DB@@@Z +?db_int64_handler@@YAHPAXHPAPAD@Z +?db_end_transaction@@YAXPAVJCR@@PAUB_DB@@@Z +?db_start_transaction@@YAXPAVJCR@@PAUB_DB@@@Z +?_db_lock@@YAXPBDHPAUB_DB@@@Z + +; sql_cmds.c +?list_pool@@3PBDB DATA +?client_backups@@3PBDB DATA +?del_File@@3PBDB DATA +?upd_Purged@@3PBDB DATA +?cnt_DelCand@@3PBDB DATA +?del_Job@@3PBDB DATA +?del_JobMedia@@3PBDB DATA +?cnt_JobMedia@@3PBDB DATA +?sel_JobMedia@@3PBDB DATA +?select_job@@3PBDB DATA +?drop_deltabs@@3PAPBDA DATA +?create_deltabs@@3PAPBDA DATA +?insert_delcand@@3PBDB DATA +?select_backup_del@@3PBDB DATA +?select_verify_del@@3PBDB DATA +?select_restore_del@@3PBDB DATA +?select_admin_del@@3PBDB DATA +?select_migrate_del@@3PBDB DATA +?uar_count_files@@3PBDB DATA +?uar_list_jobs@@3PBDB DATA +?uar_file@@3PBDB DATA +?uar_sel_files@@3PBDB DATA +?uar_del_temp@@3PBDB DATA +?uar_del_temp1@@3PBDB DATA +?uar_create_temp@@3PBDB DATA +?uar_create_temp1@@3PBDB DATA +?uar_last_full@@3PBDB DATA +?uar_full@@3PBDB DATA +?uar_dif@@3PBDB DATA +?uar_inc@@3PBDB DATA +?uar_list_temp@@3PBDB DATA +?uar_sel_jobid_temp@@3PBDB DATA +?uar_sel_all_temp1@@3PBDB DATA +?uar_sel_all_temp@@3PBDB DATA +?uar_sel_fileset@@3PBDB DATA +?uar_mediatype@@3PBDB DATA +?uar_jobid_fileindex@@3PBDB DATA +?uar_jobids_fileindex@@3PBDB DATA +?uar_jobid_fileindex_from_dir@@3PBDB DATA +?uar_jobid_fileindex_from_table@@3PBDB DATA + +; bdb_create.c: +; sql_create.c: +?db_create_job_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z +?db_create_jobmedia_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOBMEDIA_DBR@@@Z +?db_create_pool_record@@YA_NPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z +?db_create_storage_record@@YA_NPAVJCR@@PAUB_DB@@PAVSTORAGE_DBR@@@Z +?db_create_mediatype_record@@YA_NPAVJCR@@PAUB_DB@@PAVMEDIATYPE_DBR@@@Z +?db_create_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z +?db_create_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z +?db_create_counter_record@@YAHPAVJCR@@PAUB_DB@@PAUCOUNTER_DBR@@@Z +?db_create_fileset_record@@YA_NPAVJCR@@PAUB_DB@@PAUFILESET_DBR@@@Z +?db_create_file_attributes_record@@YAHPAVJCR@@PAUB_DB@@PAUATTR_DBR@@@Z + +; bdb_delete.c: +; sql_delete.c: +?db_delete_pool_record@@YAHPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z +?db_delete_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z + +; bdb_find.c: +; sql_find.c: +?db_find_job_start_time@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@PAPAD@Z +?db_find_failed_job_since@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@PADAAH@Z +?db_find_last_jobid@@YA_NPAVJCR@@PAUB_DB@@PBDPAUJOB_DBR@@@Z +?db_find_next_volume@@YAHPAVJCR@@PAUB_DB@@H_NPAUMEDIA_DBR@@@Z + +; bdb_get.c: +; sql_get.c: +?db_get_file_attributes_record@@YAHPAVJCR@@PAUB_DB@@PADPAUJOB_DBR@@PAUFILE_DBR@@@Z +?db_get_job_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z +?db_get_job_volume_names@@YAHPAVJCR@@PAUB_DB@@IPAPAD@Z +?db_get_job_volume_parameters@@YAHPAVJCR@@PAUB_DB@@IPAPAUVOL_PARAMS@@@Z +?db_get_pool_ids@@YAHPAVJCR@@PAUB_DB@@PAHPAPAI@Z +?db_get_client_ids@@YAHPAVJCR@@PAUB_DB@@PAHPAPAI@Z +?db_get_pool_record@@YA_NPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z +?db_get_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z +?db_get_fileset_record@@YAHPAVJCR@@PAUB_DB@@PAUFILESET_DBR@@@Z +?db_get_media_ids@@YA_NPAVJCR@@PAUB_DB@@IPAHPAPAI@Z +?db_get_media_record@@YA_NPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z + +; bdb_list.c: +; sql_list.c: +?db_list_sql_query@@YAHPAVJCR@@PAUB_DB@@PBDP6AXPAX2@Z3HW4e_list_type@@@Z +?db_list_pool_records@@YAXPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z +?db_list_client_records@@YAXPAVJCR@@PAUB_DB@@P6AXPAXPBD@Z2W4e_list_type@@@Z +?db_list_media_records@@YAXPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z +?db_list_jobmedia_records@@YAXPAVJCR@@PAUB_DB@@IP6AXPAXPBD@Z2W4e_list_type@@@Z +?db_list_job_records@@YAXPAVJCR@@PAUB_DB@@PAUJOB_DBR@@P6AXPAXPBD@Z3W4e_list_type@@@Z +?db_list_job_totals@@YAXPAVJCR@@PAUB_DB@@PAUJOB_DBR@@P6AXPAXPBD@Z3@Z +?db_list_files_for_job@@YAXPAVJCR@@PAUB_DB@@IP6AXPAXPBD@Z2@Z + +; bdb_update.c: +; sql_update.c: +?db_add_digest_to_file_record@@YAHPAVJCR@@PAUB_DB@@IPADH@Z +?db_mark_file_record@@YAHPAVJCR@@PAUB_DB@@II@Z +?db_update_job_start_record@@YA_NPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z +?db_update_job_end_record@@YAHPAVJCR@@PAUB_DB@@PAUJOB_DBR@@@Z +?db_update_client_record@@YAHPAVJCR@@PAUB_DB@@PAUCLIENT_DBR@@@Z +?db_update_counter_record@@YAHPAVJCR@@PAUB_DB@@PAUCOUNTER_DBR@@@Z +?db_update_pool_record@@YAHPAVJCR@@PAUB_DB@@PAUPOOL_DBR@@@Z +?db_update_storage_record@@YA_NPAVJCR@@PAUB_DB@@PAVSTORAGE_DBR@@@Z +?db_update_media_record@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z +?db_update_media_defaults@@YAHPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z +?db_make_inchanger_unique@@YAXPAVJCR@@PAUB_DB@@PAUMEDIA_DBR@@@Z diff --git a/bacula/src/win32/cats/bacula_cats/bacula_cats.vcproj b/bacula/src/win32/cats/bacula_cats/bacula_cats.vcproj index 4dd74d8072..294b2fc0cc 100644 --- a/bacula/src/win32/cats/bacula_cats/bacula_cats.vcproj +++ b/bacula/src/win32/cats/bacula_cats/bacula_cats.vcproj @@ -1,94 +1,94 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/cats/cats_mysql/cats_mysql.vcproj b/bacula/src/win32/cats/cats_mysql/cats_mysql.vcproj index 2106901ad9..c863fa5764 100644 --- a/bacula/src/win32/cats/cats_mysql/cats_mysql.vcproj +++ b/bacula/src/win32/cats/cats_mysql/cats_mysql.vcproj @@ -1,428 +1,428 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/cats/create_sqlite3_database.cmd b/bacula/src/win32/cats/create_sqlite3_database.cmd index c951597aac..a2f24d264f 100644 --- a/bacula/src/win32/cats/create_sqlite3_database.cmd +++ b/bacula/src/win32/cats/create_sqlite3_database.cmd @@ -1,6 +1,6 @@ -@ECHO off -REM -REM Script to create Bacula SQLite tables - -ECHO .databases | "@bin_dir_cmd@\sqlite3" %* "@working_dir_cmd@\bacula.db" -EXIT /b 0 +@ECHO off +REM +REM Script to create Bacula SQLite tables + +ECHO .databases | "@bin_dir_cmd@\sqlite3" %* "@working_dir_cmd@\bacula.db" +EXIT /b 0 diff --git a/bacula/src/win32/cats/drop_sqlite3_database.cmd b/bacula/src/win32/cats/drop_sqlite3_database.cmd index 29719243ed..654ca6f0eb 100644 --- a/bacula/src/win32/cats/drop_sqlite3_database.cmd +++ b/bacula/src/win32/cats/drop_sqlite3_database.cmd @@ -1,7 +1,7 @@ -@ECHO off -REM -REM Script to drop Bacula SQLite tables - -DEL "@working_dir_cmd@\bacula.db" -ECHO SQLite database dropped. -EXIT /b 0 +@ECHO off +REM +REM Script to drop Bacula SQLite tables + +DEL "@working_dir_cmd@\bacula.db" +ECHO SQLite database dropped. +EXIT /b 0 diff --git a/bacula/src/win32/cats/drop_sqlite3_tables.cmd b/bacula/src/win32/cats/drop_sqlite3_tables.cmd index 3a58647e76..ac5975fc5e 100644 --- a/bacula/src/win32/cats/drop_sqlite3_tables.cmd +++ b/bacula/src/win32/cats/drop_sqlite3_tables.cmd @@ -1,8 +1,8 @@ -@ECHO off -REM -REM Script to delete the SQLite Bacula database (same as deleting -REM the tables) -REM - -DEL "@working_dir_cmd@\bacula.db" -EXIT /b 0 +@ECHO off +REM +REM Script to delete the SQLite Bacula database (same as deleting +REM the tables) +REM + +DEL "@working_dir_cmd@\bacula.db" +EXIT /b 0 diff --git a/bacula/src/win32/cats/grant_sqlite3_privileges.cmd b/bacula/src/win32/cats/grant_sqlite3_privileges.cmd index 1aa0ff2215..a824a34c30 100644 --- a/bacula/src/win32/cats/grant_sqlite3_privileges.cmd +++ b/bacula/src/win32/cats/grant_sqlite3_privileges.cmd @@ -1,7 +1,7 @@ -@ECHO off -REM -REM Script to grant privileges to the bacula database -REM - -REM nothing to do here -EXIT /b 0 +@ECHO off +REM +REM Script to grant privileges to the bacula database +REM + +REM nothing to do here +EXIT /b 0 diff --git a/bacula/src/win32/cats/make_mysql_catalog_backup.cmd b/bacula/src/win32/cats/make_mysql_catalog_backup.cmd index 2d29289b28..4de853e95d 100644 --- a/bacula/src/win32/cats/make_mysql_catalog_backup.cmd +++ b/bacula/src/win32/cats/make_mysql_catalog_backup.cmd @@ -1,41 +1,41 @@ -@ECHO off -REM -REM This script dumps your Bacula catalog in ASCII format -REM It works for MySQL, SQLite, and PostgreSQL -REM -REM %1 is the name of the database to be backed up and the name -REM of the output file (default = bacula -REM %2 is the user name with which to access the database -REM (default = bacula). -REM %3 is the password with which to access the database or "" if no password -REM (default "") -REM -REM -@ECHO on - -DEL /f "@working_dir_cmd@\%1.sql" 2>nul - -set MYSQLPASSWORD= - -IF NOT "%3"=="" SET MYSQLPASSWORD=--password=%3 -"@SQL_BINDIR@\mysqldump" -u %2 %MYSQLPASSWORD% -f --opt %1 > "@working_dir_cmd@\%1.sql" - -@ECHO off -REM -REM To read back a MySQL database use: -REM cd @working_dir_cmd@ -REM rd /s /q @SQL_BINDIR@\..\data\bacula -REM mysql < bacula.sql -REM -REM To read back a SQLite database use: -REM cd @working_dir_cmd@ -REM del /f bacula.db -REM sqlite bacula.db < bacula.sql -REM -REM To read back a PostgreSQL database use: -REM cd @working_dir_cmd@ -REM dropdb bacula -REM createdb bacula -REM psql bacula < bacula.sql -REM -EXIT /b 0 +@ECHO off +REM +REM This script dumps your Bacula catalog in ASCII format +REM It works for MySQL, SQLite, and PostgreSQL +REM +REM %1 is the name of the database to be backed up and the name +REM of the output file (default = bacula +REM %2 is the user name with which to access the database +REM (default = bacula). +REM %3 is the password with which to access the database or "" if no password +REM (default "") +REM +REM +@ECHO on + +DEL /f "@working_dir_cmd@\%1.sql" 2>nul + +set MYSQLPASSWORD= + +IF NOT "%3"=="" SET MYSQLPASSWORD=--password=%3 +"@SQL_BINDIR@\mysqldump" -u %2 %MYSQLPASSWORD% -f --opt %1 > "@working_dir_cmd@\%1.sql" + +@ECHO off +REM +REM To read back a MySQL database use: +REM cd @working_dir_cmd@ +REM rd /s /q @SQL_BINDIR@\..\data\bacula +REM mysql < bacula.sql +REM +REM To read back a SQLite database use: +REM cd @working_dir_cmd@ +REM del /f bacula.db +REM sqlite bacula.db < bacula.sql +REM +REM To read back a PostgreSQL database use: +REM cd @working_dir_cmd@ +REM dropdb bacula +REM createdb bacula +REM psql bacula < bacula.sql +REM +EXIT /b 0 diff --git a/bacula/src/win32/cats/make_postgresql_catalog_backup.cmd b/bacula/src/win32/cats/make_postgresql_catalog_backup.cmd index 7a2c7feb72..16456b314c 100644 --- a/bacula/src/win32/cats/make_postgresql_catalog_backup.cmd +++ b/bacula/src/win32/cats/make_postgresql_catalog_backup.cmd @@ -1,41 +1,41 @@ -@ECHO off -REM -REM This script dumps your Bacula catalog in ASCII format -REM It works for MySQL, SQLite, and PostgreSQL -REM -REM %1 is the name of the database to be backed up and the name -REM of the output file (default = bacula -REM %2 is the user name with which to access the database -REM (default = bacula). -REM %3 is the password with which to access the database or "" if no password -REM (default "") -REM -REM -@ECHO on - -DEL /f "@working_dir_cmd@\%1.sql" 2>nul - -SET PGPASSWORD= - -IF NOT "%3"=="" SET PGPASSWORD=--password=%3 -"@SQL_BINDIR@\pg_dump" -c -U %2 %1 >"@working_dir_cmd@\%1.sql" - -@ECHO off -REM -REM To read back a MySQL database use: -REM cd @working_dir_cmd@ -REM rd /s /q @SQL_BINDIR@\..\data\bacula -REM mysql < bacula.sql -REM -REM To read back a SQLite database use: -REM cd @working_dir_cmd@ -REM del /f bacula.db -REM sqlite bacula.db < bacula.sql -REM -REM To read back a PostgreSQL database use: -REM cd @working_dir_cmd@ -REM dropdb bacula -REM createdb bacula -REM psql bacula < bacula.sql -REM -EXIT /b 0 +@ECHO off +REM +REM This script dumps your Bacula catalog in ASCII format +REM It works for MySQL, SQLite, and PostgreSQL +REM +REM %1 is the name of the database to be backed up and the name +REM of the output file (default = bacula +REM %2 is the user name with which to access the database +REM (default = bacula). +REM %3 is the password with which to access the database or "" if no password +REM (default "") +REM +REM +@ECHO on + +DEL /f "@working_dir_cmd@\%1.sql" 2>nul + +SET PGPASSWORD= + +IF NOT "%3"=="" SET PGPASSWORD=--password=%3 +"@SQL_BINDIR@\pg_dump" -c -U %2 %1 >"@working_dir_cmd@\%1.sql" + +@ECHO off +REM +REM To read back a MySQL database use: +REM cd @working_dir_cmd@ +REM rd /s /q @SQL_BINDIR@\..\data\bacula +REM mysql < bacula.sql +REM +REM To read back a SQLite database use: +REM cd @working_dir_cmd@ +REM del /f bacula.db +REM sqlite bacula.db < bacula.sql +REM +REM To read back a PostgreSQL database use: +REM cd @working_dir_cmd@ +REM dropdb bacula +REM createdb bacula +REM psql bacula < bacula.sql +REM +EXIT /b 0 diff --git a/bacula/src/win32/cats/make_sqlite3_catalog_backup.cmd b/bacula/src/win32/cats/make_sqlite3_catalog_backup.cmd index 90be3615c5..7cdd00ba9c 100644 --- a/bacula/src/win32/cats/make_sqlite3_catalog_backup.cmd +++ b/bacula/src/win32/cats/make_sqlite3_catalog_backup.cmd @@ -1,38 +1,38 @@ -@ECHO off -REM -REM This script dumps your Bacula catalog in ASCII format -REM It works for MySQL, SQLite, and PostgreSQL -REM -REM %1 is the name of the database to be backed up and the name -REM of the output file (default = bacula -REM %2 is the user name with which to access the database -REM (default = bacula). -REM %3 is the password with which to access the database or "" if no password -REM (default "") -REM -REM -@ECHO on - -DEL /f "@working_dir_cmd@\%1.sql" 2>nul - -ECHO .dump | "@bin_dir_cmd@\sqlite3" "@working_dir_cmd@\%1.db" > "@working_dir_cmd@\%1.sql" - -@ECHO off -REM -REM To read back a MySQL database use: -REM cd @working_dir_cmd@ -REM rd /s /q @SQL_BINDIR@\..\data\bacula -REM mysql < bacula.sql -REM -REM To read back a SQLite database use: -REM cd @working_dir_cmd@ -REM del /f bacula.db -REM sqlite bacula.db < bacula.sql -REM -REM To read back a PostgreSQL database use: -REM cd @working_dir_cmd@ -REM dropdb bacula -REM createdb bacula -REM psql bacula < bacula.sql -REM -EXIT /b 0 +@ECHO off +REM +REM This script dumps your Bacula catalog in ASCII format +REM It works for MySQL, SQLite, and PostgreSQL +REM +REM %1 is the name of the database to be backed up and the name +REM of the output file (default = bacula +REM %2 is the user name with which to access the database +REM (default = bacula). +REM %3 is the password with which to access the database or "" if no password +REM (default "") +REM +REM +@ECHO on + +DEL /f "@working_dir_cmd@\%1.sql" 2>nul + +ECHO .dump | "@bin_dir_cmd@\sqlite3" "@working_dir_cmd@\%1.db" > "@working_dir_cmd@\%1.sql" + +@ECHO off +REM +REM To read back a MySQL database use: +REM cd @working_dir_cmd@ +REM rd /s /q @SQL_BINDIR@\..\data\bacula +REM mysql < bacula.sql +REM +REM To read back a SQLite database use: +REM cd @working_dir_cmd@ +REM del /f bacula.db +REM sqlite bacula.db < bacula.sql +REM +REM To read back a PostgreSQL database use: +REM cd @working_dir_cmd@ +REM dropdb bacula +REM createdb bacula +REM psql bacula < bacula.sql +REM +EXIT /b 0 diff --git a/bacula/src/win32/cats/make_sqlite3_tables.cmd b/bacula/src/win32/cats/make_sqlite3_tables.cmd index 1aed723397..aa73980636 100644 --- a/bacula/src/win32/cats/make_sqlite3_tables.cmd +++ b/bacula/src/win32/cats/make_sqlite3_tables.cmd @@ -1,7 +1,7 @@ -@ECHO off -REM -REM Script to create Bacula SQLite tables - -"@bin_dir_cmd@\sqlite3" %* "@working_dir_cmd@\bacula.db" < "@bin_dir_cmd@\make_sqlite3_tables.sql" - -EXIT /b 0 +@ECHO off +REM +REM Script to create Bacula SQLite tables + +"@bin_dir_cmd@\sqlite3" %* "@working_dir_cmd@\bacula.db" < "@bin_dir_cmd@\make_sqlite3_tables.sql" + +EXIT /b 0 diff --git a/bacula/src/win32/cats/make_sqlite3_tables.sql b/bacula/src/win32/cats/make_sqlite3_tables.sql index bab40f436a..89f6f8959a 100644 --- a/bacula/src/win32/cats/make_sqlite3_tables.sql +++ b/bacula/src/win32/cats/make_sqlite3_tables.sql @@ -1,347 +1,347 @@ -CREATE TABLE Filename ( - FilenameId INTEGER, - Name TEXT DEFAULT "", - PRIMARY KEY(FilenameId) - ); - -CREATE INDEX inx1 ON Filename (Name); - -CREATE TABLE Path ( - PathId INTEGER, - Path TEXT DEFAULT "", - PRIMARY KEY(PathId) - ); - -CREATE INDEX inx2 ON Path (Path); - - -CREATE TABLE File ( - FileId INTEGER, - FileIndex INTEGER UNSIGNED NOT NULL, - JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, - PathId INTEGER UNSIGNED REFERENCES Path NOT NULL, - FilenameId INTEGER UNSIGNED REFERENCES Filename NOT NULL, - MarkId INTEGER UNSIGNED DEFAULT 0, - LStat VARCHAR(255) NOT NULL, - MD5 VARCHAR(255) NOT NULL, - PRIMARY KEY(FileId) - ); - -CREATE INDEX inx3 ON File (JobId); -CREATE INDEX inx4 ON File (FilenameId, PathId); --- --- Possibly add one or more of the following indexes --- if your Verifies are too slow. --- --- CREATE INDEX inx4 ON File (PathId); --- CREATE INDEX inx5 ON File (FileNameId); --- CREATE INDEX inx9 ON File (JobId, PathId, FilenameId); - -CREATE TABLE Job ( - JobId INTEGER, - Job VARCHAR(128) NOT NULL, - Name VARCHAR(128) NOT NULL, - Type CHAR NOT NULL, - Level CHAR NOT NULL, - ClientId INTEGER REFERENCES Client DEFAULT 0, - JobStatus CHAR NOT NULL, - SchedTime DATETIME NOT NULL, - StartTime DATETIME DEFAULT 0, - EndTime DATETIME DEFAULT 0, - RealEndTime DATETIME DEFAULT 0, - JobTDate BIGINT UNSIGNED DEFAULT 0, - VolSessionId INTEGER UNSIGNED DEFAULT 0, - VolSessionTime INTEGER UNSIGNED DEFAULT 0, - JobFiles INTEGER UNSIGNED DEFAULT 0, - JobBytes BIGINT UNSIGNED DEFAULT 0, - JobErrors INTEGER UNSIGNED DEFAULT 0, - JobMissingFiles INTEGER UNSIGNED DEFAULT 0, - PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, - FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0, - PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0, - PurgedFiles TINYINT DEFAULT 0, - HasBase TINYINT DEFAULT 0, - PRIMARY KEY(JobId) - ); -CREATE INDEX inx6 ON Job (Name); - -CREATE TABLE Location ( - LocationId INTEGER, - Location TEXT NOT NULL, - Cost INTEGER DEFAULT 0, - Enabled TINYINT, - PRIMARY KEY(LocationId) - ); - -CREATE TABLE LocationLog ( - LocLogId INTEGER, - Date DATETIME NOT NULL, - Comment TEXT NOT NULL, - MediaId INTEGER UNSIGNED REFERENCES Media DEFAULT 0, - LocationId INTEGER UNSIGNED REFERENCES LocationId DEFAULT 0, - NewVolStatus VARCHAR(20) NOT NULL, - NewEnabled TINYINT NOT NULL, - PRIMARY KEY(LocLogId) -); - - -CREATE TABLE Log ( - LogId INTEGER, - JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, - Time DATETIME NOT NULL, - LogText TEXT NOT NULL, - PRIMARY KEY(LogId) - ); -CREATE INDEX LogInx1 ON File (JobId); - - -CREATE TABLE FileSet ( - FileSetId INTEGER, - FileSet VARCHAR(128) NOT NULL, - MD5 VARCHAR(25) NOT NULL, - CreateTime DATETIME DEFAULT 0, - PRIMARY KEY(FileSetId) - ); - -CREATE TABLE JobMedia ( - JobMediaId INTEGER, - JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, - MediaId INTEGER UNSIGNED REFERENCES Media NOT NULL, - FirstIndex INTEGER UNSIGNED NOT NULL, - LastIndex INTEGER UNSIGNED NOT NULL, - StartFile INTEGER UNSIGNED DEFAULT 0, - EndFile INTEGER UNSIGNED DEFAULT 0, - StartBlock INTEGER UNSIGNED DEFAULT 0, - EndBlock INTEGER UNSIGNED DEFAULT 0, - VolIndex INTEGER UNSIGNED DEFAULT 0, - Copy INTEGER UNSIGNED DEFAULT 0, - PRIMARY KEY(JobMediaId) - ); - -CREATE INDEX inx7 ON JobMedia (JobId, MediaId); - - -CREATE TABLE Media ( - MediaId INTEGER, - VolumeName VARCHAR(128) NOT NULL, - Slot INTEGER DEFAULT 0, - PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, - MediaType VARCHAR(128) NOT NULL, - MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0, - LabelType TINYINT DEFAULT 0, - FirstWritten DATETIME DEFAULT 0, - LastWritten DATETIME DEFAULT 0, - LabelDate DATETIME DEFAULT 0, - VolJobs INTEGER UNSIGNED DEFAULT 0, - VolFiles INTEGER UNSIGNED DEFAULT 0, - VolBlocks INTEGER UNSIGNED DEFAULT 0, - VolMounts INTEGER UNSIGNED DEFAULT 0, - VolBytes BIGINT UNSIGNED DEFAULT 0, - VolParts INTEGER UNSIGNED DEFAULT 0, - VolErrors INTEGER UNSIGNED DEFAULT 0, - VolWrites INTEGER UNSIGNED DEFAULT 0, - VolCapacityBytes BIGINT UNSIGNED DEFAULT 0, - VolStatus VARCHAR(20) NOT NULL, - Enabled TINYINT DEFAULT 1, - Recycle TINYINT DEFAULT 0, - VolRetention BIGINT UNSIGNED DEFAULT 0, - VolUseDuration BIGINT UNSIGNED DEFAULT 0, - MaxVolJobs INTEGER UNSIGNED DEFAULT 0, - MaxVolFiles INTEGER UNSIGNED DEFAULT 0, - MaxVolBytes BIGINT UNSIGNED DEFAULT 0, - InChanger TINYINT DEFAULT 0, - StorageId INTEGER UNSIGNED REFERENCES Storage DEFAULT 0, - DeviceId INTEGER UNSIGNED REFERENCES Device DEFAULT 0, - MediaAddressing TINYINT DEFAULT 0, - VolReadTime BIGINT UNSIGNED DEFAULT 0, - VolWriteTime BIGINT UNSIGNED DEFAULT 0, - EndFile INTEGER UNSIGNED DEFAULT 0, - EndBlock INTEGER UNSIGNED DEFAULT 0, - LocationId INTEGER UNSIGNED REFERENCES Location DEFAULT 0, - RecycleCount INTEGER UNSIGNED DEFAULT 0, - InitialWrite DATETIME DEFAULT 0, - ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, - RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, - Comment TEXT, - PRIMARY KEY(MediaId) - ); - -CREATE INDEX inx8 ON Media (PoolId); - -CREATE TABLE MediaType ( - MediaTypeId INTEGER, - MediaType VARCHAR(128) NOT NULL, - ReadOnly TINYINT DEFAULT 0, - PRIMARY KEY(MediaTypeId) - ); - -CREATE TABLE Storage ( - StorageId INTEGER, - Name VARCHAR(128) NOT NULL, - AutoChanger TINYINT DEFAULT 0, - PRIMARY KEY(StorageId) - ); - -CREATE TABLE Device ( - DeviceId INTEGER, - Name VARCHAR(128) NOT NULL, - MediaTypeId INTEGER UNSIGNED REFERENCES MediaType NOT NULL, - StorageId INTEGER UNSIGNED REFERENCES Storage, - DevMounts INTEGER UNSIGNED DEFAULT 0, - DevReadBytes BIGINT UNSIGNED DEFAULT 0, - DevWriteBytes BIGINT UNSIGNED DEFAULT 0, - DevReadBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0, - DevWriteBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0, - DevReadTime BIGINT UNSIGNED DEFAULT 0, - DevWriteTime BIGINT UNSIGNED DEFAULT 0, - DevReadTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0, - DevWriteTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0, - CleaningDate DATETIME DEFAULT 0, - CleaningPeriod BIGINT UNSIGNED DEFAULT 0, - PRIMARY KEY(DeviceId) - ); - - -CREATE TABLE Pool ( - PoolId INTEGER, - Name VARCHAR(128) NOT NULL, - NumVols INTEGER UNSIGNED DEFAULT 0, - MaxVols INTEGER UNSIGNED DEFAULT 0, - UseOnce TINYINT DEFAULT 0, - UseCatalog TINYINT DEFAULT 1, - AcceptAnyVolume TINYINT DEFAULT 0, - VolRetention BIGINT UNSIGNED DEFAULT 0, - VolUseDuration BIGINT UNSIGNED DEFAULT 0, - MaxVolJobs INTEGER UNSIGNED DEFAULT 0, - MaxVolFiles INTEGER UNSIGNED DEFAULT 0, - MaxVolBytes BIGINT UNSIGNED DEFAULT 0, - AutoPrune TINYINT DEFAULT 0, - Recycle TINYINT DEFAULT 0, - PoolType VARCHAR(20) NOT NULL, - LabelType TINYINT DEFAULT 0, - LabelFormat VARCHAR(128) NOT NULL, - Enabled TINYINT DEFAULT 1, - ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, - RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, - NextPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, - MigrationHighBytes BIGINT UNSIGNED DEFAULT 0, - MigrationLowBytes BIGINT UNSIGNED DEFAULT 0, - MigrationTime BIGINT UNSIGNED DEFAULT 0, - UNIQUE (Name), - PRIMARY KEY (PoolId) - ); - - -CREATE TABLE Client ( - ClientId INTEGER, - Name VARCHAR(128) NOT NULL, - Uname VARCHAR(255) NOT NULL, -- uname -a field - AutoPrune TINYINT DEFAULT 0, - FileRetention BIGINT UNSIGNED DEFAULT 0, - JobRetention BIGINT UNSIGNED DEFAULT 0, - UNIQUE (Name), - PRIMARY KEY(ClientId) - ); - -CREATE TABLE BaseFiles ( - BaseId INTEGER, - BaseJobId INTEGER UNSIGNED REFERENCES Job NOT NULL, - JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, - FileId INTEGER UNSIGNED REFERENCES File NOT NULL, - FileIndex INTEGER UNSIGNED, - PRIMARY KEY(BaseId) - ); - -CREATE TABLE UnsavedFiles ( - UnsavedId INTEGER, - JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, - PathId INTEGER UNSIGNED REFERENCES Path NOT NULL, - FilenameId INTEGER UNSIGNED REFERENCES Filename NOT NULL, - PRIMARY KEY (UnsavedId) - ); - - -CREATE TABLE NextId ( - id INTEGER UNSIGNED DEFAULT 0, - TableName TEXT NOT NULL, - PRIMARY KEY (TableName) - ); - - - --- Initialize JobId to start at 1 -INSERT INTO NextId (id, TableName) VALUES (1, "Job"); - -CREATE TABLE Version ( - VersionId INTEGER UNSIGNED NOT NULL - ); - - -CREATE TABLE Counters ( - Counter TEXT NOT NULL, - MinValue INTEGER DEFAULT 0, - MaxValue INTEGER DEFAULT 0, - CurrentValue INTEGER DEFAULT 0, - WrapCounter TEXT NOT NULL, - PRIMARY KEY (Counter) - ); - -CREATE TABLE CDImages ( - MediaId INTEGER UNSIGNED NOT NULL, - LastBurn DATETIME NOT NULL, - PRIMARY KEY (MediaId) - ); - - -CREATE TABLE Status ( - JobStatus CHAR(1) NOT NULL, - JobStatusLong BLOB, - PRIMARY KEY (JobStatus) - ); - -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('C', 'Created, not yet running'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('R', 'Running'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('B', 'Blocked'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('T', 'Completed successfully'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('E', 'Terminated with errors'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('e', 'Non-fatal error'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('f', 'Fatal error'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('D', 'Verify found differences'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('A', 'Canceled by user'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('F', 'Waiting for Client'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('S', 'Waiting for Storage daemon'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('m', 'Waiting for new media'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('M', 'Waiting for media mount'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('s', 'Waiting for storage resource'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('j', 'Waiting for job resource'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('c', 'Waiting for client resource'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('d', 'Waiting on maximum jobs'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('t', 'Waiting on start time'); -INSERT INTO Status (JobStatus,JobStatusLong) VALUES - ('p', 'Waiting on higher priority jobs'); - - --- Initialize Version -INSERT INTO Version (VersionId) VALUES (10); - - -PRAGMA default_synchronous = OFF; -PRAGMA default_cache_size = 10000; +CREATE TABLE Filename ( + FilenameId INTEGER, + Name TEXT DEFAULT "", + PRIMARY KEY(FilenameId) + ); + +CREATE INDEX inx1 ON Filename (Name); + +CREATE TABLE Path ( + PathId INTEGER, + Path TEXT DEFAULT "", + PRIMARY KEY(PathId) + ); + +CREATE INDEX inx2 ON Path (Path); + + +CREATE TABLE File ( + FileId INTEGER, + FileIndex INTEGER UNSIGNED NOT NULL, + JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, + PathId INTEGER UNSIGNED REFERENCES Path NOT NULL, + FilenameId INTEGER UNSIGNED REFERENCES Filename NOT NULL, + MarkId INTEGER UNSIGNED DEFAULT 0, + LStat VARCHAR(255) NOT NULL, + MD5 VARCHAR(255) NOT NULL, + PRIMARY KEY(FileId) + ); + +CREATE INDEX inx3 ON File (JobId); +CREATE INDEX inx4 ON File (FilenameId, PathId); +-- +-- Possibly add one or more of the following indexes +-- if your Verifies are too slow. +-- +-- CREATE INDEX inx4 ON File (PathId); +-- CREATE INDEX inx5 ON File (FileNameId); +-- CREATE INDEX inx9 ON File (JobId, PathId, FilenameId); + +CREATE TABLE Job ( + JobId INTEGER, + Job VARCHAR(128) NOT NULL, + Name VARCHAR(128) NOT NULL, + Type CHAR NOT NULL, + Level CHAR NOT NULL, + ClientId INTEGER REFERENCES Client DEFAULT 0, + JobStatus CHAR NOT NULL, + SchedTime DATETIME NOT NULL, + StartTime DATETIME DEFAULT 0, + EndTime DATETIME DEFAULT 0, + RealEndTime DATETIME DEFAULT 0, + JobTDate BIGINT UNSIGNED DEFAULT 0, + VolSessionId INTEGER UNSIGNED DEFAULT 0, + VolSessionTime INTEGER UNSIGNED DEFAULT 0, + JobFiles INTEGER UNSIGNED DEFAULT 0, + JobBytes BIGINT UNSIGNED DEFAULT 0, + JobErrors INTEGER UNSIGNED DEFAULT 0, + JobMissingFiles INTEGER UNSIGNED DEFAULT 0, + PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, + FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0, + PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0, + PurgedFiles TINYINT DEFAULT 0, + HasBase TINYINT DEFAULT 0, + PRIMARY KEY(JobId) + ); +CREATE INDEX inx6 ON Job (Name); + +CREATE TABLE Location ( + LocationId INTEGER, + Location TEXT NOT NULL, + Cost INTEGER DEFAULT 0, + Enabled TINYINT, + PRIMARY KEY(LocationId) + ); + +CREATE TABLE LocationLog ( + LocLogId INTEGER, + Date DATETIME NOT NULL, + Comment TEXT NOT NULL, + MediaId INTEGER UNSIGNED REFERENCES Media DEFAULT 0, + LocationId INTEGER UNSIGNED REFERENCES LocationId DEFAULT 0, + NewVolStatus VARCHAR(20) NOT NULL, + NewEnabled TINYINT NOT NULL, + PRIMARY KEY(LocLogId) +); + + +CREATE TABLE Log ( + LogId INTEGER, + JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, + Time DATETIME NOT NULL, + LogText TEXT NOT NULL, + PRIMARY KEY(LogId) + ); +CREATE INDEX LogInx1 ON File (JobId); + + +CREATE TABLE FileSet ( + FileSetId INTEGER, + FileSet VARCHAR(128) NOT NULL, + MD5 VARCHAR(25) NOT NULL, + CreateTime DATETIME DEFAULT 0, + PRIMARY KEY(FileSetId) + ); + +CREATE TABLE JobMedia ( + JobMediaId INTEGER, + JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, + MediaId INTEGER UNSIGNED REFERENCES Media NOT NULL, + FirstIndex INTEGER UNSIGNED NOT NULL, + LastIndex INTEGER UNSIGNED NOT NULL, + StartFile INTEGER UNSIGNED DEFAULT 0, + EndFile INTEGER UNSIGNED DEFAULT 0, + StartBlock INTEGER UNSIGNED DEFAULT 0, + EndBlock INTEGER UNSIGNED DEFAULT 0, + VolIndex INTEGER UNSIGNED DEFAULT 0, + Copy INTEGER UNSIGNED DEFAULT 0, + PRIMARY KEY(JobMediaId) + ); + +CREATE INDEX inx7 ON JobMedia (JobId, MediaId); + + +CREATE TABLE Media ( + MediaId INTEGER, + VolumeName VARCHAR(128) NOT NULL, + Slot INTEGER DEFAULT 0, + PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, + MediaType VARCHAR(128) NOT NULL, + MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0, + LabelType TINYINT DEFAULT 0, + FirstWritten DATETIME DEFAULT 0, + LastWritten DATETIME DEFAULT 0, + LabelDate DATETIME DEFAULT 0, + VolJobs INTEGER UNSIGNED DEFAULT 0, + VolFiles INTEGER UNSIGNED DEFAULT 0, + VolBlocks INTEGER UNSIGNED DEFAULT 0, + VolMounts INTEGER UNSIGNED DEFAULT 0, + VolBytes BIGINT UNSIGNED DEFAULT 0, + VolParts INTEGER UNSIGNED DEFAULT 0, + VolErrors INTEGER UNSIGNED DEFAULT 0, + VolWrites INTEGER UNSIGNED DEFAULT 0, + VolCapacityBytes BIGINT UNSIGNED DEFAULT 0, + VolStatus VARCHAR(20) NOT NULL, + Enabled TINYINT DEFAULT 1, + Recycle TINYINT DEFAULT 0, + VolRetention BIGINT UNSIGNED DEFAULT 0, + VolUseDuration BIGINT UNSIGNED DEFAULT 0, + MaxVolJobs INTEGER UNSIGNED DEFAULT 0, + MaxVolFiles INTEGER UNSIGNED DEFAULT 0, + MaxVolBytes BIGINT UNSIGNED DEFAULT 0, + InChanger TINYINT DEFAULT 0, + StorageId INTEGER UNSIGNED REFERENCES Storage DEFAULT 0, + DeviceId INTEGER UNSIGNED REFERENCES Device DEFAULT 0, + MediaAddressing TINYINT DEFAULT 0, + VolReadTime BIGINT UNSIGNED DEFAULT 0, + VolWriteTime BIGINT UNSIGNED DEFAULT 0, + EndFile INTEGER UNSIGNED DEFAULT 0, + EndBlock INTEGER UNSIGNED DEFAULT 0, + LocationId INTEGER UNSIGNED REFERENCES Location DEFAULT 0, + RecycleCount INTEGER UNSIGNED DEFAULT 0, + InitialWrite DATETIME DEFAULT 0, + ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, + RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, + Comment TEXT, + PRIMARY KEY(MediaId) + ); + +CREATE INDEX inx8 ON Media (PoolId); + +CREATE TABLE MediaType ( + MediaTypeId INTEGER, + MediaType VARCHAR(128) NOT NULL, + ReadOnly TINYINT DEFAULT 0, + PRIMARY KEY(MediaTypeId) + ); + +CREATE TABLE Storage ( + StorageId INTEGER, + Name VARCHAR(128) NOT NULL, + AutoChanger TINYINT DEFAULT 0, + PRIMARY KEY(StorageId) + ); + +CREATE TABLE Device ( + DeviceId INTEGER, + Name VARCHAR(128) NOT NULL, + MediaTypeId INTEGER UNSIGNED REFERENCES MediaType NOT NULL, + StorageId INTEGER UNSIGNED REFERENCES Storage, + DevMounts INTEGER UNSIGNED DEFAULT 0, + DevReadBytes BIGINT UNSIGNED DEFAULT 0, + DevWriteBytes BIGINT UNSIGNED DEFAULT 0, + DevReadBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0, + DevWriteBytesSinceCleaning BIGINT UNSIGNED DEFAULT 0, + DevReadTime BIGINT UNSIGNED DEFAULT 0, + DevWriteTime BIGINT UNSIGNED DEFAULT 0, + DevReadTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0, + DevWriteTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0, + CleaningDate DATETIME DEFAULT 0, + CleaningPeriod BIGINT UNSIGNED DEFAULT 0, + PRIMARY KEY(DeviceId) + ); + + +CREATE TABLE Pool ( + PoolId INTEGER, + Name VARCHAR(128) NOT NULL, + NumVols INTEGER UNSIGNED DEFAULT 0, + MaxVols INTEGER UNSIGNED DEFAULT 0, + UseOnce TINYINT DEFAULT 0, + UseCatalog TINYINT DEFAULT 1, + AcceptAnyVolume TINYINT DEFAULT 0, + VolRetention BIGINT UNSIGNED DEFAULT 0, + VolUseDuration BIGINT UNSIGNED DEFAULT 0, + MaxVolJobs INTEGER UNSIGNED DEFAULT 0, + MaxVolFiles INTEGER UNSIGNED DEFAULT 0, + MaxVolBytes BIGINT UNSIGNED DEFAULT 0, + AutoPrune TINYINT DEFAULT 0, + Recycle TINYINT DEFAULT 0, + PoolType VARCHAR(20) NOT NULL, + LabelType TINYINT DEFAULT 0, + LabelFormat VARCHAR(128) NOT NULL, + Enabled TINYINT DEFAULT 1, + ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, + RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, + NextPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, + MigrationHighBytes BIGINT UNSIGNED DEFAULT 0, + MigrationLowBytes BIGINT UNSIGNED DEFAULT 0, + MigrationTime BIGINT UNSIGNED DEFAULT 0, + UNIQUE (Name), + PRIMARY KEY (PoolId) + ); + + +CREATE TABLE Client ( + ClientId INTEGER, + Name VARCHAR(128) NOT NULL, + Uname VARCHAR(255) NOT NULL, -- uname -a field + AutoPrune TINYINT DEFAULT 0, + FileRetention BIGINT UNSIGNED DEFAULT 0, + JobRetention BIGINT UNSIGNED DEFAULT 0, + UNIQUE (Name), + PRIMARY KEY(ClientId) + ); + +CREATE TABLE BaseFiles ( + BaseId INTEGER, + BaseJobId INTEGER UNSIGNED REFERENCES Job NOT NULL, + JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, + FileId INTEGER UNSIGNED REFERENCES File NOT NULL, + FileIndex INTEGER UNSIGNED, + PRIMARY KEY(BaseId) + ); + +CREATE TABLE UnsavedFiles ( + UnsavedId INTEGER, + JobId INTEGER UNSIGNED REFERENCES Job NOT NULL, + PathId INTEGER UNSIGNED REFERENCES Path NOT NULL, + FilenameId INTEGER UNSIGNED REFERENCES Filename NOT NULL, + PRIMARY KEY (UnsavedId) + ); + + +CREATE TABLE NextId ( + id INTEGER UNSIGNED DEFAULT 0, + TableName TEXT NOT NULL, + PRIMARY KEY (TableName) + ); + + + +-- Initialize JobId to start at 1 +INSERT INTO NextId (id, TableName) VALUES (1, "Job"); + +CREATE TABLE Version ( + VersionId INTEGER UNSIGNED NOT NULL + ); + + +CREATE TABLE Counters ( + Counter TEXT NOT NULL, + MinValue INTEGER DEFAULT 0, + MaxValue INTEGER DEFAULT 0, + CurrentValue INTEGER DEFAULT 0, + WrapCounter TEXT NOT NULL, + PRIMARY KEY (Counter) + ); + +CREATE TABLE CDImages ( + MediaId INTEGER UNSIGNED NOT NULL, + LastBurn DATETIME NOT NULL, + PRIMARY KEY (MediaId) + ); + + +CREATE TABLE Status ( + JobStatus CHAR(1) NOT NULL, + JobStatusLong BLOB, + PRIMARY KEY (JobStatus) + ); + +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('C', 'Created, not yet running'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('R', 'Running'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('B', 'Blocked'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('T', 'Completed successfully'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('E', 'Terminated with errors'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('e', 'Non-fatal error'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('f', 'Fatal error'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('D', 'Verify found differences'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('A', 'Canceled by user'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('F', 'Waiting for Client'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('S', 'Waiting for Storage daemon'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('m', 'Waiting for new media'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('M', 'Waiting for media mount'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('s', 'Waiting for storage resource'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('j', 'Waiting for job resource'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('c', 'Waiting for client resource'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('d', 'Waiting on maximum jobs'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('t', 'Waiting on start time'); +INSERT INTO Status (JobStatus,JobStatusLong) VALUES + ('p', 'Waiting on higher priority jobs'); + + +-- Initialize Version +INSERT INTO Version (VersionId) VALUES (10); + + +PRAGMA default_synchronous = OFF; +PRAGMA default_cache_size = 10000; diff --git a/bacula/src/win32/filed/bacula-fd.manifest b/bacula/src/win32/filed/bacula-fd.manifest index 95deb2f34f..bf1c6746ff 100644 --- a/bacula/src/win32/filed/bacula-fd.manifest +++ b/bacula/src/win32/filed/bacula-fd.manifest @@ -1,21 +1,21 @@ - - - - Bacula File daemon for Win32 - - - - - - - + + + + Bacula File daemon for Win32 + + + + + + + diff --git a/bacula/src/win32/installer/ConfigPage1.nsh b/bacula/src/win32/installer/ConfigPage1.nsh index 2a16fb55fe..71965a2a38 100644 --- a/bacula/src/win32/installer/ConfigPage1.nsh +++ b/bacula/src/win32/installer/ConfigPage1.nsh @@ -1,294 +1,294 @@ -Function EnterConfigPage1 - ${If} $AutomaticInstall = 1 - Abort - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentsFileAndStorage} - - ${If} $R0 = 0 - Abort - ${EndIf} - - FileOpen $R5 "$PLUGINSDIR\ConfigPage1.ini" w - - StrCpy $R6 1 ; Field Number - StrCpy $R7 0 ; Top - - IntOp $R0 $NewComponents & ${ComponentFile} - ${If} $R0 <> 0 - IntOp $R8 $R7 + 52 - FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Client"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 12 - - IntOp $R8 $R7 + 8 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigClientName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 2 - - IntOp $R8 $R8 - 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigClientPort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 2 - - IntOp $R8 $R8 - 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigClientMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 16 - - IntOp $R8 $R7 + 8 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigClientPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 14 - - IntOp $R8 $R7 + 10 - FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigClientInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - - FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigClientStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 16 - ${Endif} - - IntOp $R0 $NewComponents & ${ComponentStorage} - ${If} $R0 <> 0 - IntOp $R8 $R7 + 52 - FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Storage"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 12 - - IntOp $R8 $R7 + 8 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigStorageName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 2 - - IntOp $R8 $R8 - 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigStoragePort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 2 - - IntOp $R8 $R8 - 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigStorageMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 16 - - IntOp $R8 $R7 + 8 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigStoragePassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 14 - - IntOp $R8 $R7 + 10 - FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigStorageInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - - FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigStorageStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 16 - ${Endif} - - IntOp $R6 $R6 - 1 - - FileWrite $R5 "[Settings]$\r$\nNumFields=$R6$\r$\n" - - FileClose $R5 - - !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage1)" "$(SUBTITLE_ConfigPage1)" - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ConfigPage1.ini" - Pop $HDLG ;HWND of dialog - - ; Initialize Controls - - StrCpy $R6 1 ; Field Number - - IntOp $R0 $NewComponents & ${ComponentFile} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 2 - - ; Client Name - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 30 0 - - IntOp $R6 $R6 + 2 - - ; Client Port Number - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 5 0 - - IntOp $R6 $R6 + 2 - - ; Max Jobs - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 3 0 - - IntOp $R6 $R6 + 5 - ${Endif} - - IntOp $R0 $NewComponents & ${ComponentStorage} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 2 - - ; Storage Name - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 30 0 - - IntOp $R6 $R6 + 2 - - ; Storage Port Number - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 5 0 - - IntOp $R6 $R6 + 2 - - ; Max Jobs - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 3 0 - - IntOp $R6 $R6 + 5 - ${Endif} - - !insertmacro MUI_INSTALLOPTIONS_SHOW - - ; Process results - - StrCpy $R6 3 - - IntOp $R0 $NewComponents & ${ComponentFile} - ${If} $R0 <> 0 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientName "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 2 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientPort "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 2 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientMaxJobs "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 2 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientPassword "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 1 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientInstallService "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 1 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientStartService "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 3 - ${Endif} - - IntOp $R0 $NewComponents & ${ComponentStorage} - ${If} $R0 <> 0 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageName "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 2 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStoragePort "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 2 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageMaxJobs "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 2 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStoragePassword "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 1 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageInstallService "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 1 - - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageStartService "ConfigPage1.ini" "Field $R6" "State" - - IntOp $R6 $R6 + 3 - ${Endif} -FunctionEnd - -Function LeaveConfigPage1 - StrCpy $R6 5 - - IntOp $R0 $NewComponents & ${ComponentFile} - ${If} $R0 <> 0 - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State" - ${If} $R0 < 1024 - ${OrIf} $R0 > 65535 - MessageBox MB_OK "Port must be between 1024 and 65535 inclusive." - Abort - ${EndIf} - - IntOp $R6 $R6 + 2 - - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State" - ${If} $R0 < 1 - ${OrIf} $R0 > 99 - MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive." - Abort - ${EndIf} - - IntOp $R6 $R6 + 9 - ${Endif} - - IntOp $R0 $NewComponents & ${ComponentStorage} - ${If} $R0 <> 0 - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State" - ${If} $R0 < 1024 - ${OrIf} $R0 > 65535 - MessageBox MB_OK "Port must be between 1024 and 65535 inclusive." - Abort - ${EndIf} - - IntOp $R6 $R6 + 2 - - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State" - ${If} $R0 < 1 - ${OrIf} $R0 > 99 - MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive." - Abort - ${EndIf} - - IntOp $R6 $R6 + 9 - ${Endif} -FunctionEnd +Function EnterConfigPage1 + ${If} $AutomaticInstall = 1 + Abort + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentsFileAndStorage} + + ${If} $R0 = 0 + Abort + ${EndIf} + + FileOpen $R5 "$PLUGINSDIR\ConfigPage1.ini" w + + StrCpy $R6 1 ; Field Number + StrCpy $R7 0 ; Top + + IntOp $R0 $NewComponents & ${ComponentFile} + ${If} $R0 <> 0 + IntOp $R8 $R7 + 52 + FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Client"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 12 + + IntOp $R8 $R7 + 8 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigClientName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 2 + + IntOp $R8 $R8 - 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigClientPort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 2 + + IntOp $R8 $R8 - 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigClientMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 16 + + IntOp $R8 $R7 + 8 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigClientPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 14 + + IntOp $R8 $R7 + 10 + FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigClientInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + + FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigClientStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 16 + ${Endif} + + IntOp $R0 $NewComponents & ${ComponentStorage} + ${If} $R0 <> 0 + IntOp $R8 $R7 + 52 + FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Storage"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 12 + + IntOp $R8 $R7 + 8 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigStorageName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 2 + + IntOp $R8 $R8 - 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigStoragePort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 2 + + IntOp $R8 $R8 - 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigStorageMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 16 + + IntOp $R8 $R7 + 8 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigStoragePassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 14 + + IntOp $R8 $R7 + 10 + FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigStorageInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + + FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigStorageStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 16 + ${Endif} + + IntOp $R6 $R6 - 1 + + FileWrite $R5 "[Settings]$\r$\nNumFields=$R6$\r$\n" + + FileClose $R5 + + !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage1)" "$(SUBTITLE_ConfigPage1)" + !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ConfigPage1.ini" + Pop $HDLG ;HWND of dialog + + ; Initialize Controls + + StrCpy $R6 1 ; Field Number + + IntOp $R0 $NewComponents & ${ComponentFile} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 2 + + ; Client Name + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 30 0 + + IntOp $R6 $R6 + 2 + + ; Client Port Number + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 5 0 + + IntOp $R6 $R6 + 2 + + ; Max Jobs + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 3 0 + + IntOp $R6 $R6 + 5 + ${Endif} + + IntOp $R0 $NewComponents & ${ComponentStorage} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 2 + + ; Storage Name + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 30 0 + + IntOp $R6 $R6 + 2 + + ; Storage Port Number + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 5 0 + + IntOp $R6 $R6 + 2 + + ; Max Jobs + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 3 0 + + IntOp $R6 $R6 + 5 + ${Endif} + + !insertmacro MUI_INSTALLOPTIONS_SHOW + + ; Process results + + StrCpy $R6 3 + + IntOp $R0 $NewComponents & ${ComponentFile} + ${If} $R0 <> 0 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientName "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 2 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientPort "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 2 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientMaxJobs "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 2 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientPassword "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 1 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientInstallService "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 1 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientStartService "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 3 + ${Endif} + + IntOp $R0 $NewComponents & ${ComponentStorage} + ${If} $R0 <> 0 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageName "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 2 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStoragePort "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 2 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageMaxJobs "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 2 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStoragePassword "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 1 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageInstallService "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 1 + + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageStartService "ConfigPage1.ini" "Field $R6" "State" + + IntOp $R6 $R6 + 3 + ${Endif} +FunctionEnd + +Function LeaveConfigPage1 + StrCpy $R6 5 + + IntOp $R0 $NewComponents & ${ComponentFile} + ${If} $R0 <> 0 + !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State" + ${If} $R0 < 1024 + ${OrIf} $R0 > 65535 + MessageBox MB_OK "Port must be between 1024 and 65535 inclusive." + Abort + ${EndIf} + + IntOp $R6 $R6 + 2 + + !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State" + ${If} $R0 < 1 + ${OrIf} $R0 > 99 + MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive." + Abort + ${EndIf} + + IntOp $R6 $R6 + 9 + ${Endif} + + IntOp $R0 $NewComponents & ${ComponentStorage} + ${If} $R0 <> 0 + !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State" + ${If} $R0 < 1024 + ${OrIf} $R0 > 65535 + MessageBox MB_OK "Port must be between 1024 and 65535 inclusive." + Abort + ${EndIf} + + IntOp $R6 $R6 + 2 + + !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State" + ${If} $R0 < 1 + ${OrIf} $R0 > 99 + MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive." + Abort + ${EndIf} + + IntOp $R6 $R6 + 9 + ${Endif} +FunctionEnd diff --git a/bacula/src/win32/installer/ConfigPage2.nsh b/bacula/src/win32/installer/ConfigPage2.nsh index e4b72bfe49..321d7b98cc 100644 --- a/bacula/src/win32/installer/ConfigPage2.nsh +++ b/bacula/src/win32/installer/ConfigPage2.nsh @@ -1,454 +1,454 @@ -Function EnterConfigPage2 - IntOp $R0 $NewComponents & ${ComponentsRequiringUserConfig} - - ${If} $R0 = 0 - Abort - ${EndIf} - - FileOpen $R5 "$PLUGINSDIR\ConfigPage2.ini" w - - StrCpy $R6 1 ; Field Number - StrCpy $R7 0 ; Top - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - ${If} $AutomaticInstall = 1 - IntOp $R8 $R7 + 54 - ${Else} - IntOp $R8 $R7 + 92 - ${EndIf} - FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Director"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' - ${Else} - IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} - ${If} $R0 <> 0 - IntOp $R8 $R7 + 54 - ${Else} - IntOp $R8 $R7 + 26 - ${EndIf} - FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Remote Director"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' - ${EndIf} - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 12 - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - ${If} "$ConfigDirectorName" == "" - StrCpy $ConfigDirectorName "$HostName-dir" - ${EndIf} - ${If} "$ConfigDirectorPassword" == "" - StrCpy $ConfigDirectorPassword "$LocalDirectorPassword" - ${EndIf} - ${Else} - ${If} "$ConfigDirectorName" == "$HostName-dir" - StrCpy $ConfigDirectorName "" - ${EndIf} - ${If} "$ConfigDirectorPassword" == "$LocalDirectorPassword" - StrCpy $ConfigDirectorPassword "" - ${EndIf} - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 = 0 - ${OrIf} $AutomaticInstall = 0 - IntOp $R8 $R7 + 8 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - - ${If} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} - ${If} $R0 <> 0 - IntOp $R7 $R7 + 2 - IntOp $R8 $R8 - 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigDirectorPort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - IntOp $R7 $R7 + 2 - IntOp $R8 $R8 - 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigDirectorMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - ${EndIf} - ${EndIf} - - IntOp $R7 $R7 + 14 - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} - ${If} $R0 <> 0 - ${OrIf} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} - ${If} $R0 <> 0 - IntOp $R7 $R7 + 2 - IntOp $R8 $R7 + 8 - - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - IntOp $R8 $R8 + 2 - - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 14 - ${EndIf} - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - IntOp $R7 $R7 + 2 - IntOp $R8 $R7 + 8 - - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Mail Server"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - IntOp $R8 $R8 + 2 - - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorMailServer$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 16 - IntOp $R8 $R7 + 8 - - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Mail Address"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - IntOp $R8 $R8 + 2 - - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorMailAddress$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 16 - IntOp $R8 $R7 + 8 - - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Database"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - IntOp $R8 $R8 + 2 - - ${If} $ConfigDirectorDB = 0 - ${If} $MySQLPath != "" - StrCpy $ConfigDirectorDB 1 - ${ElseIf} $PostgreSQLPath != "" - StrCpy $ConfigDirectorDB 2 - ${Else} - StrCpy $ConfigDirectorDB 3 - ${EndIf} - ${EndIf} - - ${If} $ConfigDirectorDB = 1 - StrCpy $R9 1 - ${Else} - StrCpy $R9 0 - ${EndIf} - - FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="MySQL"$\r$\nFlags="GROUP"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=90$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - - ${If} $ConfigDirectorDB = 2 - StrCpy $R9 1 - ${Else} - StrCpy $R9 0 - ${EndIf} - - FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="PostgreSQL"$\r$\nFlags="NOTABSTOP"$\r$\nLeft=94$\r$\nTop=$R7$\r$\nRight=146$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - - ${If} $ConfigDirectorDB = 3 - StrCpy $R9 1 - ${Else} - StrCpy $R9 0 - ${EndIf} - - FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="Sqlite"$\r$\nFlags="NOTABSTOP"$\r$\nLeft=150$\r$\nTop=$R7$\r$\nRight=182$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 12 - - ${If} $AutomaticInstall = 0 - IntOp $R8 $R7 + 10 - FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigDirectorInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - - FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigDirectorStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 12 - ${EndIf} - ${Else} - IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} - ${If} $R0 <> 0 - IntOp $R7 $R7 + 2 - IntOp $R8 $R7 + 8 - - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Address"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - IntOp $R8 $R8 + 2 - - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorAddress$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 14 - IntOp $R8 $R7 + 8 - ${EndIf} - ${EndIf} - - IntOp $R7 $R7 + 4 - - ${If} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector} - ${If} $R0 <> 0 - IntOp $R8 $R7 + 42 - - FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Monitor"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 12 - - IntOp $R8 $R7 + 8 - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - - IntOp $R8 $R8 + 2 - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigMonitorName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=150$\r$\nBottom=$R8$\r$\n$\r$\n' - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 16 - IntOp $R8 $R7 + 8 - - FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 - 2 - IntOp $R8 $R8 + 2 - - FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigMonitorPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' - - IntOp $R6 $R6 + 1 - IntOp $R7 $R7 + 20 - ${EndIf} - ${EndIf} - - IntOp $R6 $R6 - 1 - FileWrite $R5 "[Settings]$\r$\nNumFields=$R6$\r$\n" - - FileClose $R5 - - IntOp $R0 $NewComponents & ${ComponentsFileAndStorage} - ${If} $R0 = 0 - ${OrIf} $AutomaticInstall = 1 - !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage1)" "$(SUBTITLE_ConfigPage1)" - ${Else} - !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage2)" "$(SUBTITLE_ConfigPage2)" - ${EndIf} - - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ConfigPage2.ini" - Pop $HDLG ;HWND of dialog - - ; Initialize Controls - StrCpy $R6 2 ; Field Number - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 = 0 - ${OrIf} $AutomaticInstall = 0 - ; Name - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 30 0 - IntOp $R6 $R6 + 1 - - ${If} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - ; Port Number - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 5 0 - IntOp $R6 $R6 + 1 - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - ; Max Jobs - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 3 0 - - IntOp $R6 $R6 + 1 - ${EndIf} - ${EndIf} - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} - ${If} $R0 <> 0 - ${OrIf} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 2 - ${EndIf} - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 9 - - ${If} $AutomaticInstall = 0 - IntOp $R6 $R6 + 2 - ${EndIf} - ${Else} - IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 2 - ${EndIf} - ${EndIf} - - ${If} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 2 - !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND" - SendMessage $HCTL ${EM_LIMITTEXT} 30 0 - IntOp $R6 $R6 + 2 - ${EndIf} - ${EndIf} - - !insertmacro MUI_INSTALLOPTIONS_SHOW - - ; Process results - - StrCpy $R6 2 - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 = 0 - ${OrIf} $AutomaticInstall = 0 - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorName "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 1 - - ${If} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorPort "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 1 - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMaxJobs "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 1 - ${EndIf} - ${EndIf} - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} - ${If} $R0 <> 0 - ${OrIf} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorPassword "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 1 - ${EndIf} - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMailServer "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 2 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMailAddress "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 2 - !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State" - ${If} $R5 = 1 - StrCpy $ConfigDirectorDB 1 - ${Endif} - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State" - ${If} $R5 = 1 - StrCpy $ConfigDirectorDB 2 - ${Endif} - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State" - ${If} $R5 = 1 - StrCpy $ConfigDirectorDB 3 - ${Endif} - IntOp $R6 $R6 + 1 - - ${If} $AutomaticInstall = 0 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorInstallService "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorStartService "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 1 - ${EndIf} - ${Else} - IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorAddress "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 1 - ${EndIf} - ${EndIf} - - ${If} $AutomaticInstall = 0 - IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 2 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigMonitorName "ConfigPage2.ini" "Field $R6" "State" - IntOp $R6 $R6 + 2 - !insertmacro MUI_INSTALLOPTIONS_READ $ConfigMonitorPassword "ConfigPage2.ini" "Field $R6" "State" - ${EndIf} - ${EndIf} -FunctionEnd - -Function LeaveConfigPage2 - ${If} $AutomaticInstall = 0 - StrCpy $R6 4 - - IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage2.ini" "Field $R6" "State" - ${If} $R0 < 1024 - ${OrIf} $R0 > 65535 - MessageBox MB_OK "Port must be between 1024 and 65535 inclusive." - Abort - ${EndIf} - IntOp $R6 $R6 + 1 - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentDirector} - ${If} $R0 <> 0 - IntOp $R6 $R6 + 1 - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage2.ini" "Field $R6" "State" - ${If} $R0 < 1 - ${OrIf} $R0 > 99 - MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive." - Abort - ${EndIf} - IntOp $R6 $R6 + 1 - ${EndIf} - ${EndIf} -FunctionEnd +Function EnterConfigPage2 + IntOp $R0 $NewComponents & ${ComponentsRequiringUserConfig} + + ${If} $R0 = 0 + Abort + ${EndIf} + + FileOpen $R5 "$PLUGINSDIR\ConfigPage2.ini" w + + StrCpy $R6 1 ; Field Number + StrCpy $R7 0 ; Top + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + ${If} $AutomaticInstall = 1 + IntOp $R8 $R7 + 54 + ${Else} + IntOp $R8 $R7 + 92 + ${EndIf} + FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Director"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' + ${Else} + IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} + ${If} $R0 <> 0 + IntOp $R8 $R7 + 54 + ${Else} + IntOp $R8 $R7 + 26 + ${EndIf} + FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Remote Director"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' + ${EndIf} + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 12 + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + ${If} "$ConfigDirectorName" == "" + StrCpy $ConfigDirectorName "$HostName-dir" + ${EndIf} + ${If} "$ConfigDirectorPassword" == "" + StrCpy $ConfigDirectorPassword "$LocalDirectorPassword" + ${EndIf} + ${Else} + ${If} "$ConfigDirectorName" == "$HostName-dir" + StrCpy $ConfigDirectorName "" + ${EndIf} + ${If} "$ConfigDirectorPassword" == "$LocalDirectorPassword" + StrCpy $ConfigDirectorPassword "" + ${EndIf} + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 = 0 + ${OrIf} $AutomaticInstall = 0 + IntOp $R8 $R7 + 8 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + + ${If} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} + ${If} $R0 <> 0 + IntOp $R7 $R7 + 2 + IntOp $R8 $R8 - 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigDirectorPort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + IntOp $R7 $R7 + 2 + IntOp $R8 $R8 - 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigDirectorMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + ${EndIf} + ${EndIf} + + IntOp $R7 $R7 + 14 + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} + ${If} $R0 <> 0 + ${OrIf} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} + ${If} $R0 <> 0 + IntOp $R7 $R7 + 2 + IntOp $R8 $R7 + 8 + + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + IntOp $R8 $R8 + 2 + + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 14 + ${EndIf} + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + IntOp $R7 $R7 + 2 + IntOp $R8 $R7 + 8 + + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Mail Server"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + IntOp $R8 $R8 + 2 + + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorMailServer$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 16 + IntOp $R8 $R7 + 8 + + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Mail Address"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + IntOp $R8 $R8 + 2 + + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorMailAddress$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 16 + IntOp $R8 $R7 + 8 + + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Database"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + IntOp $R8 $R8 + 2 + + ${If} $ConfigDirectorDB = 0 + ${If} $MySQLPath != "" + StrCpy $ConfigDirectorDB 1 + ${ElseIf} $PostgreSQLPath != "" + StrCpy $ConfigDirectorDB 2 + ${Else} + StrCpy $ConfigDirectorDB 3 + ${EndIf} + ${EndIf} + + ${If} $ConfigDirectorDB = 1 + StrCpy $R9 1 + ${Else} + StrCpy $R9 0 + ${EndIf} + + FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="MySQL"$\r$\nFlags="GROUP"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=90$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + + ${If} $ConfigDirectorDB = 2 + StrCpy $R9 1 + ${Else} + StrCpy $R9 0 + ${EndIf} + + FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="PostgreSQL"$\r$\nFlags="NOTABSTOP"$\r$\nLeft=94$\r$\nTop=$R7$\r$\nRight=146$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + + ${If} $ConfigDirectorDB = 3 + StrCpy $R9 1 + ${Else} + StrCpy $R9 0 + ${EndIf} + + FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="Sqlite"$\r$\nFlags="NOTABSTOP"$\r$\nLeft=150$\r$\nTop=$R7$\r$\nRight=182$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 12 + + ${If} $AutomaticInstall = 0 + IntOp $R8 $R7 + 10 + FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigDirectorInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + + FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigDirectorStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 12 + ${EndIf} + ${Else} + IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} + ${If} $R0 <> 0 + IntOp $R7 $R7 + 2 + IntOp $R8 $R7 + 8 + + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Address"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + IntOp $R8 $R8 + 2 + + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorAddress$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 14 + IntOp $R8 $R7 + 8 + ${EndIf} + ${EndIf} + + IntOp $R7 $R7 + 4 + + ${If} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector} + ${If} $R0 <> 0 + IntOp $R8 $R7 + 42 + + FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Monitor"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 12 + + IntOp $R8 $R7 + 8 + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + + IntOp $R8 $R8 + 2 + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigMonitorName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=150$\r$\nBottom=$R8$\r$\n$\r$\n' + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 16 + IntOp $R8 $R7 + 8 + + FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 - 2 + IntOp $R8 $R8 + 2 + + FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigMonitorPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n' + + IntOp $R6 $R6 + 1 + IntOp $R7 $R7 + 20 + ${EndIf} + ${EndIf} + + IntOp $R6 $R6 - 1 + FileWrite $R5 "[Settings]$\r$\nNumFields=$R6$\r$\n" + + FileClose $R5 + + IntOp $R0 $NewComponents & ${ComponentsFileAndStorage} + ${If} $R0 = 0 + ${OrIf} $AutomaticInstall = 1 + !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage1)" "$(SUBTITLE_ConfigPage1)" + ${Else} + !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage2)" "$(SUBTITLE_ConfigPage2)" + ${EndIf} + + !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ConfigPage2.ini" + Pop $HDLG ;HWND of dialog + + ; Initialize Controls + StrCpy $R6 2 ; Field Number + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 = 0 + ${OrIf} $AutomaticInstall = 0 + ; Name + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 30 0 + IntOp $R6 $R6 + 1 + + ${If} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + ; Port Number + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 5 0 + IntOp $R6 $R6 + 1 + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + ; Max Jobs + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 3 0 + + IntOp $R6 $R6 + 1 + ${EndIf} + ${EndIf} + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} + ${If} $R0 <> 0 + ${OrIf} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 2 + ${EndIf} + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 9 + + ${If} $AutomaticInstall = 0 + IntOp $R6 $R6 + 2 + ${EndIf} + ${Else} + IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 2 + ${EndIf} + ${EndIf} + + ${If} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 2 + !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND" + SendMessage $HCTL ${EM_LIMITTEXT} 30 0 + IntOp $R6 $R6 + 2 + ${EndIf} + ${EndIf} + + !insertmacro MUI_INSTALLOPTIONS_SHOW + + ; Process results + + StrCpy $R6 2 + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 = 0 + ${OrIf} $AutomaticInstall = 0 + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorName "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 1 + + ${If} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorPort "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 1 + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMaxJobs "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 1 + ${EndIf} + ${EndIf} + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} + ${If} $R0 <> 0 + ${OrIf} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorPassword "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 1 + ${EndIf} + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMailServer "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 2 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMailAddress "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 2 + !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State" + ${If} $R5 = 1 + StrCpy $ConfigDirectorDB 1 + ${Endif} + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State" + ${If} $R5 = 1 + StrCpy $ConfigDirectorDB 2 + ${Endif} + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State" + ${If} $R5 = 1 + StrCpy $ConfigDirectorDB 3 + ${Endif} + IntOp $R6 $R6 + 1 + + ${If} $AutomaticInstall = 0 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorInstallService "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorStartService "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 1 + ${EndIf} + ${Else} + IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorAddress "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 1 + ${EndIf} + ${EndIf} + + ${If} $AutomaticInstall = 0 + IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 2 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigMonitorName "ConfigPage2.ini" "Field $R6" "State" + IntOp $R6 $R6 + 2 + !insertmacro MUI_INSTALLOPTIONS_READ $ConfigMonitorPassword "ConfigPage2.ini" "Field $R6" "State" + ${EndIf} + ${EndIf} +FunctionEnd + +Function LeaveConfigPage2 + ${If} $AutomaticInstall = 0 + StrCpy $R6 4 + + IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage2.ini" "Field $R6" "State" + ${If} $R0 < 1024 + ${OrIf} $R0 > 65535 + MessageBox MB_OK "Port must be between 1024 and 65535 inclusive." + Abort + ${EndIf} + IntOp $R6 $R6 + 1 + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentDirector} + ${If} $R0 <> 0 + IntOp $R6 $R6 + 1 + !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage2.ini" "Field $R6" "State" + ${If} $R0 < 1 + ${OrIf} $R0 > 99 + MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive." + Abort + ${EndIf} + IntOp $R6 $R6 + 1 + ${EndIf} + ${EndIf} +FunctionEnd diff --git a/bacula/src/win32/installer/DumpLog.nsh b/bacula/src/win32/installer/DumpLog.nsh index 33ac4c782c..c450044a80 100644 --- a/bacula/src/win32/installer/DumpLog.nsh +++ b/bacula/src/win32/installer/DumpLog.nsh @@ -1,46 +1,46 @@ -!define LVM_GETITEMCOUNT 0x1004 -!define LVM_GETITEMTEXT 0x102D - -Function DumpLog - Exch $5 - Push $0 - Push $1 - Push $2 - Push $3 - Push $4 - Push $6 - - FindWindow $0 "#32770" "" $HWNDPARENT - GetDlgItem $0 $0 1016 - StrCmp $0 0 error - FileOpen $5 $5 "w" - StrCmp $5 0 error - SendMessage $0 ${LVM_GETITEMCOUNT} 0 0 $6 - System::Alloc ${NSIS_MAX_STRLEN} - Pop $3 - StrCpy $2 0 - System::Call "*(i, i, i, i, i, i, i, i, i) i \ - (0, 0, 0, 0, 0, r3, ${NSIS_MAX_STRLEN}) .r1" - loop: StrCmp $2 $6 done - System::Call "User32::SendMessageA(i, i, i, i) i \ - ($0, ${LVM_GETITEMTEXT}, $2, r1)" - System::Call "*$3(&t${NSIS_MAX_STRLEN} .r4)" - FileWrite $5 "$4$\r$\n" - IntOp $2 $2 + 1 - Goto loop - done: - FileClose $5 - System::Free $1 - System::Free $3 - Goto exit - error: - MessageBox MB_OK error - exit: - Pop $6 - Pop $4 - Pop $3 - Pop $2 - Pop $1 - Pop $0 - Exch $5 -FunctionEnd +!define LVM_GETITEMCOUNT 0x1004 +!define LVM_GETITEMTEXT 0x102D + +Function DumpLog + Exch $5 + Push $0 + Push $1 + Push $2 + Push $3 + Push $4 + Push $6 + + FindWindow $0 "#32770" "" $HWNDPARENT + GetDlgItem $0 $0 1016 + StrCmp $0 0 error + FileOpen $5 $5 "w" + StrCmp $5 0 error + SendMessage $0 ${LVM_GETITEMCOUNT} 0 0 $6 + System::Alloc ${NSIS_MAX_STRLEN} + Pop $3 + StrCpy $2 0 + System::Call "*(i, i, i, i, i, i, i, i, i) i \ + (0, 0, 0, 0, 0, r3, ${NSIS_MAX_STRLEN}) .r1" + loop: StrCmp $2 $6 done + System::Call "User32::SendMessageA(i, i, i, i) i \ + ($0, ${LVM_GETITEMTEXT}, $2, r1)" + System::Call "*$3(&t${NSIS_MAX_STRLEN} .r4)" + FileWrite $5 "$4$\r$\n" + IntOp $2 $2 + 1 + Goto loop + done: + FileClose $5 + System::Free $1 + System::Free $3 + Goto exit + error: + MessageBox MB_OK error + exit: + Pop $6 + Pop $4 + Pop $3 + Pop $2 + Pop $1 + Pop $0 + Exch $5 +FunctionEnd diff --git a/bacula/src/win32/installer/InstallType.ini b/bacula/src/win32/installer/InstallType.ini index 2993a3ac45..62c88cf6da 100644 --- a/bacula/src/win32/installer/InstallType.ini +++ b/bacula/src/win32/installer/InstallType.ini @@ -1,51 +1,51 @@ -[Settings] -NumFields=6 - -[Field 1] -Type=Label -Text=This is a new installation. Please choose the installation type. -Left=0 -Right=300 -Top=0 -Bottom=28 - -[Field 2] -Type=GroupBox -Text=Installation Type -Left=0 -Right=300 -Top=32 -Bottom=136 - -[Field 3] -Type=RadioButton -Text=Automatic -State=1 -Left=6 -Right=52 -Top=44 -Bottom=54 - -[Field 4] -Type=RadioButton -Text=Custom -Left=6 -Right=44 -Top=90 -Bottom=100 - -[Field 5] -Type=Label -Text=The software will be installed in the default directory "Program Files\\Bacula". The configuration files will be generated using defaults applicable to most installations. -Left=17 -Right=295 -Top=58 -Bottom=86 - -[Field 6] -Type=Label -Text=You may choose the installation directory. The configuration defaults will be displayed and you will be given the chance to make changes before the configuration files are written. -Left=17 -Right=295 -Top=104 -Bottom=132 +[Settings] +NumFields=6 + +[Field 1] +Type=Label +Text=This is a new installation. Please choose the installation type. +Left=0 +Right=300 +Top=0 +Bottom=28 + +[Field 2] +Type=GroupBox +Text=Installation Type +Left=0 +Right=300 +Top=32 +Bottom=136 + +[Field 3] +Type=RadioButton +Text=Automatic +State=1 +Left=6 +Right=52 +Top=44 +Bottom=54 + +[Field 4] +Type=RadioButton +Text=Custom +Left=6 +Right=44 +Top=90 +Bottom=100 + +[Field 5] +Type=Label +Text=The software will be installed in the default directory "Program Files\\Bacula". The configuration files will be generated using defaults applicable to most installations. +Left=17 +Right=295 +Top=58 +Bottom=86 + +[Field 6] +Type=Label +Text=You may choose the installation directory. The configuration defaults will be displayed and you will be given the chance to make changes before the configuration files are written. +Left=17 +Right=295 +Top=104 +Bottom=132 diff --git a/bacula/src/win32/installer/InstallType.nsh b/bacula/src/win32/installer/InstallType.nsh index 1c7f5bbf4a..0a0f902532 100644 --- a/bacula/src/win32/installer/InstallType.nsh +++ b/bacula/src/win32/installer/InstallType.nsh @@ -1,98 +1,98 @@ -Function EnterInstallType - Push $R0 - Push $R1 - Push $R2 - - ; Check if this is an upgrade by looking for an uninstaller configured - ; in the registry. - ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "UninstallString" - - ${If} "$R0" != "" - ; Check registry for new installer - ReadRegStr $R1 HKLM "Software\Bacula" "InstallLocation" - ${If} "$R1" != "" - ; New Installer - StrCpy $OldInstallDir $R1 - StrCpy $InstallType ${UpgradeInstall} - - SetShellVarContext all - - StrCpy $R1 "$APPDATA\Bacula" - StrCpy $R2 "$INSTDIR\Doc" - - ReadRegDWORD $PreviousComponents HKLM "Software\Bacula" "Components" - - WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 1" "Text" "A previous installation has been found in $OldInstallDir. Please choose the installation type for any additional components you select." - WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 5" "Text" "The configuration files for additional components will be generated using defaults applicable to most installations." - WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 6" "Text" "The configuration defaults for additional components will be displayed and you will be given the chance to make changes before the configuration files are written." - - ReadRegDWORD $ConfigDirectorDB HKLM Software\Bacula Database - - ${If} $ConfigDirectorDB = 0 - IntOp $R0 $PreviousComponents & ${ComponentDirector} - ${If} $R0 <> 0 - StrCpy $ConfigDirectorDB 1 - ${EndIf} - ${EndIf} - ${Else} - ; Processing Upgrade - Get Install Directory - ${StrRep} $R0 $R0 '"' '' - ${GetParent} $R0 $OldInstallDir - - ; Old Installer - StrCpy $InstallType ${MigrateInstall} - StrCpy $R1 "$OldInstallDir\bin" - StrCpy $R2 "$OldInstallDir\Doc" - - WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 1" "Text" "An old installation has been found in $OldInstallDir. The Configuration will be migrated. Please choose the installation type for any additional components you select." - WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 5" "Text" "The software will be installed in the default directory $\"$PROGRAMFILES\Bacula$\". The configuration files for additional components will be generated using defaults applicable to most installations." - WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 6" "Text" "You may choose the installation directory. The configuration defaults will be displayed and you will be given the chance to make changes before the configuration files are written." - ${EndIf} - ${Else} - ; New Install - StrCpy $InstallType ${NewInstall} - WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 5" "Text" "The software will be installed in the default directory $\"$PROGRAMFILES\Bacula$\". The configuration files will be generated using defaults applicable to most installations." - ${EndIf} - - ${If} $InstallType <> ${NewInstall} - ${AndIf} $PreviousComponents = 0 - ${If} ${FileExists} "$R1\bacula-fd.conf" - IntOp $PreviousComponents $PreviousComponents | ${ComponentFile} - ${EndIf} - ${If} ${FileExists} "$R1\bconsole.conf" - IntOp $PreviousComponents $PreviousComponents | ${ComponentTextConsole} - ${EndIf} - ${If} ${FileExists} "$R1\wx-console.conf" - IntOp $PreviousComponents $PreviousComponents | ${ComponentGUIConsole} - ${EndIf} - ${If} ${FileExists} "$R2\bacula.pdf" - IntOp $PreviousComponents $PreviousComponents | ${ComponentPDFDocs} - ${EndIf} - ${If} ${FileExists} "$R2\bacula\bacula.html" - IntOp $PreviousComponents $PreviousComponents | ${ComponentHTMLDocs} - ${EndIf} - ${If} ${FileExists} "$R2\bacula.html" - IntOp $PreviousComponents $PreviousComponents | ${ComponentHTMLDocs} - ${EndIf} - ${EndIf} - - !InsertMacro MUI_HEADER_TEXT "$(TITLE_InstallType)" "$(SUBTITLE_InstallType)" - !InsertMacro MUI_INSTALLOPTIONS_INITDIALOG "InstallType.ini" - Pop $HDLG ;HWND of dialog - - !insertmacro MUI_INSTALLOPTIONS_SHOW - - ; Process Results - - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "InstallType.ini" "Field 3" "State" - - ${If} $R0 = 1 - StrCpy $AutomaticInstall 1 - ${Else} - StrCpy $AutomaticInstall 0 - ${EndIf} - - Pop $R2 - Pop $R1 - Pop $R0 -FunctionEnd +Function EnterInstallType + Push $R0 + Push $R1 + Push $R2 + + ; Check if this is an upgrade by looking for an uninstaller configured + ; in the registry. + ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "UninstallString" + + ${If} "$R0" != "" + ; Check registry for new installer + ReadRegStr $R1 HKLM "Software\Bacula" "InstallLocation" + ${If} "$R1" != "" + ; New Installer + StrCpy $OldInstallDir $R1 + StrCpy $InstallType ${UpgradeInstall} + + SetShellVarContext all + + StrCpy $R1 "$APPDATA\Bacula" + StrCpy $R2 "$INSTDIR\Doc" + + ReadRegDWORD $PreviousComponents HKLM "Software\Bacula" "Components" + + WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 1" "Text" "A previous installation has been found in $OldInstallDir. Please choose the installation type for any additional components you select." + WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 5" "Text" "The configuration files for additional components will be generated using defaults applicable to most installations." + WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 6" "Text" "The configuration defaults for additional components will be displayed and you will be given the chance to make changes before the configuration files are written." + + ReadRegDWORD $ConfigDirectorDB HKLM Software\Bacula Database + + ${If} $ConfigDirectorDB = 0 + IntOp $R0 $PreviousComponents & ${ComponentDirector} + ${If} $R0 <> 0 + StrCpy $ConfigDirectorDB 1 + ${EndIf} + ${EndIf} + ${Else} + ; Processing Upgrade - Get Install Directory + ${StrRep} $R0 $R0 '"' '' + ${GetParent} $R0 $OldInstallDir + + ; Old Installer + StrCpy $InstallType ${MigrateInstall} + StrCpy $R1 "$OldInstallDir\bin" + StrCpy $R2 "$OldInstallDir\Doc" + + WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 1" "Text" "An old installation has been found in $OldInstallDir. The Configuration will be migrated. Please choose the installation type for any additional components you select." + WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 5" "Text" "The software will be installed in the default directory $\"$PROGRAMFILES\Bacula$\". The configuration files for additional components will be generated using defaults applicable to most installations." + WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 6" "Text" "You may choose the installation directory. The configuration defaults will be displayed and you will be given the chance to make changes before the configuration files are written." + ${EndIf} + ${Else} + ; New Install + StrCpy $InstallType ${NewInstall} + WriteINIStr "$PLUGINSDIR\InstallType.ini" "Field 5" "Text" "The software will be installed in the default directory $\"$PROGRAMFILES\Bacula$\". The configuration files will be generated using defaults applicable to most installations." + ${EndIf} + + ${If} $InstallType <> ${NewInstall} + ${AndIf} $PreviousComponents = 0 + ${If} ${FileExists} "$R1\bacula-fd.conf" + IntOp $PreviousComponents $PreviousComponents | ${ComponentFile} + ${EndIf} + ${If} ${FileExists} "$R1\bconsole.conf" + IntOp $PreviousComponents $PreviousComponents | ${ComponentTextConsole} + ${EndIf} + ${If} ${FileExists} "$R1\wx-console.conf" + IntOp $PreviousComponents $PreviousComponents | ${ComponentGUIConsole} + ${EndIf} + ${If} ${FileExists} "$R2\bacula.pdf" + IntOp $PreviousComponents $PreviousComponents | ${ComponentPDFDocs} + ${EndIf} + ${If} ${FileExists} "$R2\bacula\bacula.html" + IntOp $PreviousComponents $PreviousComponents | ${ComponentHTMLDocs} + ${EndIf} + ${If} ${FileExists} "$R2\bacula.html" + IntOp $PreviousComponents $PreviousComponents | ${ComponentHTMLDocs} + ${EndIf} + ${EndIf} + + !InsertMacro MUI_HEADER_TEXT "$(TITLE_InstallType)" "$(SUBTITLE_InstallType)" + !InsertMacro MUI_INSTALLOPTIONS_INITDIALOG "InstallType.ini" + Pop $HDLG ;HWND of dialog + + !insertmacro MUI_INSTALLOPTIONS_SHOW + + ; Process Results + + !insertmacro MUI_INSTALLOPTIONS_READ $R0 "InstallType.ini" "Field 3" "State" + + ${If} $R0 = 1 + StrCpy $AutomaticInstall 1 + ${Else} + StrCpy $AutomaticInstall 0 + ${EndIf} + + Pop $R2 + Pop $R1 + Pop $R0 +FunctionEnd diff --git a/bacula/src/win32/installer/Start.bat b/bacula/src/win32/installer/Start.bat index 848470b1ef..0b61f7ec1d 100644 --- a/bacula/src/win32/installer/Start.bat +++ b/bacula/src/win32/installer/Start.bat @@ -1,5 +1,5 @@ -rem -rem Bacula start file for Win95/98/Me -rem -cd c:\bacula\bin -c:\bacula\bin\bacula-fd.exe /service -c c:\bacula\bin\bacula-fd.conf +rem +rem Bacula start file for Win95/98/Me +rem +cd c:\bacula\bin +c:\bacula\bin\bacula-fd.exe /service -c c:\bacula\bin\bacula-fd.conf diff --git a/bacula/src/win32/installer/Stop.bat b/bacula/src/win32/installer/Stop.bat index 4071e9d3ed..3b1d0e5b91 100644 --- a/bacula/src/win32/installer/Stop.bat +++ b/bacula/src/win32/installer/Stop.bat @@ -1,5 +1,5 @@ -rem -rem Bacula stop file for Win95/98/Me -rem -cd c:\bacula\bin -c:\bacula\bin\bacula-fd.exe /kill +rem +rem Bacula stop file for Win95/98/Me +rem +cd c:\bacula\bin +c:\bacula\bin\bacula-fd.exe /kill diff --git a/bacula/src/win32/installer/WriteTemplates.ini b/bacula/src/win32/installer/WriteTemplates.ini index da921be2a7..c3c0aad8c6 100644 --- a/bacula/src/win32/installer/WriteTemplates.ini +++ b/bacula/src/win32/installer/WriteTemplates.ini @@ -1,48 +1,48 @@ -[Settings] -NumFields=5 -CancelEnabled=0 -BackEnabled=0 - -[Field 1] -Type="Label" -Text="Templates of the Client and Storage resources can be generated that are customized with the information about this system. These templates can then be copied to the Director computer and included in the Director's configuration file." -Left=7 -Right=293 -Top=6 -Bottom=32 - -[Field 2] -Type="CheckBox" -Text="Client" -Left=6 -Right=40 -Top=38 -Bottom=48 - -[Field 3] -Type="FileRequest" -State="Client.conf" -Flags= -Filter=Configuration Files|*.conf|All Files|*.* -Left=16 -Right=288 -Top=50 -Bottom=62 - -[Field 4] -Type="CheckBox" -Text="Storage" -Left=6 -Right=48 -Top=70 -Bottom=80 - -[Field 5] -Type="FileRequest" -State="Storage.conf" -Flags=REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST -Filter=Configuration Files|*.conf|All Files|*.* -Left=16 -Right=288 -Top=82 -Bottom=94 +[Settings] +NumFields=5 +CancelEnabled=0 +BackEnabled=0 + +[Field 1] +Type="Label" +Text="Templates of the Client and Storage resources can be generated that are customized with the information about this system. These templates can then be copied to the Director computer and included in the Director's configuration file." +Left=7 +Right=293 +Top=6 +Bottom=32 + +[Field 2] +Type="CheckBox" +Text="Client" +Left=6 +Right=40 +Top=38 +Bottom=48 + +[Field 3] +Type="FileRequest" +State="Client.conf" +Flags= +Filter=Configuration Files|*.conf|All Files|*.* +Left=16 +Right=288 +Top=50 +Bottom=62 + +[Field 4] +Type="CheckBox" +Text="Storage" +Left=6 +Right=48 +Top=70 +Bottom=80 + +[Field 5] +Type="FileRequest" +State="Storage.conf" +Flags=REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST +Filter=Configuration Files|*.conf|All Files|*.* +Left=16 +Right=288 +Top=82 +Bottom=94 diff --git a/bacula/src/win32/installer/bacula-dir.conf.in b/bacula/src/win32/installer/bacula-dir.conf.in index 91bfe65fe7..cc809edfd2 100644 --- a/bacula/src/win32/installer/bacula-dir.conf.in +++ b/bacula/src/win32/installer/bacula-dir.conf.in @@ -1,378 +1,378 @@ -# -# Default Bacula Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@ @DISTVER@ -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @director_name@ - DIRport = @director_port@ # where we listen for UA connections - QueryFile = "@bin_dir@\\query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@working_dir@" - Maximum Concurrent Jobs = @director_maxjobs@ - Password = "@director_password@" # Console password - Messages = Daemon -} - -JobDefs { - Name = "DefaultJob" - Type = Backup - Level = Incremental - Client = @client_name@ - FileSet = "Test Set" - Schedule = "WeeklyCycle" - Storage = File - Messages = Standard - Pool = Default - Priority = 10 -} - - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in C:/tmp -Job { - Name = "Client1" - JobDefs = "DefaultJob" - Write Bootstrap = "@working_dir@\\Client1.bsr" -} - -#Job { -# Name = "Client2" -# Client = @client_name@2 -# JobDefs = "DefaultJob" -# Write Bootstrap = "@working_dir@\\Client2.bsr" -#} - -# Backup the catalog database (after the nightly save) -Job { - Name = "BackupCatalog" - JobDefs = "DefaultJob" - Level = Full - FileSet="Catalog" - Schedule = "WeeklyCycleAfterBackup" - # This creates an ASCII copy of the catalog - RunBeforeJob = "\"@bin_dir@\\make_catalog_backup\" bacula bacula" - # This deletes the copy of the catalog - RunAfterJob = "\"@bin_dir@\\delete_catalog_backup\"" - Write Bootstrap = "@working_dir@\\BackupCatalog.bsr" - Priority = 11 # run after main backup -} - -# -# Standard Restore template, to be changed by Console program -# Only one such job is needed for all Jobs/Clients/Storage ... -# -Job { - Name = "RestoreFiles" - Type = Restore - Client=@client_name@ - FileSet="Test Set" - Storage = File - Pool = Default - Messages = Standard - Where = "C:\\tmp\\bacula-restores" -} - -# -# Note: Windows path separators do NOT work correctly in FileSets. -# -# List of files to be backed up -FileSet { - Name = "Test Set" - Include { - Options { - signature = MD5 - ignore case = yes - } -# -# Put your list of files here, preceded by 'File =', one per line -# or include an external list with: -# -# File = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/installer/storage.conf.in b/bacula/src/win32/installer/storage.conf.in index a1490b1170..5928815c5c 100644 --- a/bacula/src/win32/installer/storage.conf.in +++ b/bacula/src/win32/installer/storage.conf.in @@ -1,10 +1,10 @@ -# Definition of file storage device -Storage { - Name = File -# Do not use "localhost" here - Address = @storage_address@ # N.B. Use a fully qualified name here - SDPort = @storage_port@ - Password = "@storage_password@" - Device = FileStorage - Media Type = File -} +# Definition of file storage device +Storage { + Name = File +# Do not use "localhost" here + Address = @storage_address@ # N.B. Use a fully qualified name here + SDPort = @storage_port@ + Password = "@storage_password@" + Device = FileStorage + Media Type = File +} diff --git a/bacula/src/win32/installer/winbacula.nsi b/bacula/src/win32/installer/winbacula.nsi index b71984c506..7d1179c05d 100644 --- a/bacula/src/win32/installer/winbacula.nsi +++ b/bacula/src/win32/installer/winbacula.nsi @@ -1,1387 +1,1387 @@ -; winbacula.nsi -; -; Began as a version written by Michel Meyers (michel@tcnnet.dyndns.org) -; -; Adapted by Kern Sibbald for native Win32 Bacula -; added a number of elements from Christopher Hull's installer -; -; D. Scott Barninger Nov 13 2004 -; added configuration editing for bconsole.conf and wx-console.conf -; better explanation in dialog boxes for editing config files -; added Start Menu items -; fix uninstall of config files to do all not just bacula-fd.conf -; -; D. Scott Barninger Dec 05 2004 -; added specification of default permissions for bacula-fd.conf -; - thanks to Jamie Ffolliott for pointing me at cacls -; added removal of working-dir files if user selects to remove config -; uninstall is now 100% clean -; -; D. Scott Barninger Apr 17 2005 -; 1.36.3 release docs update -; add pdf manual and menu shortcut -; -; Robert Nelson May 15 2006 -; Pretty much rewritten -; Use LogicLib.nsh -; Added Bacula-SD and Bacula-DIR -; Replaced ParameterGiven with standard GetOptions - -; -; Command line options: -; -; /service - -; /start - -!define PRODUCT "Bacula" - -; -; Include the Modern UI -; - -!include "MUI.nsh" -!include "LogicLib.nsh" -!include "FileFunc.nsh" -!include "Sections.nsh" -!include "StrFunc.nsh" -!include "WinMessages.nsh" -; -; Basics -; -Name "Bacula" -OutFile "${OUT_DIR}\winbacula-${VERSION}.exe" -SetCompressor lzma -InstallDir "$PROGRAMFILES\Bacula" -InstallDirRegKey HKLM "Software\Bacula" "InstallLocation" - -InstType "Client" -InstType "Server" -InstType "Full" - -!insertmacro GetParent - -${StrCase} -${StrRep} -${StrTok} -${StrTrimNewLines} - -; -; Pull in pages -; - -!define MUI_COMPONENTSPAGE_SMALLDESC - -!define MUI_HEADERIMAGE -!define MUI_BGCOLOR 739AB9 -!define MUI_HEADERIMAGE_BITMAP "bacula-logo.bmp" - -!InsertMacro MUI_PAGE_WELCOME -; !InsertMacro MUI_PAGE_LICENSE "..\..\LICENSE" -Page custom EnterInstallType -!define MUI_PAGE_CUSTOMFUNCTION_SHOW PageComponentsShow -!InsertMacro MUI_PAGE_COMPONENTS -!define MUI_PAGE_CUSTOMFUNCTION_PRE PageDirectoryPre -!InsertMacro MUI_PAGE_DIRECTORY -Page custom EnterConfigPage1 LeaveConfigPage1 -Page custom EnterConfigPage2 LeaveConfigPage2 -!Define MUI_PAGE_CUSTOMFUNCTION_LEAVE LeaveInstallPage -!InsertMacro MUI_PAGE_INSTFILES -Page custom EnterWriteTemplates -!Define MUI_FINISHPAGE_SHOWREADME $INSTDIR\Readme.txt -!InsertMacro MUI_PAGE_FINISH - -!InsertMacro MUI_UNPAGE_WELCOME -!InsertMacro MUI_UNPAGE_CONFIRM -!InsertMacro MUI_UNPAGE_INSTFILES -!InsertMacro MUI_UNPAGE_FINISH - -!define MUI_ABORTWARNING - -!InsertMacro MUI_LANGUAGE "English" - -!InsertMacro GetParameters -!InsertMacro GetOptions - -DirText "Setup will install Bacula ${VERSION} to the directory specified below. To install in a different folder, click Browse and select another folder." - -!InsertMacro MUI_RESERVEFILE_INSTALLOPTIONS -; -; Global Variables -; -Var OptService -Var OptStart -Var OptSilent - -Var CommonFilesDone - -Var OsIsNT - -Var HostName - -Var ConfigClientName -Var ConfigClientPort -Var ConfigClientMaxJobs -Var ConfigClientPassword -Var ConfigClientInstallService -Var ConfigClientStartService - -Var ConfigStorageName -Var ConfigStoragePort -Var ConfigStorageMaxJobs -Var ConfigStoragePassword -Var ConfigStorageInstallService -Var ConfigStorageStartService - -Var ConfigDirectorName -Var ConfigDirectorPort -Var ConfigDirectorMaxJobs -Var ConfigDirectorPassword -Var ConfigDirectorAddress -Var ConfigDirectorMailServer -Var ConfigDirectorMailAddress -Var ConfigDirectorDB -Var ConfigDirectorInstallService -Var ConfigDirectorStartService - -Var ConfigMonitorName -Var ConfigMonitorPassword - -Var LocalDirectorPassword -Var LocalHostAddress - -Var MySQLPath -Var MySQLVersion -Var PostgreSQLPath -Var PostgreSQLVersion - -Var AutomaticInstall -Var InstallType -!define NewInstall 0 -!define UpgradeInstall 1 -!define MigrateInstall 2 - -Var OldInstallDir -Var PreviousComponents -Var NewComponents - -; Bit 0 = File Service -; 1 = Storage Service -; 2 = Director Service -; 3 = Command Console -; 4 = Graphical Console -; 5 = Documentation (PDF) -; 6 = Documentation (HTML) - -!define ComponentFile 1 -!define ComponentStorage 2 -!define ComponentDirector 4 -!define ComponentTextConsole 8 -!define ComponentGUIConsole 16 -!define ComponentPDFDocs 32 -!define ComponentHTMLDocs 64 - -!define ComponentsRequiringUserConfig 31 -!define ComponentsFileAndStorage 3 -!define ComponentsFileAndStorageAndDirector 7 -!define ComponentsDirectorAndTextGuiConsoles 28 -!define ComponentsTextAndGuiConsoles 24 - -Var HDLG -Var HCTL - -Function .onInit - Push $R0 - Push $R1 - - ; Process Command Line Options - StrCpy $OptService 1 - StrCpy $OptStart 1 - StrCpy $OptSilent 0 - StrCpy $CommonFilesDone 0 - StrCpy $OsIsNT 0 - StrCpy $AutomaticInstall 0 - StrCpy $InstallType ${NewInstall} - StrCpy $OldInstallDir "" - StrCpy $PreviousComponents 0 - StrCpy $NewComponents 0 - StrCpy $MySQLPath "" - StrCpy $MySQLVersion "" - StrCpy $PostgreSQLPath "" - StrCpy $PostgreSQLVersion "" - - ${GetParameters} $R0 - - ClearErrors - ${GetOptions} $R0 "/noservice" $R1 - IfErrors +2 - StrCpy $OptService 0 - - ClearErrors - ${GetOptions} $R0 "/nostart" $R1 - IfErrors +2 - StrCpy $OptStart 0 - - IfSilent 0 +2 - StrCpy $OptSilent 1 - - ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion - ${If} $R0 != "" - StrCpy $OsIsNT 1 - ${EndIf} - - Call GetComputerName - Pop $HostName - - Call GetHostName - Pop $LocalHostAddress - - Call GetUserName - Pop $ConfigDirectorMailAddress - - Call FindDatabaseApps - - ; Configuration Defaults - - StrCpy $ConfigClientName "$HostName-fd" - StrCpy $ConfigClientPort 9102 - StrCpy $ConfigClientMaxJobs 2 - ;StrCpy $ConfigClientPassword - StrCpy $ConfigClientInstallService "$OptService" - StrCpy $ConfigClientStartService "$OptStart" - - StrCpy $ConfigStorageName "$HostName-sd" - StrCpy $ConfigStoragePort 9103 - StrCpy $ConfigStorageMaxJobs 10 - ;StrCpy $ConfigStoragePassword - StrCpy $ConfigStorageInstallService "$OptService" - StrCpy $ConfigStorageStartService "$OptStart" - - ;StrCpy $ConfigDirectorName "$HostName-dir" - StrCpy $ConfigDirectorPort 9101 - StrCpy $ConfigDirectorMaxJobs 1 - ;StrCpy $ConfigDirectorPassword - StrCpy $ConfigDirectorDB 0 - StrCpy $ConfigDirectorInstallService "$OptService" - StrCpy $ConfigDirectorStartService "$OptStart" - - StrCpy $ConfigMonitorName "$HostName-mon" - ;StrCpy $ConfigMonitorPassword - - InitPluginsDir - File "/oname=$PLUGINSDIR\openssl.exe" "${SRC_DIR}\openssl.exe" - File "/oname=$PLUGINSDIR\libeay32.dll" "${SRC_DIR}\libeay32.dll" - File "/oname=$PLUGINSDIR\ssleay32.dll" "${SRC_DIR}\ssleay32.dll" - File "/oname=$PLUGINSDIR\sed.exe" "${SRC_DIR}\sed.exe" - - !InsertMacro MUI_INSTALLOPTIONS_EXTRACT "InstallType.ini" - !InsertMacro MUI_INSTALLOPTIONS_EXTRACT "WriteTemplates.ini" - - SetPluginUnload alwaysoff - - nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33' - pop $R0 - ${If} $R0 = 0 - FileOpen $R1 "$PLUGINSDIR\pw.txt" r - IfErrors +4 - FileRead $R1 $R0 - ${StrTrimNewLines} $ConfigClientPassword $R0 - FileClose $R1 - ${EndIf} - - nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33' - pop $R0 - ${If} $R0 = 0 - FileOpen $R1 "$PLUGINSDIR\pw.txt" r - IfErrors +4 - FileRead $R1 $R0 - ${StrTrimNewLines} $ConfigStoragePassword $R0 - FileClose $R1 - ${EndIf} - - nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33' - pop $R0 - ${If} $R0 = 0 - FileOpen $R1 "$PLUGINSDIR\pw.txt" r - IfErrors +4 - FileRead $R1 $R0 - ${StrTrimNewLines} $LocalDirectorPassword $R0 - FileClose $R1 - ${EndIf} - - SetPluginUnload manual - - nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33' - pop $R0 - ${If} $R0 = 0 - FileOpen $R1 "$PLUGINSDIR\pw.txt" r - IfErrors +4 - FileRead $R1 $R0 - ${StrTrimNewLines} $ConfigMonitorPassword $R0 - FileClose $R1 - ${EndIf} - - Pop $R1 - Pop $R0 -FunctionEnd - -Function .onSelChange - Call UpdateComponentUI -FunctionEnd - -Function InstallCommonFiles - ${If} $CommonFilesDone = 0 - SetOutPath "$INSTDIR" - File "Readme.txt" - - SetOutPath "$INSTDIR\bin" -!if "${BUILD_TOOLS}" == "VC8" - File "${SRC_DIR}\msvcm80.dll" - File "${SRC_DIR}\msvcp80.dll" - File "${SRC_DIR}\msvcr80.dll" - File "${SRC_DIR}\Microsoft.VC80.CRT.manifest" - File "${SRC_DIR}\pthreadVCE.dll" -!endif -!if "${BUILD_TOOLS}" == "VC8_DEBUG" - File "${SRC_DIR}\msvcm80.dll" - File "${SRC_DIR}\msvcp80.dll" - File "${SRC_DIR}\msvcr80.dll" - File "${SRC_DIR}\Microsoft.VC80.CRT.manifest" - File "${SRC_DIR}\msvcm80d.dll" - File "${SRC_DIR}\msvcp80d.dll" - File "${SRC_DIR}\msvcr80d.dll" - File "${SRC_DIR}\Microsoft.VC80.DebugCRT.manifest" - File "${SRC_DIR}\pthreadVCE.dll" -!endif -!if "${BUILD_TOOLS}" == "MinGW" - File "${SRC_DIR}\mingwm10.dll" - File "${SRC_DIR}\pthreadGCE.dll" -!endif - File "${SRC_DIR}\libeay32.dll" - File "${SRC_DIR}\ssleay32.dll" - File "${SRC_DIR}\zlib1.dll" -!if "${BUILD_TOOLS}" == "VC8" - File "${SRC_DIR}\zlib1.dll.manifest" -!endif -!If "${BUILD_TOOLS}" == "VC8_DEBUG" - File "${SRC_DIR}\zlib1.dll.manifest" -!endif - File "/oname=$INSTDIR\openssl.cnf" "${SRC_DIR}\openssl.cnf" - File "${SRC_DIR}\openssl.exe" - File "${SRC_DIR}\bsleep.exe" - File "${SRC_DIR}\bsmtp.exe" - File "${SRC_DIR}\bacula.dll" - File "${SRC_DIR}\expr64.exe" - File "${SRC_DIR}\snooze.exe" - - CreateShortCut "$SMPROGRAMS\Bacula\Documentation\View Readme.lnk" "write.exe" '"$INSTDIR\Readme.txt"' - - StrCpy $CommonFilesDone 1 - ${EndIf} -FunctionEnd - -Section "-Initialize" - ${If} $MySQLPath != "" - DetailPrint "Found MySQL (version $MySQLVersion)" - ${EndIf} - ${If} $PostgreSQLPath != "" - DetailPrint "Found PostgreSQL (version $PostgreSQLVersion)" - ${EndIf} - - WriteRegStr HKLM Software\Bacula InstallLocation "$INSTDIR" - - Call GetSelectedComponents - Pop $R2 - WriteRegDWORD HKLM Software\Bacula Components $R2 - - WriteRegDWORD HKLM Software\Bacula Database $ConfigDirectorDB - - ; remove start menu items - SetShellVarContext all - - Delete /REBOOTOK "$SMPROGRAMS\Bacula\Configuration\*" - Delete /REBOOTOK "$SMPROGRAMS\Bacula\Documentation\*" - Delete /REBOOTOK "$SMPROGRAMS\Bacula\*" - RMDir "$SMPROGRAMS\Bacula\Configuration" - RMDir "$SMPROGRAMS\Bacula\Documentation" - RMDir "$SMPROGRAMS\Bacula" - CreateDirectory "$SMPROGRAMS\Bacula" - CreateDirectory "$SMPROGRAMS\Bacula\Configuration" - CreateDirectory "$SMPROGRAMS\Bacula\Documentation" - - CreateDirectory "$INSTDIR" - CreateDirectory "$INSTDIR\bin" - CreateDirectory "$APPDATA\Bacula" - CreateDirectory "$APPDATA\Bacula\Work" - CreateDirectory "$APPDATA\Bacula\Spool" - - File "..\..\..\LICENSE" - Delete /REBOOTOK "$INSTDIR\bin\License.txt" - - FileOpen $R1 $PLUGINSDIR\config.sed w - FileWrite $R1 "s;@VERSION@;${VERSION};g$\r$\n" - FileWrite $R1 "s;@DATE@;${__DATE__};g$\r$\n" - FileWrite $R1 "s;@DISTNAME@;Windows;g$\r$\n" - -!If "$BUILD_TOOLS" == "MinGW" - StrCpy $R2 "MinGW32" -!Else - StrCpy $R2 "MVS" -!EndIf - - Call GetHostName - Exch $R3 - Pop $R3 - - FileWrite $R1 "s;@DISTVER@;$R2;g$\r$\n" - - ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\\\" - FileWrite $R1 's;@working_dir@;$R2;g$\r$\n' - ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\" - FileWrite $R1 's;@working_dir_cmd@;$R2;g$\r$\n' - - ${StrRep} $R2 "$INSTDIR\bin" "\" "\\\\" - FileWrite $R1 's;@bin_dir@;$R2;g$\r$\n' - ${StrRep} $R2 "$INSTDIR\bin" "\" "\\" - FileWrite $R1 's;@bin_dir_cmd@;$R2;g$\r$\n' - - ${StrRep} $R2 "$INSTDIR" "\" "/" - FileWrite $R1 "s;@BUILD_DIR@;$R2;g$\r$\n" - - Call IsDirectorSelected - Pop $R2 - ${If} $R2 = 1 - FileWrite $R1 "s;@director_address@;$LocalHostAddress;g$\r$\n" - ${Else} - ${If} "$ConfigDirectorAddress" != "" - FileWrite $R1 "s;@director_address@;$ConfigDirectorAddress;g$\r$\n" - ${EndIf} - ${EndIf} - - FileWrite $R1 "s;@client_address@;$LocalHostAddress;g$\r$\n" - FileWrite $R1 "s;@storage_address@;$LocalHostAddress;g$\r$\n" - - ${If} "$ConfigClientName" != "" - FileWrite $R1 "s;@client_name@;$ConfigClientName;g$\r$\n" - ${EndIf} - ${If} "$ConfigClientPort" != "" - FileWrite $R1 "s;@client_port@;$ConfigClientPort;g$\r$\n" - ${EndIf} - ${If} "$ConfigClientMaxJobs" != "" - FileWrite $R1 "s;@client_maxjobs@;$ConfigClientMaxJobs;g$\r$\n" - ${EndIf} - ${If} "$ConfigClientPassword" != "" - FileWrite $R1 "s;@client_password@;$ConfigClientPassword;g$\r$\n" - ${EndIf} - ${If} "$ConfigStorageName" != "" - FileWrite $R1 "s;@storage_name@;$ConfigStorageName;g$\r$\n" - ${EndIf} - ${If} "$ConfigStoragePort" != "" - FileWrite $R1 "s;@storage_port@;$ConfigStoragePort;g$\r$\n" - ${EndIf} - ${If} "$ConfigStorageMaxJobs" != "" - FileWrite $R1 "s;@storage_maxjobs@;$ConfigStorageMaxJobs;g$\r$\n" - ${EndIf} - ${If} "$ConfigStoragePassword" != "" - FileWrite $R1 "s;@storage_password@;$ConfigStoragePassword;g$\r$\n" - ${EndIf} - ${If} "$ConfigDirectorName" != "" - FileWrite $R1 "s;@director_name@;$ConfigDirectorName;g$\r$\n" - ${EndIf} - ${If} "$ConfigDirectorPort" != "" - FileWrite $R1 "s;@director_port@;$ConfigDirectorPort;g$\r$\n" - ${EndIf} - ${If} "$ConfigDirectorMaxJobs" != "" - FileWrite $R1 "s;@director_maxjobs@;$ConfigDirectorMaxJobs;g$\r$\n" - ${EndIf} - ${If} "$ConfigDirectorPassword" != "" - FileWrite $R1 "s;@director_password@;$ConfigDirectorPassword;g$\r$\n" - ${EndIf} - ${If} "$ConfigDirectorMailServer" != "" - FileWrite $R1 "s;@smtp_host@;$ConfigDirectorMailServer;g$\r$\n" - ${EndIf} - ${If} "$ConfigDirectorMailAddress" != "" - FileWrite $R1 "s;@job_email@;$ConfigDirectorMailAddress;g$\r$\n" - ${EndIf} - ${If} "$ConfigMonitorName" != "" - FileWrite $R1 "s;@monitor_name@;$ConfigMonitorName;g$\r$\n" - ${EndIf} - ${If} "$ConfigMonitorPassword" != "" - FileWrite $R1 "s;@monitor_password@;$ConfigMonitorPassword;g$\r$\n" - ${EndIf} - - ${If} $ConfigDirectorDB = 1 - ${If} $MySQLPath != "" - ${StrRep} $R2 "$MySQLPath\bin" "\" "\\" - FileWrite $R1 "s;@SQL_BINDIR@;$R2;g$\r$\n" - ${EndIf} - ${ElseIf} $ConfigDirectorDB = 2 - ${If} $PostgreSQLPath != "" - ${StrRep} $R2 "$PostgreSQLPath\bin" "\" "\\" - FileWrite $R1 "s;@SQL_BINDIR@;$R2;g$\r$\n" - ${EndIf} - ${EndIf} - - FileClose $R1 - - ${If} $InstallType = ${MigrateInstall} - FileOpen $R1 $PLUGINSDIR\migrate.sed w - ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\\\" - FileWrite $R1 's;\(Working *Directory *= *\)[^ ][^ ]*.*$$;\1"$R2";$\r$\n' - FileWrite $R1 's;\(Pid *Directory *= *\)[^ ][^ ]*.*$$;\1"$R2";$\r$\n' - FileClose $R1 - ${EndIf} - - ${If} ${FileExists} "$OldInstallDir\bin\bacula-fd.exe" - nsExec::ExecToLog '"$OldInstallDir\bin\bacula-fd.exe" /kill' ; Shutdown any bacula that could be running - Sleep 3000 - nsExec::ExecToLog '"$OldInstallDir\bin\bacula-fd.exe" /remove' ; Remove existing service - ${EndIf} - - ${If} ${FileExists} "$OldInstallDir\bin\bacula-sd.exe" - nsExec::ExecToLog '"$OldInstallDir\bin\bacula-sd.exe" /kill' ; Shutdown any bacula that could be running - Sleep 3000 - nsExec::ExecToLog '"$OldInstallDir\bin\bacula-sd.exe" /remove' ; Remove existing service - ${EndIf} - - ${If} ${FileExists} "$OldInstallDir\bin\bacula-dir.exe" - nsExec::ExecToLog '"$OldInstallDir\bin\bacula-dir.exe" /kill' ; Shutdown any bacula that could be running - Sleep 3000 - nsExec::ExecToLog '"$OldInstallDir\bin\bacula-dir.exe" /remove' ; Remove existing service - ${EndIf} - -SectionEnd - -SectionGroup "Client" SecGroupClient - -Section "File Service" SecFileDaemon - SectionIn 1 2 3 - - SetOutPath "$INSTDIR\bin" - - File "${SRC_DIR}\bacula-fd.exe" - - ${If} $InstallType = ${MigrateInstall} - ${AndIf} ${FileExists} "$OldInstallDir\bin\bacula-fd.conf" - CopyFiles "$OldInstallDir\bin\bacula-fd.conf" "$APPDATA\Bacula" - nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\migrate.sed" -i.bak "$APPDATA\Bacula\bacula-fd.conf"' - ${Else} - File "/oname=$PLUGINSDIR\bacula-fd.conf" "bacula-fd.conf.in" - - StrCpy $0 "$APPDATA\Bacula" - StrCpy $1 bacula-fd.conf - Call ConfigEditAndCopy - ${EndIf} - - StrCpy $0 bacula-fd - StrCpy $1 "File Service" - StrCpy $2 $ConfigClientInstallService - StrCpy $3 $ConfigClientStartService - - Call InstallDaemon - - CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Client Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-fd.conf"' -SectionEnd - -SectionGroupEnd - -SectionGroup "Server" SecGroupServer - -Section "Storage Service" SecStorageDaemon - SectionIn 2 3 - - SetOutPath "$INSTDIR\bin" - - File "${SRC_DIR}\loaderinfo.exe" - File "${SRC_DIR}\mt.exe" - File "${SRC_DIR}\mtx.exe" - File "${SRC_DIR}\scsitape.exe" - File "${SRC_DIR}\tapeinfo.exe" - File "${SRC_DIR}\bacula-sd.exe" - File "${SRC_DIR}\bcopy.exe" - File "${SRC_DIR}\bextract.exe" - File "${SRC_DIR}\bls.exe" - File "${SRC_DIR}\bscan.exe" - File "${SRC_DIR}\btape.exe" - File "${SRC_DIR}\scsilist.exe" - File "${SRC_DIR}\mkisofs.exe" - File "${SRC_DIR}\growisofs.exe" - File "${SRC_DIR}\dvd-ram-control.exe" - File "${SRC_DIR}\dvd+rw-booktype.exe" - File "${SRC_DIR}\dvd+rw-format.exe" - File "${SRC_DIR}\dvd+rw-mediainfo.exe" - - File "/oname=$PLUGINSDIR\mtx-changer.cmd" "${SRC_DIR}\mtx-changer.cmd" - - StrCpy $0 "$INSTDIR\bin" - StrCpy $1 mtx-changer.cmd - Call ConfigEditAndCopy - - File "/oname=$PLUGINSDIR\disk-changer.cmd" "${SRC_DIR}\disk-changer.cmd" - - StrCpy $0 "$INSTDIR\bin" - StrCpy $1 disk-changer.cmd - Call ConfigEditAndCopy - - File "/oname=$PLUGINSDIR\dvd-handler.cmd" "${SRC_DIR}\dvd-handler.cmd" - - StrCpy $0 "$INSTDIR\bin" - StrCpy $1 dvd-handler.cmd - Call ConfigEditAndCopy - - File "/oname=$PLUGINSDIR\bacula-sd.conf" "bacula-sd.conf.in" - - StrCpy $0 "$APPDATA\Bacula" - StrCpy $1 bacula-sd.conf - Call ConfigEditAndCopy - - StrCpy $0 bacula-sd - StrCpy $1 "Storage Service" - StrCpy $2 $ConfigStorageInstallService - StrCpy $3 $ConfigStorageStartService - Call InstallDaemon - - CreateShortCut "$SMPROGRAMS\Bacula\Configuration\List Devices.lnk" "$INSTDIR\bin\scsilist.exe" "/pause" - CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Storage Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-sd.conf"' -SectionEnd - -Section "Director Service" SecDirectorDaemon - SectionIn 2 3 - - SetOutPath "$INSTDIR\bin" - - ${If} $ConfigDirectorDB = 1 - File /oname=bacula_cats.dll "${SRC_DIR}\cats_mysql.dll" - File "${SRC_DIR}\libmysql.dll" - File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_mysql_database.cmd - File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_mysql_database.cmd - File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_mysql_tables.cmd - File ${SRC_DIR}\make_mysql_tables.sql - File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_mysql_tables.cmd - File ${SRC_DIR}\drop_mysql_tables.sql - File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_mysql_privileges.cmd - File ${SRC_DIR}\grant_mysql_privileges.sql - File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_mysql_catalog_backup.cmd - ${ElseIf} $ConfigDirectorDB = 2 - File /oname=bacula_cats.dll "${SRC_DIR}\cats_postgresql.dll" - File "${SRC_DIR}\libpq.dll" -!if "${BUILD_TOOLS}" == "VC8" - File "${SRC_DIR}\comerr32.dll" - File "${SRC_DIR}\libintl-2.dll" - File "${SRC_DIR}\libiconv-2.dll" - File "${SRC_DIR}\krb5_32.dll" -!endif -!If "${BUILD_TOOLS}" == "VC8_DEBUG" - File "${SRC_DIR}\comerr32.dll" - File "${SRC_DIR}\libintl-2.dll" - File "${SRC_DIR}\libiconv-2.dll" - File "${SRC_DIR}\krb5_32.dll" -!endif - File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_postgresql_database.cmd - File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_postgresql_database.cmd - File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_postgresql_tables.cmd - File ${SRC_DIR}\make_postgresql_tables.sql - File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_postgresql_tables.cmd - File ${SRC_DIR}\drop_postgresql_tables.sql - File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_postgresql_privileges.cmd - File ${SRC_DIR}\grant_postgresql_privileges.sql - File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_postgresql_catalog_backup.cmd - ${ElseIf} $ConfigDirectorDB = 3 - File "${SRC_DIR}\sqlite3.exe" -!if "${BUILD_TOOLS}" == "VC8" - File "${SRC_DIR}\sqlite3.exe.manifest" -!endif -!If "${BUILD_TOOLS}" == "VC8_DEBUG" - File "${SRC_DIR}\sqlite3.exe.manifest" -!endif - File /oname=bacula_cats.dll "${SRC_DIR}\cats_sqlite3.dll" - File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_sqlite3_database.cmd - File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_sqlite3_database.cmd - File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_sqlite3_tables.cmd - File ${SRC_DIR}\make_sqlite3_tables.sql - File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_sqlite3_tables.cmd - File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_sqlite3_privileges.cmd - File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_sqlite3_catalog_backup.cmd - ${EndIf} - - File "${SRC_DIR}\bacula-dir.exe" - File "${SRC_DIR}\dbcheck.exe" - - File "/oname=$PLUGINSDIR\delete_catalog_backup.cmd" "${SRC_DIR}\delete_catalog_backup.cmd" - - StrCpy $0 "$INSTDIR\bin" - - StrCpy $1 create_database.cmd - Call ConfigEditAndCopy - - StrCpy $1 drop_database.cmd - Call ConfigEditAndCopy - - StrCpy $1 make_tables.cmd - Call ConfigEditAndCopy - - StrCpy $1 drop_tables.cmd - Call ConfigEditAndCopy - - StrCpy $1 grant_privileges.cmd - Call ConfigEditAndCopy - - StrCpy $1 make_catalog_backup.cmd - Call ConfigEditAndCopy - - StrCpy $1 delete_catalog_backup.cmd - Call ConfigEditAndCopy - - File "${SRC_DIR}\query.sql" - - File "/oname=$PLUGINSDIR\bacula-dir.conf" "bacula-dir.conf.in" - - StrCpy $0 "$APPDATA\Bacula" - StrCpy $1 bacula-dir.conf - Call ConfigEditAndCopy - - StrCpy $0 bacula-dir - StrCpy $1 "Director Service" - StrCpy $2 $ConfigDirectorInstallService - StrCpy $3 $ConfigDirectorStartService - Call InstallDaemon - - CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Director Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-dir.conf"' -SectionEnd - -SectionGroupEnd - -SectionGroup "Consoles" SecGroupConsoles - -Section "Command Console" SecConsole - SectionIn 1 2 3 - - SetOutPath "$INSTDIR\bin" - - File "${SRC_DIR}\bconsole.exe" - Call InstallCommonFiles - - ${If} $InstallType = ${MigrateInstall} - ${AndIf} ${FileExists} "$OldInstallDir\bin\bconsole.conf" - CopyFiles "$OldInstallDir\bin\bconsole.conf" "$APPDATA\Bacula" - ${Else} - File "/oname=$PLUGINSDIR\bconsole.conf" "bconsole.conf.in" - StrCpy $0 "$APPDATA\Bacula" - StrCpy $1 bconsole.conf - Call ConfigEditAndCopy - ${EndIf} - - CreateShortCut "$SMPROGRAMS\Bacula\bconsole.lnk" "$INSTDIR\bin\bconsole.exe" '-c "$APPDATA\Bacula\bconsole.conf"' "$INSTDIR\bin\bconsole.exe" 0 - CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Command Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bconsole.conf"' - -SectionEnd - -Section "Graphical Console" SecWxConsole - SectionIn 1 2 3 - - SetOutPath "$INSTDIR\bin" - - Call InstallCommonFiles -!if "${BUILD_TOOLS}" == "VC8" - File "${SRC_DIR}\wxbase270_vc_bacula.dll" - File "${SRC_DIR}\wxmsw270_core_vc_bacula.dll" -!endif -!If "${BUILD_TOOLS}" == "VC8_DEBUG" - File "${SRC_DIR}\wxbase270_vc_bacula.dll" - File "${SRC_DIR}\wxmsw270_core_vc_bacula.dll" -!endif -!if "${BUILD_TOOLS}" == "MinGW" - File "${SRC_DIR}\wxbase270_gcc_bacula.dll" - File "${SRC_DIR}\wxmsw270_core_gcc_bacula.dll" -!endif - - File "${SRC_DIR}\wx-console.exe" - - ${If} $InstallType = ${MigrateInstall} - ${AndIf} ${FileExists} "$OldInstallDir\bin\wx-console.conf" - CopyFiles "$OldInstallDir\bin\wx-console.conf" "$APPDATA\Bacula" - ${Else} - File "/oname=$PLUGINSDIR\wx-console.conf" "wx-console.conf.in" - StrCpy $0 "$APPDATA\Bacula" - StrCpy $1 wx-console.conf - Call ConfigEditAndCopy - ${EndIf} - - ; Create Start Menu entry - CreateShortCut "$SMPROGRAMS\Bacula\wx-console.lnk" "$INSTDIR\bin\wx-console.exe" '-c "$APPDATA\Bacula\wx-console.conf"' "$INSTDIR\bin\wx-console.exe" 0 - CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Graphical Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\wx-console.conf"' -SectionEnd - -SectionGroupEnd - -SectionGroup "Documentation" SecGroupDocumentation - -Section "Documentation (Acrobat Format)" SecDocPdf - SectionIn 1 2 3 - - SetOutPath "$INSTDIR\doc" - CreateDirectory "$INSTDIR\doc" - - File "${SRC_DIR}\manual\bacula.pdf" - CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual.lnk" '"$INSTDIR\doc\bacula.pdf"' -SectionEnd - -Section "Documentation (HTML Format)" SecDocHtml - SectionIn 3 - - SetOutPath "$INSTDIR\doc" - CreateDirectory "$INSTDIR\doc" - - File "${SRC_DIR}\manual\bacula\*.html" - File "${SRC_DIR}\manual\bacula\*.png" - File "${SRC_DIR}\manual\bacula\*.css" - CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual (HTML).lnk" '"$INSTDIR\doc\index.html"' -SectionEnd - -SectionGroupEnd - -Section "-Finish" - Push $R0 - - ${If} $OsIsNT = 1 - nsExec::ExecToLog 'cmd.exe /C echo Y|cacls "$INSTDIR" /T /G SYSTEM:F Administrators:F' - nsExec::ExecToLog 'cmd.exe /C echo Y|cacls "$APPDATA\Bacula" /T /G SYSTEM:F Administrators:F' - ${EndIf} - - ; Write the uninstall keys for Windows & create Start Menu entry - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "DisplayName" "Bacula" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "InstallLocation" "$INSTDIR" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "DisplayVersion" "${VERSION}" - ${StrTok} $R0 "${VERSION}" "." 0 0 - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "VersionMajor" $R0 - ${StrTok} $R0 "${VERSION}" "." 1 0 - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "VersionMinor" $R0 - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "NoModify" 1 - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "NoRepair" 1 - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "URLUpdateInfo" "http://sourceforge.net/project/showfiles.php?group_id=50727" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "URLInfoAbout" "http://www.bacula.org" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "HelpLink" "http://www.bacula.org/?page=support" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "UninstallString" '"$INSTDIR\uninstall.exe"' - WriteUninstaller "$INSTDIR\Uninstall.exe" - CreateShortCut "$SMPROGRAMS\Bacula\Uninstall Bacula.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 - Pop $R0 -SectionEnd - -; Extra Page descriptions - -LangString DESC_SecFileDaemon ${LANG_ENGLISH} "Install Bacula File Daemon on this system." -LangString DESC_SecStorageDaemon ${LANG_ENGLISH} "Install Bacula Storage Daemon on this system." -LangString DESC_SecDirectorDaemon ${LANG_ENGLISH} "Install Bacula Director Daemon on this system." -LangString DESC_SecConsole ${LANG_ENGLISH} "Install command console program on this system." -LangString DESC_SecWxConsole ${LANG_ENGLISH} "Install graphical console program on this system." -LangString DESC_SecDocPdf ${LANG_ENGLISH} "Install documentation in Acrobat format on this system." -LangString DESC_SecDocHtml ${LANG_ENGLISH} "Install documentation in HTML format on this system." - -LangString TITLE_ConfigPage1 ${LANG_ENGLISH} "Configuration" -LangString SUBTITLE_ConfigPage1 ${LANG_ENGLISH} "Set installation configuration." - -LangString TITLE_ConfigPage2 ${LANG_ENGLISH} "Configuration (continued)" -LangString SUBTITLE_ConfigPage2 ${LANG_ENGLISH} "Set installation configuration." - -LangString TITLE_InstallType ${LANG_ENGLISH} "Installation Type" -LangString SUBTITLE_InstallType ${LANG_ENGLISH} "Choose installation type." - -LangString TITLE_WriteTemplates ${LANG_ENGLISH} "Create Templates" -LangString SUBTITLE_WriteTemplates ${LANG_ENGLISH} "Create resource templates for inclusion in the Director's configuration file." - -!InsertMacro MUI_FUNCTION_DESCRIPTION_BEGIN - !InsertMacro MUI_DESCRIPTION_TEXT ${SecFileDaemon} $(DESC_SecFileDaemon) - !InsertMacro MUI_DESCRIPTION_TEXT ${SecStorageDaemon} $(DESC_SecStorageDaemon) - !InsertMacro MUI_DESCRIPTION_TEXT ${SecDirectorDaemon} $(DESC_SecDirectorDaemon) - !InsertMacro MUI_DESCRIPTION_TEXT ${SecConsole} $(DESC_SecConsole) - !InsertMacro MUI_DESCRIPTION_TEXT ${SecWxConsole} $(DESC_SecWxConsole) - !InsertMacro MUI_DESCRIPTION_TEXT ${SecDocPdf} $(DESC_SecDocPdf) - !InsertMacro MUI_DESCRIPTION_TEXT ${SecDocHtml} $(DESC_SecDocHtml) -!InsertMacro MUI_FUNCTION_DESCRIPTION_END - -; Uninstall section - -UninstallText "This will uninstall Bacula. Hit next to continue." - -Section "Uninstall" - ; Shutdown any baculum that could be running - nsExec::ExecToLog '"$INSTDIR\bin\bacula-fd.exe" /kill' - nsExec::ExecToLog '"$INSTDIR\bin\bacula-sd.exe" /kill' - nsExec::ExecToLog '"$INSTDIR\bin\bacula-dir.exe" /kill' - Sleep 3000 - - ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-fd" - ${If} $R0 = 1 - ; Remove bacula service - nsExec::ExecToLog '"$INSTDIR\bin\bacula-fd.exe" /remove' - ${EndIf} - - ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-sd" - ${If} $R0 = 1 - ; Remove bacula service - nsExec::ExecToLog '"$INSTDIR\bin\bacula-sd.exe" /remove' - ${EndIf} - - ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-dir" - ${If} $R0 = 1 - ; Remove bacula service - nsExec::ExecToLog '"$INSTDIR\bin\bacula-dir.exe" /remove' - ${EndIf} - - ; remove registry keys - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" - DeleteRegKey HKLM "Software\Bacula" - - ; remove start menu items - SetShellVarContext all - Delete /REBOOTOK "$SMPROGRAMS\Bacula\*" - RMDir "$SMPROGRAMS\Bacula" - - ; remove files and uninstaller (preserving config for now) - Delete /REBOOTOK "$INSTDIR\bin\*" - Delete /REBOOTOK "$INSTDIR\doc\*" - Delete /REBOOTOK "$INSTDIR\*" - - ; Check for existing installation - MessageBox MB_YESNO|MB_ICONQUESTION \ - "Would you like to delete the current configuration files and the working state file?" IDNO +7 - Delete /REBOOTOK "$APPDATA\Bacula\*" - Delete /REBOOTOK "$APPDATA\Bacula\Work\*" - Delete /REBOOTOK "$APPDATA\Bacula\Spool\*" - RMDir "$APPDATA\Bacula\Work" - RMDir "$APPDATA\Bacula\Spool" - RMDir "$APPDATA\Bacula" - - ; remove directories used - RMDir "$INSTDIR\bin" - RMDir "$INSTDIR\doc" - RMDir "$INSTDIR" -SectionEnd - -; -; $0 - Service Name (ie Bacula-FD) -; $1 - Service Description (ie Bacula File Daemon) -; $2 - Install as Service -; $3 - Start Service now -; -Function InstallDaemon - Call InstallCommonFiles - - WriteRegDWORD HKLM "Software\Bacula" "Service_$0" $2 - - ${If} $2 = 1 - nsExec::ExecToLog '"$INSTDIR\bin\$0.exe" /install -c "$APPDATA\Bacula\$0.conf"' - - ${If} $OsIsNT <> 1 - File "Start.bat" - File "Stop.bat" - ${EndIf} - - ; Start the service? - - ${If} $3 = 1 - ${If} $OsIsNT = 1 - nsExec::ExecToLog 'net start $0' - ${Else} - Exec '"$INSTDIR\bin\$0.exe" -c "$APPDATA\Bacula\$0.conf"' - ${EndIf} - ${EndIf} - ${Else} - CreateShortCut "$SMPROGRAMS\Bacula\Start $1.lnk" "$INSTDIR\bin\$0.exe" '-c "$APPDATA\Bacula\$0.conf"' "$INSTDIR\bin\$0.exe" 0 - ${EndIf} -FunctionEnd - -Function GetComputerName - Push $R0 - Push $R1 - Push $R2 - - System::Call "kernel32::GetComputerNameA(t .R0, *i ${NSIS_MAX_STRLEN} R1) i.R2" - - ${StrCase} $R0 $R0 "L" - - Pop $R2 - Pop $R1 - Exch $R0 -FunctionEnd - -!define ComputerNameDnsFullyQualified 3 - -Function GetHostName - Push $R0 - Push $R1 - Push $R2 - - ${If} $OsIsNT = 1 - System::Call "kernel32::GetComputerNameExA(i ${ComputerNameDnsFullyQualified}, t .R0, *i ${NSIS_MAX_STRLEN} R1) i.R2 ?e" - ${If} $R2 = 0 - Pop $R2 - DetailPrint "GetComputerNameExA failed - LastError = $R2" - Call GetComputerName - Pop $R0 - ${Else} - Pop $R2 - ${EndIf} - ${Else} - Call GetComputerName - Pop $R0 - ${EndIf} - - Pop $R2 - Pop $R1 - Exch $R0 -FunctionEnd - -!define NameUserPrincipal 8 - -Function GetUserName - Push $R0 - Push $R1 - Push $R2 - - ${If} $OsIsNT = 1 - System::Call "secur32::GetUserNameExA(i ${NameUserPrincipal}, t .R0, *i ${NSIS_MAX_STRLEN} R1) i.R2 ?e" - ${If} $R2 = 0 - Pop $R2 - DetailPrint "GetUserNameExA failed - LastError = $R2" - Pop $R0 - StrCpy $R0 "" - ${Else} - Pop $R2 - ${EndIf} - ${Else} - StrCpy $R0 "" - ${EndIf} - - ${If} $R0 == "" - System::Call "advapi32::GetUserNameA(t .R0, *i ${NSIS_MAX_STRLEN} R1) i.R2 ?e" - ${If} $R2 = 0 - Pop $R2 - DetailPrint "GetUserNameA failed - LastError = $R2" - StrCpy $R0 "" - ${Else} - Pop $R2 - ${EndIf} - ${EndIf} - - Pop $R2 - Pop $R1 - Exch $R0 -FunctionEnd - -Function ConfigEditAndCopy - Push $R1 - - ${If} ${FileExists} "$0\$1" - StrCpy $R1 ".new" - ${Else} - StrCpy $R1 "" - ${EndIf} - - nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\config.sed" -i.bak "$PLUGINSDIR\$1"' - CopyFiles "$PLUGINSDIR\$1" "$0\$1$R1" - - Pop $R1 -FunctionEnd - -Function FindDatabaseApps - Push $R1 - - ReadRegStr $0 HKLM "Software\MySQL AB\MySQL Server 5.0" "Location" - - ${If} $0 != "" - Call RemoveTrailingSlash - StrCpy $MySQLPath $0 - ReadRegStr $0 HKLM "Software\MySQL AB\MySQL Server 5.0" "Version" - StrCpy $MySQLVersion $0 - ${EndIf} - - EnumRegKey $R1 HKLM "Software\PostgreSQL\Installations" 0 - ${If} $R1 != "" - ReadRegStr $0 HKLM "Software\PostgreSQL\Installations\$R1" "Base Directory" - Call RemoveTrailingSlash - StrCpy $PostgreSQLPath $0 - ReadRegStr $0 HKLM "Software\PostgreSQL\Installations\$R1" "Version" - StrCpy $PostgreSQLVersion $0 - ${EndIf} - - Pop $R1 -FunctionEnd - -Function RemoveTrailingSlash - Push $R1 - StrCpy $R1 $0 "" -1 - ${If} $R1 == "\" - StrCpy $0 $0 -1 - ${EndIf} - Pop $R1 -FunctionEnd - -Function IsDirectorSelected - Push $R0 - SectionGetFlags ${SecDirectorDaemon} $R0 - IntOp $R0 $R0 & ${SF_SELECTED} - Exch $R0 -FunctionEnd - -Function GetSelectedComponents - Push $R0 - StrCpy $R0 0 - ${If} ${SectionIsSelected} ${SecFileDaemon} - IntOp $R0 $R0 | ${ComponentFile} - ${EndIf} - ${If} ${SectionIsSelected} ${SecStorageDaemon} - IntOp $R0 $R0 | ${ComponentStorage} - ${EndIf} - ${If} ${SectionIsSelected} ${SecDirectorDaemon} - IntOp $R0 $R0 | ${ComponentDirector} - ${EndIf} - ${If} ${SectionIsSelected} ${SecConsole} - IntOp $R0 $R0 | ${ComponentTextConsole} - ${EndIf} - ${If} ${SectionIsSelected} ${SecWxConsole} - IntOp $R0 $R0 | ${ComponentGUIConsole} - ${EndIf} - ${If} ${SectionIsSelected} ${SecDocPdf} - IntOp $R0 $R0 | ${ComponentPDFDocs} - ${EndIf} - ${If} ${SectionIsSelected} ${SecDocHtml} - IntOp $R0 $R0 | ${ComponentHTMLDocs} - ${EndIf} - Exch $R0 -FunctionEnd - -Function PageComponentsShow - ${If} $OsIsNT <> 1 - Call DisableServerSections - ${EndIf} - - Call SelectPreviousComponents - Call UpdateComponentUI -FunctionEnd - -Function PageDirectoryPre - ${If} $AutomaticInstall = 1 - ${OrIf} $InstallType = ${UpgradeInstall} - Abort - ${EndIf} -FunctionEnd - -Function LeaveInstallPage - Push "$INSTDIR\install.log" - Call DumpLog -FunctionEnd - -Function EnterWriteTemplates - Push $R0 - Push $R1 - - Call GetSelectedComponents - Pop $R0 - - IntOp $R0 $R0 & ${ComponentDirector} - IntOp $R1 $NewComponents & ${ComponentsFileAndStorage} - - ${If} $R0 <> 0 - ${OrIf} $R1 = 0 - Pop $R1 - Pop $R0 - Abort - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentFile} - ${If} $R0 = 0 - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" State 0 - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" Flags DISABLED - DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 3" State - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 3" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST|DISABLED - ${Else} - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" State 1 - DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" Flags - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 3" State "C:\$ConfigClientName.conf" - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST - ${EndIf} - - IntOp $R0 $NewComponents & ${ComponentStorage} - ${If} $R0 = 0 - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" State 0 - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" Flags DISABLED - DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" State - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST|DISABLED - ${Else} - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" State 1 - DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" Flags - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" State "C:\$ConfigStorageName.conf" - WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST - ${EndIf} - - !InsertMacro MUI_HEADER_TEXT "$(TITLE_WriteTemplates)" "$(SUBTITLE_WriteTemplates)" - !InsertMacro MUI_INSTALLOPTIONS_DISPLAY "WriteTemplates.ini" - - !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 2" State - ${If} $R0 <> 0 - File "/oname=$PLUGINSDIR\client.conf.in" "client.conf.in" - - nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\config.sed" -i.bak "$PLUGINSDIR\client.conf.in"' - !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 3" State - ${If} $R0 != "" - CopyFiles "$PLUGINSDIR\client.conf.in" "$R0" - ${EndIf} - ${EndIf} - - !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 4" State - ${If} $R0 <> 0 - File "/oname=$PLUGINSDIR\storage.conf.in" "storage.conf.in" - - nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\config.sed" -i.bak "$PLUGINSDIR\storage.conf.in"' - !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 5" State - ${If} $R0 != "" - CopyFiles "$PLUGINSDIR\storage.conf.in" "$R0" - ${EndIf} - ${EndIf} - - Pop $R1 - Pop $R0 -FunctionEnd - -Function SelectPreviousComponents - ${If} $InstallType <> ${NewInstall} - IntOp $R1 $PreviousComponents & ${ComponentFile} - ${If} $R1 <> 0 - !InsertMacro SelectSection ${SecFileDaemon} - !InsertMacro SetSectionFlag ${SecFileDaemon} ${SF_RO} - ${Else} - !InsertMacro UnselectSection ${SecFileDaemon} - !InsertMacro ClearSectionFlag ${SecFileDaemon} ${SF_RO} - ${EndIf} - IntOp $R1 $PreviousComponents & ${ComponentStorage} - ${If} $R1 <> 0 - !InsertMacro SelectSection ${SecStorageDaemon} - !InsertMacro SetSectionFlag ${SecStorageDaemon} ${SF_RO} - ${Else} - !InsertMacro UnselectSection ${SecStorageDaemon} - !InsertMacro ClearSectionFlag ${SecStorageDaemon} ${SF_RO} - ${EndIf} - IntOp $R1 $PreviousComponents & ${ComponentDirector} - ${If} $R1 <> 0 - !InsertMacro SelectSection ${SecDirectorDaemon} - !InsertMacro SetSectionFlag ${SecDirectorDaemon} ${SF_RO} - ${Else} - !InsertMacro UnselectSection ${SecDirectorDaemon} - !InsertMacro ClearSectionFlag ${SecDirectorDaemon} ${SF_RO} - ${EndIf} - IntOp $R1 $PreviousComponents & ${ComponentTextConsole} - ${If} $R1 <> 0 - !InsertMacro SelectSection ${SecConsole} - !InsertMacro SetSectionFlag ${SecConsole} ${SF_RO} - ${Else} - !InsertMacro UnselectSection ${SecConsole} - !InsertMacro ClearSectionFlag ${SecConsole} ${SF_RO} - ${EndIf} - IntOp $R1 $PreviousComponents & ${ComponentGUIConsole} - ${If} $R1 <> 0 - !InsertMacro SelectSection ${SecWxConsole} - !InsertMacro SetSectionFlag ${SecWxConsole} ${SF_RO} - ${Else} - !InsertMacro UnselectSection ${SecWxConsole} - !InsertMacro ClearSectionFlag ${SecWxConsole} ${SF_RO} - ${EndIf} - IntOp $R1 $PreviousComponents & ${ComponentPDFDocs} - ${If} $R1 <> 0 - !InsertMacro SelectSection ${SecDocPdf} - !InsertMacro SetSectionFlag ${SecDocPdf} ${SF_RO} - ${Else} - !InsertMacro UnselectSection ${SecDocPdf} - !InsertMacro ClearSectionFlag ${SecDocPdf} ${SF_RO} - ${EndIf} - IntOp $R1 $PreviousComponents & ${ComponentHTMLDocs} - ${If} $R1 <> 0 - !InsertMacro SelectSection ${SecDocHtml} - !InsertMacro SetSectionFlag ${SecDocHtml} ${SF_RO} - ${Else} - !InsertMacro UnselectSection ${SecDocHtml} - !InsertMacro ClearSectionFlag ${SecDocHtml} ${SF_RO} - ${EndIf} - ${EndIf} -FunctionEnd - -Function DisableServerSections - !InsertMacro UnselectSection ${SecGroupServer} - !InsertMacro SetSectionFlag ${SecGroupServer} ${SF_RO} - !InsertMacro UnselectSection ${SecStorageDaemon} - !InsertMacro SetSectionFlag ${SecStorageDaemon} ${SF_RO} - !InsertMacro UnselectSection ${SecDirectorDaemon} - !InsertMacro SetSectionFlag ${SecDirectorDaemon} ${SF_RO} -FunctionEnd - -Function UpdateComponentUI - Push $R0 - Push $R1 - - Call GetSelectedComponents - Pop $R0 - - IntOp $R1 $R0 ^ $PreviousComponents - IntOp $NewComponents $R0 & $R1 - - ${If} $InstallType <> ${NewInstall} - IntOp $R1 $NewComponents & ${ComponentFile} - ${If} $R1 <> 0 - !InsertMacro SetSectionFlag ${SecFileDaemon} ${SF_BOLD} - ${Else} - !InsertMacro ClearSectionFlag ${SecFileDaemon} ${SF_BOLD} - ${EndIf} - IntOp $R1 $NewComponents & ${ComponentStorage} - ${If} $R1 <> 0 - !InsertMacro SetSectionFlag ${SecStorageDaemon} ${SF_BOLD} - ${Else} - !InsertMacro ClearSectionFlag ${SecStorageDaemon} ${SF_BOLD} - ${EndIf} - IntOp $R1 $NewComponents & ${ComponentDirector} - ${If} $R1 <> 0 - !InsertMacro SetSectionFlag ${SecDirectorDaemon} ${SF_BOLD} - ${Else} - !InsertMacro ClearSectionFlag ${SecDirectorDaemon} ${SF_BOLD} - ${EndIf} - IntOp $R1 $NewComponents & ${ComponentTextConsole} - ${If} $R1 <> 0 - !InsertMacro SetSectionFlag ${SecConsole} ${SF_BOLD} - ${Else} - !InsertMacro ClearSectionFlag ${SecConsole} ${SF_BOLD} - ${EndIf} - IntOp $R1 $NewComponents & ${ComponentGUIConsole} - ${If} $R1 <> 0 - !InsertMacro SetSectionFlag ${SecWxConsole} ${SF_BOLD} - ${Else} - !InsertMacro ClearSectionFlag ${SecWxConsole} ${SF_BOLD} - ${EndIf} - IntOp $R1 $NewComponents & ${ComponentPDFDocs} - ${If} $R1 <> 0 - !InsertMacro SetSectionFlag ${SecDocPdf} ${SF_BOLD} - ${Else} - !InsertMacro ClearSectionFlag ${SecDocPdf} ${SF_BOLD} - ${EndIf} - IntOp $R1 $NewComponents & ${ComponentHTMLDocs} - ${If} $R1 <> 0 - !InsertMacro SetSectionFlag ${SecDocHtml} ${SF_BOLD} - ${Else} - !InsertMacro ClearSectionFlag ${SecDocHtml} ${SF_BOLD} - ${EndIf} - ${EndIf} - - GetDlgItem $R0 $HWNDPARENT 1 - - IntOp $R1 $NewComponents & ${ComponentsRequiringUserConfig} - ${If} $R1 = 0 - SendMessage $R0 ${WM_SETTEXT} 0 "STR:Install" - ${Else} - SendMessage $R0 ${WM_SETTEXT} 0 "STR:&Next >" - ${EndIf} - - Pop $R1 - Pop $R0 -FunctionEnd - -!include "InstallType.nsh" -!include "ConfigPage1.nsh" -!include "ConfigPage2.nsh" -!include "DumpLog.nsh" +; winbacula.nsi +; +; Began as a version written by Michel Meyers (michel@tcnnet.dyndns.org) +; +; Adapted by Kern Sibbald for native Win32 Bacula +; added a number of elements from Christopher Hull's installer +; +; D. Scott Barninger Nov 13 2004 +; added configuration editing for bconsole.conf and wx-console.conf +; better explanation in dialog boxes for editing config files +; added Start Menu items +; fix uninstall of config files to do all not just bacula-fd.conf +; +; D. Scott Barninger Dec 05 2004 +; added specification of default permissions for bacula-fd.conf +; - thanks to Jamie Ffolliott for pointing me at cacls +; added removal of working-dir files if user selects to remove config +; uninstall is now 100% clean +; +; D. Scott Barninger Apr 17 2005 +; 1.36.3 release docs update +; add pdf manual and menu shortcut +; +; Robert Nelson May 15 2006 +; Pretty much rewritten +; Use LogicLib.nsh +; Added Bacula-SD and Bacula-DIR +; Replaced ParameterGiven with standard GetOptions + +; +; Command line options: +; +; /service - +; /start + +!define PRODUCT "Bacula" + +; +; Include the Modern UI +; + +!include "MUI.nsh" +!include "LogicLib.nsh" +!include "FileFunc.nsh" +!include "Sections.nsh" +!include "StrFunc.nsh" +!include "WinMessages.nsh" +; +; Basics +; +Name "Bacula" +OutFile "${OUT_DIR}\winbacula-${VERSION}.exe" +SetCompressor lzma +InstallDir "$PROGRAMFILES\Bacula" +InstallDirRegKey HKLM "Software\Bacula" "InstallLocation" + +InstType "Client" +InstType "Server" +InstType "Full" + +!insertmacro GetParent + +${StrCase} +${StrRep} +${StrTok} +${StrTrimNewLines} + +; +; Pull in pages +; + +!define MUI_COMPONENTSPAGE_SMALLDESC + +!define MUI_HEADERIMAGE +!define MUI_BGCOLOR 739AB9 +!define MUI_HEADERIMAGE_BITMAP "bacula-logo.bmp" + +!InsertMacro MUI_PAGE_WELCOME +; !InsertMacro MUI_PAGE_LICENSE "..\..\LICENSE" +Page custom EnterInstallType +!define MUI_PAGE_CUSTOMFUNCTION_SHOW PageComponentsShow +!InsertMacro MUI_PAGE_COMPONENTS +!define MUI_PAGE_CUSTOMFUNCTION_PRE PageDirectoryPre +!InsertMacro MUI_PAGE_DIRECTORY +Page custom EnterConfigPage1 LeaveConfigPage1 +Page custom EnterConfigPage2 LeaveConfigPage2 +!Define MUI_PAGE_CUSTOMFUNCTION_LEAVE LeaveInstallPage +!InsertMacro MUI_PAGE_INSTFILES +Page custom EnterWriteTemplates +!Define MUI_FINISHPAGE_SHOWREADME $INSTDIR\Readme.txt +!InsertMacro MUI_PAGE_FINISH + +!InsertMacro MUI_UNPAGE_WELCOME +!InsertMacro MUI_UNPAGE_CONFIRM +!InsertMacro MUI_UNPAGE_INSTFILES +!InsertMacro MUI_UNPAGE_FINISH + +!define MUI_ABORTWARNING + +!InsertMacro MUI_LANGUAGE "English" + +!InsertMacro GetParameters +!InsertMacro GetOptions + +DirText "Setup will install Bacula ${VERSION} to the directory specified below. To install in a different folder, click Browse and select another folder." + +!InsertMacro MUI_RESERVEFILE_INSTALLOPTIONS +; +; Global Variables +; +Var OptService +Var OptStart +Var OptSilent + +Var CommonFilesDone + +Var OsIsNT + +Var HostName + +Var ConfigClientName +Var ConfigClientPort +Var ConfigClientMaxJobs +Var ConfigClientPassword +Var ConfigClientInstallService +Var ConfigClientStartService + +Var ConfigStorageName +Var ConfigStoragePort +Var ConfigStorageMaxJobs +Var ConfigStoragePassword +Var ConfigStorageInstallService +Var ConfigStorageStartService + +Var ConfigDirectorName +Var ConfigDirectorPort +Var ConfigDirectorMaxJobs +Var ConfigDirectorPassword +Var ConfigDirectorAddress +Var ConfigDirectorMailServer +Var ConfigDirectorMailAddress +Var ConfigDirectorDB +Var ConfigDirectorInstallService +Var ConfigDirectorStartService + +Var ConfigMonitorName +Var ConfigMonitorPassword + +Var LocalDirectorPassword +Var LocalHostAddress + +Var MySQLPath +Var MySQLVersion +Var PostgreSQLPath +Var PostgreSQLVersion + +Var AutomaticInstall +Var InstallType +!define NewInstall 0 +!define UpgradeInstall 1 +!define MigrateInstall 2 + +Var OldInstallDir +Var PreviousComponents +Var NewComponents + +; Bit 0 = File Service +; 1 = Storage Service +; 2 = Director Service +; 3 = Command Console +; 4 = Graphical Console +; 5 = Documentation (PDF) +; 6 = Documentation (HTML) + +!define ComponentFile 1 +!define ComponentStorage 2 +!define ComponentDirector 4 +!define ComponentTextConsole 8 +!define ComponentGUIConsole 16 +!define ComponentPDFDocs 32 +!define ComponentHTMLDocs 64 + +!define ComponentsRequiringUserConfig 31 +!define ComponentsFileAndStorage 3 +!define ComponentsFileAndStorageAndDirector 7 +!define ComponentsDirectorAndTextGuiConsoles 28 +!define ComponentsTextAndGuiConsoles 24 + +Var HDLG +Var HCTL + +Function .onInit + Push $R0 + Push $R1 + + ; Process Command Line Options + StrCpy $OptService 1 + StrCpy $OptStart 1 + StrCpy $OptSilent 0 + StrCpy $CommonFilesDone 0 + StrCpy $OsIsNT 0 + StrCpy $AutomaticInstall 0 + StrCpy $InstallType ${NewInstall} + StrCpy $OldInstallDir "" + StrCpy $PreviousComponents 0 + StrCpy $NewComponents 0 + StrCpy $MySQLPath "" + StrCpy $MySQLVersion "" + StrCpy $PostgreSQLPath "" + StrCpy $PostgreSQLVersion "" + + ${GetParameters} $R0 + + ClearErrors + ${GetOptions} $R0 "/noservice" $R1 + IfErrors +2 + StrCpy $OptService 0 + + ClearErrors + ${GetOptions} $R0 "/nostart" $R1 + IfErrors +2 + StrCpy $OptStart 0 + + IfSilent 0 +2 + StrCpy $OptSilent 1 + + ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion + ${If} $R0 != "" + StrCpy $OsIsNT 1 + ${EndIf} + + Call GetComputerName + Pop $HostName + + Call GetHostName + Pop $LocalHostAddress + + Call GetUserName + Pop $ConfigDirectorMailAddress + + Call FindDatabaseApps + + ; Configuration Defaults + + StrCpy $ConfigClientName "$HostName-fd" + StrCpy $ConfigClientPort 9102 + StrCpy $ConfigClientMaxJobs 2 + ;StrCpy $ConfigClientPassword + StrCpy $ConfigClientInstallService "$OptService" + StrCpy $ConfigClientStartService "$OptStart" + + StrCpy $ConfigStorageName "$HostName-sd" + StrCpy $ConfigStoragePort 9103 + StrCpy $ConfigStorageMaxJobs 10 + ;StrCpy $ConfigStoragePassword + StrCpy $ConfigStorageInstallService "$OptService" + StrCpy $ConfigStorageStartService "$OptStart" + + ;StrCpy $ConfigDirectorName "$HostName-dir" + StrCpy $ConfigDirectorPort 9101 + StrCpy $ConfigDirectorMaxJobs 1 + ;StrCpy $ConfigDirectorPassword + StrCpy $ConfigDirectorDB 0 + StrCpy $ConfigDirectorInstallService "$OptService" + StrCpy $ConfigDirectorStartService "$OptStart" + + StrCpy $ConfigMonitorName "$HostName-mon" + ;StrCpy $ConfigMonitorPassword + + InitPluginsDir + File "/oname=$PLUGINSDIR\openssl.exe" "${SRC_DIR}\openssl.exe" + File "/oname=$PLUGINSDIR\libeay32.dll" "${SRC_DIR}\libeay32.dll" + File "/oname=$PLUGINSDIR\ssleay32.dll" "${SRC_DIR}\ssleay32.dll" + File "/oname=$PLUGINSDIR\sed.exe" "${SRC_DIR}\sed.exe" + + !InsertMacro MUI_INSTALLOPTIONS_EXTRACT "InstallType.ini" + !InsertMacro MUI_INSTALLOPTIONS_EXTRACT "WriteTemplates.ini" + + SetPluginUnload alwaysoff + + nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33' + pop $R0 + ${If} $R0 = 0 + FileOpen $R1 "$PLUGINSDIR\pw.txt" r + IfErrors +4 + FileRead $R1 $R0 + ${StrTrimNewLines} $ConfigClientPassword $R0 + FileClose $R1 + ${EndIf} + + nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33' + pop $R0 + ${If} $R0 = 0 + FileOpen $R1 "$PLUGINSDIR\pw.txt" r + IfErrors +4 + FileRead $R1 $R0 + ${StrTrimNewLines} $ConfigStoragePassword $R0 + FileClose $R1 + ${EndIf} + + nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33' + pop $R0 + ${If} $R0 = 0 + FileOpen $R1 "$PLUGINSDIR\pw.txt" r + IfErrors +4 + FileRead $R1 $R0 + ${StrTrimNewLines} $LocalDirectorPassword $R0 + FileClose $R1 + ${EndIf} + + SetPluginUnload manual + + nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33' + pop $R0 + ${If} $R0 = 0 + FileOpen $R1 "$PLUGINSDIR\pw.txt" r + IfErrors +4 + FileRead $R1 $R0 + ${StrTrimNewLines} $ConfigMonitorPassword $R0 + FileClose $R1 + ${EndIf} + + Pop $R1 + Pop $R0 +FunctionEnd + +Function .onSelChange + Call UpdateComponentUI +FunctionEnd + +Function InstallCommonFiles + ${If} $CommonFilesDone = 0 + SetOutPath "$INSTDIR" + File "Readme.txt" + + SetOutPath "$INSTDIR\bin" +!if "${BUILD_TOOLS}" == "VC8" + File "${SRC_DIR}\msvcm80.dll" + File "${SRC_DIR}\msvcp80.dll" + File "${SRC_DIR}\msvcr80.dll" + File "${SRC_DIR}\Microsoft.VC80.CRT.manifest" + File "${SRC_DIR}\pthreadVCE.dll" +!endif +!if "${BUILD_TOOLS}" == "VC8_DEBUG" + File "${SRC_DIR}\msvcm80.dll" + File "${SRC_DIR}\msvcp80.dll" + File "${SRC_DIR}\msvcr80.dll" + File "${SRC_DIR}\Microsoft.VC80.CRT.manifest" + File "${SRC_DIR}\msvcm80d.dll" + File "${SRC_DIR}\msvcp80d.dll" + File "${SRC_DIR}\msvcr80d.dll" + File "${SRC_DIR}\Microsoft.VC80.DebugCRT.manifest" + File "${SRC_DIR}\pthreadVCE.dll" +!endif +!if "${BUILD_TOOLS}" == "MinGW" + File "${SRC_DIR}\mingwm10.dll" + File "${SRC_DIR}\pthreadGCE.dll" +!endif + File "${SRC_DIR}\libeay32.dll" + File "${SRC_DIR}\ssleay32.dll" + File "${SRC_DIR}\zlib1.dll" +!if "${BUILD_TOOLS}" == "VC8" + File "${SRC_DIR}\zlib1.dll.manifest" +!endif +!If "${BUILD_TOOLS}" == "VC8_DEBUG" + File "${SRC_DIR}\zlib1.dll.manifest" +!endif + File "/oname=$INSTDIR\openssl.cnf" "${SRC_DIR}\openssl.cnf" + File "${SRC_DIR}\openssl.exe" + File "${SRC_DIR}\bsleep.exe" + File "${SRC_DIR}\bsmtp.exe" + File "${SRC_DIR}\bacula.dll" + File "${SRC_DIR}\expr64.exe" + File "${SRC_DIR}\snooze.exe" + + CreateShortCut "$SMPROGRAMS\Bacula\Documentation\View Readme.lnk" "write.exe" '"$INSTDIR\Readme.txt"' + + StrCpy $CommonFilesDone 1 + ${EndIf} +FunctionEnd + +Section "-Initialize" + ${If} $MySQLPath != "" + DetailPrint "Found MySQL (version $MySQLVersion)" + ${EndIf} + ${If} $PostgreSQLPath != "" + DetailPrint "Found PostgreSQL (version $PostgreSQLVersion)" + ${EndIf} + + WriteRegStr HKLM Software\Bacula InstallLocation "$INSTDIR" + + Call GetSelectedComponents + Pop $R2 + WriteRegDWORD HKLM Software\Bacula Components $R2 + + WriteRegDWORD HKLM Software\Bacula Database $ConfigDirectorDB + + ; remove start menu items + SetShellVarContext all + + Delete /REBOOTOK "$SMPROGRAMS\Bacula\Configuration\*" + Delete /REBOOTOK "$SMPROGRAMS\Bacula\Documentation\*" + Delete /REBOOTOK "$SMPROGRAMS\Bacula\*" + RMDir "$SMPROGRAMS\Bacula\Configuration" + RMDir "$SMPROGRAMS\Bacula\Documentation" + RMDir "$SMPROGRAMS\Bacula" + CreateDirectory "$SMPROGRAMS\Bacula" + CreateDirectory "$SMPROGRAMS\Bacula\Configuration" + CreateDirectory "$SMPROGRAMS\Bacula\Documentation" + + CreateDirectory "$INSTDIR" + CreateDirectory "$INSTDIR\bin" + CreateDirectory "$APPDATA\Bacula" + CreateDirectory "$APPDATA\Bacula\Work" + CreateDirectory "$APPDATA\Bacula\Spool" + + File "..\..\..\LICENSE" + Delete /REBOOTOK "$INSTDIR\bin\License.txt" + + FileOpen $R1 $PLUGINSDIR\config.sed w + FileWrite $R1 "s;@VERSION@;${VERSION};g$\r$\n" + FileWrite $R1 "s;@DATE@;${__DATE__};g$\r$\n" + FileWrite $R1 "s;@DISTNAME@;Windows;g$\r$\n" + +!If "$BUILD_TOOLS" == "MinGW" + StrCpy $R2 "MinGW32" +!Else + StrCpy $R2 "MVS" +!EndIf + + Call GetHostName + Exch $R3 + Pop $R3 + + FileWrite $R1 "s;@DISTVER@;$R2;g$\r$\n" + + ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\\\" + FileWrite $R1 's;@working_dir@;$R2;g$\r$\n' + ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\" + FileWrite $R1 's;@working_dir_cmd@;$R2;g$\r$\n' + + ${StrRep} $R2 "$INSTDIR\bin" "\" "\\\\" + FileWrite $R1 's;@bin_dir@;$R2;g$\r$\n' + ${StrRep} $R2 "$INSTDIR\bin" "\" "\\" + FileWrite $R1 's;@bin_dir_cmd@;$R2;g$\r$\n' + + ${StrRep} $R2 "$INSTDIR" "\" "/" + FileWrite $R1 "s;@BUILD_DIR@;$R2;g$\r$\n" + + Call IsDirectorSelected + Pop $R2 + ${If} $R2 = 1 + FileWrite $R1 "s;@director_address@;$LocalHostAddress;g$\r$\n" + ${Else} + ${If} "$ConfigDirectorAddress" != "" + FileWrite $R1 "s;@director_address@;$ConfigDirectorAddress;g$\r$\n" + ${EndIf} + ${EndIf} + + FileWrite $R1 "s;@client_address@;$LocalHostAddress;g$\r$\n" + FileWrite $R1 "s;@storage_address@;$LocalHostAddress;g$\r$\n" + + ${If} "$ConfigClientName" != "" + FileWrite $R1 "s;@client_name@;$ConfigClientName;g$\r$\n" + ${EndIf} + ${If} "$ConfigClientPort" != "" + FileWrite $R1 "s;@client_port@;$ConfigClientPort;g$\r$\n" + ${EndIf} + ${If} "$ConfigClientMaxJobs" != "" + FileWrite $R1 "s;@client_maxjobs@;$ConfigClientMaxJobs;g$\r$\n" + ${EndIf} + ${If} "$ConfigClientPassword" != "" + FileWrite $R1 "s;@client_password@;$ConfigClientPassword;g$\r$\n" + ${EndIf} + ${If} "$ConfigStorageName" != "" + FileWrite $R1 "s;@storage_name@;$ConfigStorageName;g$\r$\n" + ${EndIf} + ${If} "$ConfigStoragePort" != "" + FileWrite $R1 "s;@storage_port@;$ConfigStoragePort;g$\r$\n" + ${EndIf} + ${If} "$ConfigStorageMaxJobs" != "" + FileWrite $R1 "s;@storage_maxjobs@;$ConfigStorageMaxJobs;g$\r$\n" + ${EndIf} + ${If} "$ConfigStoragePassword" != "" + FileWrite $R1 "s;@storage_password@;$ConfigStoragePassword;g$\r$\n" + ${EndIf} + ${If} "$ConfigDirectorName" != "" + FileWrite $R1 "s;@director_name@;$ConfigDirectorName;g$\r$\n" + ${EndIf} + ${If} "$ConfigDirectorPort" != "" + FileWrite $R1 "s;@director_port@;$ConfigDirectorPort;g$\r$\n" + ${EndIf} + ${If} "$ConfigDirectorMaxJobs" != "" + FileWrite $R1 "s;@director_maxjobs@;$ConfigDirectorMaxJobs;g$\r$\n" + ${EndIf} + ${If} "$ConfigDirectorPassword" != "" + FileWrite $R1 "s;@director_password@;$ConfigDirectorPassword;g$\r$\n" + ${EndIf} + ${If} "$ConfigDirectorMailServer" != "" + FileWrite $R1 "s;@smtp_host@;$ConfigDirectorMailServer;g$\r$\n" + ${EndIf} + ${If} "$ConfigDirectorMailAddress" != "" + FileWrite $R1 "s;@job_email@;$ConfigDirectorMailAddress;g$\r$\n" + ${EndIf} + ${If} "$ConfigMonitorName" != "" + FileWrite $R1 "s;@monitor_name@;$ConfigMonitorName;g$\r$\n" + ${EndIf} + ${If} "$ConfigMonitorPassword" != "" + FileWrite $R1 "s;@monitor_password@;$ConfigMonitorPassword;g$\r$\n" + ${EndIf} + + ${If} $ConfigDirectorDB = 1 + ${If} $MySQLPath != "" + ${StrRep} $R2 "$MySQLPath\bin" "\" "\\" + FileWrite $R1 "s;@SQL_BINDIR@;$R2;g$\r$\n" + ${EndIf} + ${ElseIf} $ConfigDirectorDB = 2 + ${If} $PostgreSQLPath != "" + ${StrRep} $R2 "$PostgreSQLPath\bin" "\" "\\" + FileWrite $R1 "s;@SQL_BINDIR@;$R2;g$\r$\n" + ${EndIf} + ${EndIf} + + FileClose $R1 + + ${If} $InstallType = ${MigrateInstall} + FileOpen $R1 $PLUGINSDIR\migrate.sed w + ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\\\" + FileWrite $R1 's;\(Working *Directory *= *\)[^ ][^ ]*.*$$;\1"$R2";$\r$\n' + FileWrite $R1 's;\(Pid *Directory *= *\)[^ ][^ ]*.*$$;\1"$R2";$\r$\n' + FileClose $R1 + ${EndIf} + + ${If} ${FileExists} "$OldInstallDir\bin\bacula-fd.exe" + nsExec::ExecToLog '"$OldInstallDir\bin\bacula-fd.exe" /kill' ; Shutdown any bacula that could be running + Sleep 3000 + nsExec::ExecToLog '"$OldInstallDir\bin\bacula-fd.exe" /remove' ; Remove existing service + ${EndIf} + + ${If} ${FileExists} "$OldInstallDir\bin\bacula-sd.exe" + nsExec::ExecToLog '"$OldInstallDir\bin\bacula-sd.exe" /kill' ; Shutdown any bacula that could be running + Sleep 3000 + nsExec::ExecToLog '"$OldInstallDir\bin\bacula-sd.exe" /remove' ; Remove existing service + ${EndIf} + + ${If} ${FileExists} "$OldInstallDir\bin\bacula-dir.exe" + nsExec::ExecToLog '"$OldInstallDir\bin\bacula-dir.exe" /kill' ; Shutdown any bacula that could be running + Sleep 3000 + nsExec::ExecToLog '"$OldInstallDir\bin\bacula-dir.exe" /remove' ; Remove existing service + ${EndIf} + +SectionEnd + +SectionGroup "Client" SecGroupClient + +Section "File Service" SecFileDaemon + SectionIn 1 2 3 + + SetOutPath "$INSTDIR\bin" + + File "${SRC_DIR}\bacula-fd.exe" + + ${If} $InstallType = ${MigrateInstall} + ${AndIf} ${FileExists} "$OldInstallDir\bin\bacula-fd.conf" + CopyFiles "$OldInstallDir\bin\bacula-fd.conf" "$APPDATA\Bacula" + nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\migrate.sed" -i.bak "$APPDATA\Bacula\bacula-fd.conf"' + ${Else} + File "/oname=$PLUGINSDIR\bacula-fd.conf" "bacula-fd.conf.in" + + StrCpy $0 "$APPDATA\Bacula" + StrCpy $1 bacula-fd.conf + Call ConfigEditAndCopy + ${EndIf} + + StrCpy $0 bacula-fd + StrCpy $1 "File Service" + StrCpy $2 $ConfigClientInstallService + StrCpy $3 $ConfigClientStartService + + Call InstallDaemon + + CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Client Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-fd.conf"' +SectionEnd + +SectionGroupEnd + +SectionGroup "Server" SecGroupServer + +Section "Storage Service" SecStorageDaemon + SectionIn 2 3 + + SetOutPath "$INSTDIR\bin" + + File "${SRC_DIR}\loaderinfo.exe" + File "${SRC_DIR}\mt.exe" + File "${SRC_DIR}\mtx.exe" + File "${SRC_DIR}\scsitape.exe" + File "${SRC_DIR}\tapeinfo.exe" + File "${SRC_DIR}\bacula-sd.exe" + File "${SRC_DIR}\bcopy.exe" + File "${SRC_DIR}\bextract.exe" + File "${SRC_DIR}\bls.exe" + File "${SRC_DIR}\bscan.exe" + File "${SRC_DIR}\btape.exe" + File "${SRC_DIR}\scsilist.exe" + File "${SRC_DIR}\mkisofs.exe" + File "${SRC_DIR}\growisofs.exe" + File "${SRC_DIR}\dvd-ram-control.exe" + File "${SRC_DIR}\dvd+rw-booktype.exe" + File "${SRC_DIR}\dvd+rw-format.exe" + File "${SRC_DIR}\dvd+rw-mediainfo.exe" + + File "/oname=$PLUGINSDIR\mtx-changer.cmd" "${SRC_DIR}\mtx-changer.cmd" + + StrCpy $0 "$INSTDIR\bin" + StrCpy $1 mtx-changer.cmd + Call ConfigEditAndCopy + + File "/oname=$PLUGINSDIR\disk-changer.cmd" "${SRC_DIR}\disk-changer.cmd" + + StrCpy $0 "$INSTDIR\bin" + StrCpy $1 disk-changer.cmd + Call ConfigEditAndCopy + + File "/oname=$PLUGINSDIR\dvd-handler.cmd" "${SRC_DIR}\dvd-handler.cmd" + + StrCpy $0 "$INSTDIR\bin" + StrCpy $1 dvd-handler.cmd + Call ConfigEditAndCopy + + File "/oname=$PLUGINSDIR\bacula-sd.conf" "bacula-sd.conf.in" + + StrCpy $0 "$APPDATA\Bacula" + StrCpy $1 bacula-sd.conf + Call ConfigEditAndCopy + + StrCpy $0 bacula-sd + StrCpy $1 "Storage Service" + StrCpy $2 $ConfigStorageInstallService + StrCpy $3 $ConfigStorageStartService + Call InstallDaemon + + CreateShortCut "$SMPROGRAMS\Bacula\Configuration\List Devices.lnk" "$INSTDIR\bin\scsilist.exe" "/pause" + CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Storage Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-sd.conf"' +SectionEnd + +Section "Director Service" SecDirectorDaemon + SectionIn 2 3 + + SetOutPath "$INSTDIR\bin" + + ${If} $ConfigDirectorDB = 1 + File /oname=bacula_cats.dll "${SRC_DIR}\cats_mysql.dll" + File "${SRC_DIR}\libmysql.dll" + File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_mysql_database.cmd + File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_mysql_database.cmd + File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_mysql_tables.cmd + File ${SRC_DIR}\make_mysql_tables.sql + File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_mysql_tables.cmd + File ${SRC_DIR}\drop_mysql_tables.sql + File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_mysql_privileges.cmd + File ${SRC_DIR}\grant_mysql_privileges.sql + File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_mysql_catalog_backup.cmd + ${ElseIf} $ConfigDirectorDB = 2 + File /oname=bacula_cats.dll "${SRC_DIR}\cats_postgresql.dll" + File "${SRC_DIR}\libpq.dll" +!if "${BUILD_TOOLS}" == "VC8" + File "${SRC_DIR}\comerr32.dll" + File "${SRC_DIR}\libintl-2.dll" + File "${SRC_DIR}\libiconv-2.dll" + File "${SRC_DIR}\krb5_32.dll" +!endif +!If "${BUILD_TOOLS}" == "VC8_DEBUG" + File "${SRC_DIR}\comerr32.dll" + File "${SRC_DIR}\libintl-2.dll" + File "${SRC_DIR}\libiconv-2.dll" + File "${SRC_DIR}\krb5_32.dll" +!endif + File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_postgresql_database.cmd + File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_postgresql_database.cmd + File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_postgresql_tables.cmd + File ${SRC_DIR}\make_postgresql_tables.sql + File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_postgresql_tables.cmd + File ${SRC_DIR}\drop_postgresql_tables.sql + File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_postgresql_privileges.cmd + File ${SRC_DIR}\grant_postgresql_privileges.sql + File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_postgresql_catalog_backup.cmd + ${ElseIf} $ConfigDirectorDB = 3 + File "${SRC_DIR}\sqlite3.exe" +!if "${BUILD_TOOLS}" == "VC8" + File "${SRC_DIR}\sqlite3.exe.manifest" +!endif +!If "${BUILD_TOOLS}" == "VC8_DEBUG" + File "${SRC_DIR}\sqlite3.exe.manifest" +!endif + File /oname=bacula_cats.dll "${SRC_DIR}\cats_sqlite3.dll" + File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_sqlite3_database.cmd + File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_sqlite3_database.cmd + File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_sqlite3_tables.cmd + File ${SRC_DIR}\make_sqlite3_tables.sql + File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_sqlite3_tables.cmd + File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_sqlite3_privileges.cmd + File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_sqlite3_catalog_backup.cmd + ${EndIf} + + File "${SRC_DIR}\bacula-dir.exe" + File "${SRC_DIR}\dbcheck.exe" + + File "/oname=$PLUGINSDIR\delete_catalog_backup.cmd" "${SRC_DIR}\delete_catalog_backup.cmd" + + StrCpy $0 "$INSTDIR\bin" + + StrCpy $1 create_database.cmd + Call ConfigEditAndCopy + + StrCpy $1 drop_database.cmd + Call ConfigEditAndCopy + + StrCpy $1 make_tables.cmd + Call ConfigEditAndCopy + + StrCpy $1 drop_tables.cmd + Call ConfigEditAndCopy + + StrCpy $1 grant_privileges.cmd + Call ConfigEditAndCopy + + StrCpy $1 make_catalog_backup.cmd + Call ConfigEditAndCopy + + StrCpy $1 delete_catalog_backup.cmd + Call ConfigEditAndCopy + + File "${SRC_DIR}\query.sql" + + File "/oname=$PLUGINSDIR\bacula-dir.conf" "bacula-dir.conf.in" + + StrCpy $0 "$APPDATA\Bacula" + StrCpy $1 bacula-dir.conf + Call ConfigEditAndCopy + + StrCpy $0 bacula-dir + StrCpy $1 "Director Service" + StrCpy $2 $ConfigDirectorInstallService + StrCpy $3 $ConfigDirectorStartService + Call InstallDaemon + + CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Director Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-dir.conf"' +SectionEnd + +SectionGroupEnd + +SectionGroup "Consoles" SecGroupConsoles + +Section "Command Console" SecConsole + SectionIn 1 2 3 + + SetOutPath "$INSTDIR\bin" + + File "${SRC_DIR}\bconsole.exe" + Call InstallCommonFiles + + ${If} $InstallType = ${MigrateInstall} + ${AndIf} ${FileExists} "$OldInstallDir\bin\bconsole.conf" + CopyFiles "$OldInstallDir\bin\bconsole.conf" "$APPDATA\Bacula" + ${Else} + File "/oname=$PLUGINSDIR\bconsole.conf" "bconsole.conf.in" + StrCpy $0 "$APPDATA\Bacula" + StrCpy $1 bconsole.conf + Call ConfigEditAndCopy + ${EndIf} + + CreateShortCut "$SMPROGRAMS\Bacula\bconsole.lnk" "$INSTDIR\bin\bconsole.exe" '-c "$APPDATA\Bacula\bconsole.conf"' "$INSTDIR\bin\bconsole.exe" 0 + CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Command Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bconsole.conf"' + +SectionEnd + +Section "Graphical Console" SecWxConsole + SectionIn 1 2 3 + + SetOutPath "$INSTDIR\bin" + + Call InstallCommonFiles +!if "${BUILD_TOOLS}" == "VC8" + File "${SRC_DIR}\wxbase270_vc_bacula.dll" + File "${SRC_DIR}\wxmsw270_core_vc_bacula.dll" +!endif +!If "${BUILD_TOOLS}" == "VC8_DEBUG" + File "${SRC_DIR}\wxbase270_vc_bacula.dll" + File "${SRC_DIR}\wxmsw270_core_vc_bacula.dll" +!endif +!if "${BUILD_TOOLS}" == "MinGW" + File "${SRC_DIR}\wxbase270_gcc_bacula.dll" + File "${SRC_DIR}\wxmsw270_core_gcc_bacula.dll" +!endif + + File "${SRC_DIR}\wx-console.exe" + + ${If} $InstallType = ${MigrateInstall} + ${AndIf} ${FileExists} "$OldInstallDir\bin\wx-console.conf" + CopyFiles "$OldInstallDir\bin\wx-console.conf" "$APPDATA\Bacula" + ${Else} + File "/oname=$PLUGINSDIR\wx-console.conf" "wx-console.conf.in" + StrCpy $0 "$APPDATA\Bacula" + StrCpy $1 wx-console.conf + Call ConfigEditAndCopy + ${EndIf} + + ; Create Start Menu entry + CreateShortCut "$SMPROGRAMS\Bacula\wx-console.lnk" "$INSTDIR\bin\wx-console.exe" '-c "$APPDATA\Bacula\wx-console.conf"' "$INSTDIR\bin\wx-console.exe" 0 + CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Graphical Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\wx-console.conf"' +SectionEnd + +SectionGroupEnd + +SectionGroup "Documentation" SecGroupDocumentation + +Section "Documentation (Acrobat Format)" SecDocPdf + SectionIn 1 2 3 + + SetOutPath "$INSTDIR\doc" + CreateDirectory "$INSTDIR\doc" + + File "${SRC_DIR}\manual\bacula.pdf" + CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual.lnk" '"$INSTDIR\doc\bacula.pdf"' +SectionEnd + +Section "Documentation (HTML Format)" SecDocHtml + SectionIn 3 + + SetOutPath "$INSTDIR\doc" + CreateDirectory "$INSTDIR\doc" + + File "${SRC_DIR}\manual\bacula\*.html" + File "${SRC_DIR}\manual\bacula\*.png" + File "${SRC_DIR}\manual\bacula\*.css" + CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual (HTML).lnk" '"$INSTDIR\doc\index.html"' +SectionEnd + +SectionGroupEnd + +Section "-Finish" + Push $R0 + + ${If} $OsIsNT = 1 + nsExec::ExecToLog 'cmd.exe /C echo Y|cacls "$INSTDIR" /T /G SYSTEM:F Administrators:F' + nsExec::ExecToLog 'cmd.exe /C echo Y|cacls "$APPDATA\Bacula" /T /G SYSTEM:F Administrators:F' + ${EndIf} + + ; Write the uninstall keys for Windows & create Start Menu entry + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "DisplayName" "Bacula" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "InstallLocation" "$INSTDIR" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "DisplayVersion" "${VERSION}" + ${StrTok} $R0 "${VERSION}" "." 0 0 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "VersionMajor" $R0 + ${StrTok} $R0 "${VERSION}" "." 1 0 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "VersionMinor" $R0 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "NoModify" 1 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "NoRepair" 1 + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "URLUpdateInfo" "http://sourceforge.net/project/showfiles.php?group_id=50727" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "URLInfoAbout" "http://www.bacula.org" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "HelpLink" "http://www.bacula.org/?page=support" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "UninstallString" '"$INSTDIR\uninstall.exe"' + WriteUninstaller "$INSTDIR\Uninstall.exe" + CreateShortCut "$SMPROGRAMS\Bacula\Uninstall Bacula.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 + Pop $R0 +SectionEnd + +; Extra Page descriptions + +LangString DESC_SecFileDaemon ${LANG_ENGLISH} "Install Bacula File Daemon on this system." +LangString DESC_SecStorageDaemon ${LANG_ENGLISH} "Install Bacula Storage Daemon on this system." +LangString DESC_SecDirectorDaemon ${LANG_ENGLISH} "Install Bacula Director Daemon on this system." +LangString DESC_SecConsole ${LANG_ENGLISH} "Install command console program on this system." +LangString DESC_SecWxConsole ${LANG_ENGLISH} "Install graphical console program on this system." +LangString DESC_SecDocPdf ${LANG_ENGLISH} "Install documentation in Acrobat format on this system." +LangString DESC_SecDocHtml ${LANG_ENGLISH} "Install documentation in HTML format on this system." + +LangString TITLE_ConfigPage1 ${LANG_ENGLISH} "Configuration" +LangString SUBTITLE_ConfigPage1 ${LANG_ENGLISH} "Set installation configuration." + +LangString TITLE_ConfigPage2 ${LANG_ENGLISH} "Configuration (continued)" +LangString SUBTITLE_ConfigPage2 ${LANG_ENGLISH} "Set installation configuration." + +LangString TITLE_InstallType ${LANG_ENGLISH} "Installation Type" +LangString SUBTITLE_InstallType ${LANG_ENGLISH} "Choose installation type." + +LangString TITLE_WriteTemplates ${LANG_ENGLISH} "Create Templates" +LangString SUBTITLE_WriteTemplates ${LANG_ENGLISH} "Create resource templates for inclusion in the Director's configuration file." + +!InsertMacro MUI_FUNCTION_DESCRIPTION_BEGIN + !InsertMacro MUI_DESCRIPTION_TEXT ${SecFileDaemon} $(DESC_SecFileDaemon) + !InsertMacro MUI_DESCRIPTION_TEXT ${SecStorageDaemon} $(DESC_SecStorageDaemon) + !InsertMacro MUI_DESCRIPTION_TEXT ${SecDirectorDaemon} $(DESC_SecDirectorDaemon) + !InsertMacro MUI_DESCRIPTION_TEXT ${SecConsole} $(DESC_SecConsole) + !InsertMacro MUI_DESCRIPTION_TEXT ${SecWxConsole} $(DESC_SecWxConsole) + !InsertMacro MUI_DESCRIPTION_TEXT ${SecDocPdf} $(DESC_SecDocPdf) + !InsertMacro MUI_DESCRIPTION_TEXT ${SecDocHtml} $(DESC_SecDocHtml) +!InsertMacro MUI_FUNCTION_DESCRIPTION_END + +; Uninstall section + +UninstallText "This will uninstall Bacula. Hit next to continue." + +Section "Uninstall" + ; Shutdown any baculum that could be running + nsExec::ExecToLog '"$INSTDIR\bin\bacula-fd.exe" /kill' + nsExec::ExecToLog '"$INSTDIR\bin\bacula-sd.exe" /kill' + nsExec::ExecToLog '"$INSTDIR\bin\bacula-dir.exe" /kill' + Sleep 3000 + + ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-fd" + ${If} $R0 = 1 + ; Remove bacula service + nsExec::ExecToLog '"$INSTDIR\bin\bacula-fd.exe" /remove' + ${EndIf} + + ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-sd" + ${If} $R0 = 1 + ; Remove bacula service + nsExec::ExecToLog '"$INSTDIR\bin\bacula-sd.exe" /remove' + ${EndIf} + + ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-dir" + ${If} $R0 = 1 + ; Remove bacula service + nsExec::ExecToLog '"$INSTDIR\bin\bacula-dir.exe" /remove' + ${EndIf} + + ; remove registry keys + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" + DeleteRegKey HKLM "Software\Bacula" + + ; remove start menu items + SetShellVarContext all + Delete /REBOOTOK "$SMPROGRAMS\Bacula\*" + RMDir "$SMPROGRAMS\Bacula" + + ; remove files and uninstaller (preserving config for now) + Delete /REBOOTOK "$INSTDIR\bin\*" + Delete /REBOOTOK "$INSTDIR\doc\*" + Delete /REBOOTOK "$INSTDIR\*" + + ; Check for existing installation + MessageBox MB_YESNO|MB_ICONQUESTION \ + "Would you like to delete the current configuration files and the working state file?" IDNO +7 + Delete /REBOOTOK "$APPDATA\Bacula\*" + Delete /REBOOTOK "$APPDATA\Bacula\Work\*" + Delete /REBOOTOK "$APPDATA\Bacula\Spool\*" + RMDir "$APPDATA\Bacula\Work" + RMDir "$APPDATA\Bacula\Spool" + RMDir "$APPDATA\Bacula" + + ; remove directories used + RMDir "$INSTDIR\bin" + RMDir "$INSTDIR\doc" + RMDir "$INSTDIR" +SectionEnd + +; +; $0 - Service Name (ie Bacula-FD) +; $1 - Service Description (ie Bacula File Daemon) +; $2 - Install as Service +; $3 - Start Service now +; +Function InstallDaemon + Call InstallCommonFiles + + WriteRegDWORD HKLM "Software\Bacula" "Service_$0" $2 + + ${If} $2 = 1 + nsExec::ExecToLog '"$INSTDIR\bin\$0.exe" /install -c "$APPDATA\Bacula\$0.conf"' + + ${If} $OsIsNT <> 1 + File "Start.bat" + File "Stop.bat" + ${EndIf} + + ; Start the service? + + ${If} $3 = 1 + ${If} $OsIsNT = 1 + nsExec::ExecToLog 'net start $0' + ${Else} + Exec '"$INSTDIR\bin\$0.exe" -c "$APPDATA\Bacula\$0.conf"' + ${EndIf} + ${EndIf} + ${Else} + CreateShortCut "$SMPROGRAMS\Bacula\Start $1.lnk" "$INSTDIR\bin\$0.exe" '-c "$APPDATA\Bacula\$0.conf"' "$INSTDIR\bin\$0.exe" 0 + ${EndIf} +FunctionEnd + +Function GetComputerName + Push $R0 + Push $R1 + Push $R2 + + System::Call "kernel32::GetComputerNameA(t .R0, *i ${NSIS_MAX_STRLEN} R1) i.R2" + + ${StrCase} $R0 $R0 "L" + + Pop $R2 + Pop $R1 + Exch $R0 +FunctionEnd + +!define ComputerNameDnsFullyQualified 3 + +Function GetHostName + Push $R0 + Push $R1 + Push $R2 + + ${If} $OsIsNT = 1 + System::Call "kernel32::GetComputerNameExA(i ${ComputerNameDnsFullyQualified}, t .R0, *i ${NSIS_MAX_STRLEN} R1) i.R2 ?e" + ${If} $R2 = 0 + Pop $R2 + DetailPrint "GetComputerNameExA failed - LastError = $R2" + Call GetComputerName + Pop $R0 + ${Else} + Pop $R2 + ${EndIf} + ${Else} + Call GetComputerName + Pop $R0 + ${EndIf} + + Pop $R2 + Pop $R1 + Exch $R0 +FunctionEnd + +!define NameUserPrincipal 8 + +Function GetUserName + Push $R0 + Push $R1 + Push $R2 + + ${If} $OsIsNT = 1 + System::Call "secur32::GetUserNameExA(i ${NameUserPrincipal}, t .R0, *i ${NSIS_MAX_STRLEN} R1) i.R2 ?e" + ${If} $R2 = 0 + Pop $R2 + DetailPrint "GetUserNameExA failed - LastError = $R2" + Pop $R0 + StrCpy $R0 "" + ${Else} + Pop $R2 + ${EndIf} + ${Else} + StrCpy $R0 "" + ${EndIf} + + ${If} $R0 == "" + System::Call "advapi32::GetUserNameA(t .R0, *i ${NSIS_MAX_STRLEN} R1) i.R2 ?e" + ${If} $R2 = 0 + Pop $R2 + DetailPrint "GetUserNameA failed - LastError = $R2" + StrCpy $R0 "" + ${Else} + Pop $R2 + ${EndIf} + ${EndIf} + + Pop $R2 + Pop $R1 + Exch $R0 +FunctionEnd + +Function ConfigEditAndCopy + Push $R1 + + ${If} ${FileExists} "$0\$1" + StrCpy $R1 ".new" + ${Else} + StrCpy $R1 "" + ${EndIf} + + nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\config.sed" -i.bak "$PLUGINSDIR\$1"' + CopyFiles "$PLUGINSDIR\$1" "$0\$1$R1" + + Pop $R1 +FunctionEnd + +Function FindDatabaseApps + Push $R1 + + ReadRegStr $0 HKLM "Software\MySQL AB\MySQL Server 5.0" "Location" + + ${If} $0 != "" + Call RemoveTrailingSlash + StrCpy $MySQLPath $0 + ReadRegStr $0 HKLM "Software\MySQL AB\MySQL Server 5.0" "Version" + StrCpy $MySQLVersion $0 + ${EndIf} + + EnumRegKey $R1 HKLM "Software\PostgreSQL\Installations" 0 + ${If} $R1 != "" + ReadRegStr $0 HKLM "Software\PostgreSQL\Installations\$R1" "Base Directory" + Call RemoveTrailingSlash + StrCpy $PostgreSQLPath $0 + ReadRegStr $0 HKLM "Software\PostgreSQL\Installations\$R1" "Version" + StrCpy $PostgreSQLVersion $0 + ${EndIf} + + Pop $R1 +FunctionEnd + +Function RemoveTrailingSlash + Push $R1 + StrCpy $R1 $0 "" -1 + ${If} $R1 == "\" + StrCpy $0 $0 -1 + ${EndIf} + Pop $R1 +FunctionEnd + +Function IsDirectorSelected + Push $R0 + SectionGetFlags ${SecDirectorDaemon} $R0 + IntOp $R0 $R0 & ${SF_SELECTED} + Exch $R0 +FunctionEnd + +Function GetSelectedComponents + Push $R0 + StrCpy $R0 0 + ${If} ${SectionIsSelected} ${SecFileDaemon} + IntOp $R0 $R0 | ${ComponentFile} + ${EndIf} + ${If} ${SectionIsSelected} ${SecStorageDaemon} + IntOp $R0 $R0 | ${ComponentStorage} + ${EndIf} + ${If} ${SectionIsSelected} ${SecDirectorDaemon} + IntOp $R0 $R0 | ${ComponentDirector} + ${EndIf} + ${If} ${SectionIsSelected} ${SecConsole} + IntOp $R0 $R0 | ${ComponentTextConsole} + ${EndIf} + ${If} ${SectionIsSelected} ${SecWxConsole} + IntOp $R0 $R0 | ${ComponentGUIConsole} + ${EndIf} + ${If} ${SectionIsSelected} ${SecDocPdf} + IntOp $R0 $R0 | ${ComponentPDFDocs} + ${EndIf} + ${If} ${SectionIsSelected} ${SecDocHtml} + IntOp $R0 $R0 | ${ComponentHTMLDocs} + ${EndIf} + Exch $R0 +FunctionEnd + +Function PageComponentsShow + ${If} $OsIsNT <> 1 + Call DisableServerSections + ${EndIf} + + Call SelectPreviousComponents + Call UpdateComponentUI +FunctionEnd + +Function PageDirectoryPre + ${If} $AutomaticInstall = 1 + ${OrIf} $InstallType = ${UpgradeInstall} + Abort + ${EndIf} +FunctionEnd + +Function LeaveInstallPage + Push "$INSTDIR\install.log" + Call DumpLog +FunctionEnd + +Function EnterWriteTemplates + Push $R0 + Push $R1 + + Call GetSelectedComponents + Pop $R0 + + IntOp $R0 $R0 & ${ComponentDirector} + IntOp $R1 $NewComponents & ${ComponentsFileAndStorage} + + ${If} $R0 <> 0 + ${OrIf} $R1 = 0 + Pop $R1 + Pop $R0 + Abort + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentFile} + ${If} $R0 = 0 + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" State 0 + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" Flags DISABLED + DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 3" State + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 3" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST|DISABLED + ${Else} + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" State 1 + DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" Flags + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 3" State "C:\$ConfigClientName.conf" + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST + ${EndIf} + + IntOp $R0 $NewComponents & ${ComponentStorage} + ${If} $R0 = 0 + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" State 0 + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" Flags DISABLED + DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" State + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST|DISABLED + ${Else} + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" State 1 + DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" Flags + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" State "C:\$ConfigStorageName.conf" + WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST + ${EndIf} + + !InsertMacro MUI_HEADER_TEXT "$(TITLE_WriteTemplates)" "$(SUBTITLE_WriteTemplates)" + !InsertMacro MUI_INSTALLOPTIONS_DISPLAY "WriteTemplates.ini" + + !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 2" State + ${If} $R0 <> 0 + File "/oname=$PLUGINSDIR\client.conf.in" "client.conf.in" + + nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\config.sed" -i.bak "$PLUGINSDIR\client.conf.in"' + !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 3" State + ${If} $R0 != "" + CopyFiles "$PLUGINSDIR\client.conf.in" "$R0" + ${EndIf} + ${EndIf} + + !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 4" State + ${If} $R0 <> 0 + File "/oname=$PLUGINSDIR\storage.conf.in" "storage.conf.in" + + nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\config.sed" -i.bak "$PLUGINSDIR\storage.conf.in"' + !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 5" State + ${If} $R0 != "" + CopyFiles "$PLUGINSDIR\storage.conf.in" "$R0" + ${EndIf} + ${EndIf} + + Pop $R1 + Pop $R0 +FunctionEnd + +Function SelectPreviousComponents + ${If} $InstallType <> ${NewInstall} + IntOp $R1 $PreviousComponents & ${ComponentFile} + ${If} $R1 <> 0 + !InsertMacro SelectSection ${SecFileDaemon} + !InsertMacro SetSectionFlag ${SecFileDaemon} ${SF_RO} + ${Else} + !InsertMacro UnselectSection ${SecFileDaemon} + !InsertMacro ClearSectionFlag ${SecFileDaemon} ${SF_RO} + ${EndIf} + IntOp $R1 $PreviousComponents & ${ComponentStorage} + ${If} $R1 <> 0 + !InsertMacro SelectSection ${SecStorageDaemon} + !InsertMacro SetSectionFlag ${SecStorageDaemon} ${SF_RO} + ${Else} + !InsertMacro UnselectSection ${SecStorageDaemon} + !InsertMacro ClearSectionFlag ${SecStorageDaemon} ${SF_RO} + ${EndIf} + IntOp $R1 $PreviousComponents & ${ComponentDirector} + ${If} $R1 <> 0 + !InsertMacro SelectSection ${SecDirectorDaemon} + !InsertMacro SetSectionFlag ${SecDirectorDaemon} ${SF_RO} + ${Else} + !InsertMacro UnselectSection ${SecDirectorDaemon} + !InsertMacro ClearSectionFlag ${SecDirectorDaemon} ${SF_RO} + ${EndIf} + IntOp $R1 $PreviousComponents & ${ComponentTextConsole} + ${If} $R1 <> 0 + !InsertMacro SelectSection ${SecConsole} + !InsertMacro SetSectionFlag ${SecConsole} ${SF_RO} + ${Else} + !InsertMacro UnselectSection ${SecConsole} + !InsertMacro ClearSectionFlag ${SecConsole} ${SF_RO} + ${EndIf} + IntOp $R1 $PreviousComponents & ${ComponentGUIConsole} + ${If} $R1 <> 0 + !InsertMacro SelectSection ${SecWxConsole} + !InsertMacro SetSectionFlag ${SecWxConsole} ${SF_RO} + ${Else} + !InsertMacro UnselectSection ${SecWxConsole} + !InsertMacro ClearSectionFlag ${SecWxConsole} ${SF_RO} + ${EndIf} + IntOp $R1 $PreviousComponents & ${ComponentPDFDocs} + ${If} $R1 <> 0 + !InsertMacro SelectSection ${SecDocPdf} + !InsertMacro SetSectionFlag ${SecDocPdf} ${SF_RO} + ${Else} + !InsertMacro UnselectSection ${SecDocPdf} + !InsertMacro ClearSectionFlag ${SecDocPdf} ${SF_RO} + ${EndIf} + IntOp $R1 $PreviousComponents & ${ComponentHTMLDocs} + ${If} $R1 <> 0 + !InsertMacro SelectSection ${SecDocHtml} + !InsertMacro SetSectionFlag ${SecDocHtml} ${SF_RO} + ${Else} + !InsertMacro UnselectSection ${SecDocHtml} + !InsertMacro ClearSectionFlag ${SecDocHtml} ${SF_RO} + ${EndIf} + ${EndIf} +FunctionEnd + +Function DisableServerSections + !InsertMacro UnselectSection ${SecGroupServer} + !InsertMacro SetSectionFlag ${SecGroupServer} ${SF_RO} + !InsertMacro UnselectSection ${SecStorageDaemon} + !InsertMacro SetSectionFlag ${SecStorageDaemon} ${SF_RO} + !InsertMacro UnselectSection ${SecDirectorDaemon} + !InsertMacro SetSectionFlag ${SecDirectorDaemon} ${SF_RO} +FunctionEnd + +Function UpdateComponentUI + Push $R0 + Push $R1 + + Call GetSelectedComponents + Pop $R0 + + IntOp $R1 $R0 ^ $PreviousComponents + IntOp $NewComponents $R0 & $R1 + + ${If} $InstallType <> ${NewInstall} + IntOp $R1 $NewComponents & ${ComponentFile} + ${If} $R1 <> 0 + !InsertMacro SetSectionFlag ${SecFileDaemon} ${SF_BOLD} + ${Else} + !InsertMacro ClearSectionFlag ${SecFileDaemon} ${SF_BOLD} + ${EndIf} + IntOp $R1 $NewComponents & ${ComponentStorage} + ${If} $R1 <> 0 + !InsertMacro SetSectionFlag ${SecStorageDaemon} ${SF_BOLD} + ${Else} + !InsertMacro ClearSectionFlag ${SecStorageDaemon} ${SF_BOLD} + ${EndIf} + IntOp $R1 $NewComponents & ${ComponentDirector} + ${If} $R1 <> 0 + !InsertMacro SetSectionFlag ${SecDirectorDaemon} ${SF_BOLD} + ${Else} + !InsertMacro ClearSectionFlag ${SecDirectorDaemon} ${SF_BOLD} + ${EndIf} + IntOp $R1 $NewComponents & ${ComponentTextConsole} + ${If} $R1 <> 0 + !InsertMacro SetSectionFlag ${SecConsole} ${SF_BOLD} + ${Else} + !InsertMacro ClearSectionFlag ${SecConsole} ${SF_BOLD} + ${EndIf} + IntOp $R1 $NewComponents & ${ComponentGUIConsole} + ${If} $R1 <> 0 + !InsertMacro SetSectionFlag ${SecWxConsole} ${SF_BOLD} + ${Else} + !InsertMacro ClearSectionFlag ${SecWxConsole} ${SF_BOLD} + ${EndIf} + IntOp $R1 $NewComponents & ${ComponentPDFDocs} + ${If} $R1 <> 0 + !InsertMacro SetSectionFlag ${SecDocPdf} ${SF_BOLD} + ${Else} + !InsertMacro ClearSectionFlag ${SecDocPdf} ${SF_BOLD} + ${EndIf} + IntOp $R1 $NewComponents & ${ComponentHTMLDocs} + ${If} $R1 <> 0 + !InsertMacro SetSectionFlag ${SecDocHtml} ${SF_BOLD} + ${Else} + !InsertMacro ClearSectionFlag ${SecDocHtml} ${SF_BOLD} + ${EndIf} + ${EndIf} + + GetDlgItem $R0 $HWNDPARENT 1 + + IntOp $R1 $NewComponents & ${ComponentsRequiringUserConfig} + ${If} $R1 = 0 + SendMessage $R0 ${WM_SETTEXT} 0 "STR:Install" + ${Else} + SendMessage $R0 ${WM_SETTEXT} 0 "STR:&Next >" + ${EndIf} + + Pop $R1 + Pop $R0 +FunctionEnd + +!include "InstallType.nsh" +!include "ConfigPage1.nsh" +!include "ConfigPage2.nsh" +!include "DumpLog.nsh" diff --git a/bacula/src/win32/installer/wx-console.conf.in b/bacula/src/win32/installer/wx-console.conf.in index 3013fa2c7e..4f60389ea4 100644 --- a/bacula/src/win32/installer/wx-console.conf.in +++ b/bacula/src/win32/installer/wx-console.conf.in @@ -1,10 +1,10 @@ -# -# Bacula User Agent (or Console) Configuration File -# - -Director { - Name = @director_name@ - DIRport = @director_port@ - address = @director_address@ - Password = "@director_password@" -} +# +# Bacula User Agent (or Console) Configuration File +# + +Director { + Name = @director_name@ + DIRport = @director_port@ + address = @director_address@ + Password = "@director_password@" +} diff --git a/bacula/src/win32/libbac/msvc/bacula.def b/bacula/src/win32/libbac/msvc/bacula.def index ea9deea165..3a1208e2c1 100644 --- a/bacula/src/win32/libbac/msvc/bacula.def +++ b/bacula/src/win32/libbac/msvc/bacula.def @@ -1,501 +1,501 @@ -LIBRARY bacula.dll -EXPORTS - -; address_conf.obj -?get_port_net_order@IPADDR@@QBEGXZ -?get_address@IPADDR@@QAEPBDPADH@Z -?get_first_address@@YAPBDPAVdlist@@PADH@Z -?get_first_port_host_order@@YAHPAVdlist@@@Z -?init_default_addresses@@YAXPAPAVdlist@@H@Z -?store_addresses@@YAXPAUs_lex_context@@PAURES_ITEM@@HH@Z -?store_addresses_address@@YAXPAUs_lex_context@@PAURES_ITEM@@HH@Z -?store_addresses_port@@YAXPAUs_lex_context@@PAURES_ITEM@@HH@Z -?free_addresses@@YAXPAVdlist@@@Z -?sockaddr_get_port_net_order@@YAHPBUsockaddr@@@Z -?sockaddr_to_ascii@@YAPADPBUsockaddr@@PADH@Z - -; alist.obj -?first@alist@@QAEPAXXZ -?next@alist@@QAEPAXXZ -?prepend@alist@@QAEXPAX@Z -?append@alist@@QAEXPAX@Z -?remove@alist@@QAEPAXH@Z -?get@alist@@QAEPAXH@Z -?destroy@alist@@QAEXXZ - -; attr.obj -?new_attr@@YAPAUATTR@@XZ -?free_attr@@YAXPAUATTR@@@Z -?unpack_attributes_record@@YAHPAVJCR@@JPADPAUATTR@@@Z -?build_attr_output_fnames@@YAXPAVJCR@@PAUATTR@@@Z -?print_ls_output@@YAXPAVJCR@@PAUATTR@@@Z - -; attribs.obj -?select_data_stream@@YAHPAUFF_PKT@@@Z -?encode_stat@@YAXPADPAUFF_PKT@@H@Z -?decode_stat@@YAHPADPAUstat@@PAJ@Z -?decode_LinkFI@@YAJPADPAUstat@@@Z -?set_attributes@@YA_NPAVJCR@@PAUATTR@@PAUBFILE@@@Z -?encode_attribsEx@@YAHPAVJCR@@PADPAUFF_PKT@@@Z - -; base64.obj -?bin_to_base64@@YAHPADH0HH@Z - -; berrno.obj -?strerror@berrno@@QAEPBDXZ -?format_win32_message@berrno@@AAEXXZ - -; bfile.obj -?is_win32_stream@@YA_NH@Z -?stream_to_ascii@@YAPBDH@Z -?processWin32BackupAPIBlock@@YA_NPAUBFILE@@PAXH@Z -?binit@@YAXPAUBFILE@@@Z -?set_portable_backup@@YA_NPAUBFILE@@@Z -?set_prog@@YA_NPAUBFILE@@PADPAVJCR@@@Z -?is_portable_backup@@YA_NPAUBFILE@@@Z -?have_win32_api@@YA_NXZ -?is_restore_stream_supported@@YA_NH@Z -?bopen@@YAHPAUBFILE@@PBDHI@Z -?bclose@@YAHPAUBFILE@@@Z -?bread@@YAHPAUBFILE@@PAXI@Z -?bwrite@@YAHPAUBFILE@@PAXI@Z -?is_bopen@@YA_NPAUBFILE@@@Z -?blseek@@YA_JPAUBFILE@@_JH@Z - -; bget_msg.obj -?bget_msg@@YAHPAUBSOCK@@@Z - -; bnet.obj -?bnet_recv@@YAJPAUBSOCK@@@Z -?is_bnet_stop@@YA_NPAUBSOCK@@@Z -?is_bnet_error@@YAHPAUBSOCK@@@Z -?bnet_suppress_error_messages@@YAXPAUBSOCK@@_N@Z -?bnet_despool_to_bsock@@YAHPAUBSOCK@@P6AXH@ZH@Z -?bnet_send@@YA_NPAUBSOCK@@@Z -?bnet_tls_server@@YA_NPAUTLS_Context@@PAUBSOCK@@PAValist@@@Z -?bnet_tls_client@@YA_NPAUTLS_Context@@PAUBSOCK@@@Z -?bnet_wait_data@@YAHPAUBSOCK@@H@Z -?bnet_wait_data_intr@@YAHPAUBSOCK@@H@Z -?bnet_connect@@YAPAUBSOCK@@PAVJCR@@HHPBDPAD2HH@Z -?bnet_strerror@@YAPBDPAUBSOCK@@@Z -?bnet_fsend@@YA_NPAUBSOCK@@PBDZZ -?bnet_get_peer@@YAHPAUBSOCK@@PADH@Z -?bnet_set_buffer_size@@YA_NPAUBSOCK@@IH@Z -?bnet_sig@@YA_NPAUBSOCK@@H@Z -?bnet_sig_to_ascii@@YAPBDPAUBSOCK@@@Z -?init_bsock@@YAPAUBSOCK@@PAVJCR@@HPBD1HPAUsockaddr@@@Z -?dup_bsock@@YAPAUBSOCK@@PAU1@@Z -?bnet_close@@YAXPAUBSOCK@@@Z -?term_bsock@@YAXPAUBSOCK@@@Z - -; bnet_server.obj -?bnet_stop_thread_server@@YAXPAUpthread_t_@@@Z -?bnet_thread_server@@YAXPAVdlist@@HPAUworkq_tag@@P6APAXPAX@Z@Z - -; bpipe.obj -?run_program@@YAHPADH0@Z -?run_program_full_output@@YAHPADH0@Z - -; bregex.obj -b_regcomp -b_regexec -b_regerror -b_regfree - -; bsnprintf.obj -?bsnprintf@@YAHPADJPBDZZ -?bvsnprintf@@YAHPADJPBD0@Z - -; bsys.obj -?bmicrosleep@@YAHJJ@Z -?bstrncpy@@YAPADPADPBDH@Z -?bstrncpy@@YAPADPADAAVPOOL_MEM@@H@Z -?bstrncat@@YAPADPADPBDH@Z -?bstrcmp@@YA_NPBD0@Z -?cstrlen@@YAHPBD@Z -?bfree@@YAXPAX@Z -?b_malloc@@YAPAXPBDHI@Z -?brealloc@@YAPAXPAXI@Z -?_p@@YAXPAPAUpthread_mutex_t_@@@Z -?_v@@YAXPAPAUpthread_mutex_t_@@@Z -?create_pid_file@@YAXPADPBDH@Z -?delete_pid_file@@YAHPADPBDH@Z -?read_state_file@@YAXPADPBDH@Z -?write_state_file@@YAXPADPBDH@Z -?drop@@YAXPAD0@Z -?bfgets@@YAPADPADHPAU_iobuf@@@Z -?escape_filename@@YAPADPBD@Z - -; btime.obj -?bstrftime@@YAPADPADH_J@Z -?bstrftimes@@YAPADPADH_J@Z -?bstrftime_nc@@YAPADPADH_J@Z -?bstrutime@@YAPADPADH_J@Z -?str_to_utime@@YA_JPAD@Z -?get_current_btime@@YA_JXZ -?btime_to_unix@@YAJ_J@Z -?btime_to_utime@@YA_J_J@Z -?tm_woy@@YAHJ@Z -?get_current_time@@YAXPAUdate_time@@@Z -?tm_decode@@YAXPAUdate_time@@PAUtm@@@Z - -; btimers.obj -?start_thread_timer@@YAPAUs_btimer_t@@PAUpthread_t_@@I@Z -?start_bsock_timer@@YAPAUs_btimer_t@@PAUBSOCK@@I@Z -?stop_bsock_timer@@YAXPAUs_btimer_t@@@Z -?stop_thread_timer@@YAXPAUs_btimer_t@@@Z - -; compat.obj -?SetVSSPathConvert@@YAXP6AHPBDPADH@ZP6AHPB_WPA_WH@Z@Z -?wchar_2_UTF8@@YAHPADPB_WH@Z -?random@@YAJXZ -?srandom@@YAXI@Z -?fstat@@YAHHPAUstat@@@Z -?stat@@YAHPBDPAU0@@Z -?fcntl@@YAHHHJ@Z -?lstat@@YAHPBDPAUstat@@@Z -?sleep@@YAXH@Z -?strcasecmp@@YAHPBD0@Z -?gettimeofday@@YAHPAUtimeval@@PAUtimezone@@@Z -?opendir@@YAPAXPBD@Z -?closedir@@YAHPAX@Z -?readdir_r@@YAHPAXPAUdirent@@PAPAU1@@Z -?init_signals@@YAXP6AXH@Z@Z -?init_stack_dump@@YAXXZ -?pathconf@@YAJPBDH@Z -?WSA_Init@@YAHXZ -?win32_fputs@@YAHPBDPAU_iobuf@@@Z -?win32_cgets@@YAPADPADH@Z -?win32_unlink@@YAHPBD@Z -?open_bpipe@@YAPAVBPIPE@@PADHPBD@Z -?kill@@YAHHH@Z -?close_bpipe@@YAHPAVBPIPE@@@Z -?utime@@YAHPBDPAUutimbuf@@@Z - -; cram-md5.obj -?cram_md5_challenge@@YA_NPAUBSOCK@@PADHH@Z -?cram_md5_respond@@YA_NPAUBSOCK@@PADPAH2@Z - -; crc32.obj -?bcrc32@@YAIPAEH@Z - -;create_file.obj -?create_file@@YAHPAVJCR@@PAUATTR@@PAUBFILE@@H@Z - -; crypto.obj -?crypto_digest_new@@YAPAUDigest@@W4crypto_digest_t@@@Z -?crypto_digest_update@@YA_NPAUDigest@@PBEI@Z -?crypto_digest_finalize@@YA_NPAUDigest@@PAEPAI@Z -?crypto_digest_free@@YAXPAUDigest@@@Z -?init_crypto@@YAHXZ -?cleanup_crypto@@YAHXZ -?crypto_sign_new@@YAPAUSignature@@XZ -?crypto_sign_get_digest@@YA?AW4crypto_error_t@@PAUSignature@@PAUX509_Keypair@@PAPAUDigest@@@Z -?crypto_sign_verify@@YA?AW4crypto_error_t@@PAUSignature@@PAUX509_Keypair@@PAUDigest@@@Z -?crypto_sign_add_signer@@YAHPAUSignature@@PAUDigest@@PAUX509_Keypair@@@Z -?crypto_sign_encode@@YAHPAUSignature@@PAEPAI@Z -?crypto_sign_decode@@YAPAUSignature@@PBEI@Z -?crypto_sign_free@@YAXPAUSignature@@@Z -?crypto_keypair_new@@YAPAUX509_Keypair@@XZ -?crypto_keypair_dup@@YAPAUX509_Keypair@@PAU1@@Z -?crypto_keypair_load_cert@@YAHPAUX509_Keypair@@PBD@Z -?crypto_keypair_has_key@@YA_NPBD@Z -?crypto_keypair_load_key@@YAHPAUX509_Keypair@@PBDP6AHPADHPBX@Z3@Z -?crypto_keypair_free@@YAXPAUX509_Keypair@@@Z -?crypto_session_new@@YAPAUCrypto_Session@@W4crypto_cipher_t@@PAValist@@@Z -?crypto_session_free@@YAXPAUCrypto_Session@@@Z -?crypto_session_encode@@YA_NPAUCrypto_Session@@PAEPAI@Z -?crypto_session_decode@@YA?AW4crypto_error_t@@PBEIPAValist@@PAPAUCrypto_Session@@@Z -?crypto_cipher_new@@YAPAUCipher_Context@@PAUCrypto_Session@@_NPAI@Z -?crypto_cipher_update@@YA_NPAUCipher_Context@@PBEI1PAI@Z -?crypto_cipher_finalize@@YA_NPAUCipher_Context@@PAEPAI@Z -?crypto_cipher_free@@YAXPAUCipher_Context@@@Z -?crypto_default_pem_callback@@YAHPADHPBX@Z -?crypto_digest_name@@YAPBDPAUDigest@@@Z -?crypto_digest_stream_type@@YA?AW4crypto_digest_t@@H@Z -?crypto_strerror@@YAPBDW4crypto_error_t@@@Z - -; daemon.obj -?daemon_start@@YAXXZ - -; dlist.obj -?append@dlist@@QAEXPAX@Z -?prepend@dlist@@QAEXPAX@Z -?insert_before@dlist@@QAEXPAX0@Z -?binary_insert@dlist@@QAEPAXPAXP6AH00@Z@Z -?first@dlist@@QBEPAXXZ -?last@dlist@@QBEPAXXZ -?binary_insert_multiple@dlist@@QAEXPAXP6AH00@Z@Z -?binary_search@dlist@@QAEPAXPAXP6AH00@Z@Z -?remove@dlist@@QAEXPAX@Z -?next@dlist@@QBEPAXPBX@Z -?destroy@dlist@@QAEXXZ - -; drivetype.obj -?drivetype@@YA_NPBDPADH@Z - -; edit.obj -?str_to_uint64@@YA_KPAD@Z -?str_to_int64@@YA_JPAD@Z -?edit_uint64_with_commas@@YAPAD_KPAD@Z -?edit_uint64_with_suffix@@YAPAD_KPAD@Z -?edit_uint64@@YAPAD_KPAD@Z -?edit_int64@@YAPAD_JPAD@Z -?duration_to_utime@@YA_NPADPA_J@Z -?edit_utime@@YAPAD_JPADH@Z -?size_to_uint64@@YA_NPADHPA_K@Z -?is_a_number@@YA_NPBD@Z -?is_an_integer@@YA_NPBD@Z -?is_name_valid@@YA_NPADPAPAD@Z -?add_commas@@YAPADPAD0@Z - -; enable_priv.obj -?enable_backup_privileges@@YAHPAVJCR@@H@Z - -; enh_fnmatch.obj - -; find.obj -?init_find_files@@YAPAUFF_PKT@@XZ -?set_find_options@@YAXPAUFF_PKT@@HJ@Z -?get_win32_driveletters@@YAHPAUFF_PKT@@PAD@Z -?find_files@@YAHPAVJCR@@PAUFF_PKT@@P6AH1PAX_N@Z2@Z -?term_find_files@@YAHPAUFF_PKT@@@Z - -; find_one.obj -?find_one_file@@YAHPAVJCR@@PAUFF_PKT@@P6AH1PAX_N@Z2PADI3@Z - -; fnmatch.obj -fnmatch - -; fstype.obj -?fstype@@YA_NPBDPADH@Z - -; hmac.obj -?hmac_md5@@YAXPAEH0H0@Z - -; htable.obj - -; idcache.obj -?getuser@@YAPADIPADH@Z -?getgroup@@YAPADIPADH@Z - -; jcr.obj -?lock_jobs@@YAXXZ -?unlock_jobs@@YAXXZ -?term_last_jobs_list@@YAXXZ -?lock_last_jobs_list@@YAXXZ -?unlock_last_jobs_list@@YAXXZ -?job_end_push@@YAXPAVJCR@@P6AX0PAX@Z1@Z -?new_jcr@@YAPAVJCR@@HP6AXPAV1@@Z@Z -?inc_use_count@JCR@@QAEXXZ -?lock@JCR@@QAEXXZ -?unlock@JCR@@QAEXXZ -?init_mutex@JCR@@QAEXXZ -?b_free_jcr@@YAXPBDHPAVJCR@@@Z -?dec_use_count@JCR@@QAEXXZ -?use_count@JCR@@QAEHXZ -?destroy_mutex@JCR@@QAEXXZ -?get_jcr_by_id@@YAPAVJCR@@I@Z -?get_jcr_by_session@@YAPAVJCR@@II@Z -?get_jcr_by_partial_name@@YAPAVJCR@@PAD@Z -?get_jcr_by_full_name@@YAPAVJCR@@PAD@Z -?set_jcr_job_status@@YAXPAVJCR@@H@Z -?jcr_walk_start@@YAPAVJCR@@XZ -?jcr_walk_next@@YAPAVJCR@@PAV1@@Z -?jcr_walk_end@@YAXPAVJCR@@@Z -?init_jcr_subsystem@@YA_NXZ - -; lex.obj -?scan_to_eol@@YAXPAUs_lex_context@@@Z -?lex_set_default_error_handler@@YAXPAUs_lex_context@@@Z -?lex_set_error_handler_error_type@@YAHPAUs_lex_context@@H@Z -?lex_close_file@@YAPAUs_lex_context@@PAU1@@Z -?lex_open_file@@YAPAUs_lex_context@@PAU1@PBDP6AX1H01ZZ@Z -?lex_tok_to_str@@YAPBDH@Z -?lex_get_token@@YAHPAUs_lex_context@@H@Z - -; makepath.obj - -; match.obj -?match_files@@YAHPAVJCR@@PAUFF_PKT@@P6AH1PAX_N@Z2@Z -?term_include_exclude_files@@YAXPAUFF_PKT@@@Z -?add_fname_to_include_list@@YAXPAUFF_PKT@@HPBD@Z -?add_fname_to_exclude_list@@YAXPAUFF_PKT@@PBD@Z -?file_is_included@@YAHPAUFF_PKT@@PBD@Z -?file_is_excluded@@YAHPAUFF_PKT@@PBD@Z - -; md5.obj -?MD5Init@@YAXPAUMD5Context@@@Z -?MD5Update@@YAXPAUMD5Context@@PAEI@Z -?MD5Final@@YAXQAEPAUMD5Context@@@Z - -; mem_pool.obj -?sm_get_pool_memory@@YAPADPBDHH@Z -?sm_get_memory@@YAPADPBDHJ@Z -?sm_sizeof_pool_memory@@YAJPBDHPAD@Z -?sm_realloc_pool_memory@@YAPADPBDHPADJ@Z -?sm_check_pool_memory_size@@YAPADPBDHPADJ@Z -?sm_free_pool_memory@@YAXPBDHPAD@Z -?close_memory_pool@@YAXXZ -?print_memory_pool_stats@@YAXXZ -?pm_strcat@@YAHPAPADPBD@Z -?pm_strcat@@YAHAAPADPBD@Z -?c_str@POOL_MEM@@QBEPADXZ -?pm_strcat@@YAHAAVPOOL_MEM@@PBD@Z -?check_size@POOL_MEM@@QAEPADJ@Z -?pm_strcpy@@YAHPAPADPBD@Z -?pm_strcpy@@YAHAAPADPBD@Z -?pm_strcpy@@YAHAAPADAAVPOOL_MEM@@@Z -?pm_strcpy@@YAHAAVPOOL_MEM@@PBD@Z -?max_size@POOL_MEM@@QAEJXZ - -; message.obj -?my_name_is@@YAXHQAPADPBD@Z -?get_db_type@@YAPBDXZ -?set_db_type@@YAXPBD@Z -?init_msg@@YAXPAVJCR@@PAVMSGS@@@Z -?init_console_msg@@YAXPBD@Z -?add_msg_dest@@YAXPAVMSGS@@HHPAD1@Z -?rem_msg_dest@@YAXPAVMSGS@@HHPAD@Z -?close_msg@@YAXPAVJCR@@@Z -?set_errno@berrno@@QAEXH@Z -?free_msgs_res@@YAXPAVMSGS@@@Z -?term_msg@@YAXXZ -?dispatch_message@@YAXPAVJCR@@HJPAD@Z -?c_str@POOL_MEM@@QBEPADXZ -?d_msg@@YAXPBDHH0ZZ -?get_basename@@YAPBDPBD@Z -?set_trace@@YAXH@Z -?get_trace@@YA_NXZ -?p_msg@@YAXPBDHH0ZZ -?e_msg@@YAXPBDHHH0ZZ -?Jmsg@@YAXPAVJCR@@HJPBDZZ -?j_msg@@YAXPBDHPAVJCR@@HJ0ZZ -?m_msg@@YAHPBDHPAPAD0ZZ -?m_msg@@YAHPBDHAAPAD0ZZ -?Mmsg@@YAHPAPADPBDZZ -?Mmsg@@YAHAAPADPBDZZ -?Mmsg@@YAHAAVPOOL_MEM@@PBDZZ -?Qmsg@@YAXPAVJCR@@HJPBDZZ -?dequeue_messages@@YAXPAVJCR@@@Z -?q_msg@@YAXPBDHPAVJCR@@HJ0ZZ - -; print.obj - -; pythonlib.obj -?generate_daemon_event@@YAHPAVJCR@@PBD@Z -?init_python_interpreter@@YAXPBD00@Z -?term_python_interpreter@@YAXXZ - -; queue.obj -?qinsert@@YAXPAUb_queue@@0@Z -?qnext@@YAPAUb_queue@@PAU1@0@Z -?qdchain@@YAPAUb_queue@@PAU1@@Z - -; runscript.obj -?new_runscript@@YAPAVRUNSCRIPT@@XZ -?reset_default@RUNSCRIPT@@QAEX_N@Z -?copy_runscript@@YAPAVRUNSCRIPT@@PAV1@@Z -?free_runscript@@YAXPAVRUNSCRIPT@@@Z -?run_scripts@@YAHPAVJCR@@PAValist@@PBD@Z -?set_command@RUNSCRIPT@@QAEXPBD@Z -?set_target@RUNSCRIPT@@QAEXPBD@Z -?run@RUNSCRIPT@@QAEHPAVJCR@@PBD@Z -?free_runscripts@@YAXPAValist@@@Z -?debug@RUNSCRIPT@@QAEXXZ - -; rwlock.obj -?rwl_init@@YAHPAUs_rwlock_tag@@@Z -?rwl_destroy@@YAHPAUs_rwlock_tag@@@Z -?rwl_writelock@@YAHPAUs_rwlock_tag@@@Z -?rwl_writeunlock@@YAHPAUs_rwlock_tag@@@Z - -; save-cwd.obj - -; scan.obj -?strip_leading_space@@YAXPAD@Z -?strip_trailing_junk@@YAXPAD@Z -?strip_trailing_newline@@YAXPAD@Z -?skip_spaces@@YA_NPAPAD@Z -?skip_nonspaces@@YA_NPAPAD@Z -?fstrsch@@YAHPBD0@Z -?next_arg@@YAPADPAPAD@Z -?parse_args@@YAHPADPAPADPAH11H@Z -?parse_args_only@@YAHPADPAPADPAH11H@Z -?bsscanf@@YAHPBD0ZZ - -; serial.obj -?serial_int32@@YAXQAPAEJ@Z -?serial_uint32@@YAXQAPAEI@Z -?serial_uint64@@YAXQAPAE_K@Z -?serial_btime@@YAXQAPAE_J@Z -?serial_float64@@YAXQAPAEN@Z -?serial_string@@YAXQAPAEQBD@Z -?unserial_int32@@YAJQAPAE@Z -?unserial_uint32@@YAIQAPAE@Z -?unserial_uint64@@YA_KQAPAE@Z -?unserial_btime@@YA_JQAPAE@Z -?unserial_float64@@YANQAPAE@Z -?unserial_string@@YAXQAPAEQAD@Z - -; sha1.obj - -; signal.obj - -; smartall.obj -?sm_free@@YAXPBDHPAX@Z -?sm_malloc@@YAPAXPBDHI@Z -?sm_calloc@@YAPAXPBDHII@Z -?sm_realloc@@YAPAXPBDHPAXI@Z -?sm_dump@@YAX_N@Z -?sm_check@@YAXPBDH_N@Z -?sm_static@@YAXH@Z - -; tls.obj -?new_tls_context@@YAPAUTLS_Context@@PBD000P6AHPADHPBX@Z20_N@Z -?free_tls_context@@YAXPAUTLS_Context@@@Z - -; tree.obj -?new_tree@@YAPAUs_tree_root@@H@Z -?free_tree@@YAXPAUs_tree_root@@@Z -?insert_tree_node@@YAPAUs_tree_node@@PAD0HPAUs_tree_root@@PAU1@@Z -?strrchr@@YAPADPADH@Z -?tree_getpath@@YAHPAUs_tree_node@@PADH@Z -?tree_cwd@@YAPAUs_tree_node@@PADPAUs_tree_root@@PAU1@@Z - -; util.obj -?is_buf_zero@@YA_NPADH@Z -?lcase@@YAXPAD@Z -?bash_spaces@@YAXPAD@Z -?bash_spaces@@YAXAAVPOOL_MEM@@@Z -?unbash_spaces@@YAXPAD@Z -?unbash_spaces@@YAXAAVPOOL_MEM@@@Z -?encode_time@@YAPADJPAD@Z -?jobstatus_to_ascii@@YAXHPADH@Z -?job_status_to_str@@YAPBDH@Z -?job_type_to_str@@YAPBDH@Z -?job_level_to_str@@YAPBDH@Z -?encode_mode@@YAPADIPAD@Z -?do_shell_expansion@@YAHPADH@Z -?make_session_key@@YAXPAD0H@Z -?edit_job_codes@@YAPADPAVJCR@@PAD1PBD@Z -?set_working_directory@@YAXPAD@Z - -; var.obj -?var_create@@YA?AW4var_rc_t@@PAPAUvar_st@@@Z -?var_destroy@@YA?AW4var_rc_t@@PAUvar_st@@@Z -?var_config@@YA?AW4var_rc_t@@PAUvar_st@@W4var_config_t@@ZZ -?var_unescape@@YA?AW4var_rc_t@@PAUvar_st@@PBDHPADHH@Z -?var_expand@@YA?AW4var_rc_t@@PAUvar_st@@PBDHPAPADPAHH@Z -?var_strerror@@YAPBDPAUvar_st@@W4var_rc_t@@@Z - -; watchdog.obj -?start_watchdog@@YAHXZ -?stop_watchdog@@YAHXZ -?new_watchdog@@YAPAUs_watchdog_t@@XZ -?register_watchdog@@YA_NPAUs_watchdog_t@@@Z - -; winapi.obj -?InitWinAPIWrapper@@YAXXZ - -; workq.obj +LIBRARY bacula.dll +EXPORTS + +; address_conf.obj +?get_port_net_order@IPADDR@@QBEGXZ +?get_address@IPADDR@@QAEPBDPADH@Z +?get_first_address@@YAPBDPAVdlist@@PADH@Z +?get_first_port_host_order@@YAHPAVdlist@@@Z +?init_default_addresses@@YAXPAPAVdlist@@H@Z +?store_addresses@@YAXPAUs_lex_context@@PAURES_ITEM@@HH@Z +?store_addresses_address@@YAXPAUs_lex_context@@PAURES_ITEM@@HH@Z +?store_addresses_port@@YAXPAUs_lex_context@@PAURES_ITEM@@HH@Z +?free_addresses@@YAXPAVdlist@@@Z +?sockaddr_get_port_net_order@@YAHPBUsockaddr@@@Z +?sockaddr_to_ascii@@YAPADPBUsockaddr@@PADH@Z + +; alist.obj +?first@alist@@QAEPAXXZ +?next@alist@@QAEPAXXZ +?prepend@alist@@QAEXPAX@Z +?append@alist@@QAEXPAX@Z +?remove@alist@@QAEPAXH@Z +?get@alist@@QAEPAXH@Z +?destroy@alist@@QAEXXZ + +; attr.obj +?new_attr@@YAPAUATTR@@XZ +?free_attr@@YAXPAUATTR@@@Z +?unpack_attributes_record@@YAHPAVJCR@@JPADPAUATTR@@@Z +?build_attr_output_fnames@@YAXPAVJCR@@PAUATTR@@@Z +?print_ls_output@@YAXPAVJCR@@PAUATTR@@@Z + +; attribs.obj +?select_data_stream@@YAHPAUFF_PKT@@@Z +?encode_stat@@YAXPADPAUFF_PKT@@H@Z +?decode_stat@@YAHPADPAUstat@@PAJ@Z +?decode_LinkFI@@YAJPADPAUstat@@@Z +?set_attributes@@YA_NPAVJCR@@PAUATTR@@PAUBFILE@@@Z +?encode_attribsEx@@YAHPAVJCR@@PADPAUFF_PKT@@@Z + +; base64.obj +?bin_to_base64@@YAHPADH0HH@Z + +; berrno.obj +?strerror@berrno@@QAEPBDXZ +?format_win32_message@berrno@@AAEXXZ + +; bfile.obj +?is_win32_stream@@YA_NH@Z +?stream_to_ascii@@YAPBDH@Z +?processWin32BackupAPIBlock@@YA_NPAUBFILE@@PAXH@Z +?binit@@YAXPAUBFILE@@@Z +?set_portable_backup@@YA_NPAUBFILE@@@Z +?set_prog@@YA_NPAUBFILE@@PADPAVJCR@@@Z +?is_portable_backup@@YA_NPAUBFILE@@@Z +?have_win32_api@@YA_NXZ +?is_restore_stream_supported@@YA_NH@Z +?bopen@@YAHPAUBFILE@@PBDHI@Z +?bclose@@YAHPAUBFILE@@@Z +?bread@@YAHPAUBFILE@@PAXI@Z +?bwrite@@YAHPAUBFILE@@PAXI@Z +?is_bopen@@YA_NPAUBFILE@@@Z +?blseek@@YA_JPAUBFILE@@_JH@Z + +; bget_msg.obj +?bget_msg@@YAHPAUBSOCK@@@Z + +; bnet.obj +?bnet_recv@@YAJPAUBSOCK@@@Z +?is_bnet_stop@@YA_NPAUBSOCK@@@Z +?is_bnet_error@@YAHPAUBSOCK@@@Z +?bnet_suppress_error_messages@@YAXPAUBSOCK@@_N@Z +?bnet_despool_to_bsock@@YAHPAUBSOCK@@P6AXH@ZH@Z +?bnet_send@@YA_NPAUBSOCK@@@Z +?bnet_tls_server@@YA_NPAUTLS_Context@@PAUBSOCK@@PAValist@@@Z +?bnet_tls_client@@YA_NPAUTLS_Context@@PAUBSOCK@@@Z +?bnet_wait_data@@YAHPAUBSOCK@@H@Z +?bnet_wait_data_intr@@YAHPAUBSOCK@@H@Z +?bnet_connect@@YAPAUBSOCK@@PAVJCR@@HHPBDPAD2HH@Z +?bnet_strerror@@YAPBDPAUBSOCK@@@Z +?bnet_fsend@@YA_NPAUBSOCK@@PBDZZ +?bnet_get_peer@@YAHPAUBSOCK@@PADH@Z +?bnet_set_buffer_size@@YA_NPAUBSOCK@@IH@Z +?bnet_sig@@YA_NPAUBSOCK@@H@Z +?bnet_sig_to_ascii@@YAPBDPAUBSOCK@@@Z +?init_bsock@@YAPAUBSOCK@@PAVJCR@@HPBD1HPAUsockaddr@@@Z +?dup_bsock@@YAPAUBSOCK@@PAU1@@Z +?bnet_close@@YAXPAUBSOCK@@@Z +?term_bsock@@YAXPAUBSOCK@@@Z + +; bnet_server.obj +?bnet_stop_thread_server@@YAXPAUpthread_t_@@@Z +?bnet_thread_server@@YAXPAVdlist@@HPAUworkq_tag@@P6APAXPAX@Z@Z + +; bpipe.obj +?run_program@@YAHPADH0@Z +?run_program_full_output@@YAHPADH0@Z + +; bregex.obj +b_regcomp +b_regexec +b_regerror +b_regfree + +; bsnprintf.obj +?bsnprintf@@YAHPADJPBDZZ +?bvsnprintf@@YAHPADJPBD0@Z + +; bsys.obj +?bmicrosleep@@YAHJJ@Z +?bstrncpy@@YAPADPADPBDH@Z +?bstrncpy@@YAPADPADAAVPOOL_MEM@@H@Z +?bstrncat@@YAPADPADPBDH@Z +?bstrcmp@@YA_NPBD0@Z +?cstrlen@@YAHPBD@Z +?bfree@@YAXPAX@Z +?b_malloc@@YAPAXPBDHI@Z +?brealloc@@YAPAXPAXI@Z +?_p@@YAXPAPAUpthread_mutex_t_@@@Z +?_v@@YAXPAPAUpthread_mutex_t_@@@Z +?create_pid_file@@YAXPADPBDH@Z +?delete_pid_file@@YAHPADPBDH@Z +?read_state_file@@YAXPADPBDH@Z +?write_state_file@@YAXPADPBDH@Z +?drop@@YAXPAD0@Z +?bfgets@@YAPADPADHPAU_iobuf@@@Z +?escape_filename@@YAPADPBD@Z + +; btime.obj +?bstrftime@@YAPADPADH_J@Z +?bstrftimes@@YAPADPADH_J@Z +?bstrftime_nc@@YAPADPADH_J@Z +?bstrutime@@YAPADPADH_J@Z +?str_to_utime@@YA_JPAD@Z +?get_current_btime@@YA_JXZ +?btime_to_unix@@YAJ_J@Z +?btime_to_utime@@YA_J_J@Z +?tm_woy@@YAHJ@Z +?get_current_time@@YAXPAUdate_time@@@Z +?tm_decode@@YAXPAUdate_time@@PAUtm@@@Z + +; btimers.obj +?start_thread_timer@@YAPAUs_btimer_t@@PAUpthread_t_@@I@Z +?start_bsock_timer@@YAPAUs_btimer_t@@PAUBSOCK@@I@Z +?stop_bsock_timer@@YAXPAUs_btimer_t@@@Z +?stop_thread_timer@@YAXPAUs_btimer_t@@@Z + +; compat.obj +?SetVSSPathConvert@@YAXP6AHPBDPADH@ZP6AHPB_WPA_WH@Z@Z +?wchar_2_UTF8@@YAHPADPB_WH@Z +?random@@YAJXZ +?srandom@@YAXI@Z +?fstat@@YAHHPAUstat@@@Z +?stat@@YAHPBDPAU0@@Z +?fcntl@@YAHHHJ@Z +?lstat@@YAHPBDPAUstat@@@Z +?sleep@@YAXH@Z +?strcasecmp@@YAHPBD0@Z +?gettimeofday@@YAHPAUtimeval@@PAUtimezone@@@Z +?opendir@@YAPAXPBD@Z +?closedir@@YAHPAX@Z +?readdir_r@@YAHPAXPAUdirent@@PAPAU1@@Z +?init_signals@@YAXP6AXH@Z@Z +?init_stack_dump@@YAXXZ +?pathconf@@YAJPBDH@Z +?WSA_Init@@YAHXZ +?win32_fputs@@YAHPBDPAU_iobuf@@@Z +?win32_cgets@@YAPADPADH@Z +?win32_unlink@@YAHPBD@Z +?open_bpipe@@YAPAVBPIPE@@PADHPBD@Z +?kill@@YAHHH@Z +?close_bpipe@@YAHPAVBPIPE@@@Z +?utime@@YAHPBDPAUutimbuf@@@Z + +; cram-md5.obj +?cram_md5_challenge@@YA_NPAUBSOCK@@PADHH@Z +?cram_md5_respond@@YA_NPAUBSOCK@@PADPAH2@Z + +; crc32.obj +?bcrc32@@YAIPAEH@Z + +;create_file.obj +?create_file@@YAHPAVJCR@@PAUATTR@@PAUBFILE@@H@Z + +; crypto.obj +?crypto_digest_new@@YAPAUDigest@@W4crypto_digest_t@@@Z +?crypto_digest_update@@YA_NPAUDigest@@PBEI@Z +?crypto_digest_finalize@@YA_NPAUDigest@@PAEPAI@Z +?crypto_digest_free@@YAXPAUDigest@@@Z +?init_crypto@@YAHXZ +?cleanup_crypto@@YAHXZ +?crypto_sign_new@@YAPAUSignature@@XZ +?crypto_sign_get_digest@@YA?AW4crypto_error_t@@PAUSignature@@PAUX509_Keypair@@PAPAUDigest@@@Z +?crypto_sign_verify@@YA?AW4crypto_error_t@@PAUSignature@@PAUX509_Keypair@@PAUDigest@@@Z +?crypto_sign_add_signer@@YAHPAUSignature@@PAUDigest@@PAUX509_Keypair@@@Z +?crypto_sign_encode@@YAHPAUSignature@@PAEPAI@Z +?crypto_sign_decode@@YAPAUSignature@@PBEI@Z +?crypto_sign_free@@YAXPAUSignature@@@Z +?crypto_keypair_new@@YAPAUX509_Keypair@@XZ +?crypto_keypair_dup@@YAPAUX509_Keypair@@PAU1@@Z +?crypto_keypair_load_cert@@YAHPAUX509_Keypair@@PBD@Z +?crypto_keypair_has_key@@YA_NPBD@Z +?crypto_keypair_load_key@@YAHPAUX509_Keypair@@PBDP6AHPADHPBX@Z3@Z +?crypto_keypair_free@@YAXPAUX509_Keypair@@@Z +?crypto_session_new@@YAPAUCrypto_Session@@W4crypto_cipher_t@@PAValist@@@Z +?crypto_session_free@@YAXPAUCrypto_Session@@@Z +?crypto_session_encode@@YA_NPAUCrypto_Session@@PAEPAI@Z +?crypto_session_decode@@YA?AW4crypto_error_t@@PBEIPAValist@@PAPAUCrypto_Session@@@Z +?crypto_cipher_new@@YAPAUCipher_Context@@PAUCrypto_Session@@_NPAI@Z +?crypto_cipher_update@@YA_NPAUCipher_Context@@PBEI1PAI@Z +?crypto_cipher_finalize@@YA_NPAUCipher_Context@@PAEPAI@Z +?crypto_cipher_free@@YAXPAUCipher_Context@@@Z +?crypto_default_pem_callback@@YAHPADHPBX@Z +?crypto_digest_name@@YAPBDPAUDigest@@@Z +?crypto_digest_stream_type@@YA?AW4crypto_digest_t@@H@Z +?crypto_strerror@@YAPBDW4crypto_error_t@@@Z + +; daemon.obj +?daemon_start@@YAXXZ + +; dlist.obj +?append@dlist@@QAEXPAX@Z +?prepend@dlist@@QAEXPAX@Z +?insert_before@dlist@@QAEXPAX0@Z +?binary_insert@dlist@@QAEPAXPAXP6AH00@Z@Z +?first@dlist@@QBEPAXXZ +?last@dlist@@QBEPAXXZ +?binary_insert_multiple@dlist@@QAEXPAXP6AH00@Z@Z +?binary_search@dlist@@QAEPAXPAXP6AH00@Z@Z +?remove@dlist@@QAEXPAX@Z +?next@dlist@@QBEPAXPBX@Z +?destroy@dlist@@QAEXXZ + +; drivetype.obj +?drivetype@@YA_NPBDPADH@Z + +; edit.obj +?str_to_uint64@@YA_KPAD@Z +?str_to_int64@@YA_JPAD@Z +?edit_uint64_with_commas@@YAPAD_KPAD@Z +?edit_uint64_with_suffix@@YAPAD_KPAD@Z +?edit_uint64@@YAPAD_KPAD@Z +?edit_int64@@YAPAD_JPAD@Z +?duration_to_utime@@YA_NPADPA_J@Z +?edit_utime@@YAPAD_JPADH@Z +?size_to_uint64@@YA_NPADHPA_K@Z +?is_a_number@@YA_NPBD@Z +?is_an_integer@@YA_NPBD@Z +?is_name_valid@@YA_NPADPAPAD@Z +?add_commas@@YAPADPAD0@Z + +; enable_priv.obj +?enable_backup_privileges@@YAHPAVJCR@@H@Z + +; enh_fnmatch.obj + +; find.obj +?init_find_files@@YAPAUFF_PKT@@XZ +?set_find_options@@YAXPAUFF_PKT@@HJ@Z +?get_win32_driveletters@@YAHPAUFF_PKT@@PAD@Z +?find_files@@YAHPAVJCR@@PAUFF_PKT@@P6AH1PAX_N@Z2@Z +?term_find_files@@YAHPAUFF_PKT@@@Z + +; find_one.obj +?find_one_file@@YAHPAVJCR@@PAUFF_PKT@@P6AH1PAX_N@Z2PADI3@Z + +; fnmatch.obj +fnmatch + +; fstype.obj +?fstype@@YA_NPBDPADH@Z + +; hmac.obj +?hmac_md5@@YAXPAEH0H0@Z + +; htable.obj + +; idcache.obj +?getuser@@YAPADIPADH@Z +?getgroup@@YAPADIPADH@Z + +; jcr.obj +?lock_jobs@@YAXXZ +?unlock_jobs@@YAXXZ +?term_last_jobs_list@@YAXXZ +?lock_last_jobs_list@@YAXXZ +?unlock_last_jobs_list@@YAXXZ +?job_end_push@@YAXPAVJCR@@P6AX0PAX@Z1@Z +?new_jcr@@YAPAVJCR@@HP6AXPAV1@@Z@Z +?inc_use_count@JCR@@QAEXXZ +?lock@JCR@@QAEXXZ +?unlock@JCR@@QAEXXZ +?init_mutex@JCR@@QAEXXZ +?b_free_jcr@@YAXPBDHPAVJCR@@@Z +?dec_use_count@JCR@@QAEXXZ +?use_count@JCR@@QAEHXZ +?destroy_mutex@JCR@@QAEXXZ +?get_jcr_by_id@@YAPAVJCR@@I@Z +?get_jcr_by_session@@YAPAVJCR@@II@Z +?get_jcr_by_partial_name@@YAPAVJCR@@PAD@Z +?get_jcr_by_full_name@@YAPAVJCR@@PAD@Z +?set_jcr_job_status@@YAXPAVJCR@@H@Z +?jcr_walk_start@@YAPAVJCR@@XZ +?jcr_walk_next@@YAPAVJCR@@PAV1@@Z +?jcr_walk_end@@YAXPAVJCR@@@Z +?init_jcr_subsystem@@YA_NXZ + +; lex.obj +?scan_to_eol@@YAXPAUs_lex_context@@@Z +?lex_set_default_error_handler@@YAXPAUs_lex_context@@@Z +?lex_set_error_handler_error_type@@YAHPAUs_lex_context@@H@Z +?lex_close_file@@YAPAUs_lex_context@@PAU1@@Z +?lex_open_file@@YAPAUs_lex_context@@PAU1@PBDP6AX1H01ZZ@Z +?lex_tok_to_str@@YAPBDH@Z +?lex_get_token@@YAHPAUs_lex_context@@H@Z + +; makepath.obj + +; match.obj +?match_files@@YAHPAVJCR@@PAUFF_PKT@@P6AH1PAX_N@Z2@Z +?term_include_exclude_files@@YAXPAUFF_PKT@@@Z +?add_fname_to_include_list@@YAXPAUFF_PKT@@HPBD@Z +?add_fname_to_exclude_list@@YAXPAUFF_PKT@@PBD@Z +?file_is_included@@YAHPAUFF_PKT@@PBD@Z +?file_is_excluded@@YAHPAUFF_PKT@@PBD@Z + +; md5.obj +?MD5Init@@YAXPAUMD5Context@@@Z +?MD5Update@@YAXPAUMD5Context@@PAEI@Z +?MD5Final@@YAXQAEPAUMD5Context@@@Z + +; mem_pool.obj +?sm_get_pool_memory@@YAPADPBDHH@Z +?sm_get_memory@@YAPADPBDHJ@Z +?sm_sizeof_pool_memory@@YAJPBDHPAD@Z +?sm_realloc_pool_memory@@YAPADPBDHPADJ@Z +?sm_check_pool_memory_size@@YAPADPBDHPADJ@Z +?sm_free_pool_memory@@YAXPBDHPAD@Z +?close_memory_pool@@YAXXZ +?print_memory_pool_stats@@YAXXZ +?pm_strcat@@YAHPAPADPBD@Z +?pm_strcat@@YAHAAPADPBD@Z +?c_str@POOL_MEM@@QBEPADXZ +?pm_strcat@@YAHAAVPOOL_MEM@@PBD@Z +?check_size@POOL_MEM@@QAEPADJ@Z +?pm_strcpy@@YAHPAPADPBD@Z +?pm_strcpy@@YAHAAPADPBD@Z +?pm_strcpy@@YAHAAPADAAVPOOL_MEM@@@Z +?pm_strcpy@@YAHAAVPOOL_MEM@@PBD@Z +?max_size@POOL_MEM@@QAEJXZ + +; message.obj +?my_name_is@@YAXHQAPADPBD@Z +?get_db_type@@YAPBDXZ +?set_db_type@@YAXPBD@Z +?init_msg@@YAXPAVJCR@@PAVMSGS@@@Z +?init_console_msg@@YAXPBD@Z +?add_msg_dest@@YAXPAVMSGS@@HHPAD1@Z +?rem_msg_dest@@YAXPAVMSGS@@HHPAD@Z +?close_msg@@YAXPAVJCR@@@Z +?set_errno@berrno@@QAEXH@Z +?free_msgs_res@@YAXPAVMSGS@@@Z +?term_msg@@YAXXZ +?dispatch_message@@YAXPAVJCR@@HJPAD@Z +?c_str@POOL_MEM@@QBEPADXZ +?d_msg@@YAXPBDHH0ZZ +?get_basename@@YAPBDPBD@Z +?set_trace@@YAXH@Z +?get_trace@@YA_NXZ +?p_msg@@YAXPBDHH0ZZ +?e_msg@@YAXPBDHHH0ZZ +?Jmsg@@YAXPAVJCR@@HJPBDZZ +?j_msg@@YAXPBDHPAVJCR@@HJ0ZZ +?m_msg@@YAHPBDHPAPAD0ZZ +?m_msg@@YAHPBDHAAPAD0ZZ +?Mmsg@@YAHPAPADPBDZZ +?Mmsg@@YAHAAPADPBDZZ +?Mmsg@@YAHAAVPOOL_MEM@@PBDZZ +?Qmsg@@YAXPAVJCR@@HJPBDZZ +?dequeue_messages@@YAXPAVJCR@@@Z +?q_msg@@YAXPBDHPAVJCR@@HJ0ZZ + +; print.obj + +; pythonlib.obj +?generate_daemon_event@@YAHPAVJCR@@PBD@Z +?init_python_interpreter@@YAXPBD00@Z +?term_python_interpreter@@YAXXZ + +; queue.obj +?qinsert@@YAXPAUb_queue@@0@Z +?qnext@@YAPAUb_queue@@PAU1@0@Z +?qdchain@@YAPAUb_queue@@PAU1@@Z + +; runscript.obj +?new_runscript@@YAPAVRUNSCRIPT@@XZ +?reset_default@RUNSCRIPT@@QAEX_N@Z +?copy_runscript@@YAPAVRUNSCRIPT@@PAV1@@Z +?free_runscript@@YAXPAVRUNSCRIPT@@@Z +?run_scripts@@YAHPAVJCR@@PAValist@@PBD@Z +?set_command@RUNSCRIPT@@QAEXPBD@Z +?set_target@RUNSCRIPT@@QAEXPBD@Z +?run@RUNSCRIPT@@QAEHPAVJCR@@PBD@Z +?free_runscripts@@YAXPAValist@@@Z +?debug@RUNSCRIPT@@QAEXXZ + +; rwlock.obj +?rwl_init@@YAHPAUs_rwlock_tag@@@Z +?rwl_destroy@@YAHPAUs_rwlock_tag@@@Z +?rwl_writelock@@YAHPAUs_rwlock_tag@@@Z +?rwl_writeunlock@@YAHPAUs_rwlock_tag@@@Z + +; save-cwd.obj + +; scan.obj +?strip_leading_space@@YAXPAD@Z +?strip_trailing_junk@@YAXPAD@Z +?strip_trailing_newline@@YAXPAD@Z +?skip_spaces@@YA_NPAPAD@Z +?skip_nonspaces@@YA_NPAPAD@Z +?fstrsch@@YAHPBD0@Z +?next_arg@@YAPADPAPAD@Z +?parse_args@@YAHPADPAPADPAH11H@Z +?parse_args_only@@YAHPADPAPADPAH11H@Z +?bsscanf@@YAHPBD0ZZ + +; serial.obj +?serial_int32@@YAXQAPAEJ@Z +?serial_uint32@@YAXQAPAEI@Z +?serial_uint64@@YAXQAPAE_K@Z +?serial_btime@@YAXQAPAE_J@Z +?serial_float64@@YAXQAPAEN@Z +?serial_string@@YAXQAPAEQBD@Z +?unserial_int32@@YAJQAPAE@Z +?unserial_uint32@@YAIQAPAE@Z +?unserial_uint64@@YA_KQAPAE@Z +?unserial_btime@@YA_JQAPAE@Z +?unserial_float64@@YANQAPAE@Z +?unserial_string@@YAXQAPAEQAD@Z + +; sha1.obj + +; signal.obj + +; smartall.obj +?sm_free@@YAXPBDHPAX@Z +?sm_malloc@@YAPAXPBDHI@Z +?sm_calloc@@YAPAXPBDHII@Z +?sm_realloc@@YAPAXPBDHPAXI@Z +?sm_dump@@YAX_N@Z +?sm_check@@YAXPBDH_N@Z +?sm_static@@YAXH@Z + +; tls.obj +?new_tls_context@@YAPAUTLS_Context@@PBD000P6AHPADHPBX@Z20_N@Z +?free_tls_context@@YAXPAUTLS_Context@@@Z + +; tree.obj +?new_tree@@YAPAUs_tree_root@@H@Z +?free_tree@@YAXPAUs_tree_root@@@Z +?insert_tree_node@@YAPAUs_tree_node@@PAD0HPAUs_tree_root@@PAU1@@Z +?strrchr@@YAPADPADH@Z +?tree_getpath@@YAHPAUs_tree_node@@PADH@Z +?tree_cwd@@YAPAUs_tree_node@@PADPAUs_tree_root@@PAU1@@Z + +; util.obj +?is_buf_zero@@YA_NPADH@Z +?lcase@@YAXPAD@Z +?bash_spaces@@YAXPAD@Z +?bash_spaces@@YAXAAVPOOL_MEM@@@Z +?unbash_spaces@@YAXPAD@Z +?unbash_spaces@@YAXAAVPOOL_MEM@@@Z +?encode_time@@YAPADJPAD@Z +?jobstatus_to_ascii@@YAXHPADH@Z +?job_status_to_str@@YAPBDH@Z +?job_type_to_str@@YAPBDH@Z +?job_level_to_str@@YAPBDH@Z +?encode_mode@@YAPADIPAD@Z +?do_shell_expansion@@YAHPADH@Z +?make_session_key@@YAXPAD0H@Z +?edit_job_codes@@YAPADPAVJCR@@PAD1PBD@Z +?set_working_directory@@YAXPAD@Z + +; var.obj +?var_create@@YA?AW4var_rc_t@@PAPAUvar_st@@@Z +?var_destroy@@YA?AW4var_rc_t@@PAUvar_st@@@Z +?var_config@@YA?AW4var_rc_t@@PAUvar_st@@W4var_config_t@@ZZ +?var_unescape@@YA?AW4var_rc_t@@PAUvar_st@@PBDHPADHH@Z +?var_expand@@YA?AW4var_rc_t@@PAUvar_st@@PBDHPAPADPAHH@Z +?var_strerror@@YAPBDPAUvar_st@@W4var_rc_t@@@Z + +; watchdog.obj +?start_watchdog@@YAHXZ +?stop_watchdog@@YAHXZ +?new_watchdog@@YAPAUs_watchdog_t@@XZ +?register_watchdog@@YA_NPAUs_watchdog_t@@@Z + +; winapi.obj +?InitWinAPIWrapper@@YAXXZ + +; workq.obj diff --git a/bacula/src/win32/libwin32/bacula.rc b/bacula/src/win32/libwin32/bacula.rc index 5849beb8e3..c3371e7de1 100644 --- a/bacula/src/win32/libwin32/bacula.rc +++ b/bacula/src/win32/libwin32/bacula.rc @@ -1 +1 @@ -1 ICON "apcupsd.ico" +1 ICON "apcupsd.ico" diff --git a/bacula/src/win32/libwin32/winres.rc b/bacula/src/win32/libwin32/winres.rc index 67b32633ea..d0b9abf7c3 100644 --- a/bacula/src/win32/libwin32/winres.rc +++ b/bacula/src/win32/libwin32/winres.rc @@ -1,149 +1,149 @@ -#include -#include -#include "winres.h" -#include "../../version.h" - -/* NB: Internationalization of this file will require some work... */ -#define N_(s) s - -///////////////////////////////////////////////////////////////////////////// -// -// Icons -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_BACULA ICON "bacula.ico" -IDI_IDLE ICON "idle.ico" -IDI_RUNNING ICON "running.ico" -IDI_JOB_ERROR ICON "error.ico" -IDI_JOB_WARNING ICON "warn.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_TRAYMENU MENU -BEGIN - POPUP "tray" - BEGIN - MENUITEM N_("&Status"), ID_STATUS - MENUITEM SEPARATOR - MENUITEM N_("&About Bacula"), ID_ABOUT - MENUITEM SEPARATOR - MENUITEM N_("&Close Bacula"), ID_CLOSE - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,1,0,0 - PRODUCTVERSION 1,1,0,0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0 // -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E0" // Lang=US English, CharSet=Windows Multiligual - BEGIN - VALUE "Comments", "by Kern Sibbald\0" - VALUE "CompanyName", " \0" - VALUE "FileDescription", "Bacula File daemon for Win32\0" - VALUE "FileVersion", VERSION "\0" - VALUE "InternalName", "Bacula\0" - VALUE "LegalCopyright", "Copyright Free Software Foundation Europe e.V., 1999-2006\0" - VALUE "LegalTrademarks", "Licensed under GNU GPL 2.0\0" - VALUE "OriginalFilename", "bacula-fd.exe\0" - VALUE "PrivateBuild", "\0" - VALUE "ProductName", "Bacula - Win32 Version\0" - VALUE "ProductVersion", VERSION - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 // US English, Multilingual - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// RT_MANIFEST -// -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "bacula-fd.manifest" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_BACULABMP BITMAP DISCARDABLE "bacula.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDI_BACULA "Bacula" -END - -///////////////////////////////////////////////////////////////////////////// -// -// About Dialog -// - -IDD_ABOUT DIALOG 0, 0, 250, 145 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "About Bacula" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "OK",IDOK,190,120,50,15 -// CONTROL "\3", IDC_BACULABMP,"Static",SS_ICON | SS_CENTERIMAGE | -// SS_SUNKEN,7,5,73,65 -#ifndef HAVE_MINGW - CONTROL IDB_BACULABMP,IDB_BACULABMP,"Static",SS_BITMAP|SS_SUNKEN,7,5,32,32 -#endif - - LTEXT N_(" by Kern Sibbald"),-1,134,38,78,10 - LTEXT N_("For more information, see:"),-1,115,60,100,10 - LTEXT " www.bacula.org",-1,115,70,100,10 -// LTEXT " ",-1,69,81,100,10 -// LTEXT " ",-1,90,70,100,10 - LTEXT "Copyright (C) 1999-2006, Free Software Foundation Europe e.V.",-1,7,120,175,10 - LTEXT N_("Licensed under GNU GPL 2.0."),-1,7,130,175,10 - RTEXT N_("Build Date:"),-1,108,24,42,8 - RTEXT N_("Bacula Version:"),-1,100,9,50,8 - LTEXT VERSION,-1,159,10,65,8 - LTEXT BDATE,-1,159,24,65,10 - -END - -///////////////////////////////////////////////////////////////////////////// -// -// Status Dialog -// - -IDD_STATUS DIALOGEX 0, 0, 411, 244 -STYLE DS_SETFONT | DS_3DLOOK | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME -CAPTION N_("Bacula Status") -FONT 8, "Courier New" -BEGIN - DEFPUSHBUTTON "&OK",IDOK,355,5,51,15 - EDITTEXT IDC_TEXTDISPLAY, 2, 2, 350, 240, WS_VSCROLL | WS_HSCROLL | WS_BORDER | ES_READONLY | ES_MULTILINE -END +#include +#include +#include "winres.h" +#include "../../version.h" + +/* NB: Internationalization of this file will require some work... */ +#define N_(s) s + +///////////////////////////////////////////////////////////////////////////// +// +// Icons +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_BACULA ICON "bacula.ico" +IDI_IDLE ICON "idle.ico" +IDI_RUNNING ICON "running.ico" +IDI_JOB_ERROR ICON "error.ico" +IDI_JOB_WARNING ICON "warn.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_TRAYMENU MENU +BEGIN + POPUP "tray" + BEGIN + MENUITEM N_("&Status"), ID_STATUS + MENUITEM SEPARATOR + MENUITEM N_("&About Bacula"), ID_ABOUT + MENUITEM SEPARATOR + MENUITEM N_("&Close Bacula"), ID_CLOSE + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,1,0,0 + PRODUCTVERSION 1,1,0,0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0 // +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E0" // Lang=US English, CharSet=Windows Multiligual + BEGIN + VALUE "Comments", "by Kern Sibbald\0" + VALUE "CompanyName", " \0" + VALUE "FileDescription", "Bacula File daemon for Win32\0" + VALUE "FileVersion", VERSION "\0" + VALUE "InternalName", "Bacula\0" + VALUE "LegalCopyright", "Copyright Free Software Foundation Europe e.V., 1999-2006\0" + VALUE "LegalTrademarks", "Licensed under GNU GPL 2.0\0" + VALUE "OriginalFilename", "bacula-fd.exe\0" + VALUE "PrivateBuild", "\0" + VALUE "ProductName", "Bacula - Win32 Version\0" + VALUE "ProductVersion", VERSION + VALUE "SpecialBuild", "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 // US English, Multilingual + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// RT_MANIFEST +// +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "bacula-fd.manifest" + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_BACULABMP BITMAP DISCARDABLE "bacula.bmp" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDI_BACULA "Bacula" +END + +///////////////////////////////////////////////////////////////////////////// +// +// About Dialog +// + +IDD_ABOUT DIALOG 0, 0, 250, 145 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About Bacula" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "OK",IDOK,190,120,50,15 +// CONTROL "\3", IDC_BACULABMP,"Static",SS_ICON | SS_CENTERIMAGE | +// SS_SUNKEN,7,5,73,65 +#ifndef HAVE_MINGW + CONTROL IDB_BACULABMP,IDB_BACULABMP,"Static",SS_BITMAP|SS_SUNKEN,7,5,32,32 +#endif + + LTEXT N_(" by Kern Sibbald"),-1,134,38,78,10 + LTEXT N_("For more information, see:"),-1,115,60,100,10 + LTEXT " www.bacula.org",-1,115,70,100,10 +// LTEXT " ",-1,69,81,100,10 +// LTEXT " ",-1,90,70,100,10 + LTEXT "Copyright (C) 1999-2006, Free Software Foundation Europe e.V.",-1,7,120,175,10 + LTEXT N_("Licensed under GNU GPL 2.0."),-1,7,130,175,10 + RTEXT N_("Build Date:"),-1,108,24,42,8 + RTEXT N_("Bacula Version:"),-1,100,9,50,8 + LTEXT VERSION,-1,159,10,65,8 + LTEXT BDATE,-1,159,24,65,10 + +END + +///////////////////////////////////////////////////////////////////////////// +// +// Status Dialog +// + +IDD_STATUS DIALOGEX 0, 0, 411, 244 +STYLE DS_SETFONT | DS_3DLOOK | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +CAPTION N_("Bacula Status") +FONT 8, "Courier New" +BEGIN + DEFPUSHBUTTON "&OK",IDOK,355,5,51,15 + EDITTEXT IDC_TEXTDISPLAY, 2, 2, 350, 240, WS_VSCROLL | WS_HSCROLL | WS_BORDER | ES_READONLY | ES_MULTILINE +END diff --git a/bacula/src/win32/patches/mt.patch b/bacula/src/win32/patches/mt.patch index c9b1e51bec..7b0914b4e7 100644 --- a/bacula/src/win32/patches/mt.patch +++ b/bacula/src/win32/patches/mt.patch @@ -488,7 +488,7 @@ diff -ru ..\release\mt-st-0.9b/stinit.def.examples ./stinit.def.examples + * + * Author: Robert Nelson, May, 2006 + * -+ * Version $Id$ ++ * Version $Id: mt.patch 3802 2006-12-14 11:41:02Z kerns $ + * + * Copyright (C) 2006 Free Software Foundation Europe e.V. + * diff --git a/bacula/src/win32/patches/mtx-msvc2.patch b/bacula/src/win32/patches/mtx-msvc2.patch index 38f93d3624..e8261e2b18 100644 --- a/bacula/src/win32/patches/mtx-msvc2.patch +++ b/bacula/src/win32/patches/mtx-msvc2.patch @@ -6,8 +6,8 @@ + * Released under GNU General Public License V2 or Above + * See http://www.gnu.org for more information about the terms of + * the GNU General Public License. -+ * $Date$ -+ * $Revision$ ++ * $Date: 2006-08-12 16:18:24 -0700 (Sat, 12 Aug 2006) $ ++ * $Revision: 3282 $ + */ + +#ifndef CONFIG_H diff --git a/bacula/src/win32/patches/mtx.patch b/bacula/src/win32/patches/mtx.patch index 35e39f69e4..d22e261119 100644 --- a/bacula/src/win32/patches/mtx.patch +++ b/bacula/src/win32/patches/mtx.patch @@ -32,8 +32,8 @@ Index: scsi_win32.c @@ -0,0 +1,353 @@ +/* Copyright 2006 Robert Nelson + -+$Date$ -+$Revision$ ++$Date: 2006-07-30 06:32:36 -0700 (Sun, 30 Jul 2006) $ ++$Revision: 3200 $ + + This program is free software; you may redistribute and/or modify it under + the terms of the GNU General Public License Version 2 as published by the diff --git a/bacula/src/win32/patches/nsis.patch b/bacula/src/win32/patches/nsis.patch index 0a37cd7c22..23486191ab 100644 --- a/bacula/src/win32/patches/nsis.patch +++ b/bacula/src/win32/patches/nsis.patch @@ -1,7 +1,7 @@ -Index: SCons/Config/gnu ---- ../release/nsis-2.17-src/SCons/Config/gnu 2006-04-28 08:54:41.000000000 -0700 -+++ SCons/Config/gnu 2006-08-07 18:49:47.000000000 -0700 -@@ -65,7 +65,7 @@ +Index: SCons/Config/gnu +--- ../release/nsis-2.17-src/SCons/Config/gnu 2006-04-28 08:54:41.000000000 -0700 ++++ SCons/Config/gnu 2006-08-07 18:49:47.000000000 -0700 +@@ -65,7 +65,7 @@ cross_env(stub_env) if not defenv['DEBUG']: @@ -10,7 +10,7 @@ Index: SCons/Config/gnu stub_env.Append(CCFLAGS = '-Wall') # all warnings stub_env.Append(CCFLAGS = '-x c') # force compile as c -@@ -82,8 +82,8 @@ +@@ -82,8 +82,8 @@ makensis_env = defenv.Copy() if not defenv['DEBUG']: @@ -20,7 +20,7 @@ Index: SCons/Config/gnu conf = FlagsConfigure(makensis_env) conf.CheckLinkFlag('$MAP_FLAG') # generate map file -@@ -97,7 +97,7 @@ +@@ -97,7 +97,7 @@ cross_env(plugin_env) if not defenv['DEBUG']: @@ -29,7 +29,7 @@ Index: SCons/Config/gnu plugin_env.Append(CCFLAGS = '-Wall') # level 3 warnings if not defenv['DEBUG']: -@@ -111,7 +111,7 @@ +@@ -111,7 +111,7 @@ cp_util_env = defenv.Copy() if not defenv['DEBUG']: @@ -38,10 +38,10 @@ Index: SCons/Config/gnu cp_util_env.Append(CCFLAGS = '-Wall') # all warnings conf = FlagsConfigure(cp_util_env) -Index: Source/build.cpp ---- ../release/nsis-2.17-src/Source/build.cpp 2006-04-14 03:05:01.000000000 -0700 -+++ ./Source/build.cpp 2006-07-31 13:26:38.000000000 -0700 -@@ -2384,7 +2384,7 @@ +Index: Source/build.cpp +--- ../release/nsis-2.17-src/Source/build.cpp 2006-04-14 03:05:01.000000000 -0700 ++++ ./Source/build.cpp 2006-07-31 13:26:38.000000000 -0700 +@@ -2384,7 +2384,7 @@ return PS_ERROR; } #ifdef NSIS_CONFIG_CRC_SUPPORT @@ -50,10 +50,10 @@ Index: Source/build.cpp firstheader_writer w(&crc_sink); w.write(&fh); -Index: Source/build.h ---- ../release/nsis-2.17-src/Source/build.h 2005-04-02 04:04:06.000000000 -0800 -+++ ./Source/build.h 2006-07-31 13:28:44.000000000 -0700 -@@ -38,7 +38,7 @@ +Index: Source/build.h +--- ../release/nsis-2.17-src/Source/build.h 2005-04-02 04:04:06.000000000 -0800 ++++ ./Source/build.h 2006-07-31 13:28:44.000000000 -0700 +@@ -38,7 +38,7 @@ #ifdef NSIS_CONFIG_CRC_SUPPORT extern "C" { @@ -62,10 +62,10 @@ Index: Source/build.h }; #endif -Index: Source/crc32.c ---- ../release/nsis-2.17-src/Source/crc32.c 2004-03-12 12:43:54.000000000 -0800 -+++ ./Source/crc32.c 2006-07-31 13:27:12.000000000 -0700 -@@ -3,18 +3,18 @@ +Index: Source/crc32.c +--- ../release/nsis-2.17-src/Source/crc32.c 2004-03-12 12:43:54.000000000 -0800 ++++ ./Source/crc32.c 2006-07-31 13:27:12.000000000 -0700 +@@ -3,18 +3,18 @@ #ifdef NSIS_CONFIG_CRC_SUPPORT // this is based on the (slow,small) CRC32 implementation from zlib. @@ -88,10 +88,10 @@ Index: Source/crc32.c for (k = 0; k < 8; k++) c = (c >> 1) ^ (c & 1 ? 0xedb88320L : 0); crc_table[n] = c; } -Index: Source/DialogTemplate.cpp ---- ../release/nsis-2.17-src/Source/DialogTemplate.cpp 2006-03-24 10:36:24.000000000 -0800 -+++ ./Source/DialogTemplate.cpp 2006-07-31 05:48:44.000000000 -0700 -@@ -93,7 +93,7 @@ +Index: Source/DialogTemplate.cpp +--- ../release/nsis-2.17-src/Source/DialogTemplate.cpp 2006-03-24 10:36:24.000000000 -0800 ++++ ./Source/DialogTemplate.cpp 2006-07-31 05:48:44.000000000 -0700 +@@ -93,7 +93,7 @@ if (IS_INTRESOURCE(x)) { \ *(WORD*)seeker = 0xFFFF; \ seeker += sizeof(WORD); \ @@ -100,7 +100,7 @@ Index: Source/DialogTemplate.cpp seeker += sizeof(WORD); \ } \ else { \ -@@ -629,7 +629,7 @@ +@@ -629,7 +629,7 @@ } } @@ -109,10 +109,10 @@ Index: Source/DialogTemplate.cpp // DONE! return pbDlg; -Index: Source/exehead/fileform.c ---- ../release/nsis-2.17-src/Source/exehead/fileform.c 2005-09-09 09:08:44.000000000 -0700 -+++ ./Source/exehead/fileform.c 2006-07-31 13:26:08.000000000 -0700 -@@ -95,7 +95,7 @@ +Index: Source/exehead/fileform.c +--- ../release/nsis-2.17-src/Source/exehead/fileform.c 2005-09-09 09:08:44.000000000 -0700 ++++ ./Source/exehead/fileform.c 2006-07-31 13:26:08.000000000 -0700 +@@ -95,7 +95,7 @@ static z_stream g_inflate_stream; #endif @@ -121,10 +121,10 @@ Index: Source/exehead/fileform.c const char * NSISCALL loadHeaders(int cl_flags) { -Index: Source/Platform.h ---- ../release/nsis-2.17-src/Source/Platform.h 2006-05-03 08:43:54.000000000 -0700 -+++ ./Source/Platform.h 2006-07-31 05:48:44.000000000 -0700 -@@ -16,15 +16,15 @@ +Index: Source/Platform.h +--- ../release/nsis-2.17-src/Source/Platform.h 2006-05-03 08:43:54.000000000 -0700 ++++ ./Source/Platform.h 2006-07-31 05:48:44.000000000 -0700 +@@ -16,15 +16,15 @@ // basic types typedef unsigned char BYTE, *PBYTE, *LPBYTE; typedef unsigned short WORD, *LPWORD; @@ -143,7 +143,7 @@ Index: Source/Platform.h typedef long long INT64, LARGE_INTEGER; typedef unsigned long long UINT64, ULARGE_INTEGER; typedef int BOOL, *LPBOOL; -@@ -35,13 +35,14 @@ +@@ -35,13 +35,14 @@ typedef const char *LPCCH, *PCSTR, *LPCSTR; typedef unsigned short WCHAR, *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR; typedef const unsigned short *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR; @@ -162,7 +162,7 @@ Index: Source/Platform.h // bool # define FALSE 0 # define TRUE 1 -@@ -129,13 +130,13 @@ +@@ -129,13 +130,13 @@ #ifndef _WIN32 # ifndef FIELD_OFFSET @@ -178,7 +178,7 @@ Index: Source/Platform.h FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \ FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) ) # endif -@@ -166,9 +167,9 @@ +@@ -166,9 +167,9 @@ # define FOF_NOERRORUI 0x0400 #endif @@ -191,10 +191,10 @@ Index: Source/Platform.h #ifndef IDC_HAND # define IDC_HAND MAKEINTRESOURCE(32649) -Index: Source/Plugins.cpp ---- ../release/nsis-2.17-src/Source/Plugins.cpp 2006-04-05 11:42:12.000000000 -0700 -+++ ./Source/Plugins.cpp 2006-07-31 06:50:08.000000000 -0700 -@@ -120,8 +120,8 @@ +Index: Source/Plugins.cpp +--- ../release/nsis-2.17-src/Source/Plugins.cpp 2006-04-05 11:42:12.000000000 -0700 ++++ ./Source/Plugins.cpp 2006-07-31 06:50:08.000000000 -0700 +@@ -120,8 +120,8 @@ DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData); PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va); DWORD na = FIX_ENDIAN_INT32(exports->AddressOfNames); @@ -205,10 +205,10 @@ Index: Source/Plugins.cpp { const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA); const string signature = dllName + "::" + name; -Index: Source/ResourceEditor.cpp ---- ../release/nsis-2.17-src/Source/ResourceEditor.cpp 2006-04-05 11:40:09.000000000 -0700 -+++ ./Source/ResourceEditor.cpp 2006-07-31 05:48:44.000000000 -0700 -@@ -545,7 +545,7 @@ +Index: Source/ResourceEditor.cpp +--- ../release/nsis-2.17-src/Source/ResourceEditor.cpp 2006-04-05 11:40:09.000000000 -0700 ++++ ./Source/ResourceEditor.cpp 2006-07-31 05:48:44.000000000 -0700 +@@ -545,7 +545,7 @@ rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries); CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY)); @@ -217,7 +217,7 @@ Index: Source/ResourceEditor.cpp seeker += sizeof(IMAGE_RESOURCE_DIRECTORY); for (int i = 0; i < crd->CountEntries(); i++) { -@@ -566,7 +566,7 @@ +@@ -566,7 +566,7 @@ rDirE.NameString.NameIsString = (crd->GetEntry(i)->HasName()) ? 1 : 0; CopyMemory(seeker, &rDirE, sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY)); @@ -226,7 +226,7 @@ Index: Source/ResourceEditor.cpp seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY); } qDirs.pop(); -@@ -582,7 +582,7 @@ +@@ -582,7 +582,7 @@ rDataE.Size = ConvertEndianness(cRDataE->GetSize()); CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY)); @@ -235,7 +235,7 @@ Index: Source/ResourceEditor.cpp seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY); qDataEntries.pop(); -@@ -594,7 +594,7 @@ +@@ -594,7 +594,7 @@ while (!qStrings.empty()) { CResourceDirectoryEntry* cRDirE = qStrings.front(); @@ -244,7 +244,7 @@ Index: Source/ResourceEditor.cpp char* szName = cRDirE->GetName(); WORD iLen = strlen(szName) + 1; -@@ -626,7 +626,7 @@ +@@ -626,7 +626,7 @@ while (!qDataEntries2.empty()) { CResourceDataEntry* cRDataE = qDataEntries2.front(); CopyMemory(seeker, cRDataE->GetData(), cRDataE->GetSize()); @@ -253,7 +253,7 @@ Index: Source/ResourceEditor.cpp seeker += RALIGN(cRDataE->GetSize(), 8); -@@ -636,7 +636,7 @@ +@@ -636,7 +636,7 @@ /* * Set all of the directory entries offsets. */ @@ -262,7 +262,7 @@ Index: Source/ResourceEditor.cpp } // Sets the offsets in directory entries -@@ -650,7 +650,7 @@ +@@ -650,7 +650,7 @@ SetOffsets(resDir->GetEntry(i)->GetSubDirectory(), newResDirAt); } else { @@ -271,7 +271,7 @@ Index: Source/ResourceEditor.cpp } } } -@@ -758,7 +758,7 @@ +@@ -758,7 +758,7 @@ // Returns -1 if can not be found int CResourceDirectory::Find(char* szName) { if (IS_INTRESOURCE(szName)) @@ -280,7 +280,7 @@ Index: Source/ResourceEditor.cpp else if (szName[0] == '#') return Find(WORD(atoi(szName + 1))); -@@ -836,7 +836,7 @@ +@@ -836,7 +836,7 @@ if (IS_INTRESOURCE(szName)) { m_bHasName = false; m_szName = 0; @@ -289,7 +289,7 @@ Index: Source/ResourceEditor.cpp } else { m_bHasName = true; -@@ -851,7 +851,7 @@ +@@ -851,7 +851,7 @@ if (IS_INTRESOURCE(szName)) { m_bHasName = false; m_szName = 0; @@ -298,10 +298,10 @@ Index: Source/ResourceEditor.cpp } else { m_bHasName = true; -Index: Source/ResourceEditor.h ---- ../release/nsis-2.17-src/Source/ResourceEditor.h 2006-04-28 08:54:42.000000000 -0700 -+++ ./Source/ResourceEditor.h 2006-07-31 05:48:44.000000000 -0700 -@@ -173,7 +173,7 @@ +Index: Source/ResourceEditor.h +--- ../release/nsis-2.17-src/Source/ResourceEditor.h 2006-04-28 08:54:42.000000000 -0700 ++++ ./Source/ResourceEditor.h 2006-07-31 05:48:44.000000000 -0700 +@@ -173,7 +173,7 @@ void Destroy(); @@ -310,7 +310,7 @@ Index: Source/ResourceEditor.h private: IMAGE_RESOURCE_DIRECTORY m_rdDir; -@@ -197,7 +197,7 @@ +@@ -197,7 +197,7 @@ CResourceDataEntry* GetDataEntry(); @@ -319,7 +319,7 @@ Index: Source/ResourceEditor.h private: bool m_bHasName; -@@ -226,7 +226,7 @@ +@@ -226,7 +226,7 @@ DWORD GetSize(); DWORD GetCodePage(); @@ -328,10 +328,10 @@ Index: Source/ResourceEditor.h private: BYTE* m_pbData; -Index: Source/script.cpp ---- ../release/nsis-2.17-src/Source/script.cpp 2006-03-28 10:22:34.000000000 -0800 -+++ ./Source/script.cpp 2006-07-31 20:56:03.000000000 -0700 -@@ -4748,8 +4748,8 @@ +Index: Source/script.cpp +--- ../release/nsis-2.17-src/Source/script.cpp 2006-03-28 10:22:34.000000000 -0800 ++++ ./Source/script.cpp 2006-07-31 20:56:03.000000000 -0700 +@@ -4748,8 +4748,8 @@ { struct { @@ -342,7 +342,7 @@ Index: Source/script.cpp } words; long long ll; }; -@@ -6075,8 +6075,8 @@ +@@ -6075,8 +6075,8 @@ { struct { @@ -353,10 +353,10 @@ Index: Source/script.cpp } words; long long ll; }; -Index: Source/util.cpp ---- ../release/nsis-2.17-src/Source/util.cpp 2006-04-28 08:54:42.000000000 -0700 -+++ ./Source/util.cpp 2006-07-31 05:48:44.000000000 -0700 -@@ -312,7 +312,7 @@ +Index: Source/util.cpp +--- ../release/nsis-2.17-src/Source/util.cpp 2006-04-28 08:54:42.000000000 -0700 ++++ ./Source/util.cpp 2006-07-31 05:48:44.000000000 -0700 +@@ -312,7 +312,7 @@ FIX_ENDIAN_INT32_INPLACE(rdEntry.OffsetToData); MY_ASSERT(!rdEntry.DirectoryOffset.DataIsDirectory, "bad resource directory"); @@ -365,7 +365,7 @@ Index: Source/util.cpp MY_ASSERT((size_t)rdIcons - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer"); -@@ -325,7 +325,7 @@ +@@ -325,7 +325,7 @@ FIX_ENDIAN_INT32_INPLACE(icoEntry.OffsetToData); MY_ASSERT(!icoEntry.DirectoryOffset.DataIsDirectory, "bad resource directory"); @@ -374,7 +374,7 @@ Index: Source/util.cpp MY_ASSERT((size_t)rd - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer"); -@@ -334,7 +334,7 @@ +@@ -334,7 +334,7 @@ MY_ASSERT(datEntry.DirectoryOffset.DataIsDirectory, "bad resource directory"); @@ -383,7 +383,7 @@ Index: Source/util.cpp MY_ASSERT((size_t)rde - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer"); -@@ -355,10 +355,10 @@ +@@ -355,10 +355,10 @@ } // Set offset @@ -396,10 +396,10 @@ Index: Source/util.cpp } LPBYTE seeker = uninstIconData; -Index: Source/writer.cpp ---- ../release/nsis-2.17-src/Source/writer.cpp 2006-03-11 03:13:07.000000000 -0800 -+++ ./Source/writer.cpp 2006-07-31 13:27:37.000000000 -0700 -@@ -64,7 +64,7 @@ +Index: Source/writer.cpp +--- ../release/nsis-2.17-src/Source/writer.cpp 2006-03-11 03:13:07.000000000 -0800 ++++ ./Source/writer.cpp 2006-07-31 13:27:37.000000000 -0700 +@@ -64,7 +64,7 @@ } #ifdef NSIS_CONFIG_CRC_SUPPORT @@ -408,10 +408,10 @@ Index: Source/writer.cpp void crc_writer_sink::write_data(const void *data, const size_t size) { -Index: Source/writer.h ---- ../release/nsis-2.17-src/Source/writer.h 2006-03-11 03:13:07.000000000 -0800 -+++ ./Source/writer.h 2006-07-31 13:27:58.000000000 -0700 -@@ -57,12 +57,12 @@ +Index: Source/writer.h +--- ../release/nsis-2.17-src/Source/writer.h 2006-03-11 03:13:07.000000000 -0800 ++++ ./Source/writer.h 2006-07-31 13:27:58.000000000 -0700 +@@ -57,12 +57,12 @@ #ifdef NSIS_CONFIG_CRC_SUPPORT class crc_writer_sink : public writer_sink { public: diff --git a/bacula/src/win32/pebuilder/bacula/bacula.inf b/bacula/src/win32/pebuilder/bacula/bacula.inf index 9e735b5635..c57fb447ba 100644 --- a/bacula/src/win32/pebuilder/bacula/bacula.inf +++ b/bacula/src/win32/pebuilder/bacula/bacula.inf @@ -1,37 +1,37 @@ -; PE Builder v3 plug-in INF file for bacula -; Copyright (C) 2004-2006 Free Software Foundation Europe e.V. - -; Thu Dec 09 2004 D. Scott Barninger -; ASSIGNMENT OF COPYRIGHT -; FOR VALUE RECEIVED, D. Scott Barninger hereby sells, transfers and -; assigns unto Kern Sibbald, his successors, assigns and personal representatives, -; all right, title and interest in and to the copyright in this software. -; D. Scott Barninger warrants good title to said copyright, that it is -; free of all liens, encumbrances or any known claims against said copyright. - -; licensed under the GNU GPL v2 - -[Version] -Signature= "$Windows NT$" - -[PEBuilder] -Name="Bacula Client" -Enable=1 - -[WinntDirectories] -a="Programs\bacula",3 - -[SourceDisksFiles] -files\bacula-fd.exe=a,,1 -files\bacula-fd.conf=a,,1 -files\bconsole.exe=a,,1 -files\bconsole.conf=a,,1 -files\License.txt=a,,1 -files\pthreadVCE.dll=a,,1 -files\msvcr71.dll=a,,1 -files\wx-console.exe=a,,1 -files\wx-console.conf=a,,1 -files\msvcr71.dll=a,,1 - -[Append] -nu2menu.xml, bacula_nu2menu.xml +; PE Builder v3 plug-in INF file for bacula +; Copyright (C) 2004-2006 Free Software Foundation Europe e.V. + +; Thu Dec 09 2004 D. Scott Barninger +; ASSIGNMENT OF COPYRIGHT +; FOR VALUE RECEIVED, D. Scott Barninger hereby sells, transfers and +; assigns unto Kern Sibbald, his successors, assigns and personal representatives, +; all right, title and interest in and to the copyright in this software. +; D. Scott Barninger warrants good title to said copyright, that it is +; free of all liens, encumbrances or any known claims against said copyright. + +; licensed under the GNU GPL v2 + +[Version] +Signature= "$Windows NT$" + +[PEBuilder] +Name="Bacula Client" +Enable=1 + +[WinntDirectories] +a="Programs\bacula",3 + +[SourceDisksFiles] +files\bacula-fd.exe=a,,1 +files\bacula-fd.conf=a,,1 +files\bconsole.exe=a,,1 +files\bconsole.conf=a,,1 +files\License.txt=a,,1 +files\pthreadVCE.dll=a,,1 +files\msvcr71.dll=a,,1 +files\wx-console.exe=a,,1 +files\wx-console.conf=a,,1 +files\msvcr71.dll=a,,1 + +[Append] +nu2menu.xml, bacula_nu2menu.xml diff --git a/bacula/src/win32/pebuilder/bacula/bacula_nu2menu.xml b/bacula/src/win32/pebuilder/bacula/bacula_nu2menu.xml index ccd36dfd54..7b41bda25f 100644 --- a/bacula/src/win32/pebuilder/bacula/bacula_nu2menu.xml +++ b/bacula/src/win32/pebuilder/bacula/bacula_nu2menu.xml @@ -1,19 +1,19 @@ - - - - - - - - - - - - - Install Bacula Client Service - Start Bacula Client Service - Bacula WX-Console - - + + + + + + + + + + + + + Install Bacula Client Service + Start Bacula Client Service + Bacula WX-Console + + diff --git a/bacula/src/win32/scripts/bsleep.vcproj b/bacula/src/win32/scripts/bsleep.vcproj index 52966bccda..9d9ad1ec30 100644 --- a/bacula/src/win32/scripts/bsleep.vcproj +++ b/bacula/src/win32/scripts/bsleep.vcproj @@ -1,199 +1,199 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/scripts/mtx-changer.cmd b/bacula/src/win32/scripts/mtx-changer.cmd index 8b4978c466..854c0938ea 100644 --- a/bacula/src/win32/scripts/mtx-changer.cmd +++ b/bacula/src/win32/scripts/mtx-changer.cmd @@ -1,187 +1,187 @@ -@echo off -REM -REM -REM Bacula interface to mtx autoloader -REM -REM $Id$ -REM -REM If you set in your Device resource -REM -REM Changer Command = "mtx-changer %c %o %S %a %d" -REM you will have the following input to this script: -REM -REM Bacula will always call with all the following arguments, even though -REM in some cases, not all are used. -REM -REM mtx-changer "changer-device" "command" "slot" "archive-device" "drive-index" -REM %1 %2 %3 %4 %5 -REM -REM for example: -REM -REM mtx-changer Changer0 load 1 Tape0 0 -REM -REM will request to load the first cartidge into drive 0, where -REM the changer device is Changer0, and the read/write device -REM is Tape0. -REM -REM If you need to an offline, refer to the drive as %4 -REM e.g. mt -f %4 offline -REM -REM Many changers need an offline after the unload. Also many -REM changers need a sleep 60 after the mtx load. -REM -REM N.B. If you change the script, take care to return either -REM the mtx exit code or a 0. If the script exits with a non-zero -REM exit code, Bacula will assume the request failed. -REM - -SET MTX="@bin_dir_cmd@\mtx.exe" -SET MT="@bin_dir_cmd@\mt.exe" -SET working_dir=@working_dir_cmd@ - -SET dbgfile="%working_dir%\mtx.log" - -REM to turn on logging, uncomment the following line -REM copy nul "%working_dir%\mtx.log" - -REM -REM check parameter count on commandline -REM -REM Check for special cases where only 2 arguments are needed, -REM all others are a minimum of 5 -REM -IF "%1" EQU "" goto :param_count_invalid -IF "%2" EQU "" goto :param_count_invalid -IF "%2" EQU "list" goto :param_count_valid -IF "%2" EQU "slots" goto :param_count_valid -IF "%3" EQU "" goto :param_count_invalid -IF "%4" EQU "" goto :param_count_invalid -IF "%5" EQU "" goto :param_count_invalid -GOTO :param_count_valid - -:param_count_invalid - echo Insufficient number of arguments given. - IF "%2" EQU "" ( - echo At least two arguments must be specified. - ) else echo Command expected 5 arguments. -:usage - ECHO. - ECHO usage: mtx-changer ctl-device command [slot archive-device drive-index] - ECHO Valid commands are: unload, load, list, loaded, and slots. - EXIT /B 1 - -:param_count_valid - -REM Setup arguments -SET ctl=%1 -SET cmd=%2 -SET slot=%3 -SET device=%4 -SET drive=%5 - -CALL :debug "Parms: %ctl% %cmd% %slot% %device% %drive%" -IF "%cmd%" EQU "unload" GOTO :cmdUnload -IF "%cmd%" EQU "load" GOTO :cmdLoad -IF "%cmd%" EQU "list" GOTO :cmdList -IF "%cmd%" EQU "loaded" GOTO :cmdLoaded -IF "%cmd%" EQU "slots" GOTO :cmdSlots -GOTO :cmdUnknown - -:cmdUnload - CALL :debug "Doing mtx -f %ctl% unload %slot% %drive%" - %MT% -f %device% eject - %MTX% -f %ctl% unload %slot% %drive% - SET rtn=%ERRORLEVEL% - GOTO :cmdExit - -:cmdLoad - CALL :debug "Doing mtx -f %ctl% load %slot% %drive%" - %MTX% -f %ctl% load %slot% %drive% - SET rtn=%ERRORLEVEL% - IF ERRORLEVEL 1 GOTO :cmdExit -REM %MT% -f %device% load -REM bsleep 5 - CALL :wait_for_drive %device% - GOTO :cmdExit - -:cmdList - CALL :debug "Doing mtx -f %ctl% -- to list volumes" - CALL :make_temp_file -REM Enable the following if you are using barcodes and need an inventory -REM %MTX% -f %ctl% inventory - %MTX% -f %ctl% status >%TMPFILE% - SET rtn=%ERRORLEVEL% - IF ERRORLEVEL 1 GOTO :cmdExit - FOR /F "usebackq tokens=3,6 delims==: " %%i in ( `findstr /R /C:" *Storage Element [0-9]*:.*Full" %TMPFILE%` ) do echo %%i:%%j - FOR /F "usebackq tokens=7,10" %%i in ( `findstr /R /C:"^Data Transfer Element [0-9]*:Full (Storage Element [0-9]" %TMPFILE%` ) do echo %%i:%%j - DEL /F %TMPFILE% >nul 2>&1 -REM -REM If you have a VXA PacketLoader and the above does not work, try -REM turning it off and enabling the following line. -REM %MTX% -f %ctl% status | grep " *Storage Element [0-9]*:.*Full" | sed "s/*Storage Element //" | sed "s/Full :VolumeTag=//" - - GOTO :cmdExit - -:cmdLoaded - CALL :debug "Doing mtx -f %ctl% %drive% -- to find what is loaded" - CALL :make_temp_file - %MTX% -f %ctl% status >%TMPFILE% - SET rtn=%ERRORLEVEL% - IF ERRORLEVEL 1 GOTO :cmdExit - FOR /F "usebackq tokens=7" %%i in ( `findstr /R /C:"^Data Transfer Element %drive%:Full" %TMPFILE%` ) do echo %%i - findstr /R /C:"^Data Transfer Element %drive%:Empty" %TMPFILE% >nul && echo 0 - DEL /F %TMPFILE% >nul 2>&1 - GOTO :cmdExit - -:cmdSlots - CALL :debug "Doing mtx -f %ctl% -- to get count of slots" - CALL :make_temp_file - %MTX% -f %ctl% status >%TMPFILE% - SET rtn=%ERRORLEVEL% - IF ERRORLEVEL 1 GOTO :cmdExit - FOR /F "usebackq tokens=5" %%i in ( `findstr /R /C:" *Storage Changer" %TMPFILE%` ) do echo %%i - DEL /F %TMPFILE% >nul 2>&1 - GOTO :cmdExit - -:cmdExit - EXIT /B %rtn% - -:cmdUnknown - ECHO '%cmd%' is an invalid command. - GOTO :usage - -REM -REM log whats done -REM -:debug - IF NOT EXIST %dbgfile% GOTO :EOF - FOR /F "usebackq tokens=2-4,5-7 delims=/:. " %%i in ( '%DATE% %TIME%' ) do SET TIMESTAMP=%%k%%i%%j-%%l:%%m:%%n - ECHO %TIMESTAMP% %*>> %dbgfile% - GOTO :EOF - -REM -REM Create a temporary file -REM -:make_temp_file - SET TMPFILE="%working_dir%\mtx.tmp" - IF EXIST %TMPFILE% ( - ECHO Temp file security problem on: %TMPFILE% - EXIT /B 1 - ) - GOTO :EOF - -REM -REM The purpose of this function to wait a maximum -REM time for the drive. It will return as soon as -REM the drive is ready, or after waiting a maximum -REM of 300 seconds. -REM -:wait_for_drive - FOR /L %%i IN ( 1, 1, 300 ) DO ( - %MT% -f %1 status | findstr ONLINE >NUL 2>&1 - IF %ERRORLEVEL%==0 GOTO :EOF - CALL :debug "Device %1 - not ready, retrying..." - bsleep 1 - ) - CALL :debug "Device %1 - not ready, timed out..." - GOTO :EOF +@echo off +REM +REM +REM Bacula interface to mtx autoloader +REM +REM $Id: mtx-changer.cmd 3718 2006-12-01 08:45:40Z robertnelson $ +REM +REM If you set in your Device resource +REM +REM Changer Command = "mtx-changer %c %o %S %a %d" +REM you will have the following input to this script: +REM +REM Bacula will always call with all the following arguments, even though +REM in some cases, not all are used. +REM +REM mtx-changer "changer-device" "command" "slot" "archive-device" "drive-index" +REM %1 %2 %3 %4 %5 +REM +REM for example: +REM +REM mtx-changer Changer0 load 1 Tape0 0 +REM +REM will request to load the first cartidge into drive 0, where +REM the changer device is Changer0, and the read/write device +REM is Tape0. +REM +REM If you need to an offline, refer to the drive as %4 +REM e.g. mt -f %4 offline +REM +REM Many changers need an offline after the unload. Also many +REM changers need a sleep 60 after the mtx load. +REM +REM N.B. If you change the script, take care to return either +REM the mtx exit code or a 0. If the script exits with a non-zero +REM exit code, Bacula will assume the request failed. +REM + +SET MTX="@bin_dir_cmd@\mtx.exe" +SET MT="@bin_dir_cmd@\mt.exe" +SET working_dir=@working_dir_cmd@ + +SET dbgfile="%working_dir%\mtx.log" + +REM to turn on logging, uncomment the following line +REM copy nul "%working_dir%\mtx.log" + +REM +REM check parameter count on commandline +REM +REM Check for special cases where only 2 arguments are needed, +REM all others are a minimum of 5 +REM +IF "%1" EQU "" goto :param_count_invalid +IF "%2" EQU "" goto :param_count_invalid +IF "%2" EQU "list" goto :param_count_valid +IF "%2" EQU "slots" goto :param_count_valid +IF "%3" EQU "" goto :param_count_invalid +IF "%4" EQU "" goto :param_count_invalid +IF "%5" EQU "" goto :param_count_invalid +GOTO :param_count_valid + +:param_count_invalid + echo Insufficient number of arguments given. + IF "%2" EQU "" ( + echo At least two arguments must be specified. + ) else echo Command expected 5 arguments. +:usage + ECHO. + ECHO usage: mtx-changer ctl-device command [slot archive-device drive-index] + ECHO Valid commands are: unload, load, list, loaded, and slots. + EXIT /B 1 + +:param_count_valid + +REM Setup arguments +SET ctl=%1 +SET cmd=%2 +SET slot=%3 +SET device=%4 +SET drive=%5 + +CALL :debug "Parms: %ctl% %cmd% %slot% %device% %drive%" +IF "%cmd%" EQU "unload" GOTO :cmdUnload +IF "%cmd%" EQU "load" GOTO :cmdLoad +IF "%cmd%" EQU "list" GOTO :cmdList +IF "%cmd%" EQU "loaded" GOTO :cmdLoaded +IF "%cmd%" EQU "slots" GOTO :cmdSlots +GOTO :cmdUnknown + +:cmdUnload + CALL :debug "Doing mtx -f %ctl% unload %slot% %drive%" + %MT% -f %device% eject + %MTX% -f %ctl% unload %slot% %drive% + SET rtn=%ERRORLEVEL% + GOTO :cmdExit + +:cmdLoad + CALL :debug "Doing mtx -f %ctl% load %slot% %drive%" + %MTX% -f %ctl% load %slot% %drive% + SET rtn=%ERRORLEVEL% + IF ERRORLEVEL 1 GOTO :cmdExit +REM %MT% -f %device% load +REM bsleep 5 + CALL :wait_for_drive %device% + GOTO :cmdExit + +:cmdList + CALL :debug "Doing mtx -f %ctl% -- to list volumes" + CALL :make_temp_file +REM Enable the following if you are using barcodes and need an inventory +REM %MTX% -f %ctl% inventory + %MTX% -f %ctl% status >%TMPFILE% + SET rtn=%ERRORLEVEL% + IF ERRORLEVEL 1 GOTO :cmdExit + FOR /F "usebackq tokens=3,6 delims==: " %%i in ( `findstr /R /C:" *Storage Element [0-9]*:.*Full" %TMPFILE%` ) do echo %%i:%%j + FOR /F "usebackq tokens=7,10" %%i in ( `findstr /R /C:"^Data Transfer Element [0-9]*:Full (Storage Element [0-9]" %TMPFILE%` ) do echo %%i:%%j + DEL /F %TMPFILE% >nul 2>&1 +REM +REM If you have a VXA PacketLoader and the above does not work, try +REM turning it off and enabling the following line. +REM %MTX% -f %ctl% status | grep " *Storage Element [0-9]*:.*Full" | sed "s/*Storage Element //" | sed "s/Full :VolumeTag=//" + + GOTO :cmdExit + +:cmdLoaded + CALL :debug "Doing mtx -f %ctl% %drive% -- to find what is loaded" + CALL :make_temp_file + %MTX% -f %ctl% status >%TMPFILE% + SET rtn=%ERRORLEVEL% + IF ERRORLEVEL 1 GOTO :cmdExit + FOR /F "usebackq tokens=7" %%i in ( `findstr /R /C:"^Data Transfer Element %drive%:Full" %TMPFILE%` ) do echo %%i + findstr /R /C:"^Data Transfer Element %drive%:Empty" %TMPFILE% >nul && echo 0 + DEL /F %TMPFILE% >nul 2>&1 + GOTO :cmdExit + +:cmdSlots + CALL :debug "Doing mtx -f %ctl% -- to get count of slots" + CALL :make_temp_file + %MTX% -f %ctl% status >%TMPFILE% + SET rtn=%ERRORLEVEL% + IF ERRORLEVEL 1 GOTO :cmdExit + FOR /F "usebackq tokens=5" %%i in ( `findstr /R /C:" *Storage Changer" %TMPFILE%` ) do echo %%i + DEL /F %TMPFILE% >nul 2>&1 + GOTO :cmdExit + +:cmdExit + EXIT /B %rtn% + +:cmdUnknown + ECHO '%cmd%' is an invalid command. + GOTO :usage + +REM +REM log whats done +REM +:debug + IF NOT EXIST %dbgfile% GOTO :EOF + FOR /F "usebackq tokens=2-4,5-7 delims=/:. " %%i in ( '%DATE% %TIME%' ) do SET TIMESTAMP=%%k%%i%%j-%%l:%%m:%%n + ECHO %TIMESTAMP% %*>> %dbgfile% + GOTO :EOF + +REM +REM Create a temporary file +REM +:make_temp_file + SET TMPFILE="%working_dir%\mtx.tmp" + IF EXIST %TMPFILE% ( + ECHO Temp file security problem on: %TMPFILE% + EXIT /B 1 + ) + GOTO :EOF + +REM +REM The purpose of this function to wait a maximum +REM time for the drive. It will return as soon as +REM the drive is ready, or after waiting a maximum +REM of 300 seconds. +REM +:wait_for_drive + FOR /L %%i IN ( 1, 1, 300 ) DO ( + %MT% -f %1 status | findstr ONLINE >NUL 2>&1 + IF %ERRORLEVEL%==0 GOTO :EOF + CALL :debug "Device %1 - not ready, retrying..." + bsleep 1 + ) + CALL :debug "Device %1 - not ready, timed out..." + GOTO :EOF diff --git a/bacula/src/win32/stored/baculasd/bacula-sd.manifest b/bacula/src/win32/stored/baculasd/bacula-sd.manifest index ffc1c9416d..8296f138ed 100644 --- a/bacula/src/win32/stored/baculasd/bacula-sd.manifest +++ b/bacula/src/win32/stored/baculasd/bacula-sd.manifest @@ -1,21 +1,21 @@ - - - - Bacula Storage daemon for Win32 - - - - - - - + + + + Bacula Storage daemon for Win32 + + + + + + + diff --git a/bacula/src/win32/stored/baculasd/bacula.rc b/bacula/src/win32/stored/baculasd/bacula.rc index 5849beb8e3..c3371e7de1 100644 --- a/bacula/src/win32/stored/baculasd/bacula.rc +++ b/bacula/src/win32/stored/baculasd/bacula.rc @@ -1 +1 @@ -1 ICON "apcupsd.ico" +1 ICON "apcupsd.ico" diff --git a/bacula/src/win32/stored/baculasd/baculasd.vcproj b/bacula/src/win32/stored/baculasd/baculasd.vcproj index 72f86f03df..a9de8f2eda 100644 --- a/bacula/src/win32/stored/baculasd/baculasd.vcproj +++ b/bacula/src/win32/stored/baculasd/baculasd.vcproj @@ -1,396 +1,396 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/stored/baculasd/winres.rc b/bacula/src/win32/stored/baculasd/winres.rc index 95b5236077..425817d2aa 100644 --- a/bacula/src/win32/stored/baculasd/winres.rc +++ b/bacula/src/win32/stored/baculasd/winres.rc @@ -1,149 +1,149 @@ -#include -#include -#include "winres.h" -#include "../../../version.h" - -/* NB: Internationalization of this file will require some work... */ -#define N_(s) s - -///////////////////////////////////////////////////////////////////////////// -// -// Icons -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_BACULA ICON "bacula.ico" -IDI_IDLE ICON "idle.ico" -IDI_RUNNING ICON "running.ico" -IDI_JOB_ERROR ICON "error.ico" -IDI_JOB_WARNING ICON "warn.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_TRAYMENU MENU -BEGIN - POPUP "tray" - BEGIN - MENUITEM N_("&Status"), ID_STATUS - MENUITEM SEPARATOR - MENUITEM N_("&About Bacula"), ID_ABOUT - MENUITEM SEPARATOR - MENUITEM N_("&Close Bacula"), ID_CLOSE - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,1,0,0 - PRODUCTVERSION 1,1,0,0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0 // -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E0" // Lang=US English, CharSet=Windows Multiligual - BEGIN - VALUE "Comments", "by Kern Sibbald\0" - VALUE "CompanyName", " \0" - VALUE "FileDescription", "Bacula Storage daemon for Win32\0" - VALUE "FileVersion", VERSION "\0" - VALUE "InternalName", "Bacula\0" - VALUE "LegalCopyright", "Copyright Free Software Foundation Europe e.V., 1999-2006\0" - VALUE "LegalTrademarks", "Licensed under GNU GPL 2.0\0" - VALUE "OriginalFilename", "bacula-sd.exe\0" - VALUE "PrivateBuild", "\0" - VALUE "ProductName", "Bacula - Win32 Version\0" - VALUE "ProductVersion", VERSION - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 // US English, Multilingual - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// RT_MANIFEST -// -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "bacula-sd.manifest" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_BACULABMP BITMAP "bacula.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDI_BACULA "Bacula" -END - -///////////////////////////////////////////////////////////////////////////// -// -// About Dialog -// - -IDD_ABOUT DIALOG 0, 0, 250, 145 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "About Bacula" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "OK",IDOK,190,120,50,15 -// CONTROL "\3", IDC_BACULABMP,"Static",SS_ICON | SS_CENTERIMAGE | -// SS_SUNKEN,7,5,73,65 -#ifndef HAVE_MINGW - CONTROL IDB_BACULABMP,IDB_BACULABMP,"Static",SS_BITMAP|SS_SUNKEN,7,5,32,32 -#endif - - LTEXT N_(" by Kern Sibbald"),-1,134,38,78,10 - LTEXT N_("For more information, see:"),-1,115,60,100,10 - LTEXT " www.bacula.org",-1,115,70,100,10 -// LTEXT " ",-1,69,81,100,10 -// LTEXT " ",-1,90,70,100,10 - LTEXT "Copyright (C) 1999-2006, Kern Sibbald",-1,7,120,175,10 - LTEXT N_("Licensed under GNU GPL 2.0."),-1,7,130,175,10 - RTEXT N_("Build Date:"),-1,108,24,42,8 - RTEXT N_("Bacula Version:"),-1,100,9,50,8 - LTEXT VERSION,-1,159,10,65,8 - LTEXT BDATE,-1,159,24,65,10 - -END - -///////////////////////////////////////////////////////////////////////////// -// -// Status Dialog -// - -IDD_STATUS DIALOGEX 0, 0, 411, 244 -STYLE DS_SETFONT | DS_3DLOOK | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME -CAPTION N_("Bacula Status") -FONT 8, "Courier New" -BEGIN - DEFPUSHBUTTON "&OK",IDOK,355,5,51,15 - EDITTEXT IDC_TEXTDISPLAY, 2, 2, 350, 240, WS_VSCROLL | WS_HSCROLL | WS_BORDER | ES_READONLY | ES_MULTILINE -END +#include +#include +#include "winres.h" +#include "../../../version.h" + +/* NB: Internationalization of this file will require some work... */ +#define N_(s) s + +///////////////////////////////////////////////////////////////////////////// +// +// Icons +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_BACULA ICON "bacula.ico" +IDI_IDLE ICON "idle.ico" +IDI_RUNNING ICON "running.ico" +IDI_JOB_ERROR ICON "error.ico" +IDI_JOB_WARNING ICON "warn.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_TRAYMENU MENU +BEGIN + POPUP "tray" + BEGIN + MENUITEM N_("&Status"), ID_STATUS + MENUITEM SEPARATOR + MENUITEM N_("&About Bacula"), ID_ABOUT + MENUITEM SEPARATOR + MENUITEM N_("&Close Bacula"), ID_CLOSE + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,1,0,0 + PRODUCTVERSION 1,1,0,0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0 // +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E0" // Lang=US English, CharSet=Windows Multiligual + BEGIN + VALUE "Comments", "by Kern Sibbald\0" + VALUE "CompanyName", " \0" + VALUE "FileDescription", "Bacula Storage daemon for Win32\0" + VALUE "FileVersion", VERSION "\0" + VALUE "InternalName", "Bacula\0" + VALUE "LegalCopyright", "Copyright Free Software Foundation Europe e.V., 1999-2006\0" + VALUE "LegalTrademarks", "Licensed under GNU GPL 2.0\0" + VALUE "OriginalFilename", "bacula-sd.exe\0" + VALUE "PrivateBuild", "\0" + VALUE "ProductName", "Bacula - Win32 Version\0" + VALUE "ProductVersion", VERSION + VALUE "SpecialBuild", "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 // US English, Multilingual + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// RT_MANIFEST +// +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "bacula-sd.manifest" + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_BACULABMP BITMAP "bacula.bmp" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDI_BACULA "Bacula" +END + +///////////////////////////////////////////////////////////////////////////// +// +// About Dialog +// + +IDD_ABOUT DIALOG 0, 0, 250, 145 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About Bacula" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "OK",IDOK,190,120,50,15 +// CONTROL "\3", IDC_BACULABMP,"Static",SS_ICON | SS_CENTERIMAGE | +// SS_SUNKEN,7,5,73,65 +#ifndef HAVE_MINGW + CONTROL IDB_BACULABMP,IDB_BACULABMP,"Static",SS_BITMAP|SS_SUNKEN,7,5,32,32 +#endif + + LTEXT N_(" by Kern Sibbald"),-1,134,38,78,10 + LTEXT N_("For more information, see:"),-1,115,60,100,10 + LTEXT " www.bacula.org",-1,115,70,100,10 +// LTEXT " ",-1,69,81,100,10 +// LTEXT " ",-1,90,70,100,10 + LTEXT "Copyright (C) 1999-2006, Kern Sibbald",-1,7,120,175,10 + LTEXT N_("Licensed under GNU GPL 2.0."),-1,7,130,175,10 + RTEXT N_("Build Date:"),-1,108,24,42,8 + RTEXT N_("Bacula Version:"),-1,100,9,50,8 + LTEXT VERSION,-1,159,10,65,8 + LTEXT BDATE,-1,159,24,65,10 + +END + +///////////////////////////////////////////////////////////////////////////// +// +// Status Dialog +// + +IDD_STATUS DIALOGEX 0, 0, 411, 244 +STYLE DS_SETFONT | DS_3DLOOK | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +CAPTION N_("Bacula Status") +FONT 8, "Courier New" +BEGIN + DEFPUSHBUTTON "&OK",IDOK,355,5,51,15 + EDITTEXT IDC_TEXTDISPLAY, 2, 2, 350, 240, WS_VSCROLL | WS_HSCROLL | WS_BORDER | ES_READONLY | ES_MULTILINE +END diff --git a/bacula/src/win32/stored/postest/postest.vcproj b/bacula/src/win32/stored/postest/postest.vcproj index 2624569517..345f1956a5 100644 --- a/bacula/src/win32/stored/postest/postest.vcproj +++ b/bacula/src/win32/stored/postest/postest.vcproj @@ -1,213 +1,213 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/tools/bsmtp/bsmtp.vcproj b/bacula/src/win32/tools/bsmtp/bsmtp.vcproj index 5d070ea131..97fb96b124 100644 --- a/bacula/src/win32/tools/bsmtp/bsmtp.vcproj +++ b/bacula/src/win32/tools/bsmtp/bsmtp.vcproj @@ -1,229 +1,229 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/tools/dbcheck/dbcheck.vcproj b/bacula/src/win32/tools/dbcheck/dbcheck.vcproj index dd150699fc..d847d39e6b 100644 --- a/bacula/src/win32/tools/dbcheck/dbcheck.vcproj +++ b/bacula/src/win32/tools/dbcheck/dbcheck.vcproj @@ -1,293 +1,293 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/tools/scsilist/scsilist.vcproj b/bacula/src/win32/tools/scsilist/scsilist.vcproj index 11a54d74fc..3afa5ca31d 100644 --- a/bacula/src/win32/tools/scsilist/scsilist.vcproj +++ b/bacula/src/win32/tools/scsilist/scsilist.vcproj @@ -1,216 +1,216 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bacula/src/win32/wx-console/wx-console.manifest b/bacula/src/win32/wx-console/wx-console.manifest index ef25e4796a..773a748d10 100644 --- a/bacula/src/win32/wx-console/wx-console.manifest +++ b/bacula/src/win32/wx-console/wx-console.manifest @@ -1,21 +1,21 @@ - - - - Bacula wx Console for Win32 - - - - - - - + + + + Bacula wx Console for Win32 + + + + + + +