linkBin(src, dest, linkOpts, function (er) { if (er) return cb(er) // bins should always be executable. // XXX skip chmod on windows? fs.chmod(src, execMode, function (er) { if (er && er.code === 'ENOENT' && opts.ignoreScripts) { return cb() } if (er) return cb(er) isHashbangFile(src).then((isHashbang) => { if (isHashbang) { opts.log.silly('linkBins', 'Converting line endings of hashbang file:', src) return dos2Unix(src) } }).then(() => { if (!gtop) return cb() var dest = path.resolve(binRoot, bin) var out = opts.parseable ? dest + '::' + src + ':BINFILE' : dest + ' -> ' + src if (!opts.json && !opts.parseable) { opts.log.clearProgress() console.log(out) opts.log.showProgress() } cb() }).catch(cb) }) })
to.on("close", function () { if (errState) return log.verbose(npm.modes.file.toString(8), "chmod "+tmp) fs.chmod(tmp, npm.modes.file, function (er) { if (er) return cb(er) addTmpTarball(tmp, name, cb) }) })
to.on("close", function () { if (errState) return log.verbose("chmod", tmp, npm.modes.file.toString(8)) fs.chmod(tmp, npm.modes.file, function (er) { if (er) return cb(er) addTmpTarball(tmp, pkgData, shasum, cb) }) })
fs.mkdir(outputBase, function(err) { if (err) { return done(err); } // Linux inherits the setgid of the directory and it messes up our assertions // So we explixitly set the mode to 777 before each test fs.chmod(outputBase, '777', done); });
fs.mkdir(target, dir.mode, function (err) { if (err) return onError(err) // despite setting mode in fs.mkdir, doesn't seem to work // so we set it here. fs.chmod(target, dir.mode, function (err) { if (err) return onError(err) copyDir(dir.name) }) })
to.on("close", function () { if (errState) return // XXX FIX log.verbose("chmod", tmp, npm.modes.file.toString(8)) // XXX FIX fs.chmod(tmp, npm.modes.file, function (er) { if (er) return cb(er) addTmpTarball(tmp, name, cb) }) })
function done (ensure, mode, uid, gid, noChmod, cb) { // now the directory has been created. // chown it to the desired uid/gid // Don't chown the npm.root dir, though, in case we're // in unsafe-perm mode. log.verbose("done: "+ensure+" "+mode.toString(8), "mkdir") // only chmod if noChmod isn't set. var d = done_(ensure, mode, uid, gid, cb) if (noChmod) return d() fs.chmod(ensure, mode, d) }
writeStream.once('close', function () { fs.chmod(target, file.mode, function (err) { if (err) return onError(err) if (preserveTimestamps) { utimes.utimesMillis(target, file.atime, file.mtime, function (err) { if (err) return onError(err) return doneOne() }) } else { doneOne() } }) })
function endChmod (self, want, current, path, cb) { var wantMode = want.mode var chmod = want.follow || self.type !== 'SymbolicLink' ? 'chmod' : 'lchmod' if (!fs[chmod]) return cb() if (typeof wantMode !== 'number') return cb() var curMode = current.mode & parseInt('0777', 8) wantMode = wantMode & parseInt('0777', 8) if (wantMode === curMode) return cb() fs[chmod](path, wantMode, cb) }
, function (er) { if (er) return cb(er) // bins should always be executable. // XXX skip chmod on windows? fs.chmod(path.resolve(folder, pkg.bin[b]), npm.modes.exec, function (er) { if (er || !gtop) return cb(er) var dest = path.resolve(binRoot, b) , src = path.resolve(folder, pkg.bin[b]) , out = npm.config.get("parseable") ? dest + "::" + src + ":BINFILE" : dest + " -> " + src output.write(out, cb) }) })
fs.writeFile(filePath, contents, {mode: parseInt('0777', 8)}, function(writeErr) { if (writeErr) { cb(writeErr); return; } fs.chmod(filePath, parseInt('0777', 8), function(chmodErr) { if (chmodErr) { cb(chmodErr); return; } cb(null, filePath); }); });
fs.lstat(folder, function (er,stat) { if (!stat.isSymbolicLink) { fs.chmod(path.resolve(folder, pkg.bin[b]), npm.modes.exec, function (er) { if (er || !gtop) return cb(er) var dest = path.resolve(binRoot, b) , src = path.resolve(folder, pkg.bin[b]) , out = npm.config.get("parseable") ? dest + "::" + src + ":BINFILE" : dest + " -> " + src console.log(out) cb() }) } else { cb() } })
function setup () { cleanup() mkdirp.sync(tmp) fs.writeFileSync( path.join(pkg, 'package.json'), JSON.stringify(json, null, 2) ) mkdirp.sync(path.join(dep, 'bin')) fs.writeFileSync( path.join(dep, 'package.json'), JSON.stringify(dependency, null, 2) ) fs.writeFileSync(path.join(dep, 'bin', 'foo'), foo) fs.chmod(path.join(dep, 'bin', 'foo'), '0755') }
, function (er) { if (er) return cb(er) // bins should always be executable. // XXX skip chmod on windows? var src = path.resolve(folder, pkg.bin[b]) fs.chmod(src, npm.modes.exec, function (er) { if (er && er.code === "ENOENT" && npm.config.get("ignore-scripts")) { return cb() } if (er || !gtop) return cb(er) var dest = path.resolve(binRoot, b) , out = npm.config.get("parseable") ? dest + "::" + src + ":BINFILE" : dest + " -> " + src console.log(out) cb() }) })
app.listen(_this._socket, function () { fs.chmod(_this._socket, '0777'); serverStarted(); });
fs.stat(cachedRemote, function (er, stats) { if (er) return cb(er) mode = stats.mode | mode fs.chmod(cachedRemote, mode, cb) })
asyncMap([p], function (f, cb) { log.verbose(npm.modes.file.toString(8), "chmod "+f) fs.chmod(f, npm.modes.file, cb) }, function (f, cb) {
asyncMap([p], function (f, cb) { log.verbose(FMODE.toString(8), "chmod "+f) fs.chmod(f, FMODE, cb) }, function (f, cb) {
fs.stat(p, function (er, stats) { if (er) return cb(er) mode = stats.mode | mode fs.chmod(p, mode, cb) })
File.prototype.chmod = function(callback) { FS.chmod(this.path, this.mode, function(err) { if (err) callback(err); callback(); }); };
return new Promise(function (resolve, reject) { fs.chmod(tmpfile, options.mode, function (err) { if (err) reject(err) else resolve() }) })
asyncMap([p], function (f, cb) { // XXX FIX XXX log.verbose("chmod", f, npm.modes.file.toString(8)) // XXX FIX XXX fs.chmod(f, npm.modes.file, cb) }, function (f, cb) {