def doRepackMsi(self):
        basename, extension = os.path.splitext(self.build)
        #basename = re.escape(basename)
        # keeping the workspace file in as small of absolute path as possible because of a bug in WiX
        base_dir = os.getcwd()
        print os.getcwd()
        os.chdir( "../../../../../../" )
        print os.getcwd()
        os.system( "rm -rf m" )

        # create an msi workspace folder
        # using the name m because it is small
        mkdir("m")
        if options.quiet:
            zip_redirect = ">/dev/null"
        else:
            zip_redirect = ""
        zip_cmd = "%s x \"%s\" -om %s -aoa" % (SEVENZIP_BIN, 
                                                   base_dir + "/" + self.build,
                                                   zip_redirect)

        shellCommand(zip_cmd)
        #os.system( "rm m/core/distribution/extensions/exists" )
        print ""
        
        firefoxMsi.build("firefox", "m", { "name": "firefox MSI", "version": "0.1", "vendor": "Bespoke IO Custom Software Deployment Systems", "summary": "Tailored Firefox for the Enterprise" }, partner_dir)

        os.chdir( base_dir )

        success = os.system("mv ../../../../../../firefox.msi ../" + self.final_dir + "/" + re.escape(basename) + ".msi")
        print ""

        # cleaning temporary workspace
        os.system("rm -r ../../../../../../m")
        
        if success == 0:
            print "### Done repacking %s build \"%s\"" % (self.platform_formatted, 
                                                          basename + ".msi")
        else:
            print "error creating " + basename + ".msi"
        print ""
Example #2
0
    def doRepackMsi(self):
        basename, extension = os.path.splitext(self.build)
        #basename = re.escape(basename)
        # keeping the workspace file in as small of absolute path as possible because of a bug in WiX
        base_dir = os.getcwd()
        #os.chdir( "/tmp" )
        #print os.getcwd()
        # os.system( "rm -rf m" )

       	working_directory = self.makeshorttempdir()  # this is ugly, but works 

        os.chdir( working_directory )
        print "Unzipping into: " + os.getcwd()
        if options.quiet:
            zip_redirect = ">/dev/null"
        else:
            zip_redirect = ""
        zip_cmd = "%s x \"%s\" -o. %s -aoa" % (SEVENZIP_BIN, 
                                                   base_dir + "/" + self.build,
                                                   zip_redirect)

        shellCommand(zip_cmd)
        print zip_cmd

        os.system( "rm ./core/distribution/extensions/exists" )
        os.system( "unix2dos ./core/distribution/distribution.ini") 
	
	print "Calling firefoxMSI builder to build application " + options.application + " in partner_dir " + partner_dir

	if options.application == 'firefox':
		build_name = "Mozilla Firefox";
		build_vendor = "Mozilla Firefox from Bespoke IO";
		build_summary = "Mozilla Firefox, tailored for enterprise deployment by Bespoke IO";
	else:
                build_name = "Mozilla Thunderbird";
                build_vendor = "Mozilla Thunderbird from Bespoke IO";
                build_summary = "Mozilla Thunderbird, tailored for enterprise deployment by Bespoke IO";
	
	if "esr" in self.version: 
		build_name = build_name + " (ESR)";
		build_version = self.version[:-3];
		build_vendor = build_vendor = " (ESR)";
		build_summary = build_summary = ", Extended Support Release";
	else:
		build_version = self.version;

        print "Going into firefoxMsi.build() with this tuple:"
        print "name: " + build_name
        print "version: " + build_version
	print "vendor: " + build_vendor
	print "summary: " + build_summary

  
        firefoxMsi.build( options.application, "./",  {    # was: working_directory, {
	 	"name": build_name,
		"version": build_version,
		"vendor": build_vendor,
		"summary": build_summary } )

        os.chdir( base_dir )
	
	print "In " + base_dir + " - Executing: " + "mv " + working_directory + "/" + options.application +".msi ../" + self.final_dir + "/" + re.escape(basename) + ".msi"

        success = os.system("mv " + working_directory + "/" + options.application + ".msi ../" + self.final_dir + "/" + re.escape(basename) + ".msi")
        # cleaning temporary workspace
        os.system("rm -r " + working_directory )
        
        if success == 0:
            print "### Done repacking %s build \"%s\"" % (self.platform_formatted, 
                                                          basename + ".msi")
        else:
            print "error creating " + basename + ".msi"
        print ""