detectRpm function

Future<bool> detectRpm()

Detects if installed via an RPM package by querying rpm.

Implementation

Future<bool> detectRpm() async {
  if (!Platform.isLinux) return false;
  final osRelease = await getOsRelease();
  if (osRelease != null &&
      !isDistroFamily(osRelease, ['fedora', 'rhel', 'suse'])) {
    return false;
  }
  final execPath = Platform.resolvedExecutable;
  try {
    final result = await Process.run('rpm', ['-qf', execPath]);
    return result.exitCode == 0 && (result.stdout as String).isNotEmpty;
  } catch (_) {
    return false;
  }
}