1. 30 Aug, 2024 1 commit
    • Carlos Ramos Carreño's avatar
      Fix wrong substitution in GCC's fixincludes. · 8db54c4c
      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.
      8db54c4c
  2. 12 Aug, 2024 1 commit
  3. 08 Aug, 2024 1 commit
  4. 02 Aug, 2024 1 commit
    • Carlos Ramos Carreño's avatar
      Move Matplotlib versions to slapos.cfg · 5ae99219
      Carlos Ramos Carreño authored
      Move the versions of matplotlib, matplotlib-inline and cycler pinned in
      component/matplotlib/buildout.cfg to slapos.cfg.
      The cycler version for Python 3.7 will be upgraded to 0.11.0 as it is
      compatible.
      
      One reason motivating this change is that the version of `cycler` in
      stack/slapos.cfg is overriding the version specified in
      component/matplotlib/buildout.cfg for the erp5-zope2 software release.
      This is a problem because the former does not take into account the
      Python version, while the later does.
      Thus, attempting to compile erp5-zope2 would give the following error:
      
      ```
      Getting distribution for 'cycler==0.11.0'.
      DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
      ERROR: Package 'cycler' requires a different Python: 2.7.18 not in '>=3.6'
      While:
        Installing matplotlib.
        Base installation request: 'cycler', 'python-dateutil', 'numpy'
        Getting distribution for 'cycler==0.11.0'.
      ```
      
      This adds the right version of `cycler` for Python 2 in `slapos.cfg`, so
      that it does not fail.
      5ae99219
  5. 01 Aug, 2024 2 commits
  6. 30 Jul, 2024 4 commits
  7. 29 Jul, 2024 1 commit
    • Rafael Monnerat's avatar
      kvm/theia: Dont use allOf on resilient to extend properties · 42083eea
      Rafael Monnerat authored
        allOf implies that all (both) schemas should be valid, but
          additionalProperties false wont allow it, since it become multually
          invalid. (You can validate only one or None)
      
        Just use $ref to expand the list, it end up with the expected outcome
         reducing complexity.
      
        Note: kvm wasn't using additionalProperties false but it was changed
         because it makes it future proof, in case we set it (we should set).
      42083eea
  8. 25 Jul, 2024 3 commits
  9. 24 Jul, 2024 1 commit
  10. 22 Jul, 2024 1 commit
  11. 19 Jul, 2024 2 commits
  12. 17 Jul, 2024 1 commit
  13. 16 Jul, 2024 2 commits
  14. 15 Jul, 2024 10 commits
  15. 12 Jul, 2024 5 commits
  16. 11 Jul, 2024 2 commits
  17. 09 Jul, 2024 2 commits