From ccd631a93465b7328df8e6bef2f30d8184e7dfd4 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Jul 2014 16:45:59 -0700 Subject: [PATCH] Write control/desktop files to temp folder --- .gitignore | 2 -- build/package.json | 9 +++++---- build/tasks/mkdeb-task.coffee | 18 +++++++++++------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 7103ce579..1257ab371 100644 --- a/.gitignore +++ b/.gitignore @@ -13,5 +13,3 @@ debug.log docs/output docs/includes spec/fixtures/evil-files/ -resources/linux/Atom.desktop -resources/linux/debian/control diff --git a/build/package.json b/build/package.json index 91a7e30f9..a7dc2b2b1 100644 --- a/build/package.json +++ b/build/package.json @@ -14,8 +14,8 @@ "grunt": "~0.4.1", "grunt-cli": "~0.1.9", "grunt-coffeelint": "git+https://github.com/atom/grunt-coffeelint.git", - "grunt-contrib-csslint": "~0.1.2", "grunt-contrib-coffee": "~0.9.0", + "grunt-contrib-csslint": "~0.1.2", "grunt-contrib-less": "~0.8.0", "grunt-cson": "0.8.0", "grunt-download-atom-shell": "~0.8.0", @@ -27,15 +27,16 @@ "json-front-matter": "~0.1.3", "legal-eagle": "~0.4.0", "minidump": "~0.7", - "read-package-json": "1.1.8", "normalize-package-data": "0.2.12", + "npm": "~1.4.5", "rcedit": "~0.1.2", + "read-package-json": "1.1.8", "request": "~2.27.0", "rimraf": "~2.2.2", "runas": "0.5.x", + "temp": "^0.8.0", "underscore-plus": "1.x", "unzip": "~0.1.9", - "vm-compatibility-layer": "~0.1.0", - "npm": "~1.4.5" + "vm-compatibility-layer": "~0.1.0" } } diff --git a/build/tasks/mkdeb-task.coffee b/build/tasks/mkdeb-task.coffee index 090168446..6fb4edab4 100644 --- a/build/tasks/mkdeb-task.coffee +++ b/build/tasks/mkdeb-task.coffee @@ -1,11 +1,17 @@ fs = require 'fs' path = require 'path' _ = require 'underscore-plus' +temp = require 'temp' + +tempResourcesFolder = temp.mkdirSync('atom-resources-') fillTemplate = (filePath, data) -> - template = _.template(String(fs.readFileSync(filePath + '.in'))) + template = _.template(String(fs.readFileSync("#{filePath}.in"))) filled = template(data) - fs.writeFileSync(filePath, filled) + + outputPath = path.join(tempResourcesFolder, path.basename(filePath)) + fs.writeFileSync(outputPath, filled) + outputPath module.exports = (grunt) -> {spawn} = require('./task-helpers')(grunt) @@ -27,13 +33,11 @@ module.exports = (grunt) -> iconName = 'atom' data = {name, version, description, section, arch, maintainer, installDir, iconName} - control = path.join('resources', 'linux', 'debian', 'control') - fillTemplate(control, data) - desktop = path.join('resources', 'linux', 'Atom.desktop') - fillTemplate(desktop, data) + controlFilePath = fillTemplate(path.join('resources', 'linux', 'debian', 'control'), data) + desktopFilePath = fillTemplate(path.join('resources', 'linux', 'Atom.desktop'), data) icon = path.join('resources', 'atom.png') buildDir = grunt.config.get('atom.buildDir') cmd = path.join('script', 'mkdeb') - args = [version, arch, control, desktop, icon, buildDir] + args = [version, arch, controlFilePath, desktopFilePath, icon, buildDir] spawn({cmd, args}, done)