Skip to content

main/make-dynpart-mappings: upgrade to 10.2.4

Administrator requested to merge pkgbump into master

This is a package upgrade for the implementation of dynamic partitioning. Most of the changes are relatively unimportant, with the exception of the bug fixes.

The slot suffixing bug fix shouldn't need a backport to v22.06 because the only supported device that uses this is shift-axolotl, which seems to not use the attribute. The slot indexing bug fix shouldn't need a backport either because the axolotl has all its logical partitions (both slot A and B) on the first metadata slot. The libblkid fix is unused.

The full changelog is shown below:

  • (feature) A new build configuration was added, called "USERSPACE". This is for block devices that have no partition labels so these can still be mapped. This can be enabled by specifying USERSPACE=1 in the make flags.
  • (deprecation) A warning message was added for a retrofit-specific fix. This fix is no longer needed because the only slot to process can be specified on the command line. This will be removed once the metadata format changes to keep backward compatibility when it is expected (same format version).
  • (bug fix) An unconfirmed bug was found where the program would always read the first slot's metadata. This was fixed.
  • (bug fix) The slot suffixing attribute of the partition wasn't respected. Instead, the program used the block device's attribute to determine whether the slot should be suffixed. This is now fixed.
  • (bug fix) A duplicate error message was changed to avoid confusion.
  • (bug fix) The program previously ignored the block device resolved by libblkid. Now, blkid tokens can be specified on the command line.
  • (bug fix) When the program couldn't find a valid metadata header, it previously continued anyway. It should now skip the invalid metadata header.
  • (semantic change) This program's error messages previously had non-conventional scopes (e.g. "geometry: main: ", "metadata: backup: ", etc.). This version uses the metadata partition argument as the scope.
  • (non-functional) A maintenance script was added. This makes it convenient for me (or anyone else) to track the upstream format and make appropriate changes to maintain compatibility.
  • (non-functional) The -Wall -Wextra -Wpedantic C flags made some warnings about the program using pointer arithmetic. These warnings were suppressed by first casting to a byte pointer, then indexing it as an array, then casting the pointer to its correct type.
  • (non-functional) Some #include statements were grouped together. This somewhat improves readability at the start of the main code.
  • (non-functional) Code comments were made to divide the main code into parts. This should prevent anyone from getting lost when reading it.
  • (non-functional) Some useless variables were removed. One was redundant and was only there for implicit casting. The others were unused and appeared in the warnings.
  • (non-functional) The internal control flow structures for retrieving the geometry and header structs (choosing between main and backup) were previously different. Now, they are the same.
Edited by Administrator

Merge request reports

Loading