Comprehensive update to fully integrate HFS+ journaling across the project:
### Build System Updates:
- **build.sh**: Enhanced with journaling-aware hfsck compilation
* Automatic fallback to manual compilation if autotools fails
* Proper journaling support compilation flags
* Improved error handling and reporting
- **Makefile**: Updated main Makefile with journaling support
* Enhanced hfsck build rule with manual fallback
* Proper dependency handling for journal.o
* Improved error handling for autotools issues
### Configuration Updates:
- **.gitattributes**: Comprehensive LF enforcement for all text files
* Added support for all file types (.c, .h, .sh, .md, .1, .8, etc.)
* Proper handling of build files and documentation
* Consistent line ending management
- **.gitignore**: Enhanced with journaling-specific ignores
* Added hfsutils.log and other log files
* Added hfsck build artifacts
* Better organization of ignored files
### Documentation Updates:
- **doc/man/fsck.hfs+.8**: Enhanced manual page with journaling documentation
* Detailed journaling support description
* Journal replay and validation features
* Comprehensive logging information
* Usage examples and troubleshooting
### Testing Infrastructure:
- **test/test_journaling.sh**: Comprehensive journaling test suite
* Version and functionality verification
* Error handling validation
* Binary symbol verification
* Log file creation testing
* HFS+ image creation and validation
- **test/run_tests.sh**: Integrated journaling tests
* Added test_hfsplus_journaling function
* Integrated into hfsplus and all test patterns
* Proper error handling and reporting
### Project Status:
- **TODO**: Updated with completed journaling features
- **CHANGELOG**: Added version 4.1.0 with journaling features
This completes the enterprise-level HFS+ journaling implementation with:
Full crash recovery support
Journal validation and repair
Comprehensive testing suite
Complete documentation
Robust build system
Professional logging and error handling
This major cleanup removes all legacy graphical interface components:
**Removed Components:**
- hfssh (Tcl shell interface)
- hfs (Tcl script wrapper)
- xhfs (X11/Tk GUI application)
- All associated Tcl/Tk source files and headers
- X11 bitmap images and resources
- Tcl test scripts and documentation
**Updated Build System:**
- Removed --with-tcl and --with-tk configure options
- Cleaned up Makefiles to remove Tcl/Tk targets
- Updated documentation to reflect changes
- Fixed missing string.h include in hpwd.c
**Why This Change:**
These 1990s-era components are no longer relevant for modern macOS
neither for moder Linux distros since GNOME 50 dropped X11 anyways:
- Require X11 server installation (XQuartz on MacOS)
- Linux move into Wayland making this a burder for "command line tool"
- Outdated GUI design and limited functionality
- Better alternatives exist (Finder, Disk Utility, modern tools)
- Maintenance burden without significant user benefit
The core command-line utilities remain fully functional and are the
primary value of this Update.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Reported to this fork from the good brockgs/hfsutils-for-apple-silicon
<Go and kidos to brockgs>