drop md5sum dependency, depend on node.js script
This commit is contained in:
parent
15ed53d4a7
commit
6df1437cfc
94
scripts/md5sum.js
Executable file
94
scripts/md5sum.js
Executable file
@ -0,0 +1,94 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
var crypto = require('crypto');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
|
var idx = process.argv.indexOf('-c');
|
||||||
|
if (idx > -1) {
|
||||||
|
var validate_file = process.argv[idx+1];
|
||||||
|
if (!process.argv[idx+1]) {
|
||||||
|
console.error('Please pass arg to -c with a path to the data.md5sum file used to validate');
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
validate(validate_file);
|
||||||
|
} else {
|
||||||
|
// we are generating checksums for all filenames passed
|
||||||
|
var args = process.argv.slice(2);
|
||||||
|
if (args.length > 0) {
|
||||||
|
generate(args);
|
||||||
|
} else {
|
||||||
|
console.error('Please pass either a list of files to generate an md5sum for or validate with "-c data.md5sum"');
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function md5FileSync (filename) {
|
||||||
|
var BUFFER_SIZE = 8192;
|
||||||
|
var fd = fs.openSync(filename, 'r');
|
||||||
|
var hash = crypto.createHash('md5');
|
||||||
|
var buffer = new Buffer(BUFFER_SIZE);
|
||||||
|
|
||||||
|
try {
|
||||||
|
var bytesRead;
|
||||||
|
|
||||||
|
do {
|
||||||
|
bytesRead = fs.readSync(fd, buffer, 0, BUFFER_SIZE);
|
||||||
|
hash.update(buffer.slice(0, bytesRead));
|
||||||
|
} while (bytesRead === BUFFER_SIZE)
|
||||||
|
} finally {
|
||||||
|
fs.closeSync(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
return hash.digest('hex');
|
||||||
|
}
|
||||||
|
|
||||||
|
function generate(files) {
|
||||||
|
files.forEach(function(filename) {
|
||||||
|
var md5_actual = md5FileSync(filename);
|
||||||
|
console.log(md5_actual,'',filename);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function validate(validate_file) {
|
||||||
|
|
||||||
|
var sums = {};
|
||||||
|
var lines = fs.readFileSync(validate_file).
|
||||||
|
toString().
|
||||||
|
split('\n').
|
||||||
|
filter(function(line) {
|
||||||
|
return line !== "";
|
||||||
|
});
|
||||||
|
|
||||||
|
var error = 0;
|
||||||
|
|
||||||
|
lines.forEach(function(line) {
|
||||||
|
var parts = line.split(' ');
|
||||||
|
var filename = parts[1];
|
||||||
|
var md5 = parts[0];
|
||||||
|
sums[filename] = md5;
|
||||||
|
var md5_actual = md5FileSync(filename);
|
||||||
|
if (md5_actual !== md5) {
|
||||||
|
error++;
|
||||||
|
console.error(filename + ': FAILED')
|
||||||
|
} else {
|
||||||
|
console.log(filename + ': OK');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (error > 0) {
|
||||||
|
console.error('ms5sum.js WARNING: 1 computed checksum did NOT match');
|
||||||
|
console.error('\nExpected:')
|
||||||
|
lines.forEach(function(line) {
|
||||||
|
var parts = line.split(' ');
|
||||||
|
var filename = parts[1];
|
||||||
|
var md5 = parts[0];
|
||||||
|
console.log(md5 + ' ' + filename);
|
||||||
|
})
|
||||||
|
process.exit(1);
|
||||||
|
} else {
|
||||||
|
process.exit(0);
|
||||||
|
}
|
||||||
|
}
|
@ -8,6 +8,7 @@ OSRM_EXTRACT:=$(OSRM_BUILD_DIR)/osrm-extract
|
|||||||
OSRM_CONTRACT:=$(OSRM_BUILD_DIR)/osrm-contract
|
OSRM_CONTRACT:=$(OSRM_BUILD_DIR)/osrm-contract
|
||||||
OSRM_ROUTED:=$(OSRM_BUILD_DIR)/osrm-routed
|
OSRM_ROUTED:=$(OSRM_BUILD_DIR)/osrm-routed
|
||||||
POLY2REQ:=$(SCRIPT_ROOT)/poly2req.js
|
POLY2REQ:=$(SCRIPT_ROOT)/poly2req.js
|
||||||
|
MD5SUM:=$(SCRIPT_ROOT)/md5sum.js
|
||||||
TIMER:=$(SCRIPT_ROOT)/timer.sh
|
TIMER:=$(SCRIPT_ROOT)/timer.sh
|
||||||
PROFILE:=$(PROFILE_ROOT)/car.lua
|
PROFILE:=$(PROFILE_ROOT)/car.lua
|
||||||
|
|
||||||
@ -24,7 +25,7 @@ $(DATA_NAME).poly:
|
|||||||
|
|
||||||
$(DATA_NAME).osrm: $(DATA_NAME).osm.pbf $(DATA_NAME).poly $(PROFILE) $(OSRM_EXTRACT)
|
$(DATA_NAME).osrm: $(DATA_NAME).osm.pbf $(DATA_NAME).poly $(PROFILE) $(OSRM_EXTRACT)
|
||||||
@echo "Verifiyng data file integrity..."
|
@echo "Verifiyng data file integrity..."
|
||||||
md5sum -c data.md5sum
|
$(MD5SUM) -c data.md5sum
|
||||||
@echo "Running osrm-extract..."
|
@echo "Running osrm-extract..."
|
||||||
$(TIMER) "osrm-extract" $(OSRM_EXTRACT) $(DATA_NAME).osm.pbf -p $(PROFILE)
|
$(TIMER) "osrm-extract" $(OSRM_EXTRACT) $(DATA_NAME).osm.pbf -p $(PROFILE)
|
||||||
|
|
||||||
@ -49,6 +50,6 @@ benchmark: $(DATA_NAME).requests osrm-routed.pid
|
|||||||
@echo "****************"
|
@echo "****************"
|
||||||
|
|
||||||
checksum:
|
checksum:
|
||||||
md5sum $(DATA_NAME).osm.pbf $(DATA_NAME).poly > data.md5sum
|
$(MD5SUM) $(DATA_NAME).osm.pbf $(DATA_NAME).poly > data.md5sum
|
||||||
|
|
||||||
.PHONY: clean checksum benchmark
|
.PHONY: clean checksum benchmark
|
||||||
|
Loading…
Reference in New Issue
Block a user