Skip to content

Instantly share code, notes, and snippets.

@nickanderson
Created January 22, 2020 16:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nickanderson/68ac057671013e719ac59676b8b355d3 to your computer and use it in GitHub Desktop.
Save nickanderson/68ac057671013e719ac59676b8b355d3 to your computer and use it in GitHub Desktop.

How can I upgrade each package that has an update available witout manually specifying each one

Created From: Notes
bundle agent example_package_updates_installed
{
  vars:
    debian|ubuntu::
      "packages_with_updates"
        # data => packageupdatesmatching( ".*",
        #                                  ".*",
        #                                  ".*",
        #                                  "apt_get");
        data => '
      [
        {
          "arch":"default",
          "method":"dpkg",
          "name":"syncthing",
          "version":"1.1.0~ds1-1"
        },
        {
          "arch":"default",
          "method":"dpkg",
          "name":"google-chrome-stable",
          "version": "79.0.3945.130-1"
        }
        ]';



      "p" slist => getindices( packages_with_updates );

      "excluded_packages"
        slist => { "google-chrome-stable" };
      "update_candidate_names[$(p)]" string => "$(packages_with_updates[$(p)][name])";

      "updates" slist => difference( getvalues( update_candidate_names ), excluded_packages );
  packages:
    debian|ubuntu::
      # "$(packages_to_update)"
      #   version => "latest";

  reports:
    "I should upgrade $(updates)";
}
bundle agent __main__
{
  methods: "example_package_updates_installed";
}
R: I should upgrade syncthing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment