6 Commits

Author SHA1 Message Date
Pablo Lezaeta b89e9184c4 feat: Add mount manpages and comprehensive install system
Manpages Created:
- doc/man/mount.hfs.8 - Complete manpage for mount.hfs
- doc/man/mount.hfs+.8 - Complete manpage for mount.hfs+
- doc/man/mount.hfsplus.8 - Symlink to mount.hfs+.8

Manpage Content:
- Standard sections: NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXIT STATUS
- Complete option documentation (-o, -r, -w, -v, --help, --version)
- Exit codes (0=success, 1=usage error, 32=mount failure)
- Usage examples (basic mount, read-only, with options)
- Notes about kernel driver requirements (modprobe hfs/hfsplus)
- HFS+ specific notes (journaling warnings, Y2K40, case sensitivity)
- Cross-references to related utilities

Install System:
- Individual utility install targets (install-mkfs.hfs, install-fsck.hfs+, etc.)
- Group install targets (install-mkfs, install-fsck, install-mount)
- Set install targets (install-set-hfs, install-set-hfsplus)
- Uninstall targets for all installation types
- Proper manpage installation to /man8
- .hfsplus symlink creation for HFS+ toolset

Installation Examples:
  make install-mkfs.hfs PREFIX=/usr
  make install-set-hfs PREFIX=/usr/local
  make install-set-hfsplus PREFIX=/usr
  make uninstall-set-hfsplus PREFIX=/usr

Features:
- Respects PREFIX and DESTDIR variables
- Creates necessary directories automatically
- Installs binaries to
- Installs manpages to /man8
- Creates .hfsplus symlinks (mkfs.hfsplus, fsck.hfsplus, mount.hfsplus)
- Symmetric uninstall targets
2025-12-17 22:08:18 -03:00
Pablo Lezaeta 3159dccd7a Attempt to implement remaining stuff 2025-12-17 21:03:10 -03:00
Pablo Lezaeta Reyes 2f09df5627 feat: complete integration and testing of HFS+ journaling support
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
2025-10-21 20:29:10 -03:00
Pablo Lezaeta Reyes ac1768ff74 feat: complete manual pages and finalize project
- Add comprehensive manual pages for filesystem utilities:
  * mkfs.hfs.8 - HFS filesystem creation
  * mkfs.hfs+.8 - HFS+ filesystem creation
  * fsck.hfs.8 - HFS filesystem checking
  * fsck.hfs+.8 - HFS+ filesystem checking
  * Symlinks for .hfsplus variants

- Update Makefile to install section 8 manual pages
- Remove '(Apple Silicon fork)' from version strings
- Update .gitignore for filesystem utility symlinks
- Enhance CI workflow with installation testing
- Add comprehensive GitHub Copilot instructions

All manual pages include proper examples, options, and cross-references.
Installation now includes both man1 and man8 sections correctly.
2025-10-21 19:23:04 -03:00
Pablo Lezaeta Reyes c7cfd7b5ff Remove legacy Tcl/Tk/X11 components for better maintainability
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>
2025-10-14 02:26:12 -03:00
Pablo Lezaeta Reyes 60d1b2c293 Initial import from https://www.mars.org/home/rob/proj/hfs/
Signed-off-by: Pablo Lezaeta Reyes <prflr88@gmail.com>
2017-09-27 00:10:03 -03:00