| Message ID | 20260128063648.1422-1-dev@qinc.tv |
|---|---|
| State | New |
| Headers | show |
| Series | [meta-darwin,1/3] add hfsprogs recipe | expand |
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 --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"
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