fsck_msdosfs: fix FAT header correction not persisting in cache mode
When fsck_msdosfs runs with FAT32 cache mode (used for large
filesystems that cannot be mmap'd), a detected FAT header correction
was written into the in-memory buffer but the corresponding cache
entry (fat32_cache_allentries[0]) was never marked dirty. As a
result, fat_flush_fat32_cache_entry() skipped it, the corrected
bytes were never written to disk, and copyfat() propagated the
uncorrected on-disk data to all backup FAT copies. Every subsequent
fsck run would repeat the same "FAT starts with odd byte sequence /
FIXED" cycle indefinitely.
Fix by marking fat32_cache_allentries[0].dirty = true after applying
the in-memory correction, ensuring the chunk is flushed before
copyfat() runs.
Obtained from: https://android-review.googlesource.com/c/platform/external/fsck_msdos/+/4047981
MFC after: 3 days
shells/bash-completion: Don't depend on shells/bash{,-static}
Depending on the shell itself during build time create a large dependency
chain. E.g., using the pc file of this port requires bash being built although
technically not required at all. Have the user install bash as a direct
dependency.
PR: 292501
Tested by: michaelo
Approved by: sunpoet (maintainer)
ports-mgmt/portmaster: update to version 3.34
This update adds support for FreeBSD pkgbase systems. Packages with
names that start with FreeBSD-* should be ignored by all operations.
Additional changes:
* Deal with removed port directories when updating all installed
ports.
* Deal with ports that are installed with a flavour but where the
port is no longer flavoured.