I’m using Puppet to manage some apt repositories on Ubuntu and have had a dependency problem. I want to write the source configs before running
apt-get update and I want to run that before installing any packages. Otherwise, a manifests that tries to install a package from a custom repository will fail, either because the repository is not configured or the apt metadata hasn’t been retrieved yet.
Due to Puppet changes being idempotent, this is usually solvable by running puppet a few times (ew). Or you can do this properly by diligently setting all the dependencies for all of your packages on your
apt-get update command, and having that depend on your source configs, but that’s pretty fiddly.