Page MenuHomeFreeBSD

Comprehensive changes for vendored openzfs
ClosedPublic

Authored by mmacy on Jul 29 2020, 12:31 AM.

Details

Summary

Make ZFS build with openzfs sources, update dtrace build to coexist

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

kevans added inline comments.
cddl/lib/libzfs/Makefile
11 ↗(On Diff #75097)

I think we should consider installing libzfs/libzfs.h here as well in the new world order.

jhb added inline comments.
sys/kern/genoffset.c
35 ↗(On Diff #75097)

Normally this would go after <sys/assym.h>?

Rebase and remove header in response to feedback

mmacy marked an inline comment as done.Aug 4 2020, 7:55 PM
mmacy added inline comments.
cddl/lib/libzfs/Makefile
11 ↗(On Diff #75097)

I think we should consider installing libzfs/libzfs.h here as well in the new world order.

libzfs is a private library that is subject to constant churn. Anything we want from it should be moved in to libzfs_core.

sys/kern/genoffset.c
35 ↗(On Diff #75097)

Normally this would go after <sys/assym.h>?

I removed the added header. Something is wrong with phab in that it still shows the change in the diff.

mmacy marked an inline comment as done.
  • Remove unneeded files
  • Install libzfs.h and libzfs_core.h
cddl/lib/libzfs/Makefile
11 ↗(On Diff #75097)

Done.

sys/kern/genoffset.c
35 ↗(On Diff #75097)

Normally this would go after <sys/assym.h>?

I removed the added header. Something is wrong with phab in that it still shows the change in the diff.

mmacy@anarchy [~/devel/freebsd|16:40|181] git branch | grep vendor

  • projects/openzfs_vendor

mmacy@anarchy [~/devel/freebsd|16:40|182] git diff master sys/kern/genoffset.c
mmacy@anarchy [~/devel/freebsd|16:40|183]

Delete some more unused files

  • Install zdb, zfs, and zpool man pages
  • update rootgen.sh

This is as far as I was able to get:

> cddl/lib/libctf (obj,all,install)

[Creating objdir /usr/obj/tank/src/head/powerpc.powerpc64/tmp/obj-tools/cddl/lib/libctf...]
cc -O2 -pipe -fno-common -DCTF_OLD_VERSIONS -DIN_BASE -I/tank/src/head/sys/contrib/openzfs/lib/libspl/include/os/freebsd/spl -I/tank/src/head/sys/contrib/openzfs/include -I/tank/src/head/sys/contrib/openzfs/lib/libspl/include/ -I/tank/src/head/sys/contrib/openzfs/lib/libspl/include/os/freebsd -include /tank/src/head/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h -DHAVE_ISSETUGID -I/tank/src/head/sys/cddl/compat/opensolaris -I/tank/src/head/cddl/compat/opensolaris/include -I/tank/src/head/cddl/lib/libctf/../../../cddl/contrib/opensolaris/head -I/tank/src/head/cddl/lib/libctf/../../../cddl/contrib/opensolaris/common/ctf -I/tank/src/head/cddl/lib/libctf/../../../cddl/contrib/opensolaris/lib/libctf/common -I/tank/src/head/cddl/lib/libctf/../../../sys/cddl/contrib/opensolaris/uts/common -DNEED_SOLARIS_BOOLEAN -g -MD -MF.depend.ctf_create.o -MTctf_create.o -std=gnu99 -Wno-format-zero-length -Qunused-arguments -I/usr/obj/tank/src/head/powerpc.powerpc64/tmp/legacy/usr/include -c /tank/src/head/cddl/contrib/opensolaris/common/ctf/ctf_create.c -o ctf_create.o
<built-in>:1:10: fatal error: '/tank/src/head/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h' file not found

This is as far as I was able to get:

> cddl/lib/libctf (obj,all,install)

[Creating objdir /usr/obj/tank/src/head/powerpc.powerpc64/tmp/obj-tools/cddl/lib/libctf...]
cc -O2 -pipe -fno-common -DCTF_OLD_VERSIONS -DIN_BASE -I/tank/src/head/sys/contrib/openzfs/lib/libspl/include/os/freebsd/spl -I/tank/src/head/sys/contrib/openzfs/include -I/tank/src/head/sys/contrib/openzfs/lib/libspl/include/ -I/tank/src/head/sys/contrib/openzfs/lib/libspl/include/os/freebsd -include /tank/src/head/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h -DHAVE_ISSETUGID -I/tank/src/head/sys/cddl/compat/opensolaris -I/tank/src/head/cddl/compat/opensolaris/include -I/tank/src/head/cddl/lib/libctf/../../../cddl/contrib/opensolaris/head -I/tank/src/head/cddl/lib/libctf/../../../cddl/contrib/opensolaris/common/ctf -I/tank/src/head/cddl/lib/libctf/../../../cddl/contrib/opensolaris/lib/libctf/common -I/tank/src/head/cddl/lib/libctf/../../../sys/cddl/contrib/opensolaris/uts/common -DNEED_SOLARIS_BOOLEAN -g -MD -MF.depend.ctf_create.o -MTctf_create.o -std=gnu99 -Wno-format-zero-length -Qunused-arguments -I/usr/obj/tank/src/head/powerpc.powerpc64/tmp/legacy/usr/include -c /tank/src/head/cddl/contrib/opensolaris/common/ctf/ctf_create.c -o ctf_create.o
<built-in>:1:10: fatal error: '/tank/src/head/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h' file not found

Did you clone the projects/openzfs_vendor branch of ZoF in to sys/contrib/openzfs? And did you checkout my branch or did you try applying the diff? If the latter, you'll need to make sure that you delete the empty files.

Applying the diff and deleting the empty files was what got me to this point.

I suppose the only way forward is for me to learn git.

Applying the diff and deleting the empty files was what got me to this point.

I suppose the only way forward is for me to learn git.

While generally speaking a passing familiarity with git is useful, others do appear to have been successful simply following the build directions in the CFT mails.

https://lists.freebsd.org/pipermail/freebsd-current/2020-August/076688.html

This revision was not accepted when it landed; it landed in state Needs Review.Sep 28 2020, 10:44 AM
This revision was automatically updated to reflect the committed changes.