build: simpler rpm declaration #1565
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Python app code we ship to dom0 only uses stdlib imports, or else imports that are OS-provided in dom0, suhc as the Qt bindings. Therefore we don't need to use the "setup.py" and "pip install" intermediate build steps, because there's no additional dependency resolution via pip that we care about: we just want to ship *.py files.
This change updates the RPM build logic to use "install" declarations directly, via build-in-place.
Other small improvements:
.dockerignorefile as a best practiceThe built RPM works the same in dom0. I'd actually like to drop the container logic altogether and build directly from system-provided tooling like "rpmbuild", but punting on that now, as it's a more substantive change to build tooling.
Test plan
You should compare an RPM built from this branch with one built from main:
and review the output. Additionally, it'd be good to check that a
make clean && make clone && make devworks as expected, but that'll take a while.Checklist
Should be pretty complete. Note that the PR removes mention of the
MANIFEST.infile from the description below, because the file itself is removed.This change accounts for:
MANIFEST.inandrpm-build/SPECS/securedrop-workstation-dom0-config.spec)