Newer versions missing in repos and less compiling errors

Hi team,

we are using the official CentOS 8 repo for icingaweb2:
https://packages.icinga.com/epel/$releasever/release/

But we stuck on version 2.9.5 because the repo doesn’t contain any newer version:
dnf upgrade fails with “nothin to do - Package icingaweb2-2.9.5-1.el8.icinga.noarch is already installed.”

Because I am very impatient I updated manually to 2.10.1 (Just replaced the PHP files in /usr/share/icingaweb2) but then there is a php error in the icinga.min.css file which says:

.appearance is undefined in anonymous-file-0.less
#0 /usr/share/icingaweb2_new/library/vendor/lessphp/lib/Less/Tree/Ruleset.php(143): Less_Tree_Mixin_Call->compile()
#1 /usr/share/icingaweb2_new/library/vendor/lessphp/lib/Less/Tree/Ruleset.php(86): Less_Tree_Ruleset->EvalMixinCalls()
#2 /usr/share/icingaweb2_new/library/vendor/lessphp/lib/Less/Tree/Ruleset.php(91): Less_Tree_Ruleset->compile()
#3 /usr/share/icingaweb2_new/library/vendor/lessphp/lib/Less/Parser.php(185): Less_Tree_Ruleset->compile()
#4 /usr/share/icingaweb2_new/library/vendor/lessphp/lessc.inc.php(130): Less_Parser->getCss()
#5 /usr/share/icingaweb2_new/library/Icinga/Web/LessCompiler.php(230): lessc->compile()
#6 /usr/share/icingaweb2_new/library/Icinga/Web/StyleSheet.php(218): Icinga\Web\LessCompiler->render()
#7 /usr/share/icingaweb2_new/library/Icinga/Web/StyleSheet.php(258): Icinga\Web\StyleSheet->render()
#8 /usr/share/icingaweb2_new/library/Icinga/Application/webrouter.php(64): Icinga\Web\StyleSheet::send()
#9 /usr/share/icingaweb2_new/public/index.php(4): require_once('...')
#10 {main}


.. pad * 2) / .857;
       }
     }
   }
   .pagination-control {
     li > a {
       color: var(--control-color, @control-color);
       border-radius: .25em;
     }
   
     li > a:hover {
       background: var(--control-hover-bg, @control-hover-bg);
     }
   
     .previous-page,
     .next-page {
       padding: .5em .25em;
   
       i {
         display: block;
       }
   
       i:before {
         margin: 0;
       }
     }
   
     .previous-page > i {
       margin-left: -.125em;
     }
   
     .next-page > i {
       margin-right: -.125em;
     }
   }
   
   // Style
   
   .control-button {
!!   .appearance(none);
     background: none;
     border: none;
     color: var(--control-color, @control-color);
     .rounded-corners();
   
     &:hover, &:focus, &.active {
       background-color: var(--control-hover-bg, @control-hover-bg);
       text-decoration: none;
     }
   
     &.disabled {
       color: var(--control-disabled-color, @control-disabled-color);
   
       &:hover {
         background: none;
       }
     }
   
     i.icon:before {
       color: inherit;
     }
   }
   
   // Layout
   
   .control-button {
     display: inline-block;
     padding: .25e
..

I can’t find this setting when I grep for it.

Enabled modules:
director
doc
graphite
idoreports
incubator
ipl
migrate
monitoring
pdfexport
reactbundle
reporting
vspheredb

What can we do to perform an upgrade?
I read https://icinga.com/docs/icinga-web-2/latest/doc/80-Upgrading/#upgrading-to-icinga-web-2-210x but couldn’t find any helpful hints.

Thanks an kind regards
Markus

You can find the background and some discussion at How to build your own icingaweb2 packages for CentOS 8 as the security fix was not released for it

If you really only changed the PHP files you missed everything regarding theming which would explain the failure. I would definitely recommend building your own packages instead of a manual update strategy.

Hi, thanks for the quick reply. I built the package as you suggested but I always get the Error:
Will not install a source rpm package (icingaweb2-2.10.1-1.fc34.icinga.src)

So how did you install the package?

Regarding the manual upgrade; I replaced all files with the files from latest github release including .less and everything else.

Edit: I solved it using the following mock command:

mock --resultdir=/tmp -r centos-stream+epel-8-x86_64 --rebuild icingaweb2-2.10.1-1.fc34.icinga.src.rpm

I had to download and mock icinga-php-library aswell, it wasn’t included.
Then I creaeted my own local repository so that dnf could resolve all dependencies.