diff mbox series

[meta-darwin,1/3] add hfsprogs recipe

Message ID 20260128063648.1422-1-dev@qinc.tv
State New
Headers show
Series [meta-darwin,1/3] add hfsprogs recipe | expand

Commit Message

Eric L. Hernes Jan. 28, 2026, 6:36 a.m. UTC
hfsprogs is used to create the dmg image file for macOS

Signed-off-by: Eric L. Hernes <dev@qinc.tv>
---
 recipes-support/hfsprogs/hfsprogs_git.bb | 35 ++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 recipes-support/hfsprogs/hfsprogs_git.bb

Comments

Etienne Cordonnier Jan. 31, 2026, 8:40 p.m. UTC | #1
Hi Eric,
thanks for the patch! There are minor issues which could be improved:
- do_compile is redundant with the default definition of base.bbclass. The
file Makefile does exist in the repo, even though it's Makefile.lnx which
is compiled, thus this code should work:
```
base_do_compile() {
if [ -e Makefile -o -e makefile -o -e GNUmakefile ]; then
oe_runmake || die "make failed"
else
```
- the recipe resets the value of EXTRA_OEMAKE instead of appending, so it
will remove the default value which contains PARALLEL_MAKE
- Makefile.lnx overrides CC and sets it to "gcc", thus this recipe uses the
native compiler even when calling "bitbake hfsprogs". I think we don't need
the target version anyway, but in this case it's slightly cleaner to use
"inherit native" and/or rename the recipe to hfsprogs-native.bb, rather
than BBCLASSEXTEND = "native". This way yocto will throw an error if trying
to compile the target version.

On Wed, Jan 28, 2026 at 7:36 AM Eric L. Hernes via lists.yoctoproject.org
<dev=qinc.tv@lists.yoctoproject.org> wrote:

