repart: fix CopyBlocks=auto for verity-sig partitions, even harder (#37704)

@DaanDeMeyer, this is for you.

Seems to work great here to duplicate ParticleOS onto another disk.
This commit is contained in:
Lennart Poettering
2025-06-06 16:06:26 +02:00
committed by GitHub
3 changed files with 130 additions and 11 deletions
+8 -4
View File
@@ -31,15 +31,19 @@ typedef enum PartitionDesignator {
bool partition_designator_is_versioned(PartitionDesignator d) _const_;
static inline bool partition_designator_is_verity_sig(PartitionDesignator d) {
return IN_SET(d, PARTITION_ROOT_VERITY_SIG, PARTITION_USR_VERITY_SIG);
}
PartitionDesignator partition_verity_of(PartitionDesignator p) _const_;
PartitionDesignator partition_verity_sig_of(PartitionDesignator p) _const_;
PartitionDesignator partition_verity_to_data(PartitionDesignator d) _const_;
PartitionDesignator partition_verity_sig_to_data(PartitionDesignator d) _const_;
static inline bool partition_designator_is_verity(PartitionDesignator d) {
return partition_verity_to_data(d) >= 0;
}
static inline bool partition_designator_is_verity_sig(PartitionDesignator d) {
return partition_verity_sig_to_data(d) >= 0;
}
const char* partition_designator_to_string(PartitionDesignator d) _const_;
PartitionDesignator partition_designator_from_string(const char *name) _pure_;