stages/rpm: support excluding docs
Add a new `exclude.docs` option that, if set, will pass the corresponding option (`--excludedocs`) to rpm to not install documentation.
This commit is contained in:
parent
81c8374d3e
commit
718e9ad28b
1 changed files with 30 additions and 0 deletions
|
|
@ -2,6 +2,8 @@
|
||||||
"""
|
"""
|
||||||
Verify, and install RPM packages
|
Verify, and install RPM packages
|
||||||
|
|
||||||
|
The `exclude.docs` option can be used to tell rpm to not install docs.
|
||||||
|
|
||||||
`gpgkeys` should be an array of strings containing each GPG key to be used
|
`gpgkeys` should be an array of strings containing each GPG key to be used
|
||||||
to verify the packages.
|
to verify the packages.
|
||||||
|
|
||||||
|
|
@ -42,6 +44,17 @@ from osbuild import api
|
||||||
SCHEMA = """
|
SCHEMA = """
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"exclude": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"docs": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Do not install documentation.",
|
||||||
|
"default": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"gpgkeys": {
|
"gpgkeys": {
|
||||||
"description": "Array of GPG key contents to import",
|
"description": "Array of GPG key contents to import",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
|
|
@ -88,6 +101,17 @@ SCHEMA_2 = """
|
||||||
"description": "Array of GPG key contents to import",
|
"description": "Array of GPG key contents to import",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": { "type": "string" }
|
"items": { "type": "string" }
|
||||||
|
},
|
||||||
|
"exclude": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"docs": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Do not install documentation.",
|
||||||
|
"default": false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -184,6 +208,11 @@ def main(tree, inputs, options):
|
||||||
|
|
||||||
subprocess.run(["/bin/sh", "-c", script], check=True)
|
subprocess.run(["/bin/sh", "-c", script], check=True)
|
||||||
|
|
||||||
|
extra_args = []
|
||||||
|
|
||||||
|
if options.get("exclude", {}).get("docs"):
|
||||||
|
extra_args += ["--excludedocs"]
|
||||||
|
|
||||||
with tempfile.NamedTemporaryFile(prefix="manifest.", mode='w') as manifest:
|
with tempfile.NamedTemporaryFile(prefix="manifest.", mode='w') as manifest:
|
||||||
manifest.writelines(c+'\n' for c in packages)
|
manifest.writelines(c+'\n' for c in packages)
|
||||||
manifest.flush()
|
manifest.flush()
|
||||||
|
|
@ -191,6 +220,7 @@ def main(tree, inputs, options):
|
||||||
"rpm",
|
"rpm",
|
||||||
"--verbose",
|
"--verbose",
|
||||||
"--root", tree,
|
"--root", tree,
|
||||||
|
*extra_args,
|
||||||
# The content hash of the rpms has been verified, default to not
|
# The content hash of the rpms has been verified, default to not
|
||||||
# verifying again (see /usr/lib/rpm/macros for more info)
|
# verifying again (see /usr/lib/rpm/macros for more info)
|
||||||
"--define", "_pkgverify_level none",
|
"--define", "_pkgverify_level none",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue