[WARNING ] State for file: /etc/apt/preferences - Neither 'source' nor
'contents' nor 'contents_pillar' nor 'contents_grains' was defined, yet
'replace' was set to 'True'. As there is no source to replace the file
with, 'replace' has been set to 'False' to avoid reading the file
unnecessarily.
Now, if file.managed, but when content is not changed (no source,
contents, ...), avoid the warning.
Salt uses the aptsources system library to get a list of repositories on
the host. Unfortunately if the /etc/apt/sources.list file is missing,
aptsources.sourceslist.SourcesList() (which is called by salt) logs a
warning, which is then displayed to the user running salt.
To avoid this warning when using 'remove_sources_list: true' in pillar
we can keep the /etc/apt/sources.list file, but just ensure it is empty.
This achieves the same thing, but does not log the warning or display it
to the user.