The samba package was marked as broken, when enableGlusterFS is true.
The samba build with glusterfs fails due to API breakage that I am
unable to debug:
[3562/4088] Compiling source3/modules/vfs_virusfilter.c
../../source3/modules/vfs_glusterfs.c: In function ‘vfs_gluster_pread’:
../../source3/modules/vfs_glusterfs.c:856:8: error: too few arguments to function ‘glfs_pread’
856 | ret = glfs_pread(glfd, data, n, offset, 0);
| ^~~~~~~~~~
In file included from ../../source3/modules/vfs_glusterfs.c:41:
/nix/store/0gzaf6fqgfxfns19zlc07dyjqigj7ak7-glusterfs-9.0/include/glusterfs/api/glfs.h:713:1: note: declared here
713 | glfs_pread(glfs_fd_t *fd, void *buf, size_t count, off_t offset, int flags,
| ^~~~~~~~~~
../../source3/modules/vfs_glusterfs.c: In function ‘vfs_gluster_pread_do’:
../../source3/modules/vfs_glusterfs.c:938:16: error: too few arguments to function ‘glfs_pread’
938 | state->ret = glfs_pread(state->fd, state->buf, state->count,
| ^~~~~~~~~~
In file included from ../../source3/modules/vfs_glusterfs.c:41:
/nix/store/0gzaf6fqgfxfns19zlc07dyjqigj7ak7-glusterfs-9.0/include/glusterfs/api/glfs.h:713:1: note: declared here
713 | glfs_pread(glfs_fd_t *fd, void *buf, size_t count, off_t offset, int flags,
| ^~~~~~~~~~
../../source3/modules/vfs_glusterfs.c: In function ‘vfs_gluster_pwrite_do’:
../../source3/modules/vfs_glusterfs.c:1077:16: error: too few arguments to function ‘glfs_pwrite’
1077 | state->ret = glfs_pwrite(state->fd, state->buf, state->count,
| ^~~~~~~~~~~
In file included from ../../source3/modules/vfs_glusterfs.c:41:
/nix/store/0gzaf6fqgfxfns19zlc07dyjqigj7ak7-glusterfs-9.0/include/glusterfs/api/glfs.h:717:1: note: declared here
717 | glfs_pwrite(glfs_fd_t *fd, const void *buf, size_t count, off_t offset,
| ^~~~~~~~~~~
../../source3/modules/vfs_glusterfs.c: In function ‘vfs_gluster_pwrite’:
../../source3/modules/vfs_glusterfs.c:1161:8: error: too few arguments to function ‘glfs_pwrite’
1161 | ret = glfs_pwrite(glfd, data, n, offset, 0);
| ^~~~~~~~~~~
In file included from ../../source3/modules/vfs_glusterfs.c:41:
/nix/store/0gzaf6fqgfxfns19zlc07dyjqigj7ak7-glusterfs-9.0/include/glusterfs/api/glfs.h:717:1: note: declared here
717 | glfs_pwrite(glfs_fd_t *fd, const void *buf, size_t count, off_t offset,
| ^~~~~~~~~~~
../../source3/modules/vfs_glusterfs.c: In function ‘vfs_gluster_fsync_do’:
../../source3/modules/vfs_glusterfs.c:1287:16: error: too few arguments to function ‘glfs_fsync’
1287 | state->ret = glfs_fsync(state->fd);
| ^~~~~~~~~~
In file included from ../../source3/modules/vfs_glusterfs.c:41:
/nix/store/0gzaf6fqgfxfns19zlc07dyjqigj7ak7-glusterfs-9.0/include/glusterfs/api/glfs.h:790:1: note: declared here
790 | glfs_fsync(glfs_fd_t *fd, struct glfs_stat *prestat,
| ^~~~~~~~~~
../../source3/modules/vfs_glusterfs.c: In function ‘vfs_gluster_ftruncate’:
../../source3/modules/vfs_glusterfs.c:1621:8: error: too few arguments to function ‘glfs_ftruncate’
1621 | ret = glfs_ftruncate(glfd, offset);
| ^~~~~~~~~~~~~~
In file included from ../../source3/modules/vfs_glusterfs.c:41:
/nix/store/0gzaf6fqgfxfns19zlc07dyjqigj7ak7-glusterfs-9.0/include/glusterfs/api/glfs.h:768:1: note: declared here
768 | glfs_ftruncate(glfs_fd_t *fd, off_t length, struct glfs_stat *prestat,
| ^~~~~~~~~~~~~~
../../source3/modules/vfs_virusfilter.c: In function ‘quarantine_create_dir’:
../../source3/modules/vfs_virusfilter.c:132:13: warning: implicit declaration of function ‘strlcat’; did you mean ‘strncat’? [-Wimplicit-function-declaration]
132 | cat_len = strlcat(new_dir, "/", len + 1);
| ^~~~~~~
| strncat
Waf: Leaving directory `/build/samba-4.14.4/bin/default'
Build failed
-> task in 'vfs_glusterfs.objlist' failed with exit status 1 (run with -v to display more information)
(cherry picked from commit fac761a55ad4d6c6a8498c468ec7e5c43b984264)
Currently the docker client is only available on non-linux platforms as `docker`,
this makes the client available on linux and other platforms as `docker-client`.
(cherry picked from commit 7233acd515546107e5902a8fef6832f4f319390c)
This is because we are in a huge "rec" that takes precedence for
symbols in its scope, despite the more nested "with".
(cherry picked from commit 7ee8945a120da5b10fa0eac9fc59b92531ac8552)
There was an override of autoconfHook to use automake 1.15.x; I'm not
sure what changed since this package was added but it explicitly needs
1.16.1 or greater for the submodule libltdl.
Anyhow, just remove the override.
(cherry picked from commit 3e4aeea693d3473427d7a7a4b028c3a6a1a8908e)
An automatic way to do this that scales up and requires little manual intervention is really needed. It works by scraping extensions.gnome.org with a python script, that writes all relevant information into the `extensions.json`. Every attribute of besaid file can be built into a package using `buildShellExtension`.
Extensions are grouped by GNOME Shell version for practical reasons. Only extensions for GNOME 40 and 3.38 were added, as we don't support legacy GNOME versions.
The extensions are exposed as an attrset, `pkgs.gnome40Extensions` and `pkgs.gnome38Extensions` respectively. The package name of each extensions is generated automatically from its UUID.
The attribute `pkgs.gnomeExtensions` contains the officially packaged and supported extensions set. It contains all the automatically packaged extensions for the current GNOME Shell version, which are overwritten by manually packaged ones where needed. Unlike gnomeXYExtensions, the names are not UUIDs, but automatically generated human-friendly names. Naming collisions – which are tracked in collisions.json – need to be manually resolved in the `extensionRenames` attrset.