According to the smartctl man page:
```
EXIT STATUS
The exit statuses of smartctl are defined by a bitmask. If all is well with the disk, the exit status (return value) of smartctl is 0 (all bits turned off). If a problem occurs, or an error, potential error, or fault is detected, then a non-zero status is
returned. In this case, the eight different bits in the exit status have the following meanings for ATA disks; some of these values may also be returned for SCSI disks.
Bit 0: Command line did not parse.
Bit 1: Device open failed, device did not return an IDENTIFY DEVICE structure, or device is in a low-power mode (see '-n' option above).
Bit 2: Some SMART or other ATA command to the disk failed, or there was a checksum error in a SMART data structure (see '-b' option above).
Bit 3: SMART status check returned "DISK FAILING".
Bit 4: We found prefail Attributes <= threshold.
Bit 5: SMART status check returned "DISK OK" but we found that some (usage or prefail) Attributes have been <= threshold at some time in the past.
Bit 6: The device error log contains records of errors.
Bit 7: The device self-test log contains records of errors. [ATA only] Failed self-tests outdated by a newer successful extended self-test are ignored.
```
BUG: 429028
Empty labels are not allowed anymore.
One can reset them with -r flag but that is not supported in older
dosfstools. So for now we just manually set label to NO_LABEL.
BUG: 432941
As the sfdisk man page says on the option '--wipe' that
specifies whether or not to wipe signatures in order
to avoid collisions:
> When this option is not given, the default is auto,
> in which case signatures are wiped only when in interactive mode
but sfdisk is not run in interactive mode here, since
stdin does not refer to a terminal, and the sfdisk
man page says:
> It [i.e. sfdisk] runs in interactive mode if executed on terminal
> (stdin refers to a terminal).
Therefore, explicitly pass the '--wipe=always' option to
sfdisk so that old signatures are wiped when a new partition
table is created.
Bug: 431628
Move include of BLKID_INCLUDE_DIRS into scope it is used.
UUID_INCLUDE_DIRS is unused, left over from before partitionmanager
switched away from libuuid in 26e7f9d7ef306d61380e1c8965feb83bb6b07d18 .
Explicit Qt5Core_INCLUDE_DIRS no longer needed.
src/ is automatically available for kpmcore target, also exposed in
its build link interface.
That one uses std::is_constructible<impl, QObject *, const QVariantList &>
which will fail for our current plugin constructors due to being private
and with only friend class KPluginFactory.