Intune on Fedora 40

Based on https://taoofmac.com/space/com/microsoft/intune

Install dependencies:

sudo dnf install alien rpmrebuild sdbus-cpp java-11-openjdk

Download latest package versions of:

sudo alien --scripts -r *.deb

Try to install:

sudo rpm -ivh msalsdk-dbusclient-*.rpm
sudo rpm -ivh microsoft-identity-broker-*.rpm
sudo rpm -ivh intune-portal-*.rpm

Attempting to install the resulting packages will likely fail with:

file /usr/lib from install of msalsdk-dbusclient-1.0.1-2.x86_64 conflicts with file from package filesystem-3.18-3.fc38.x86_64

To fix this, use rpmrebuild and remove conflicting directories (likely %dir ... /usr and %dir ... /usr/lib) from the %files section:

rpmrebuild -ep msalsdk-dbusclient-*.rpm
rpmrebuild -ep microsoft-identity-broker-*.rpm
rpmrebuild -ep intune-portal-*.rpm

Take note of the path rpmrebuild reports saving the new RPM to, and use that in the install commands below:

sudo rpm -ivh /path/to/msalsdk-dbusclient-xxx.rpm
sudo rpm -ivh /path/to/microsoft-identity-broker-xxx.rpm
sudo rpm -ivh /path/to/intune-portal-xxx.rpm

You might run into dependency errors with libcurl on intune-portal, like so:

➜  sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/intune-portal-1.2312.35-1.x86_64.rpm
error: Failed dependencies:
        libcurl.so.4(CURL_OPENSSL_4)(64bit) is needed by intune-portal-1.2312.35-1.x86_64

This is quite harmless and can be worked around by installing with --nodeps:

sudo rpm -ivh --nodeps /path/to/intune-portal-xxx.rpm

Run sudo systemctl edit microsoft-identity-device-broker.service and add the following override:

[Service]
Environment="JAVA_HOME=/usr/lib/jvm/jre-11-openjdk/"

Run systemctl --user edit microsoft-identity-broker.service and add the same override as above here as well.

Now enable and start the services:

systemctl --user enable --now intune-agent.timer
sudo systemctl enable intune-daemon.socket
sudo systemctl enable --now microsoft-identity-device-broker.service
systemctl --user enable --now microsoft-identity-broker.service