Skip to content

Test for unwanted pyc artifiacts in RPM via CI #449

@conorsch

Description

@conorsch

On a whim (OK, was discussing #445 with @eloquence), ran rpmlint against our securedrop-workstation-dom0-config RPM. Here are the results:

[user@disp1758 ~]$ rpmlint QubesIncoming/sd-dev/securedrop-workstation-dom0-config-0.1.2-1.fc25.noarch.rpm 
securedrop-workstation-dom0-config.noarch: W: incoherent-version-in-changelog 0.1.2 ['0.1.2-1.fc25', '0.1.2-1']
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw-launcher.py
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /opt/securedrop/launcher/sdw-launcher.py /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: non-executable-script /opt/securedrop/launcher/sdw-launcher.py 644 /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw-launcher.pyc
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw-launcher.pyo
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/Updater.py
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /opt/securedrop/launcher/sdw_updater_gui/Updater.py /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: non-executable-script /opt/securedrop/launcher/sdw_updater_gui/Updater.py 644 /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/Updater.pyc
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/Updater.pyo
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/UpdaterApp.py
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/UpdaterApp.pyc
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/UpdaterApp.pyo
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/UpdaterAppUi.py
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/UpdaterAppUi.pyc
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/UpdaterAppUi.pyo
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/strings.py
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/strings.pyc
securedrop-workstation-dom0-config.noarch: E: dir-or-file-in-opt /opt/securedrop/launcher/sdw_updater_gui/strings.pyo
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /srv/salt/sd/sd-proxy/do-not-open-here /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: non-executable-script /srv/salt/sd/sd-proxy/do-not-open-here 644 /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: non-executable-script /srv/salt/sd/sys-firewall/sd-copy-rpm-repo-pubkey.sh 644 /bin/bash 
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /srv/salt/securedrop-login /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: non-executable-script /srv/salt/securedrop-login 644 /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /usr/bin/securedrop-admin /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /usr/share/securedrop-workstation-dom0-config/scripts/configure-environment /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /usr/share/securedrop-workstation-dom0-config/scripts/destroy-vm /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: script-without-shebang /usr/share/securedrop-workstation-dom0-config/scripts/rpmbuilder.Dockerfile
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /usr/share/securedrop-workstation-dom0-config/scripts/securedrop-admin.py /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: E: wrong-script-interpreter /usr/share/securedrop-workstation-dom0-config/scripts/validate_config.py /usr/bin/env python3
securedrop-workstation-dom0-config.noarch: W: no-manual-page-for-binary securedrop-admin
securedrop-workstation-dom0-config.noarch: W: no-manual-page-for-binary securedrop-update
1 packages and 0 specfiles checked; 32 errors, 3 warnings.

Not all of those are must-fix IMO, although the inclusion of .pyc files stands out as a serious issue we should fix. Also willing to update the interpreter to a hardcoded python appropriate to dom0, i.e. /usr/bin/python3 at time of writing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions