- 18 Sep, 2024 1 commit
-
-
Carlos Ramos Carreño authored
Old GCC versions wrongly patched `__has_include` directives in system includes (using fixincludes). This was reported in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91085, and patches to fix this behavior are given in https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=6bf383c37e6131a8e247e8a0997d55d65c830b6d and are applied upstream in versions above 12.1. This commit applies these patches to older GCC versions. This bug in GCC's fixincludes manifest itself with several seemingly unrelated symptoms. In particular, there are two conflicting "mount.h" includes, one coming from Linux and other from Glibc. Newer Glibc included some preprocessor tricks to detect if the Linux header has been previously included and prevent incompatibilities by not redefining common symbols, thus allowing its header to be included *after* the Linux header. In case that the header is included *before* the Linux header, it uses the aforementioned `__has_include` directive to detect and include the Linux header before itself if present, thus preventing its inclusion afterwards. However, due to the `fixincludes` wrong substitution, the check was always false, and thus including the Glibc header before the Linux one caused the compilation to fail, with an error similar to: ```C In file included from ./include/mount-api-utils.h:11, from libmount/src/optlist.c:19: /usr/include/linux/mount.h:95:6: error: redeclaration of 'enum fsconfig_command' 95 | enum fsconfig_command { | ^~~~~~~~~~~~~~~~ In file included from libmount/src/libmount.h:40, from libmount/src/mountP.h:31, from libmount/src/optlist.c:18: /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:249:6: note: originally defined here 249 | enum fsconfig_command | ^~~~~~~~~~~~~~~~ /usr/include/linux/mount.h:96:2: error: redeclaration of enumerator 'FSCONFIG_SET_FLAG' 96 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ | ^~~~~~~~~~~~~~~~~ /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:251:3: note: previous definition of 'FSCONFIG_SET_FLAG' was here 251 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ | ^~~~~~~~~~~~~~~~~ /usr/include/linux/mount.h:97:2: error: redeclaration of enumerator 'FSCONFIG_SET_STRING' 97 | FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */ | ^~~~~~~~~~~~~~~~~~~ /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:253:3: note: previous definition of 'FSCONFIG_SET_STRING' was here 253 | FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */ | ^~~~~~~~~~~~~~~~~~~ /usr/include/linux/mount.h:98:2: error: redeclaration of enumerator 'FSCONFIG_SET_BINARY' 98 | FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */ | ^~~~~~~~~~~~~~~~~~~ /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:255:3: note: previous definition of 'FSCONFIG_SET_BINARY' was here 255 | FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */ | ^~~~~~~~~~~~~~~~~~~ /usr/include/linux/mount.h:99:2: error: redeclaration of enumerator 'FSCONFIG_SET_PATH' 99 | FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */ | ^~~~~~~~~~~~~~~~~ /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:257:3: note: previous definition of 'FSCONFIG_SET_PATH' was here 257 | FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */ | ^~~~~~~~~~~~~~~~~ /usr/include/linux/mount.h:100:2: error: redeclaration of enumerator 'FSCONFIG_SET_PATH_EMPTY' 100 | FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */ | ^~~~~~~~~~~~~~~~~~~~~~~ /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:259:3: note: previous definition of 'FSCONFIG_SET_PATH_EMPTY' was here 259 | FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */ | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/linux/mount.h:101:2: error: redeclaration of enumerator 'FSCONFIG_SET_FD' 101 | FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */ | ^~~~~~~~~~~~~~~ /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:261:3: note: previous definition of 'FSCONFIG_SET_FD' was here 261 | FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */ | ^~~~~~~~~~~~~~~ /usr/include/linux/mount.h:102:2: error: redeclaration of enumerator 'FSCONFIG_CMD_CREATE' 102 | FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */ | ^~~~~~~~~~~~~~~~~~~ /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:263:3: note: previous definition of 'FSCONFIG_CMD_CREATE' was here 263 | FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */ | ^~~~~~~~~~~~~~~~~~~ /usr/include/linux/mount.h:103:2: error: redeclaration of enumerator 'FSCONFIG_CMD_RECONFIGURE' 103 | FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */ | ^~~~~~~~~~~~~~~~~~~~~~~~ /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:265:3: note: previous definition of 'FSCONFIG_CMD_RECONFIGURE' was here 265 | FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */ | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./include/mount-api-utils.h:11, from libmount/src/optlist.c:19: /usr/include/linux/mount.h:129:8: error: redefinition of 'struct mount_attr' 129 | struct mount_attr { | ^~~~~~~~~~ In file included from libmount/src/libmount.h:40, from libmount/src/mountP.h:31, from libmount/src/optlist.c:18: /opt/slapgrid/0f0705ad6e3e586cc45dcb5c9ab9e5f6/parts/gcc-10.5/lib/gcc/x86_64-pc-linux-gnu/10.5.0/include-fixed/sys/mount.h:219:8: note: originally defined here 219 | struct mount_attr | ^~~~~~~~~~ make[2]: *** [Makefile:12048: libmount/src/la-optlist.lo] Error 1 ``` This error was originally detected in Nexedi in nexedi/slapos@fe60394b (comment 189391) by @vpelletier, but no action was taken at the time to solve it. Some of its symptoms were detected and fixed individually in nexedi/slapos!1579 and nexedi/slapos!1580 , by reordering the includes, but the above error in libmount, which could not be solved that easily, made me delve more into the problem and find the root cause. See merge request nexedi/slapos!1630
-
- 17 Sep, 2024 7 commits
-
-
Joanne Hugé authored
-
Thomas Gambier authored
-
Thomas Gambier authored
This is a fixup of d3b77b8d.
-
Thomas Gambier authored
See merge request nexedi/slapos!1642
-
Thomas Gambier authored
Add backward compatibility in switchsoftwaretype recipe for old default software_type (RootSoftwareInstance) See merge request !1642
-
Thomas Gambier authored
See merge request !1642
-
Jérome Perrin authored
See merge request nexedi/slapos!1640
-
- 12 Sep, 2024 1 commit
-
-
Kazuhiko Shiozaki authored
-
- 11 Sep, 2024 6 commits
-
-
Jérome Perrin authored
This test checks that running `slapos node software` command on theia shell starts installing software, but this command might get an error like: process started, but another slapos process is aleady running with pid 2656158, exiting this happened for example with https://erp5js.nexedi.net/#/test_result_module/20240911-ED8B4BF9/60
-
Jérome Perrin authored
zeo uses temporary files during commit, we want to keep these temporary files in its partition. The reason which motivated this change was to prevent problems when system /tmp is full. It's also consistent to how we configure other services.
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
This test uses XMLRPC to control ERP5
-
Jérome Perrin authored
this logic was simple enough to be inlined and this makes it easier to make changes
-
- 06 Sep, 2024 5 commits
-
-
Carlos Ramos Carreño authored
- Each class now correspond to an instance with different configuration, and possibly several test methods. - Upgraded to more recent pypdf version. - The code has been reviewed to reduce complexity and repetition. - Adds documentation to all public functions, in Google style. - Some other cosmetic changes have been made for consistency (consistent parentheses indentation, consistent string literal quotes), courtesy of ruff. See merge request nexedi/slapos!1628
-
Carlos Ramos Carreño authored
The `enable-scripting` parameter allows to specify a LibreOffice script to be applied before saving the document, as per nexedi/cloudooo@a09d87af If false (the default), an exception will be raised instead. This commit also adds two SlapOS integration tests classes to test the functionality: - TestScripting requests an instance with scripting enabled, and tests the scripting functionality. - TestScriptingDisabled tests that scripting fails if it is not enabled explicitly. See merge request nexedi/slapos!1628
-
Lu Xu authored
See merge request nexedi/slapos!1635
-
Lu Xu authored
-
Lu Xu authored
-
- 04 Sep, 2024 6 commits
-
-
Paul Graydon authored
See merge request nexedi/slapos!1632
-
Paul Graydon authored
-
Paul Graydon authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Carlos Ramos Carreño authored
The option "ooo_enable_scripting" can now be set up in the generic.cloudooo recipe. This option allows the Cloudooo server to execute user scripts to edit the documents before they are saved (see cloudooo@a09d87af3f8bf222cd7d37d814b94ed7a907e2b4). See merge request nexedi/slapos!1628
-
- 03 Sep, 2024 2 commits
-
-
Xavier Thompson authored
Fix clone favicon being the same as the main instance favicon - this is an uncaught regression. Add a test for it. Also give each clone a different favicon, in case there are several clones. See merge request nexedi/slapos!1637
-
Carlos Ramos Carreño authored
When using older GCC versions (e.g. 8.3.0), Inkscape fails with an error similar to: ```C++ /srv/slapgrid/slappart15/srv/runner/instance/slappart7/tmp/shared/inkscape/31c6ae5c72c5325d479cca38e62b82bb/.build/inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/tools/booleans-subitems.cpp: In lambda function: /srv/slapgrid/slappart15/srv/runner/instance/slappart7/tmp/shared/inkscape/31c6ae5c72c5325d479cca38e62b82bb/.build/inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/tools/booleans-subitems.cpp:213:61: error: cannot deduce template arguments for ‘uniform_real_distribution’ from () auto ranf = [&] { return std::uniform_real_distribution()(gen); }; ``` This may be an instance of this problem: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81486 In any case, setting a minimum version of 10.5 for GCC when building Inkscape, as done in this commit, seems to fix this. See merge request nexedi/slapos!1634
-
- 02 Sep, 2024 5 commits
-
-
Jérome Perrin authored
This is based on example from https://json-schema.org/understanding-json-schema/reference/object#unevaluatedproperties this approach allows extending a schema from another software type with some extra properties while rejecting other properties on instances, like it's done with additionalProperties: false.
-
Jérome Perrin authored
See merge request nexedi/slapos!1633
-
Carlos Ramos Carreño authored
Currently librsync is being compiled in the folder lib64 in some OSes (e.g. SUSE SLE 15.6). This is a problem because some dependents look for the library in the lib subdirectory. This change forces librsync to always use the lib directory. See merge request nexedi/slapos!1629
-
Kazuhiko Shiozaki authored
-
Xavier Thompson authored
See merge request nexedi/slapos!1602
-
- 29 Aug, 2024 5 commits
-
-
Jérome Perrin authored
this binary is no longer used
-
Jérome Perrin authored
-
Jérome Perrin authored
because we are not using anymore and no new release was made to fix CVE-2024-38428
-
Jérome Perrin authored
wget is only used for a peertube self-upgrade script that we do not use also cleanup to not explitly list parts, having the parts automatically installed when they are referenced is less maintenance.
-
Jérome Perrin authored
wget was used for varnish, which we removed in 24a91de4 (Get rid of unused/unsupported software type., 2013-07-10). It was still installed because of this remaining unused reference.
-
- 16 Aug, 2024 2 commits
-
-
Xavier Thompson authored
-
Thomas Gambier authored
wendelin.core 2.0.alpha3.post22 supports being installed by newest version of pip/setuptools See nexedi/slapos!1602 (comment 212191)
-