[meta-filesystems] Add zfs recipe

Message ID 20220505142749.28938-1-windel@windel.nl
State Under Review
Headers show
Series [meta-filesystems] Add zfs recipe | expand

Commit Message

Windel Bouwman May 5, 2022, 2:27 p.m. UTC
Signed-off-by: Windel Bouwman <windel@windel.nl>
---
 .../recipes-filesystems/zfs/zfs_2.1.4.bb      | 54 +++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb

Comments

Khem Raj May 5, 2022, 6:30 p.m. UTC | #1
I think it needs a dep on curl see

https://errors.yoctoproject.org/Errors/Details/656276/

On Thu, May 5, 2022 at 7:29 AM Windel Bouwman <windel.bouwman@gmail.com> wrote:
>
> Signed-off-by: Windel Bouwman <windel@windel.nl>
> ---
>  .../recipes-filesystems/zfs/zfs_2.1.4.bb      | 54 +++++++++++++++++++
>  1 file changed, 54 insertions(+)
>  create mode 100644 meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
>
> diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
> new file mode 100644
> index 000000000..ebe2ec39d
> --- /dev/null
> +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
> @@ -0,0 +1,54 @@
> +
> +SUMMARY = "OpenZFS on Linux and FreeBSD"
> +DESCRIPTION = "OpenZFS on Linux and FreeBSD"
> +LICENSE = "CDDL-1.0"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa"
> +HOMEPAGE ="https://github.com/openzfs/zfs"
> +
> +SRC_URI = "https://github.com/openzfs/zfs/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz"
> +SRC_URI[sha256sum] = "3b52c0d493f806f638dca87dde809f53861cd318c1ebb0e60daeaa061cf1acf6"
> +
> +# Using both 'module' and 'autotools' classes seems a bit odd, they both
> +# define a do_compile function.
> +# That's why we opt for module-base, also this prevents module splitting.
> +inherit module-base pkgconfig autotools
> +
> +DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl"
> +
> +PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${libdir}/security, --disable-pam"
> +
> +EXTRA_OECONF:append = " \
> +    --disable-pyzfs \
> +    --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
> +    --with-mounthelperdir=${base_sbin} \
> +    --with-udevdir=${base_libdir}/udev \
> +    --enable-systemd \
> +    --disable-sysvinit \
> +    --without-dracutdir \
> +    "
> +
> +EXTRA_OEMAKE:append = " \
> +    INSTALL_MOD_PATH=${D}${root_prefix} \
> +    "
> +
> +do_install:append() {
> +    # /usr/share/zfs contains the zfs-tests folder which we do not need:
> +    rm -rf ${D}${datadir}/zfs
> +
> +    rm -rf ${D}${datadir}/initramfs-tools
> +}
> +
> +FILES:${PN} += "\
> +    ${base_sbindir}/* \
> +    ${base_libdir}/* \
> +    ${sysconfdir}/* \
> +    ${sbindir}/* \
> +    ${bindir}/* \
> +    ${libexecdir}/${BPN}/* \
> +    ${libdir}/* \
> +    "
> +
> +FILES:${PN}-dev += "\
> +    ${prefix}/src/zfs-${PV}/* \
> +    ${prefix}/src/spl-${PV}/* \
> +    "
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#96960): https://lists.openembedded.org/g/openembedded-devel/message/96960
> Mute This Topic: https://lists.openembedded.org/mt/90833225/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Windel Bouwman May 6, 2022, 6:34 a.m. UTC | #2
That's curious, but I guess you are right. I will add a depend on libcurl.
On my system, it was not required, and it compiles without libcurl as well.

On Thu, May 5, 2022 at 8:31 PM Khem Raj <raj.khem@gmail.com> wrote:

