installPackageFromFile method

Future<int> installPackageFromFile({
  1. required File file,
  2. required FutureOr<void> onData(
    1. String data
    ),
  3. required FutureOr<void> onDone(),
  4. bool isPrint = true,
})

Implementation

Future<int> installPackageFromFile({
  required File file,
  required FutureOr<void> Function(String data) onData,
  required FutureOr<void> Function() onDone,
  bool isPrint = true,
}) async {
  Process process = await Process.start(
    "dpkg",
    [
      "--force-all",
      "-i",
      file.path,
    ],
  );
  process.stderr.listen((data) async {
    if (isPrint) {
      stdout.add(data);
    }
    await onData(utf8.decode(data, allowMalformed: true));
  });
  process.stdout.listen((data) async {
    if (isPrint) {
      stdout.add(data);
    }
    await onData(utf8.decode(data, allowMalformed: true));
  });
  int exit_code = await (process.exitCode);
  await onDone();
  return exit_code;
}