aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2016-10-30 11:32:06 +0100
committerKarel Kočí <cynerd@email.cz>2016-10-30 11:32:06 +0100
commit84dbccf8bea8d6bf7ac4258ab9fe54ce55650730 (patch)
tree4912f1255a7a9f01aa7aebd4ac41c08125377430 /utils
parentd23728eb7c32fe112a9154b0889d39f1c4a98ecd (diff)
downloadmyconfigs-84dbccf8bea8d6bf7ac4258ab9fe54ce55650730.tar.gz
myconfigs-84dbccf8bea8d6bf7ac4258ab9fe54ce55650730.tar.bz2
myconfigs-84dbccf8bea8d6bf7ac4258ab9fe54ce55650730.zip
Add list of installed packages on archlinux
Diffstat (limited to 'utils')
-rw-r--r--utils/arch46
-rw-r--r--utils/inst4
2 files changed, 48 insertions, 2 deletions
diff --git a/utils/arch b/utils/arch
new file mode 100644
index 0000000..5293d0e
--- /dev/null
+++ b/utils/arch
@@ -0,0 +1,46 @@
+# Archlinux system installation and compare
+# vim: ft=sh
+
+# Installs pacaur
+# This expect base and base-devel to be installed
+arch_pacaur() {
+ set -e
+ # Make sure that we have wget
+ sudo pacman -S wget
+ # Download pacaur tar
+ wget https://aur.archlinux.org/cgit/aur.git/snapshot/pacaur.tar.gz
+ # Download cower (pacaur dependency)
+ wget https://aur.archlinux.org/cgit/aur.git/snapshot/cower.tar.gz
+
+ tar -xzf cower.tar.gz
+ cd cower
+ makepkg -cis
+ cd ..
+ rm -rf cower cower.tar.gz
+ tar -xzf pacaur.tar.gz
+ cd pacaur
+ makepkg -cis
+ cd ..
+ rm -rf pacaur pacaur.tar.gz
+
+ unset -e
+}
+
+archlinux_inst() {
+ # Check if we are on archlinux
+ if ! [ -e /etc/arch-release ]; then
+ echo Archlinux not detected! >&2
+ return
+ fi
+ # Now check for pacaur and optionally install
+ if ! pacaur --version 2>&1 >/dev/null; then
+ arch_pacaur
+ fi
+
+ TFILE1=$(mktemp myconfigs-pacaur1-XXXXX)
+ grep -E '^[^# ]+$' archlinux.pkgs | sort > "$TFILE1"
+ TFILE2=$(mktemp myconfigs-pacaur2-XXXXX)
+ pacaur -Qqet | sort > "$TFILE2"
+ diff --suppress-common-lines -ay "$TFILE1" "$TFILE2"
+ rm "$TFILE1" "$TFILE2"
+}
diff --git a/utils/inst b/utils/inst
index 46cae0c..9c15496 100644
--- a/utils/inst
+++ b/utils/inst
@@ -23,7 +23,7 @@ dodiff() {
vimdiff "$1" "$OUT"
}
-diff() {
+checkdiff() {
# Iterate trough source directory but ignore any git repositories
# Note that it's design decision to not iterate trough target directory.
if [ -d "$1" ]; then
@@ -82,7 +82,7 @@ doinst() {
inst() {
if [ -e "$2" ]; then
# If output exists, execute diff instead
- diff $1 $2
+ checkdiff $1 $2
return
fi
doinst $1 $2