> I think it needs a dep on curl see
>
> https://errors.yoctoproject.org/Errors/Details/656276/
>
> On Thu, May 5, 2022 at 7:29 AM Windel Bouwman <windel.bouwman@gmail.com>
> wrote:
> >
> > Signed-off-by: Windel Bouwman <windel@windel.nl>
> > ---
> >  .../recipes-filesystems/zfs/zfs_2.1.4.bb      | 54 +++++++++++++++++++
> >  1 file changed, 54 insertions(+)
> >  create mode 100644 meta-filesystems/recipes-filesystems/zfs/
> zfs_2.1.4.bb
> >
> > diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
> b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
> > new file mode 100644
> > index 000000000..ebe2ec39d
> > --- /dev/null
> > +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
> > @@ -0,0 +1,54 @@
> > +
> > +SUMMARY = "OpenZFS on Linux and FreeBSD"
> > +DESCRIPTION = "OpenZFS on Linux and FreeBSD"
> > +LICENSE = "CDDL-1.0"
> > +LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa"
> > +HOMEPAGE ="https://github.com/openzfs/zfs"
> > +
> > +SRC_URI = "
> https://github.com/openzfs/zfs/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz
> "
> > +SRC_URI[sha256sum] =
> "3b52c0d493f806f638dca87dde809f53861cd318c1ebb0e60daeaa061cf1acf6"
> > +
> > +# Using both 'module' and 'autotools' classes seems a bit odd, they both
> > +# define a do_compile function.
> > +# That's why we opt for module-base, also this prevents module
> splitting.
> > +inherit module-base pkgconfig autotools
> > +
> > +DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl"
> > +
> > +PACKAGECONFIG[pam] = "--enable-pam
> --with-pamconfigsdir=${datadir}/pam-configs
> --with-pammoduledir=${libdir}/security, --disable-pam"
> > +
> > +EXTRA_OECONF:append = " \
> > +    --disable-pyzfs \
> > +    --with-linux=${STAGING_KERNEL_DIR}
> --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
> > +    --with-mounthelperdir=${base_sbin} \
> > +    --with-udevdir=${base_libdir}/udev \
> > +    --enable-systemd \
> > +    --disable-sysvinit \
> > +    --without-dracutdir \
> > +    "
> > +
> > +EXTRA_OEMAKE:append = " \
> > +    INSTALL_MOD_PATH=${D}${root_prefix} \
> > +    "
> > +
> > +do_install:append() {
> > +    # /usr/share/zfs contains the zfs-tests folder which we do not need:
> > +    rm -rf ${D}${datadir}/zfs
> > +
> > +    rm -rf ${D}${datadir}/initramfs-tools
> > +}
> > +
> > +FILES:${PN} += "\
> > +    ${base_sbindir}/* \
> > +    ${base_libdir}/* \
> > +    ${sysconfdir}/* \
> > +    ${sbindir}/* \
> > +    ${bindir}/* \
> > +    ${libexecdir}/${BPN}/* \
> > +    ${libdir}/* \
> > +    "
> > +
> > +FILES:${PN}-dev += "\
> > +    ${prefix}/src/zfs-${PV}/* \
> > +    ${prefix}/src/spl-${PV}/* \
> > +    "
> > --
> > 2.25.1
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#96960):
> https://lists.openembedded.org/g/openembedded-devel/message/96960
> > Mute This Topic: https://lists.openembedded.org/mt/90833225/1997914
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>

Patch

diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
new file mode 100644
index 000000000..ebe2ec39d
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
@@ -0,0 +1,54 @@ 
+
+SUMMARY = "OpenZFS on Linux and FreeBSD"
+DESCRIPTION = "OpenZFS on Linux and FreeBSD"
+LICENSE = "CDDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa"
+HOMEPAGE ="https://github.com/openzfs/zfs"
+
+SRC_URI = "https://github.com/openzfs/zfs/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "3b52c0d493f806f638dca87dde809f53861cd318c1ebb0e60daeaa061cf1acf6"
+
+# Using both 'module' and 'autotools' classes seems a bit odd, they both
+# define a do_compile function.
+# That's why we opt for module-base, also this prevents module splitting.
+inherit module-base pkgconfig autotools
+
+DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl"
+
+PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${libdir}/security, --disable-pam"
+
+EXTRA_OECONF:append = " \
+    --disable-pyzfs \
+    --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
+    --with-mounthelperdir=${base_sbin} \
+    --with-udevdir=${base_libdir}/udev \
+    --enable-systemd \
+    --disable-sysvinit \
+    --without-dracutdir \
+    "
+
+EXTRA_OEMAKE:append = " \
+    INSTALL_MOD_PATH=${D}${root_prefix} \
+    "
+
+do_install:append() {
+    # /usr/share/zfs contains the zfs-tests folder which we do not need:
+    rm -rf ${D}${datadir}/zfs
+
+    rm -rf ${D}${datadir}/initramfs-tools
+}
+
+FILES:${PN} += "\
+    ${base_sbindir}/* \
+    ${base_libdir}/* \
+    ${sysconfdir}/* \
+    ${sbindir}/* \
+    ${bindir}/* \
+    ${libexecdir}/${BPN}/* \
+    ${libdir}/* \
+    "
+
+FILES:${PN}-dev += "\
+    ${prefix}/src/zfs-${PV}/* \
+    ${prefix}/src/spl-${PV}/* \
+    "