rustdesk/rustdesk · error · Exception

could not retarget {path} to the drm variant; upstream contr

Error message

could not retarget {path} to the drm variant; upstream control layout changed

What it means

Error "could not retarget {path} to the drm variant; upstream control layout changed" thrown in rustdesk/rustdesk.

Source

Thrown at build.py:694

    print(f'[drm] {DRM_PACKAGE_NAME} libc6 floor measured at {floor}')
    with open(path) as f:
        lines = f.readlines()
    out = []
    for line in lines:
        if line.startswith('Package: rustdesk'):
            out.append(f'Package: {DRM_PACKAGE_NAME}\n')
            out.append('Conflicts: rustdesk\nReplaces: rustdesk\nProvides: rustdesk\n')
        elif line.startswith('Depends:'):
            # 2.4.101 is where drmModeGetFB2 landed; below it libdrmtap loads and can never capture.
            out.append(line.rstrip('\n') + ', libdrm2 (>= 2.4.101), libegl1, libgles2, '
                       f'libc6 (>= {floor})\n')
        else:
            out.append(line)
    body = ''.join(out)
    # Fail loudly rather than silently shipping a package that says `rustdesk`: a stock control file
    # that stopped matching either anchor would otherwise produce a variant deb wearing the stock name.
    if f'Package: {DRM_PACKAGE_NAME}\n' not in body or 'libegl1' not in body:
        raise Exception(f'could not retarget {path} to the drm variant; upstream control layout changed')
    with open(path, 'w') as f:
        f.write(body)


def build_flutter_deb(version, features):
    if not skip_cargo:
        system2(f'cargo build --locked --features {features} --lib --release')
        ffi_bindgen_function_refactor()
    os.chdir('flutter')
    system2('flutter build linux --release')
    system2('mkdir -p tmpdeb/usr/bin/')
    system2('mkdir -p tmpdeb/usr/share/rustdesk')
    system2('mkdir -p tmpdeb/etc/rustdesk/')
    system2('mkdir -p tmpdeb/etc/pam.d/')
    system2('mkdir -p tmpdeb/usr/share/rustdesk/files/systemd/')
    system2('mkdir -p tmpdeb/usr/share/icons/hicolor/256x256/apps/')
    system2('mkdir -p tmpdeb/usr/share/icons/hicolor/scalable/apps/')
    system2('mkdir -p tmpdeb/usr/share/applications/')

View on GitHub (pinned to 7aa98d43cf)

When it happens

Trigger: Thrown at build.py:694 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of rustdesk/rustdesk@7aa98d43cf (2026-08-16). Data as JSON: /api/errors/b08a3f515b1ac9a2. Report an issue: GitHub.