From d9fdafb0b149032f706b1191240ae6b88c11c773 Mon Sep 17 00:00:00 2001
From: Jelle van der Waa <jelle@archlinux.org>
Date: Sun, 16 Aug 2020 16:53:09 +0200
Subject: [PATCH] Use archlinux-contrib over git submodule

Prefer using our maintained version of checkservices from the contrib
repository hosted on our Gitlab repository. This has the benefit of
getting rid of a submodule which isn't cloned by default.
---
 .gitmodules                 |  3 ---
 README.md                   |  3 ---
 roles/common/files/contrib  |  1 -
 roles/common/tasks/main.yml | 11 +++++++----
 4 files changed, 7 insertions(+), 11 deletions(-)
 delete mode 160000 roles/common/files/contrib

diff --git a/.gitmodules b/.gitmodules
index 44af03dc1..e69de29bb 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "roles/common/files/contrib"]
-	path = roles/common/files/contrib
-	url = https://github.com/archlinux/contrib
diff --git a/README.md b/README.md
index d5c1810ca..4186cfdc8 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,6 @@
 
 This repository contains the complete collection of ansible playbooks and roles for the Arch Linux infrastructure.
 
-It also contains git submodules so you have to run `git submodule update --init
---recursive` after cloning or some tasks will fail to run.
-
 ## Requirements
 
 Install these packages:
diff --git a/roles/common/files/contrib b/roles/common/files/contrib
deleted file mode 160000
index 7c791d417..000000000
--- a/roles/common/files/contrib
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 7c791d4179daab4f108b14bbc19bfaf60db4cf8a
diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml
index f8534ea52..b595e3081 100644
--- a/roles/common/tasks/main.yml
+++ b/roles/common/tasks/main.yml
@@ -151,11 +151,14 @@
     - zshrc
     - dircolors
 
-- name: install checkservices
-  copy: src=contrib/admin/checkservices dest=/usr/local/bin/checkservices owner=root group=root mode=0755
+- name: install pacman-contrib,archlinux-contrib
+  pacman: name=pacman-contrib,archlinux-contrib state=installed
 
-- name: install pacman-contrib
-  pacman: name=pacman-contrib state=installed
+- name: remove old checkservices copied script (from submodule)
+  file: path=/usr/local/bin/checkservices state=absent
+
+- name: symlink checkservices to /usr/local/bin
+  file: src=/usr/share/archlinux/contrib/admin/checkservices dest=/usr/local/bin/checkservices state=link
 
 - name: install pacman config
   template: src=pacman.conf.j2 dest=/etc/pacman.conf mode=0644 owner=root group=root
-- 
GitLab