distributions.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: distributions@lists.linux.dev
Subject: Some notes on the HFS filesystem utilities
Date: Fri, 09 Jun 2023 05:27:14 +0200	[thread overview]
Message-ID: <d7bc08eb9c4e7aae8664bf2ffc0dce377867ace6.camel@physik.fu-berlin.de> (raw)

Hello!

I am the primary maintainer of the big-endian PowerPC ports in Debian and
as such, I am also maintaining the »hfsprogs« package in Debian [1] which
contains tools for creating and checking HFS/HFS+ filesystems.

Currently, the package is based on a patched version of the »diskdev_cmds« [2]
that was originally published by Matthew Garrett [3] but is no longer available
from there.

The upstream version of the patched version from [3] was 540.1 which is rather
old. Apple's »diskdev_cmds« package has seen multiple updates ever since and
in the meantime, the HFS code was actually separated out into its own package
called just »hfs« [4].

I have forked Apple's »hfs« package on Github [5] and started patching the code
to make it build on Linux. Although I'm not done yet, it already successfully
builds the »newfs_hfs« component.

In the end, I want to have a small set of patches which I can apply against
Apple's vanilla »hfs« source package so that it can be easily packaged for
Linux distributions.

Since HFS support is still useful on Apple Macintosh, I thought I would share
my efforts with this list. Maybe someone will feel incentivized to support
the project with additional patches to speed up the process.

On a side note, Apple removed support for creating legacy HFS filesystems which
I re-added with an additional patch in the Debian package [6]. It might be useful
to refresh this patch for the latest version of the upstream »hfs« package since
being able to create legacy HFS filesystems is still necessary to install GRUB on
an Apple PowerMac computer.

FWIW, I have also contacted Apple's Legal team trying to convince them to change
the license of the »hfs« package to a more permissive one. The reason is that
Debian does not consider the APSL to be DFSG-compliant [7] and therefore not
completely free.

Alternatively, Paragon software might release their HFS code under the GPL in the
near future like they did with NTFS code although I currently have not heard of
any efforts from that side. I did send them a mail to ask them though.

Thanks,
Adrian

> [1] https://buildd.debian.org/status/package.php?p=hfsprogs&suite=sid
> [2] https://github.com/apple-opensource/diskdev_cmds
> [3] http://cavan.codon.org.uk/~mjg59/diskdev_cmds
> [4] https://github.com/apple-opensource/hfs
> [5] https://github.com/glaubitz/hfs/commits/linux
> [6] https://salsa.debian.org/debian/hfsprogs/-/blob/master/debian/patches/0005-Re-add-support-for-creating-legacy-HFS-filesystems.patch
> [7] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666707

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

                 reply	other threads:[~2023-06-09  3:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d7bc08eb9c4e7aae8664bf2ffc0dce377867ace6.camel@physik.fu-berlin.de \
    --to=glaubitz@physik.fu-berlin.de \
    --cc=distributions@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).