Skip to content

Commit

Permalink
remove first line
Browse files Browse the repository at this point in the history
- and wait until pack manager is ready
  • Loading branch information
foxriver76 committed Oct 19, 2023
1 parent a6cdaed commit 31d33e3
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 10 deletions.
24 changes: 14 additions & 10 deletions packages/cli/src/lib/setup/setupPacketManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ export class PacketManager {
if (!this.manager) {
const manager = await this._detectManager();
if (manager) {
this.logger?.debug(`Detected packet manager: ${manager}`);
this.logger.debug(`Detected packet manager: ${manager}`);
// Check if sudo is available for packet manager and store information
this.sudo = (await this._isSudoAvailable()) && (await this._isSudoAvailableForManager());
}
}

// Check if dpkg is available
this.dpkg = await this._isDpkgAvailable();
this.logger?.debug(`Detected dpkg: ${this.dpkg}`);
this.logger.debug(`Detected dpkg: ${this.dpkg}`);
}
}

Expand Down Expand Up @@ -104,7 +104,7 @@ export class PacketManager {
) {
return true;
} else {
this.logger?.error(`Cannot detect dpkg: ${err.stderr || err.stdout || err}`);
this.logger.error(`Cannot detect dpkg: ${err.stderr || err.stdout || err}`);
return false;
}
}
Expand All @@ -119,7 +119,7 @@ export class PacketManager {
if ((err.stdout && err.stdout.includes('sudo -h')) || (err.stderr && err.stderr.includes('sudo -h'))) {
return true;
} else {
this.logger?.error(`Cannot detect sudo: ${err.stderr || err.stdout || err}`);
this.logger.error(`Cannot detect sudo: ${err.stderr || err.stdout || err}`);
return false;
}
}
Expand All @@ -130,7 +130,7 @@ export class PacketManager {
await execAsync(`sudo -n ${this.manager} -v`);
return true;
} catch (err) {
this.logger?.error(`Cannot detect \\"sudo -n ${this.manager} -v\\": ${err.stderr || err.stdout || err}`);
this.logger.error(`Cannot detect \\"sudo -n ${this.manager} -v\\": ${err.stderr || err.stdout || err}`);
return false;
}
}
Expand All @@ -139,13 +139,13 @@ export class PacketManager {
* Detects which package manager is installed. Throws if none can be found
*/
private async _detectManager(): Promise<Manager | void> {
for (const cmd of ['apt-get', 'apt', 'yum'] as const) {
for (const cmd of ['apt', 'apt-get', 'yum'] as const) {
if (await this._isCmd(cmd)) {
this.manager = cmd;
return cmd;
}
}
this.logger?.info('No supported packet manager found');
this.logger.info('No supported packet manager found');
}

/**
Expand All @@ -162,7 +162,7 @@ export class PacketManager {
try {
await execAsync(`${(this.sudo ? 'sudo ' : '') + this.manager} update`);
} catch (e) {
this.logger?.warn(`Cannot update apt sources: ${e.message}`);
this.logger.warn(`Cannot update apt sources: ${e.message}`);
}
}

Expand Down Expand Up @@ -226,7 +226,11 @@ export class PacketManager {
return [];
}

return res.split('\n');
const packagesList = res.split('\n');
// first line is no package, just Listing...
packagesList.shift();

return packagesList;
}

/**
Expand All @@ -243,7 +247,7 @@ export class PacketManager {
await this._installPacket(packet);
} catch (err) {
failed.push(packet);
this.logger?.error(`Cannot install "${packet}": ${err.stderr || err.stdout || err}`);
this.logger.error(`Cannot install "${packet}": ${err.stderr || err.stdout || err}`);
// Continue with the next packet
}
}
Expand Down
1 change: 1 addition & 0 deletions packages/controller/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6132,6 +6132,7 @@ async function setInstanceOfflineStates(id: ioBroker.ObjectIDs.Instance): Promis
*/
async function listUpdatableOsPackages(): Promise<void> {
const packManager = new PacketManager();
await packManager.ready();

const packages = await packManager.listUpgradeablePackages();

Expand Down

0 comments on commit 31d33e3

Please sign in to comment.