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 ""
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 ""