[3006.x] maintain user-defined options in apt source definitions #65627
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.
What does this PR do?
Port #65366 to 3006.x
Attempts to maintain all debian source options (not just arch and signed-by) from debian package repo definitions.
NOTE: Through testing it was observed that Salt was also removing options from sources list files that were not even managed by Salt (because it reads all *.list files in known apt locations and re-writes them). This PR doesn't fix the behavior of Salt re-writing all *.list files, but it should prevent Salt from blindly stripping out options in those files.
What issues does this PR fix or reference?
Fixes: #64130
Previous Behavior
A pkgrepo definition like this:
Resulted in a source list file like this (missing [trustred=yes] option):
New Behavior
A pkgrepo definition like this:
Results in a correct source list file like this ([trustred=yes] option is maintained):
Merge requirements satisfied?
[NOTICE] Bug fixes or features added to Salt require tests.
Commits signed with GPG?
No
Please review Salt's Contributing Guide for best practices.
See GitHub's page on GPG signing for more information about signing commits with GPG.