dmg-builder 22.5.0 → 22.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/dmg.js +1 -1
- package/out/dmg.js.map +1 -1
- package/out/dmgLicense.js +0 -1
- package/out/dmgLicense.js.map +1 -1
- package/package.json +5 -5
- package/vendor/mac_alias/alias.py +27 -22
package/out/dmg.js
CHANGED
|
@@ -162,7 +162,7 @@ class DmgTarget extends _appBuilderLib().Target {
|
|
|
162
162
|
|
|
163
163
|
await (0, _builderUtil().spawn)("hdiutil", addLogLevel(args));
|
|
164
164
|
|
|
165
|
-
if (this.options.internetEnabled && parseInt(require("os").split(".")[0], 10) < 19) {
|
|
165
|
+
if (this.options.internetEnabled && parseInt(require("os").release().split(".")[0], 10) < 19) {
|
|
166
166
|
await (0, _builderUtil().exec)("hdiutil", addLogLevel(["internet-enable"]).concat(artifactPath));
|
|
167
167
|
}
|
|
168
168
|
|
package/out/dmg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dmg.ts"],"names":[],"mappings":"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","sourcesContent":["import { DmgOptions, Target } from \"app-builder-lib\"\nimport { findIdentity, isSignAllowed } from \"app-builder-lib/out/codeSign/macCodeSign\"\nimport MacPackager from \"app-builder-lib/out/macPackager\"\nimport { createBlockmap } from \"app-builder-lib/out/targets/differentialUpdateInfoBuilder\"\nimport { executeAppBuilderAsJson } from \"app-builder-lib/out/util/appBuilder\"\nimport { Arch, AsyncTaskManager, exec, InvalidConfigurationError, isEmptyOrSpaces, log, spawn } from \"builder-util\"\nimport { CancellationToken } from \"builder-util-runtime\"\nimport { copyDir, copyFile, exists, statOrNull } from \"builder-util/out/fs\"\nimport { stat } from \"fs-extra\"\nimport * as path from \"path\"\nimport sanitizeFileName from \"sanitize-filename\"\nimport { TmpDir } from \"temp-file\"\nimport { addLicenseToDmg } from \"./dmgLicense\"\nimport { attachAndExecute, computeBackground, detach, getDmgVendorPath } from \"./dmgUtil\"\n\nexport class DmgTarget extends Target {\n readonly options: DmgOptions = this.packager.config.dmg || Object.create(null)\n\n constructor(private readonly packager: MacPackager, readonly outDir: string) {\n super(\"dmg\")\n }\n\n async build(appPath: string, arch: Arch) {\n const packager = this.packager\n // tslint:disable-next-line:no-invalid-template-strings\n const artifactName = packager.expandArtifactNamePattern(packager.config.dmg, \"dmg\", null, \"${productName}-\" + (packager.platformSpecificBuildOptions.bundleShortVersion || \"${version}\") + \".${ext}\")\n const artifactPath = path.join(this.outDir, artifactName)\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"DMG\",\n file: artifactPath,\n arch,\n })\n\n const volumeName = sanitizeFileName(this.computeVolumeName(this.options.title))\n\n const tempDmg = await createStageDmg(await packager.getTempFile(\".dmg\"), appPath, volumeName)\n\n const specification = await this.computeDmgOptions()\n // https://github.com/electron-userland/electron-builder/issues/2115\n const backgroundFile = specification.background == null ? null : await transformBackgroundFileIfNeed(specification.background, packager.info.tempDirManager)\n const finalSize = await computeAssetSize(packager.info.cancellationToken, tempDmg, specification, backgroundFile)\n const expandingFinalSize = (finalSize * 0.1) + finalSize\n await exec(\"hdiutil\", [\"resize\", \"-size\", expandingFinalSize.toString(), tempDmg])\n\n const volumePath = path.join(\"/Volumes\", volumeName)\n if (await exists(volumePath)) {\n log.debug({volumePath}, \"unmounting previous disk image\")\n await detach(volumePath)\n }\n\n if (!await attachAndExecute(tempDmg, true, () => customizeDmg(volumePath, specification, packager, backgroundFile))) {\n return\n }\n\n // dmg file must not exist otherwise hdiutil failed (https://github.com/electron-userland/electron-builder/issues/1308#issuecomment-282847594), so, -ov must be specified\n const args = [\"convert\", tempDmg, \"-ov\", \"-format\", specification.format!!, \"-o\", artifactPath]\n if (specification.format === \"UDZO\") {\n args.push(\"-imagekey\", `zlib-level=${process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL || \"9\"}`)\n }\n await spawn(\"hdiutil\", addLogLevel(args))\n if (this.options.internetEnabled && parseInt(require(\"os\").split(\".\")[0], 10) < 19) {\n await exec(\"hdiutil\", addLogLevel([\"internet-enable\"]).concat(artifactPath))\n }\n\n const licenseData = await addLicenseToDmg(packager, artifactPath)\n if (packager.packagerOptions.effectiveOptionComputed != null) {\n await packager.packagerOptions.effectiveOptionComputed({licenseData})\n }\n\n if (this.options.sign === true) {\n await this.signDmg(artifactPath)\n }\n\n const safeArtifactName = packager.computeSafeArtifactName(artifactName, \"dmg\")\n const updateInfo = this.options.writeUpdateInfo === false ? null : await createBlockmap(artifactPath, this, packager, safeArtifactName)\n await packager.info.callArtifactBuildCompleted({\n file: artifactPath,\n safeArtifactName,\n target: this,\n arch,\n packager,\n isWriteUpdateInfo: updateInfo != null,\n updateInfo,\n })\n }\n\n private async signDmg(artifactPath: string) {\n if (!isSignAllowed(false)) {\n return\n }\n\n const packager = this.packager\n const qualifier = packager.platformSpecificBuildOptions.identity\n // explicitly disabled if set to null\n if (qualifier === null) {\n // macPackager already somehow handle this situation, so, here just return\n return\n }\n\n const keychainFile = (await packager.codeSigningInfo.value).keychainFile\n const certificateType = \"Developer ID Application\"\n let identity = await findIdentity(certificateType, qualifier, keychainFile)\n if (identity == null) {\n identity = await findIdentity(\"Mac Developer\", qualifier, keychainFile)\n if (identity == null) {\n return\n }\n }\n\n const args = [\"--sign\", identity.hash]\n if (keychainFile != null) {\n args.push(\"--keychain\", keychainFile)\n }\n args.push(artifactPath)\n await exec(\"codesign\", args)\n }\n\n computeVolumeName(custom?: string | null): string {\n const appInfo = this.packager.appInfo\n const shortVersion = this.packager.platformSpecificBuildOptions.bundleShortVersion || appInfo.version\n\n if (custom == null) {\n return `${appInfo.productFilename} ${shortVersion}`\n }\n\n return custom\n .replace(/\\${shortVersion}/g, shortVersion)\n .replace(/\\${version}/g, appInfo.version)\n .replace(/\\${name}/g, appInfo.name)\n .replace(/\\${productName}/g, appInfo.productName)\n }\n\n // public to test\n async computeDmgOptions(): Promise<DmgOptions> {\n const packager = this.packager\n const specification: DmgOptions = {...this.options}\n if (specification.icon == null && specification.icon !== null) {\n specification.icon = await packager.getIconPath()\n }\n\n if (specification.icon != null && isEmptyOrSpaces(specification.icon)) {\n throw new InvalidConfigurationError(\"dmg.icon cannot be specified as empty string\")\n }\n\n const background = specification.background\n if (specification.backgroundColor != null) {\n if (background != null) {\n throw new InvalidConfigurationError(\"Both dmg.backgroundColor and dmg.background are specified — please set the only one\")\n }\n }\n else if (background == null) {\n specification.background = await computeBackground(packager)\n }\n else {\n specification.background = path.resolve(packager.info.projectDir, background)\n }\n\n if (specification.format == null) {\n if (process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL != null) {\n (specification as any).format = \"UDZO\"\n }\n else if (packager.compression === \"store\") {\n specification.format = \"UDRO\"\n }\n else {\n specification.format = packager.compression === \"maximum\" ? \"UDBZ\" : \"UDZO\"\n }\n }\n\n if (specification.contents == null) {\n specification.contents = [\n {\n x: 130, y: 220\n },\n {\n x: 410, y: 220, type: \"link\", path: \"/Applications\"\n }\n ]\n }\n return specification\n }\n}\n\nasync function createStageDmg(tempDmg: string, appPath: string, volumeName: string) {\n //noinspection SpellCheckingInspection\n const imageArgs = addLogLevel([\"create\",\n \"-srcfolder\", appPath,\n \"-volname\", volumeName,\n \"-anyowners\", \"-nospotlight\",\n \"-format\", \"UDRW\",\n ])\n imageArgs.push(\"-fs\", \"HFS+\", \"-fsargs\", \"-c c=64,a=16,e=16\")\n imageArgs.push(tempDmg)\n await spawn(\"hdiutil\", imageArgs)\n return tempDmg\n}\n\nfunction addLogLevel(args: Array<string>): Array<string> {\n args.push(process.env.DEBUG_DMG === \"true\" ? \"-verbose\" : \"-quiet\")\n return args\n}\n\nasync function computeAssetSize(cancellationToken: CancellationToken, dmgFile: string, specification: DmgOptions, backgroundFile: string | null | undefined) {\n const asyncTaskManager = new AsyncTaskManager(cancellationToken)\n asyncTaskManager.addTask(stat(dmgFile))\n\n if (specification.icon != null) {\n asyncTaskManager.addTask(statOrNull(specification.icon))\n }\n\n if (backgroundFile != null) {\n asyncTaskManager.addTask(stat(backgroundFile))\n }\n\n let result = 32 * 1024\n for (const stat of await asyncTaskManager.awaitTasks()) {\n if (stat != null) {\n result += stat.size\n }\n }\n return result\n}\n\nasync function customizeDmg(volumePath: string, specification: DmgOptions, packager: MacPackager, backgroundFile: string | null | undefined) {\n const window = specification.window\n const env: any = {\n ...process.env,\n volumePath,\n appFileName: `${packager.appInfo.productFilename}.app`,\n iconSize: specification.iconSize || 80,\n iconTextSize: specification.iconTextSize || 12,\n\n PYTHONIOENCODING: \"utf8\",\n }\n\n if (specification.backgroundColor != null || specification.background == null) {\n env.backgroundColor = specification.backgroundColor || \"#ffffff\"\n\n if (window != null) {\n env.windowX = (window.x == null ? 100 : window.x).toString()\n env.windowY = (window.y == null ? 400 : window.y).toString()\n env.windowWidth = (window.width || 540).toString()\n env.windowHeight = (window.height || 380).toString()\n }\n }\n else {\n delete env.backgroundColor\n }\n\n const args = [\"dmg\", \"--volume\", volumePath]\n if (specification.icon != null) {\n args.push(\"--icon\", (await packager.getResource(specification.icon))!!)\n }\n if (backgroundFile != null) {\n args.push(\"--background\", backgroundFile)\n }\n\n const data: any = await executeAppBuilderAsJson(args)\n if (data.backgroundWidth != null) {\n env.windowWidth = window == null ? null : window.width\n env.windowHeight = window == null ? null : window.height\n\n if (env.windowWidth == null) {\n env.windowWidth = data.backgroundWidth.toString()\n }\n if (env.windowHeight == null) {\n env.windowHeight = data.backgroundHeight.toString()\n }\n\n if (env.windowX == null) {\n env.windowX = 400\n }\n if (env.windowY == null) {\n env.windowY = Math.round((1440 - env.windowHeight) / 2).toString()\n }\n }\n\n Object.assign(env, data)\n\n const asyncTaskManager = new AsyncTaskManager(packager.info.cancellationToken)\n env.iconLocations = await computeDmgEntries(specification, volumePath, packager, asyncTaskManager)\n await asyncTaskManager.awaitTasks()\n\n await exec(\"/usr/bin/python\", [path.join(getDmgVendorPath(), \"dmgbuild/core.py\")], {\n cwd: getDmgVendorPath(),\n env\n })\n return packager.packagerOptions.effectiveOptionComputed == null || !(await packager.packagerOptions.effectiveOptionComputed({volumePath, specification, packager}))\n}\n\nasync function computeDmgEntries(specification: DmgOptions, volumePath: string, packager: MacPackager, asyncTaskManager: AsyncTaskManager): Promise<string> {\n let result = \"\"\n for (const c of specification.contents!!) {\n if (c.path != null && c.path.endsWith(\".app\") && c.type !== \"link\") {\n log.warn({path: c.path, reason: \"actual path to app will be used instead\"}, \"do not specify path for application\")\n }\n\n const entryPath = c.path || `${packager.appInfo.productFilename}.app`\n const entryName = c.name || path.basename(entryPath)\n if (result.length !== 0) {\n result += \",\\n\"\n }\n result += `'${entryName}': (${c.x}, ${c.y})`\n\n if (c.type === \"link\") {\n asyncTaskManager.addTask(exec(\"ln\", [\"-s\", `/${entryPath.startsWith(\"/\") ? entryPath.substring(1) : entryPath}`, `${volumePath}/${entryName}`]))\n }\n // use c.path instead of entryPath (to be sure that this logic is not applied to .app bundle) https://github.com/electron-userland/electron-builder/issues/2147\n else if (!isEmptyOrSpaces(c.path) && (c.type === \"file\" || c.type === \"dir\")) {\n const source = await packager.getResource(c.path)\n if (source == null) {\n log.warn({entryPath, reason: \"doesn't exist\"}, \"skipped DMG item copying\")\n continue\n }\n\n const destination = `${volumePath}/${entryName}`\n asyncTaskManager.addTask(c.type === \"dir\" || (await stat(source)).isDirectory() ? copyDir(source, destination) : copyFile(source, destination))\n }\n }\n return result\n}\n\nasync function transformBackgroundFileIfNeed(file: string, tmpDir: TmpDir): Promise<string> {\n if (file.endsWith(\".tiff\") || file.endsWith(\".TIFF\")) {\n return file\n }\n\n const retinaFile = file.replace(/\\.([a-z]+)$/, \"@2x.$1\")\n if (await exists(retinaFile)) {\n const tiffFile = await tmpDir.getTempFile({suffix: \".tiff\"})\n await exec(\"tiffutil\", [\"-cathidpicheck\", file, retinaFile, \"-out\", tiffFile])\n return tiffFile\n }\n\n return file\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../src/dmg.ts"],"names":[],"mappings":"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","sourcesContent":["import { DmgOptions, Target } from \"app-builder-lib\"\nimport { findIdentity, isSignAllowed } from \"app-builder-lib/out/codeSign/macCodeSign\"\nimport MacPackager from \"app-builder-lib/out/macPackager\"\nimport { createBlockmap } from \"app-builder-lib/out/targets/differentialUpdateInfoBuilder\"\nimport { executeAppBuilderAsJson } from \"app-builder-lib/out/util/appBuilder\"\nimport { Arch, AsyncTaskManager, exec, InvalidConfigurationError, isEmptyOrSpaces, log, spawn } from \"builder-util\"\nimport { CancellationToken } from \"builder-util-runtime\"\nimport { copyDir, copyFile, exists, statOrNull } from \"builder-util/out/fs\"\nimport { stat } from \"fs-extra\"\nimport * as path from \"path\"\nimport sanitizeFileName from \"sanitize-filename\"\nimport { TmpDir } from \"temp-file\"\nimport { addLicenseToDmg } from \"./dmgLicense\"\nimport { attachAndExecute, computeBackground, detach, getDmgVendorPath } from \"./dmgUtil\"\n\nexport class DmgTarget extends Target {\n readonly options: DmgOptions = this.packager.config.dmg || Object.create(null)\n\n constructor(private readonly packager: MacPackager, readonly outDir: string) {\n super(\"dmg\")\n }\n\n async build(appPath: string, arch: Arch) {\n const packager = this.packager\n // tslint:disable-next-line:no-invalid-template-strings\n const artifactName = packager.expandArtifactNamePattern(packager.config.dmg, \"dmg\", null, \"${productName}-\" + (packager.platformSpecificBuildOptions.bundleShortVersion || \"${version}\") + \".${ext}\")\n const artifactPath = path.join(this.outDir, artifactName)\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"DMG\",\n file: artifactPath,\n arch,\n })\n\n const volumeName = sanitizeFileName(this.computeVolumeName(this.options.title))\n\n const tempDmg = await createStageDmg(await packager.getTempFile(\".dmg\"), appPath, volumeName)\n\n const specification = await this.computeDmgOptions()\n // https://github.com/electron-userland/electron-builder/issues/2115\n const backgroundFile = specification.background == null ? null : await transformBackgroundFileIfNeed(specification.background, packager.info.tempDirManager)\n const finalSize = await computeAssetSize(packager.info.cancellationToken, tempDmg, specification, backgroundFile)\n const expandingFinalSize = (finalSize * 0.1) + finalSize\n await exec(\"hdiutil\", [\"resize\", \"-size\", expandingFinalSize.toString(), tempDmg])\n\n const volumePath = path.join(\"/Volumes\", volumeName)\n if (await exists(volumePath)) {\n log.debug({volumePath}, \"unmounting previous disk image\")\n await detach(volumePath)\n }\n\n if (!await attachAndExecute(tempDmg, true, () => customizeDmg(volumePath, specification, packager, backgroundFile))) {\n return\n }\n\n // dmg file must not exist otherwise hdiutil failed (https://github.com/electron-userland/electron-builder/issues/1308#issuecomment-282847594), so, -ov must be specified\n const args = [\"convert\", tempDmg, \"-ov\", \"-format\", specification.format!!, \"-o\", artifactPath]\n if (specification.format === \"UDZO\") {\n args.push(\"-imagekey\", `zlib-level=${process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL || \"9\"}`)\n }\n await spawn(\"hdiutil\", addLogLevel(args))\n if (this.options.internetEnabled && parseInt(require(\"os\").release().split(\".\")[0], 10) < 19) {\n await exec(\"hdiutil\", addLogLevel([\"internet-enable\"]).concat(artifactPath))\n }\n\n const licenseData = await addLicenseToDmg(packager, artifactPath)\n if (packager.packagerOptions.effectiveOptionComputed != null) {\n await packager.packagerOptions.effectiveOptionComputed({licenseData})\n }\n\n if (this.options.sign === true) {\n await this.signDmg(artifactPath)\n }\n\n const safeArtifactName = packager.computeSafeArtifactName(artifactName, \"dmg\")\n const updateInfo = this.options.writeUpdateInfo === false ? null : await createBlockmap(artifactPath, this, packager, safeArtifactName)\n await packager.info.callArtifactBuildCompleted({\n file: artifactPath,\n safeArtifactName,\n target: this,\n arch,\n packager,\n isWriteUpdateInfo: updateInfo != null,\n updateInfo,\n })\n }\n\n private async signDmg(artifactPath: string) {\n if (!isSignAllowed(false)) {\n return\n }\n\n const packager = this.packager\n const qualifier = packager.platformSpecificBuildOptions.identity\n // explicitly disabled if set to null\n if (qualifier === null) {\n // macPackager already somehow handle this situation, so, here just return\n return\n }\n\n const keychainFile = (await packager.codeSigningInfo.value).keychainFile\n const certificateType = \"Developer ID Application\"\n let identity = await findIdentity(certificateType, qualifier, keychainFile)\n if (identity == null) {\n identity = await findIdentity(\"Mac Developer\", qualifier, keychainFile)\n if (identity == null) {\n return\n }\n }\n\n const args = [\"--sign\", identity.hash]\n if (keychainFile != null) {\n args.push(\"--keychain\", keychainFile)\n }\n args.push(artifactPath)\n await exec(\"codesign\", args)\n }\n\n computeVolumeName(custom?: string | null): string {\n const appInfo = this.packager.appInfo\n const shortVersion = this.packager.platformSpecificBuildOptions.bundleShortVersion || appInfo.version\n\n if (custom == null) {\n return `${appInfo.productFilename} ${shortVersion}`\n }\n\n return custom\n .replace(/\\${shortVersion}/g, shortVersion)\n .replace(/\\${version}/g, appInfo.version)\n .replace(/\\${name}/g, appInfo.name)\n .replace(/\\${productName}/g, appInfo.productName)\n }\n\n // public to test\n async computeDmgOptions(): Promise<DmgOptions> {\n const packager = this.packager\n const specification: DmgOptions = {...this.options}\n if (specification.icon == null && specification.icon !== null) {\n specification.icon = await packager.getIconPath()\n }\n\n if (specification.icon != null && isEmptyOrSpaces(specification.icon)) {\n throw new InvalidConfigurationError(\"dmg.icon cannot be specified as empty string\")\n }\n\n const background = specification.background\n if (specification.backgroundColor != null) {\n if (background != null) {\n throw new InvalidConfigurationError(\"Both dmg.backgroundColor and dmg.background are specified — please set the only one\")\n }\n }\n else if (background == null) {\n specification.background = await computeBackground(packager)\n }\n else {\n specification.background = path.resolve(packager.info.projectDir, background)\n }\n\n if (specification.format == null) {\n if (process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL != null) {\n (specification as any).format = \"UDZO\"\n }\n else if (packager.compression === \"store\") {\n specification.format = \"UDRO\"\n }\n else {\n specification.format = packager.compression === \"maximum\" ? \"UDBZ\" : \"UDZO\"\n }\n }\n\n if (specification.contents == null) {\n specification.contents = [\n {\n x: 130, y: 220\n },\n {\n x: 410, y: 220, type: \"link\", path: \"/Applications\"\n }\n ]\n }\n return specification\n }\n}\n\nasync function createStageDmg(tempDmg: string, appPath: string, volumeName: string) {\n //noinspection SpellCheckingInspection\n const imageArgs = addLogLevel([\"create\",\n \"-srcfolder\", appPath,\n \"-volname\", volumeName,\n \"-anyowners\", \"-nospotlight\",\n \"-format\", \"UDRW\",\n ])\n imageArgs.push(\"-fs\", \"HFS+\", \"-fsargs\", \"-c c=64,a=16,e=16\")\n imageArgs.push(tempDmg)\n await spawn(\"hdiutil\", imageArgs)\n return tempDmg\n}\n\nfunction addLogLevel(args: Array<string>): Array<string> {\n args.push(process.env.DEBUG_DMG === \"true\" ? \"-verbose\" : \"-quiet\")\n return args\n}\n\nasync function computeAssetSize(cancellationToken: CancellationToken, dmgFile: string, specification: DmgOptions, backgroundFile: string | null | undefined) {\n const asyncTaskManager = new AsyncTaskManager(cancellationToken)\n asyncTaskManager.addTask(stat(dmgFile))\n\n if (specification.icon != null) {\n asyncTaskManager.addTask(statOrNull(specification.icon))\n }\n\n if (backgroundFile != null) {\n asyncTaskManager.addTask(stat(backgroundFile))\n }\n\n let result = 32 * 1024\n for (const stat of await asyncTaskManager.awaitTasks()) {\n if (stat != null) {\n result += stat.size\n }\n }\n return result\n}\n\nasync function customizeDmg(volumePath: string, specification: DmgOptions, packager: MacPackager, backgroundFile: string | null | undefined) {\n const window = specification.window\n const env: any = {\n ...process.env,\n volumePath,\n appFileName: `${packager.appInfo.productFilename}.app`,\n iconSize: specification.iconSize || 80,\n iconTextSize: specification.iconTextSize || 12,\n\n PYTHONIOENCODING: \"utf8\",\n }\n\n if (specification.backgroundColor != null || specification.background == null) {\n env.backgroundColor = specification.backgroundColor || \"#ffffff\"\n\n if (window != null) {\n env.windowX = (window.x == null ? 100 : window.x).toString()\n env.windowY = (window.y == null ? 400 : window.y).toString()\n env.windowWidth = (window.width || 540).toString()\n env.windowHeight = (window.height || 380).toString()\n }\n }\n else {\n delete env.backgroundColor\n }\n\n const args = [\"dmg\", \"--volume\", volumePath]\n if (specification.icon != null) {\n args.push(\"--icon\", (await packager.getResource(specification.icon))!!)\n }\n if (backgroundFile != null) {\n args.push(\"--background\", backgroundFile)\n }\n\n const data: any = await executeAppBuilderAsJson(args)\n if (data.backgroundWidth != null) {\n env.windowWidth = window == null ? null : window.width\n env.windowHeight = window == null ? null : window.height\n\n if (env.windowWidth == null) {\n env.windowWidth = data.backgroundWidth.toString()\n }\n if (env.windowHeight == null) {\n env.windowHeight = data.backgroundHeight.toString()\n }\n\n if (env.windowX == null) {\n env.windowX = 400\n }\n if (env.windowY == null) {\n env.windowY = Math.round((1440 - env.windowHeight) / 2).toString()\n }\n }\n\n Object.assign(env, data)\n\n const asyncTaskManager = new AsyncTaskManager(packager.info.cancellationToken)\n env.iconLocations = await computeDmgEntries(specification, volumePath, packager, asyncTaskManager)\n await asyncTaskManager.awaitTasks()\n\n await exec(\"/usr/bin/python\", [path.join(getDmgVendorPath(), \"dmgbuild/core.py\")], {\n cwd: getDmgVendorPath(),\n env\n })\n return packager.packagerOptions.effectiveOptionComputed == null || !(await packager.packagerOptions.effectiveOptionComputed({volumePath, specification, packager}))\n}\n\nasync function computeDmgEntries(specification: DmgOptions, volumePath: string, packager: MacPackager, asyncTaskManager: AsyncTaskManager): Promise<string> {\n let result = \"\"\n for (const c of specification.contents!!) {\n if (c.path != null && c.path.endsWith(\".app\") && c.type !== \"link\") {\n log.warn({path: c.path, reason: \"actual path to app will be used instead\"}, \"do not specify path for application\")\n }\n\n const entryPath = c.path || `${packager.appInfo.productFilename}.app`\n const entryName = c.name || path.basename(entryPath)\n if (result.length !== 0) {\n result += \",\\n\"\n }\n result += `'${entryName}': (${c.x}, ${c.y})`\n\n if (c.type === \"link\") {\n asyncTaskManager.addTask(exec(\"ln\", [\"-s\", `/${entryPath.startsWith(\"/\") ? entryPath.substring(1) : entryPath}`, `${volumePath}/${entryName}`]))\n }\n // use c.path instead of entryPath (to be sure that this logic is not applied to .app bundle) https://github.com/electron-userland/electron-builder/issues/2147\n else if (!isEmptyOrSpaces(c.path) && (c.type === \"file\" || c.type === \"dir\")) {\n const source = await packager.getResource(c.path)\n if (source == null) {\n log.warn({entryPath, reason: \"doesn't exist\"}, \"skipped DMG item copying\")\n continue\n }\n\n const destination = `${volumePath}/${entryName}`\n asyncTaskManager.addTask(c.type === \"dir\" || (await stat(source)).isDirectory() ? copyDir(source, destination) : copyFile(source, destination))\n }\n }\n return result\n}\n\nasync function transformBackgroundFileIfNeed(file: string, tmpDir: TmpDir): Promise<string> {\n if (file.endsWith(\".tiff\") || file.endsWith(\".TIFF\")) {\n return file\n }\n\n const retinaFile = file.replace(/\\.([a-z]+)$/, \"@2x.$1\")\n if (await exists(retinaFile)) {\n const tiffFile = await tmpDir.getTempFile({suffix: \".tiff\"})\n await exec(\"tiffutil\", [\"-cathidpicheck\", file, retinaFile, \"-out\", tiffFile])\n return tiffFile\n }\n\n return file\n}\n"],"sourceRoot":""}
|
package/out/dmgLicense.js
CHANGED
|
@@ -55,7 +55,6 @@ function _licenseButtons() {
|
|
|
55
55
|
return data;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
/* eslint-disable @typescript-eslint/camelcase */
|
|
59
58
|
// DropDMG/dmgbuild a in any case (even if no english, but only ru/de) set to 0 (en_US), well, without docs, just believe that's correct
|
|
60
59
|
const DEFAULT_REGION_CODE = 0;
|
|
61
60
|
|
package/out/dmgLicense.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dmgLicense.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/camelcase */\nimport { exec, log } from \"builder-util\"\nimport { PlatformPackager } from \"app-builder-lib\"\nimport { getLicenseFiles } from \"app-builder-lib/out/util/license\"\nimport { outputFile, readFile } from \"fs-extra\"\nimport { serializeString } from \"./dmgUtil\"\nimport { getLicenseButtons, getLicenseButtonsFile } from \"./licenseButtons\"\n\n// DropDMG/dmgbuild a in any case (even if no english, but only ru/de) set to 0 (en_US), well, without docs, just believe that's correct\nconst DEFAULT_REGION_CODE = 0\n\nexport async function addLicenseToDmg(packager: PlatformPackager<any>, dmgPath: string): Promise<string | null> {\n // http://www.owsiak.org/?p=700\n const licenseFiles = await getLicenseFiles(packager)\n if (licenseFiles.length === 0) {\n return null\n }\n\n const licenseButtonFiles = await getLicenseButtonsFile(packager)\n packager.debugLogger.add(\"dmg.licenseFiles\", licenseFiles)\n packager.debugLogger.add(\"dmg.licenseButtons\", licenseButtonFiles)\n\n const style: Array<string> = []\n const rtfs: Array<string> = []\n const defaultButtons: Array<string> = []\n\n let counter = 5000\n const addedRegionCodes: Array<number> = []\n for (const item of licenseFiles) {\n log.info({lang: item.langName}, \"adding license\")\n\n // value from DropDMG, data the same for any language\n // noinspection SpellCheckingInspection\n style.push(`data 'styl' (${counter}, \"${item.langName}\") {\n $\"0001 0000 0000 000E 0011 0015 0000 000C\"\n $\"0000 0000 0000\"\n};`)\n\n let data = `data 'RTF ' (${counter}, \"${item.langName}\") {\\n`\n const fileData = await readFile(item.file, \"utf-8\")\n const isRtf = item.file.endsWith(\".rtf\") || item.file.endsWith(\".RTF\")\n data += isRtf ? serializeString((Buffer.from(fileData)).toString(\"hex\")) : wrapInRtf(await readFile(item.file, \"utf-8\"))\n data += \"\\n};\"\n rtfs.push(data)\n\n defaultButtons.push(await getLicenseButtons(licenseButtonFiles, item.langWithRegion, counter, item.langName))\n addedRegionCodes.push(getRegionCode(item.langWithRegion))\n counter++\n }\n\n const buffer = Buffer.allocUnsafe((2 + (3 * addedRegionCodes.length)) * 2)\n let offset = 0\n buffer.writeUInt16BE(DEFAULT_REGION_CODE, offset)\n offset += 2\n buffer.writeUInt16BE(addedRegionCodes.length, offset)\n offset += 2\n\n for (let i = 0; i < addedRegionCodes.length; i++) {\n const regionCode = addedRegionCodes[i]\n buffer.writeUInt16BE(regionCode, offset)\n offset += 2\n buffer.writeUInt16BE(i, offset)\n offset += 2\n buffer.writeUInt16BE(/* is two byte */ [14, 51, 52, 53].includes(regionCode) ? 1 : 0, offset)\n offset += 2\n }\n\n const lPic = `data 'LPic' (5000) {\\n${serializeString(buffer.toString(\"hex\"))}\\n};`\n const data = style\n .concat(rtfs)\n .concat(lPic)\n .concat(defaultButtons)\n .join(\"\\n\\n\")\n\n packager.debugLogger.add(\"dmg.licenseResource\", data)\n const tempFile = await packager.getTempFile(\".r\")\n await outputFile(tempFile, data)\n await exec(\"hdiutil\", [\"unflatten\", dmgPath])\n await exec(\"Rez\", [\"-a\", tempFile, \"-o\", dmgPath])\n await exec(\"hdiutil\", [\"flatten\", dmgPath])\n\n return data\n}\n\nfunction getRtfUnicodeEscapedString(text: string) {\n let result = \"\"\n for (let i = 0; i < text.length; i++) {\n if (text[i] === \"\\\\\" || text[i] === \"{\" || text[i] === \"}\" || text[i] === \"\\n\") {\n result += `\\\\${text[i]}`\n }\n else if (text[i] === \"\\r\") {\n // ignore\n }\n else if (text.charCodeAt(i) <= 0x7f) {\n result += text[i]\n }\n else {\n result += `\\\\u${text.codePointAt(i)}?`\n }\n }\n return result\n}\n\nfunction wrapInRtf(text: string) {\n return ` $\"7B5C 7274 6631 5C61 6E73 695C 616E 7369\"\n $\"6370 6731 3235 325C 636F 636F 6172 7466\"\n $\"3135 3034 5C63 6F63 6F61 7375 6272 7466\"\n $\"3833 300A 7B5C 666F 6E74 7462 6C5C 6630\"\n $\"5C66 7377 6973 735C 6663 6861 7273 6574\"\n $\"3020 4865 6C76 6574 6963 613B 7D0A 7B5C\"\n $\"636F 6C6F 7274 626C 3B5C 7265 6432 3535\"\n $\"5C67 7265 656E 3235 355C 626C 7565 3235\"\n $\"353B 7D0A 7B5C 2A5C 6578 7061 6E64 6564\"\n $\"636F 6C6F 7274 626C 3B3B 7D0A 5C70 6172\"\n $\"645C 7478 3536 305C 7478 3131 3230 5C74\"\n $\"7831 3638 305C 7478 3232 3430 5C74 7832\"\n $\"3830 305C 7478 3333 3630 5C74 7833 3932\"\n $\"305C 7478 3434 3830 5C74 7835 3034 305C\"\n $\"7478 3536 3030 5C74 7836 3136 305C 7478\"\n $\"3637 3230 5C70 6172 6469 726E 6174 7572\"\n $\"616C 5C70 6172 7469 6768 7465 6E66 6163\"\n $\"746F 7230 0A0A 5C66 305C 6673 3234 205C\"\n${serializeString(\"63663020\" + Buffer.from(getRtfUnicodeEscapedString(text)).toString(\"hex\").toUpperCase() + \"7D\")}`\n // ^ to produce correctly splitted output, this two leading chunks from default wrapper appended here\n}\n\nfunction getRegionCode(langWithRegion: string) {\n const result = regionCodes[langWithRegion]\n if (result == null) {\n throw new Error(`Cannot determine region code for ${langWithRegion}`)\n }\n return result\n}\n\n// noinspection SpellCheckingInspection\nconst regionCodes: any = {\n en_US: 0,\n fr_FR: 1,\n en_GB: 2,\n de_DE: 3,\n it_IT: 4,\n nl_NL: 5,\n nl_BE: 6,\n sv_SE: 7,\n es_ES: 8,\n da_DK: 9,\n pt_PT: 10,\n fr_CA: 11,\n nb_NO: 12,\n he_IL: 13,\n ja_JP: 14,\n en_AU: 15,\n ar: 16,\n fi_FI: 17,\n fr_CH: 18,\n de_CH: 19,\n el_GR: 20,\n is_IS: 21,\n mt_MT: 22,\n el_CY: 23,\n tr_TR: 24,\n hi_IN: 33,\n ur_PK: 34,\n it_CH: 36,\n ro_RO: 39,\n grc: 40,\n lt_LT: 41,\n pl_PL: 42,\n hu_HU: 43,\n et_EE: 44,\n lv_LV: 45,\n se: 46,\n fo_FO: 47,\n fa_IR: 48,\n ru_RU: 49,\n ga_IE: 50,\n ko_KR: 51,\n zh_CN: 52,\n zh_TW: 53,\n th_TH: 54,\n cs_CZ: 56,\n sk_SK: 57,\n bn: 60,\n be_BY: 61,\n uk_UA: 62,\n sr_RS: 65,\n sl_SI: 66,\n mk_MK: 67,\n hr_HR: 68,\n pt_BR: 71,\n bg_BG: 72,\n ca_ES: 73,\n gd: 75,\n gv: 76,\n br: 77,\n iu_CA: 78,\n cy: 79,\n \"ga-Latg_IE\": 81,\n en_CA: 82,\n dz_BT: 83,\n hy_AM: 84,\n ka_GE: 85,\n es_419: 86,\n to_TO: 88,\n fr_001: 91,\n de_AT: 92,\n gu_IN: 94,\n pa: 95,\n ur_IN: 96,\n vi_VN: 97,\n fr_BE: 98,\n uz_UZ: 99,\n en_SG: 100,\n nn_NO: 101,\n af_ZA: 102,\n eo: 103,\n mr_IN: 104,\n bo: 105,\n ne_NP: 106,\n kl: 107,\n en_IE: 108\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../src/dmgLicense.ts"],"names":[],"mappings":"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","sourcesContent":["import { exec, log } from \"builder-util\"\nimport { PlatformPackager } from \"app-builder-lib\"\nimport { getLicenseFiles } from \"app-builder-lib/out/util/license\"\nimport { outputFile, readFile } from \"fs-extra\"\nimport { serializeString } from \"./dmgUtil\"\nimport { getLicenseButtons, getLicenseButtonsFile } from \"./licenseButtons\"\n\n// DropDMG/dmgbuild a in any case (even if no english, but only ru/de) set to 0 (en_US), well, without docs, just believe that's correct\nconst DEFAULT_REGION_CODE = 0\n\nexport async function addLicenseToDmg(packager: PlatformPackager<any>, dmgPath: string): Promise<string | null> {\n // http://www.owsiak.org/?p=700\n const licenseFiles = await getLicenseFiles(packager)\n if (licenseFiles.length === 0) {\n return null\n }\n\n const licenseButtonFiles = await getLicenseButtonsFile(packager)\n packager.debugLogger.add(\"dmg.licenseFiles\", licenseFiles)\n packager.debugLogger.add(\"dmg.licenseButtons\", licenseButtonFiles)\n\n const style: Array<string> = []\n const rtfs: Array<string> = []\n const defaultButtons: Array<string> = []\n\n let counter = 5000\n const addedRegionCodes: Array<number> = []\n for (const item of licenseFiles) {\n log.info({lang: item.langName}, \"adding license\")\n\n // value from DropDMG, data the same for any language\n // noinspection SpellCheckingInspection\n style.push(`data 'styl' (${counter}, \"${item.langName}\") {\n $\"0001 0000 0000 000E 0011 0015 0000 000C\"\n $\"0000 0000 0000\"\n};`)\n\n let data = `data 'RTF ' (${counter}, \"${item.langName}\") {\\n`\n const fileData = await readFile(item.file, \"utf-8\")\n const isRtf = item.file.endsWith(\".rtf\") || item.file.endsWith(\".RTF\")\n data += isRtf ? serializeString((Buffer.from(fileData)).toString(\"hex\")) : wrapInRtf(await readFile(item.file, \"utf-8\"))\n data += \"\\n};\"\n rtfs.push(data)\n\n defaultButtons.push(await getLicenseButtons(licenseButtonFiles, item.langWithRegion, counter, item.langName))\n addedRegionCodes.push(getRegionCode(item.langWithRegion))\n counter++\n }\n\n const buffer = Buffer.allocUnsafe((2 + (3 * addedRegionCodes.length)) * 2)\n let offset = 0\n buffer.writeUInt16BE(DEFAULT_REGION_CODE, offset)\n offset += 2\n buffer.writeUInt16BE(addedRegionCodes.length, offset)\n offset += 2\n\n for (let i = 0; i < addedRegionCodes.length; i++) {\n const regionCode = addedRegionCodes[i]\n buffer.writeUInt16BE(regionCode, offset)\n offset += 2\n buffer.writeUInt16BE(i, offset)\n offset += 2\n buffer.writeUInt16BE(/* is two byte */ [14, 51, 52, 53].includes(regionCode) ? 1 : 0, offset)\n offset += 2\n }\n\n const lPic = `data 'LPic' (5000) {\\n${serializeString(buffer.toString(\"hex\"))}\\n};`\n const data = style\n .concat(rtfs)\n .concat(lPic)\n .concat(defaultButtons)\n .join(\"\\n\\n\")\n\n packager.debugLogger.add(\"dmg.licenseResource\", data)\n const tempFile = await packager.getTempFile(\".r\")\n await outputFile(tempFile, data)\n await exec(\"hdiutil\", [\"unflatten\", dmgPath])\n await exec(\"Rez\", [\"-a\", tempFile, \"-o\", dmgPath])\n await exec(\"hdiutil\", [\"flatten\", dmgPath])\n\n return data\n}\n\nfunction getRtfUnicodeEscapedString(text: string) {\n let result = \"\"\n for (let i = 0; i < text.length; i++) {\n if (text[i] === \"\\\\\" || text[i] === \"{\" || text[i] === \"}\" || text[i] === \"\\n\") {\n result += `\\\\${text[i]}`\n }\n else if (text[i] === \"\\r\") {\n // ignore\n }\n else if (text.charCodeAt(i) <= 0x7f) {\n result += text[i]\n }\n else {\n result += `\\\\u${text.codePointAt(i)}?`\n }\n }\n return result\n}\n\nfunction wrapInRtf(text: string) {\n return ` $\"7B5C 7274 6631 5C61 6E73 695C 616E 7369\"\n $\"6370 6731 3235 325C 636F 636F 6172 7466\"\n $\"3135 3034 5C63 6F63 6F61 7375 6272 7466\"\n $\"3833 300A 7B5C 666F 6E74 7462 6C5C 6630\"\n $\"5C66 7377 6973 735C 6663 6861 7273 6574\"\n $\"3020 4865 6C76 6574 6963 613B 7D0A 7B5C\"\n $\"636F 6C6F 7274 626C 3B5C 7265 6432 3535\"\n $\"5C67 7265 656E 3235 355C 626C 7565 3235\"\n $\"353B 7D0A 7B5C 2A5C 6578 7061 6E64 6564\"\n $\"636F 6C6F 7274 626C 3B3B 7D0A 5C70 6172\"\n $\"645C 7478 3536 305C 7478 3131 3230 5C74\"\n $\"7831 3638 305C 7478 3232 3430 5C74 7832\"\n $\"3830 305C 7478 3333 3630 5C74 7833 3932\"\n $\"305C 7478 3434 3830 5C74 7835 3034 305C\"\n $\"7478 3536 3030 5C74 7836 3136 305C 7478\"\n $\"3637 3230 5C70 6172 6469 726E 6174 7572\"\n $\"616C 5C70 6172 7469 6768 7465 6E66 6163\"\n $\"746F 7230 0A0A 5C66 305C 6673 3234 205C\"\n${serializeString(\"63663020\" + Buffer.from(getRtfUnicodeEscapedString(text)).toString(\"hex\").toUpperCase() + \"7D\")}`\n // ^ to produce correctly splitted output, this two leading chunks from default wrapper appended here\n}\n\nfunction getRegionCode(langWithRegion: string) {\n const result = regionCodes[langWithRegion]\n if (result == null) {\n throw new Error(`Cannot determine region code for ${langWithRegion}`)\n }\n return result\n}\n\n// noinspection SpellCheckingInspection\nconst regionCodes: any = {\n en_US: 0,\n fr_FR: 1,\n en_GB: 2,\n de_DE: 3,\n it_IT: 4,\n nl_NL: 5,\n nl_BE: 6,\n sv_SE: 7,\n es_ES: 8,\n da_DK: 9,\n pt_PT: 10,\n fr_CA: 11,\n nb_NO: 12,\n he_IL: 13,\n ja_JP: 14,\n en_AU: 15,\n ar: 16,\n fi_FI: 17,\n fr_CH: 18,\n de_CH: 19,\n el_GR: 20,\n is_IS: 21,\n mt_MT: 22,\n el_CY: 23,\n tr_TR: 24,\n hi_IN: 33,\n ur_PK: 34,\n it_CH: 36,\n ro_RO: 39,\n grc: 40,\n lt_LT: 41,\n pl_PL: 42,\n hu_HU: 43,\n et_EE: 44,\n lv_LV: 45,\n se: 46,\n fo_FO: 47,\n fa_IR: 48,\n ru_RU: 49,\n ga_IE: 50,\n ko_KR: 51,\n zh_CN: 52,\n zh_TW: 53,\n th_TH: 54,\n cs_CZ: 56,\n sk_SK: 57,\n bn: 60,\n be_BY: 61,\n uk_UA: 62,\n sr_RS: 65,\n sl_SI: 66,\n mk_MK: 67,\n hr_HR: 68,\n pt_BR: 71,\n bg_BG: 72,\n ca_ES: 73,\n gd: 75,\n gv: 76,\n br: 77,\n iu_CA: 78,\n cy: 79,\n \"ga-Latg_IE\": 81,\n en_CA: 82,\n dz_BT: 83,\n hy_AM: 84,\n ka_GE: 85,\n es_419: 86,\n to_TO: 88,\n fr_001: 91,\n de_AT: 92,\n gu_IN: 94,\n pa: 95,\n ur_IN: 96,\n vi_VN: 97,\n fr_BE: 98,\n uz_UZ: 99,\n en_SG: 100,\n nn_NO: 101,\n af_ZA: 102,\n eo: 103,\n mr_IN: 104,\n bo: 105,\n ne_NP: 106,\n kl: 107,\n en_IE: 108\n}\n"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dmg-builder",
|
|
3
|
-
"version": "22.
|
|
3
|
+
"version": "22.7.0",
|
|
4
4
|
"main": "out/dmgUtil.js",
|
|
5
5
|
"author": "Vladimir Krivosheev",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
"vendor"
|
|
14
14
|
],
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"app-builder-lib": "22.
|
|
17
|
-
"builder-util": "22.
|
|
16
|
+
"app-builder-lib": "22.7.0",
|
|
17
|
+
"builder-util": "22.7.0",
|
|
18
18
|
"fs-extra": "^9.0.0",
|
|
19
19
|
"iconv-lite": "^0.5.1",
|
|
20
|
-
"js-yaml": "^3.
|
|
20
|
+
"js-yaml": "^3.14.0",
|
|
21
21
|
"sanitize-filename": "^1.6.3"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/fs-extra": "^
|
|
24
|
+
"@types/fs-extra": "^9.0.1",
|
|
25
25
|
"@types/js-yaml": "^3.12.3",
|
|
26
26
|
"temp-file": "^3.3.7"
|
|
27
27
|
},
|
|
@@ -10,6 +10,7 @@ import os
|
|
|
10
10
|
import os.path
|
|
11
11
|
import stat
|
|
12
12
|
import sys
|
|
13
|
+
from unicodedata import normalize
|
|
13
14
|
|
|
14
15
|
if sys.platform == 'darwin':
|
|
15
16
|
from . import osx
|
|
@@ -20,7 +21,7 @@ except NameError:
|
|
|
20
21
|
long = int
|
|
21
22
|
|
|
22
23
|
from .utils import *
|
|
23
|
-
|
|
24
|
+
|
|
24
25
|
ALIAS_KIND_FILE = 0
|
|
25
26
|
ALIAS_KIND_FOLDER = 1
|
|
26
27
|
|
|
@@ -56,7 +57,7 @@ class AppleShareInfo (object):
|
|
|
56
57
|
|
|
57
58
|
def __repr__(self):
|
|
58
59
|
return 'AppleShareInfo(%r,%r,%r)' % (self.zone, self.server, self.user)
|
|
59
|
-
|
|
60
|
+
|
|
60
61
|
class VolumeInfo (object):
|
|
61
62
|
def __init__(self, name, creation_date, fs_type, disk_type,
|
|
62
63
|
attribute_flags, fs_id, appleshare_info=None,
|
|
@@ -64,13 +65,13 @@ class VolumeInfo (object):
|
|
|
64
65
|
dialup_info=None, network_mount_info=None):
|
|
65
66
|
#: The name of the volume on which the target resides
|
|
66
67
|
self.name = name
|
|
67
|
-
|
|
68
|
+
|
|
68
69
|
#: The creation date of the target's volume
|
|
69
70
|
self.creation_date = creation_date
|
|
70
|
-
|
|
71
|
+
|
|
71
72
|
#: The filesystem type (a two character code, e.g. ``b'H+'`` for HFS+)
|
|
72
73
|
self.fs_type = fs_type
|
|
73
|
-
|
|
74
|
+
|
|
74
75
|
#: The type of disk; should be one of
|
|
75
76
|
#:
|
|
76
77
|
#: * ALIAS_FIXED_DISK
|
|
@@ -116,7 +117,7 @@ class VolumeInfo (object):
|
|
|
116
117
|
for a in args:
|
|
117
118
|
v = getattr(self, a)
|
|
118
119
|
values.append(repr(v))
|
|
119
|
-
|
|
120
|
+
|
|
120
121
|
kwargs = ['appleshare_info', 'driver_name', 'posix_path',
|
|
121
122
|
'disk_image_alias', 'dialup_info', 'network_mount_info']
|
|
122
123
|
for a in kwargs:
|
|
@@ -124,7 +125,7 @@ class VolumeInfo (object):
|
|
|
124
125
|
if v is not None:
|
|
125
126
|
values.append('%s=%r' % (a, v))
|
|
126
127
|
return 'VolumeInfo(%s)' % ','.join(values)
|
|
127
|
-
|
|
128
|
+
|
|
128
129
|
class TargetInfo (object):
|
|
129
130
|
def __init__(self, kind, filename, folder_cnid, cnid, creation_date,
|
|
130
131
|
creator_code, type_code, levels_from=-1, levels_to=-1,
|
|
@@ -132,7 +133,7 @@ class TargetInfo (object):
|
|
|
132
133
|
posix_path=None, user_home_prefix_len=None):
|
|
133
134
|
#: Either ALIAS_KIND_FILE or ALIAS_KIND_FOLDER
|
|
134
135
|
self.kind = kind
|
|
135
|
-
|
|
136
|
+
|
|
136
137
|
#: The filename of the target
|
|
137
138
|
self.filename = filename
|
|
138
139
|
|
|
@@ -197,7 +198,7 @@ class TargetInfo (object):
|
|
|
197
198
|
values.append('%s=%r' % (a, v))
|
|
198
199
|
|
|
199
200
|
return 'TargetInfo(%s)' % ','.join(values)
|
|
200
|
-
|
|
201
|
+
|
|
201
202
|
TAG_CARBON_FOLDER_NAME = 0
|
|
202
203
|
TAG_CNID_PATH = 1
|
|
203
204
|
TAG_CARBON_PATH = 2
|
|
@@ -230,7 +231,7 @@ class Alias (object):
|
|
|
230
231
|
|
|
231
232
|
#: A :class:`VolumeInfo` object describing the target's volume
|
|
232
233
|
self.volume = volume
|
|
233
|
-
|
|
234
|
+
|
|
234
235
|
#: A :class:`TargetInfo` object describing the target
|
|
235
236
|
self.target = target
|
|
236
237
|
|
|
@@ -243,7 +244,7 @@ class Alias (object):
|
|
|
243
244
|
|
|
244
245
|
if recsize < 150:
|
|
245
246
|
raise ValueError('Incorrect alias length')
|
|
246
|
-
|
|
247
|
+
|
|
247
248
|
if version != 2:
|
|
248
249
|
raise ValueError('Unsupported alias version %u' % version)
|
|
249
250
|
|
|
@@ -257,7 +258,7 @@ class Alias (object):
|
|
|
257
258
|
|
|
258
259
|
alias = Alias()
|
|
259
260
|
alias.appinfo = appinfo
|
|
260
|
-
|
|
261
|
+
|
|
261
262
|
alias.volume = VolumeInfo (volname.replace('/',':'),
|
|
262
263
|
voldate, fstype, disktype,
|
|
263
264
|
volattrs, volfsid)
|
|
@@ -266,7 +267,7 @@ class Alias (object):
|
|
|
266
267
|
crdate, creator_code, type_code)
|
|
267
268
|
alias.target.levels_from = levels_from
|
|
268
269
|
alias.target.levels_to = levels_to
|
|
269
|
-
|
|
270
|
+
|
|
270
271
|
tag = struct.unpack(b'>h', b.read(2))[0]
|
|
271
272
|
|
|
272
273
|
while tag != -1:
|
|
@@ -324,9 +325,9 @@ class Alias (object):
|
|
|
324
325
|
alias.extra.append((tag, value))
|
|
325
326
|
|
|
326
327
|
tag = struct.unpack(b'>h', b.read(2))[0]
|
|
327
|
-
|
|
328
|
+
|
|
328
329
|
return alias
|
|
329
|
-
|
|
330
|
+
|
|
330
331
|
@classmethod
|
|
331
332
|
def from_bytes(cls, bytes):
|
|
332
333
|
"""Construct an :class:`Alias` object given binary Alias data."""
|
|
@@ -340,13 +341,17 @@ class Alias (object):
|
|
|
340
341
|
raise Exception('Not implemented (requires special support)')
|
|
341
342
|
|
|
342
343
|
path = encode_utf8(path)
|
|
343
|
-
|
|
344
|
+
|
|
344
345
|
a = Alias()
|
|
345
346
|
|
|
346
347
|
# Find the filesystem
|
|
347
348
|
st = osx.statfs(path)
|
|
348
349
|
vol_path = st.f_mntonname
|
|
349
|
-
|
|
350
|
+
|
|
351
|
+
# File and folder names in HFS+ are normalized to a form similar to NFD.
|
|
352
|
+
# Must be normalized (NFD->NFC) before use to avoid unicode string comparison issues.
|
|
353
|
+
vol_path = normalize("NFC", vol_path.decode('utf-8')).encode('utf-8')
|
|
354
|
+
|
|
350
355
|
# Grab its attributes
|
|
351
356
|
attrs = [osx.ATTR_CMN_CRTIME,
|
|
352
357
|
osx.ATTR_VOL_NAME,
|
|
@@ -355,7 +360,7 @@ class Alias (object):
|
|
|
355
360
|
|
|
356
361
|
vol_crtime = volinfo[0]
|
|
357
362
|
vol_name = encode_utf8(volinfo[1])
|
|
358
|
-
|
|
363
|
+
|
|
359
364
|
# Also grab various attributes of the file
|
|
360
365
|
attrs = [(osx.ATTR_CMN_OBJTYPE
|
|
361
366
|
| osx.ATTR_CMN_CRTIME
|
|
@@ -371,14 +376,14 @@ class Alias (object):
|
|
|
371
376
|
|
|
372
377
|
cnid = info[3]
|
|
373
378
|
folder_cnid = info[4]
|
|
374
|
-
|
|
379
|
+
|
|
375
380
|
dirname, filename = os.path.split(path)
|
|
376
381
|
|
|
377
382
|
if dirname == b'' or dirname == b'.':
|
|
378
383
|
dirname = os.getcwd()
|
|
379
384
|
|
|
380
385
|
foldername = os.path.basename(dirname)
|
|
381
|
-
|
|
386
|
+
|
|
382
387
|
creation_date = info[1]
|
|
383
388
|
|
|
384
389
|
if kind == ALIAS_KIND_FILE:
|
|
@@ -425,7 +430,7 @@ class Alias (object):
|
|
|
425
430
|
a.target.cnid_path = cnid_path
|
|
426
431
|
|
|
427
432
|
return a
|
|
428
|
-
|
|
433
|
+
|
|
429
434
|
def _to_fd(self, b):
|
|
430
435
|
# We'll come back and fix the length when we're done
|
|
431
436
|
pos = b.tell()
|
|
@@ -578,7 +583,7 @@ class Alias (object):
|
|
|
578
583
|
b.write(b'\0')
|
|
579
584
|
|
|
580
585
|
b.write(struct.pack(b'>hh', -1, 0))
|
|
581
|
-
|
|
586
|
+
|
|
582
587
|
blen = b.tell() - pos
|
|
583
588
|
b.seek(pos + 4, os.SEEK_SET)
|
|
584
589
|
b.write(struct.pack(b'>h', blen))
|