Bug 1636297
Summary: | Make it easy to build / host a project which just builds glusterfs translator | ||
---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Amar Tumballi <atumball> |
Component: | build | Assignee: | bugs <bugs> |
Status: | CLOSED UPSTREAM | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | mainline | CC: | amukherj, bugs, jahernan, kkeithle, ndevos, srangana |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-03-12 15:00:22 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Amar Tumballi
2018-10-05 03:20:17 UTC
I bashed together an example autoconf and rpm .spec file for building the experimental/posix2 xlator outside the tree. You can check it out at https://github.com/gluster/glusterfs-posix2. The xlator sources are unchanged. There are some very small diffs between the in-tree Makefile.am files and the out-of-tree Makefile.am files, but on the whole they're minor. E.g. one of diffs is that for this quick-and-dirty example I didn't include linking with the .sym file. Instructions for compiling the xlator and building an RPM for it are in the INSTALL file. (You probably want to build an rpm to install, otherwise a non-rpm install will install to /usr/local by default. Or you can use options to configure to get it to install to /usr/lib64/glusterfs/4.1.5/.... instead of /usr/local/...) IMO it should be fairly straightforward to drop in a different xlator in the xlators tree and build. It doesn't deal with the issue of automatically adding the xlator to a volume graph. (That would obviously be a lot more work.) > it should be fairly straightforward to drop in a different xlator in the xlators tree and build.
But it should be expected that each xlator will require (minor) tweaks to the configure.ac, much like we have to do with glusterfs' configure.ac.
There should also be a glusterfs.pc as part of the glusterfs-devel package. Using the glusterfs-api.pc and glusterfs-api-devel is a bit of a hack.
Kaleb, this is good! I am OK with stating the bare-minimum requirements to do this. Technically, we can even host a playground repo, which people can use to clone and develop on! That is fine. Currently I am still facing some issues to build glusterfs-posix2 repo. (mainly with uuid.h inclusion, some error (on Fedora27). Let me do few more round of tests, and we should be good to go. In general, this is encouraging :-) Thanks for this! Works fine for me on F27. Did you install libuuid-devel? I guess configure(.ac) should check for that. REVIEW: https://review.gluster.org/21385 (build/packaging/core: add glusterfs.pc(.in)) posted (#3) for review on master by Kaleb KEITHLEY For me, with the changes to handle uuid.h properly, the build is working fine! Happy with the status so far on this one! REVIEW: https://review.gluster.org/22944 (glusterfs-fops: fix the modularity) posted (#1) for review on master by Amar Tumballi I was trying to get libglusterfs totally independent of rpc linking. There are some issues, which can be resolved easily, but one major issue is 'client_t', which is not an easy one. Need more ideas, and discussions on this one. REVIEW: https://review.gluster.org/22944 (glusterfs-fops: fix the modularity) merged (#3) on master by Amar Tumballi REVIEW: https://review.gluster.org/23015 (libglusterfs: remove dependency of rpc) posted (#1) for review on master by Amar Tumballi REVIEW: https://review.gluster.org/23015 (libglusterfs: remove dependency of rpc) merged (#4) on master by Amar Tumballi This bug is moved to https://github.com/gluster/glusterfs/issues/1078, and will be tracked there from now on. Visit GitHub issues URL for further details |