> hfsprogs is used to create the dmg image file for macOS
>
> Signed-off-by: Eric L. Hernes <dev@qinc.tv>
> ---
>  recipes-support/hfsprogs/hfsprogs_git.bb | 35 ++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>  create mode 100644 recipes-support/hfsprogs/hfsprogs_git.bb
>
> diff --git a/recipes-support/hfsprogs/hfsprogs_git.bb
> b/recipes-support/hfsprogs/hfsprogs_git.bb
> new file mode 100644
> index 0000000..17ac0d7
> --- /dev/null
> +++ b/recipes-support/hfsprogs/hfsprogs_git.bb
> @@ -0,0 +1,35 @@
> +SUMMARY = "HFS+ filesystem utilities for Linux"
> +DESCRIPTION = "Apple's HFS+ filesystem utilities (mkfs.hfsplus,
> fsck.hfsplus) \
> +adapted to work on Linux systems. Based on Apple's diskdev-cmds source
> code."
> +HOMEPAGE = "https://github.com/Artoria2e5/hfsprogs "
> +
> +LICENSE = "APSL-2.0"
> +LIC_FILES_CHKSUM = "file://README.md;md5=ea27fd14a7e575753270cc5527d29023"
> +
> +SRCREV = "47e4944b2abc57f5d8456ab399671a06031bbfb5"
> +SRC_URI = "git://
> github.com/elhernes/hfsprogs.git;branch=master;protocol=https"
> +
> +S = "${WORKDIR}/git"
> +
> +DEPENDS = "openssl libbsd"
> +
> +EXTRA_OEMAKE = "-f Makefile.lnx"
> +
> +CFLAGS += "-DDEBUG_BUILD=0 -D_FILE_OFFSET_BITS=64 -DLINUX=1 -DBSD=1
> -I${S}/include"
> +
> +do_compile() {
> +    oe_runmake ${EXTRA_OEMAKE}
> +}
> +
> +do_install() {
> +    install -d ${D}${sbindir}
> +    install -d ${D}${mandir}/man8
> +
> +    install -m 0755 ${S}/newfs_hfs.tproj/newfs_hfs
> ${D}${sbindir}/mkfs.hfsplus
> +    install -m 0755 ${S}/fsck_hfs.tproj/fsck_hfs
> ${D}${sbindir}/fsck.hfsplus
> +
> +    install -m 0644 ${S}/newfs_hfs.tproj/newfs_hfs.8
> ${D}${mandir}/man8/mkfs.hfsplus.8
> +    install -m 0644 ${S}/fsck_hfs.tproj/fsck_hfs.8
> ${D}${mandir}/man8/fsck.hfsplus.8
> +}
> +
> +BBCLASSEXTEND = "native"
> --
> 2.50.1 (Apple Git-155)
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#3125):
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_g_yocto-2Dpatches_message_3125&d=DwIFAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=0DzCSR8qWxxpgrmRYjdHYOexdcVZ7rR7Pe41uSFJx1JivDrG9-AInrM96jCMA0BK&s=UQDb7SZqwd_C-BJ0ZA50rv28q2vdoWNYRwz9Meb2nMU&e=
> Mute This Topic:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_mt_117504010_7048771&d=DwIFAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=0DzCSR8qWxxpgrmRYjdHYOexdcVZ7rR7Pe41uSFJx1JivDrG9-AInrM96jCMA0BK&s=MKp4m2KXl4jA-dpaqk2k5p95UuB5lMOcKYpZSwtV40U&e=
> Group Owner: yocto-patches+owner@lists.yoctoproject.org
> Unsubscribe:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_g_yocto-2Dpatches_leave_13184993_7048771_1814342232_xyzzy&d=DwIFAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=0DzCSR8qWxxpgrmRYjdHYOexdcVZ7rR7Pe41uSFJx1JivDrG9-AInrM96jCMA0BK&s=cRSleh1mz5Xu5Ftb31h5O98Ql3Qddujv4mYtk7th0IA&e=
> [ecordonnier@snap.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
>
diff mbox series

Patch

diff --git a/recipes-support/hfsprogs/hfsprogs_git.bb b/recipes-support/hfsprogs/hfsprogs_git.bb
new file mode 100644
index 0000000..17ac0d7
--- /dev/null
+++ b/recipes-support/hfsprogs/hfsprogs_git.bb
@@ -0,0 +1,35 @@ 
+SUMMARY = "HFS+ filesystem utilities for Linux"
+DESCRIPTION = "Apple's HFS+ filesystem utilities (mkfs.hfsplus, fsck.hfsplus) \
+adapted to work on Linux systems. Based on Apple's diskdev-cmds source code."
+HOMEPAGE = "https://github.com/Artoria2e5/hfsprogs"
+
+LICENSE = "APSL-2.0"
+LIC_FILES_CHKSUM = "file://README.md;md5=ea27fd14a7e575753270cc5527d29023"
+
+SRCREV = "47e4944b2abc57f5d8456ab399671a06031bbfb5"
+SRC_URI = "git://github.com/elhernes/hfsprogs.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "openssl libbsd"
+
+EXTRA_OEMAKE = "-f Makefile.lnx"
+
+CFLAGS += "-DDEBUG_BUILD=0 -D_FILE_OFFSET_BITS=64 -DLINUX=1 -DBSD=1 -I${S}/include"
+
+do_compile() {
+    oe_runmake ${EXTRA_OEMAKE}
+}
+
+do_install() {
+    install -d ${D}${sbindir}
+    install -d ${D}${mandir}/man8
+
+    install -m 0755 ${S}/newfs_hfs.tproj/newfs_hfs ${D}${sbindir}/mkfs.hfsplus
+    install -m 0755 ${S}/fsck_hfs.tproj/fsck_hfs ${D}${sbindir}/fsck.hfsplus
+
+    install -m 0644 ${S}/newfs_hfs.tproj/newfs_hfs.8 ${D}${mandir}/man8/mkfs.hfsplus.8
+    install -m 0644 ${S}/fsck_hfs.tproj/fsck_hfs.8 ${D}${mandir}/man8/fsck.hfsplus.8
+}
+
+BBCLASSEXTEND = "native"