Build changes

- Add support for embedded Linux without X, dbus, udisks, ntp, etc.
- Misc minor changes
This commit is contained in:
Floris Bos 2020-05-25 00:36:16 +02:00
parent 71eefa47cf
commit 5b072f3196
13 changed files with 189 additions and 222 deletions

View file

@ -1,36 +0,0 @@
#!/usr/bin/env node
/*
* Copyright 2017 resin.io
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
const mountUtils = require('..');
let argv = process.argv.slice(2);
let disk = argv.shift();
if (!disk) {
console.error(`Usage: node example/eject <disk>`);
process.exit(1);
}
process.env.MOUNTUTILS_DEBUG = true;
console.log('Ejecting', disk, '...');
mountUtils.eject(disk, function(error) {
console.log(error || 'OK');
});

View file

@ -1,36 +0,0 @@
#!/usr/bin/env node
/*
* Copyright 2017 resin.io
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
const mountUtils = require('..');
let argv = process.argv.slice(2);
let disk = argv.shift();
if (!disk) {
console.error(`Usage: node example/unmount <disk>`);
process.exit(1);
}
process.env.MOUNTUTILS_DEBUG = true;
console.log('Unmounting', disk, '...');
mountUtils.unmountDisk(disk, function(error) {
console.log(error || 'OK');
});

View file

@ -1,106 +0,0 @@
/*
* Copyright 2017 resin.io
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const chai = require('chai');
const mountutils = require('../');
describe('MountUtils', function() {
describe('.unmountDisk()', function() {
it('should be a function', function() {
chai.expect(mountutils.unmountDisk).to.be.a('function');
});
context('missing / wrong arguments', function() {
specify('throws on missing device', function() {
chai.expect(function() {
mountutils.unmountDisk(null, function() {});
}).to.throw(/must be a string/i);
});
specify('throws on missing callback', function() {
chai.expect(function() {
mountutils.unmountDisk('novalue');
}).to.throw(/must be a function/i);
});
});
context('invalid device', function() {
specify('device is a directory', function( done ) {
mountutils.unmountDisk( __dirname, function( error ) {
chai.expect(error.message).to.match(/Unmount failed/);
done();
});
});
specify('device is an empty string', function( done ) {
mountutils.unmountDisk( '', function( error ) {
chai.expect(error.message).to.match(/Unmount failed/);
done();
});
});
});
});
describe('.eject()', function() {
it('should be a function', function() {
chai.expect(mountutils.eject).to.be.a('function');
});
context('missing / wrong arguments', function() {
specify('throws on missing device', function() {
chai.expect(function() {
mountutils.eject(null, function() {});
}).to.throw(/must be a string/i);
});
specify('throws on missing callback', function() {
chai.expect(function() {
mountutils.eject('novalue');
}).to.throw(/must be a function/i);
});
});
context('invalid device', function() {
specify('device is a directory', function( done ) {
mountutils.eject( __dirname, function( error ) {
chai.expect(error.message).to.match(/Eject failed/);
done();
});
});
specify('device is an empty string', function( done ) {
mountutils.eject( '', function( error ) {
chai.expect(error.message).to.match(/Eject failed/);
done();
});
});
});
});
});