[meta-filesystems] Add zfs recipe

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

Commit Message

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

Comments

Khem Raj May 2, 2022, 9:11 p.m. UTC | #1
looks better this time but fails in packaging

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

On Mon, May 2, 2022 at 7:15 AM Windel Bouwman <windel.bouwman@gmail.com> wrote:
>
> Signed-off-by: Windel Bouwman <windel@windel.nl>
> ---
>  .../recipes-filesystems/zfs/zfs_2.1.4.bb      | 46 +++++++++++++++++++
>  1 file changed, 46 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..01a64cc95
> --- /dev/null
> +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
> @@ -0,0 +1,46 @@
> +
> +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"
> +
> +EXTRA_OECONF:append = " \
> +    --disable-pyzfs \
> +    --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
> +    --enable-systemd \
> +    --disable-sysvinit \
> +    --without-dracutdir \
> +    "
> +
> +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 (#96929): https://lists.openembedded.org/g/openembedded-devel/message/96929
> 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 3, 2022, 11:01 a.m. UTC | #2
Hi Khem,

I tried to reproduce this build error, but the recipe builds fine at my
local setup.

What system did you use to test?

Regards,
Windel

On Mon, May 2, 2022 at 11:12 PM Khem Raj <raj.khem@gmail.com> wrote:

> looks better this time but fails in packaging
>
> https://errors.yoctoproject.org/Errors/Details/655897/
>
> On Mon, May 2, 2022 at 7:15 AM Windel Bouwman <windel.bouwman@gmail.com>
> wrote:
> >
> > Signed-off-by: Windel Bouwman <windel@windel.nl>
> > ---
> >  .../recipes-filesystems/zfs/zfs_2.1.4.bb      | 46 +++++++++++++++++++
> >  1 file changed, 46 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..01a64cc95
> > --- /dev/null
> > +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
> > @@ -0,0 +1,46 @@
> > +
> > +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"
> > +
> > +EXTRA_OECONF:append = " \
> > +    --disable-pyzfs \
> > +    --with-linux=${STAGING_KERNEL_DIR}
> --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
> > +    --enable-systemd \
> > +    --disable-sysvinit \
> > +    --without-dracutdir \
> > +    "
> > +
> > +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 (#96929):
> https://lists.openembedded.org/g/openembedded-devel/message/96929
> > 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]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
Khem Raj May 3, 2022, 2:51 p.m. UTC | #3
On Tue, May 3, 2022 at 4:02 AM Windel Bouwman <windel.bouwman@gmail.com> wrote:
>
> Hi Khem,
>
> I tried to reproduce this build error, but the recipe builds fine at my local setup.
>
> What system did you use to test?

this is wit usrmerge in DISTRO_FEATURES because modules should get
installed into base_libdir
and it seems the build system for this package is hardcoding the
install path to /lib which is the problem
its reporting here.

>
> Regards,
> Windel
>
> On Mon, May 2, 2022 at 11:12 PM Khem Raj <raj.khem@gmail.com> wrote:
>>
>> looks better this time but fails in packaging
>>
>> https://errors.yoctoproject.org/Errors/Details/655897/
>>
>> On Mon, May 2, 2022 at 7:15 AM Windel Bouwman <windel.bouwman@gmail.com> wrote:
>> >
>> > Signed-off-by: Windel Bouwman <windel@windel.nl>
>> > ---
>> >  .../recipes-filesystems/zfs/zfs_2.1.4.bb      | 46 +++++++++++++++++++
>> >  1 file changed, 46 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..01a64cc95
>> > --- /dev/null
>> > +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
>> > @@ -0,0 +1,46 @@
>> > +
>> > +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"
>> > +
>> > +EXTRA_OECONF:append = " \
>> > +    --disable-pyzfs \
>> > +    --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
>> > +    --enable-systemd \
>> > +    --disable-sysvinit \
>> > +    --without-dracutdir \
>> > +    "
>> > +
>> > +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 (#96929): https://lists.openembedded.org/g/openembedded-devel/message/96929
>> > 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..01a64cc95
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.4.bb
@@ -0,0 +1,46 @@ 
+
+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"
+
+EXTRA_OECONF:append = " \
+    --disable-pyzfs \
+    --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
+    --enable-systemd \
+    --disable-sysvinit \
+    --without-dracutdir \
+    "
+
+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}/* \
+    "