- name: restore the updated python
  command: mv "{{ which_python.stdout }}.updated" "{{ which_python.stdout }}"

- name: restore the updated pip
  command: mv "{{ which_pip.stdout }}.updated" "{{ which_pip.stdout }}"

- name: restore the mercurial python interpreter symlink (if needed)
  lineinfile:
    path: "{{ which_hg.stdout }}"
    regexp: "^#!.*$"
    line: "#!{{ stat_hg_interpreter.stat.path }}"
  when: stat_hg_interpreter.stat.islnk

# using the apt module prevents autoremove from working, so call apt-get via shell instead
- name: uninstall packages which were not originally installed (apt)
  shell: apt-get -y remove mercurial && apt-get -y autoremove
  when: ansible_pkg_mgr == 'apt'

- name: uninstall packages which were not originally installed (dnf)
  dnf:
    name: mercurial
    state: absent
    autoremove: yes
  when: ansible_pkg_mgr == 'dnf'

# the yum module does not have an autoremove parameter
- name: uninstall packages which were not originally installed (yum)
  shell: yum -y autoremove mercurial
  when: ansible_pkg_mgr == 'yum'

- name: uninstall packages which were not originally installed (pkgng)
  pkgng:
    name: mercurial
    state: absent
    autoremove: yes
  when: ansible_pkg_mgr == 'pkgng'

- name: restore the default python
  raw: mv "{{ which_python.stdout }}.default" "{{ which_python.stdout }}"

- name: restore the default pip
  raw: mv "{{ which_pip.stdout }}.default" "{{ which_pip.stdout }}"
