summaryrefslogtreecommitdiff
path: root/profiles/wheezy/classes/Admin
diff options
context:
space:
mode:
Diffstat (limited to 'profiles/wheezy/classes/Admin')
-rw-r--r--profiles/wheezy/classes/Admin/apt/auto/all.yml13
-rw-r--r--profiles/wheezy/classes/Admin/apt/auto/core.yml23
-rw-r--r--profiles/wheezy/classes/Admin/apt/auto/functions.yml49
-rw-r--r--profiles/wheezy/classes/Admin/auto.yml15
-rw-r--r--profiles/wheezy/classes/Admin/etc/functions.yml26
-rw-r--r--profiles/wheezy/classes/Admin/index.yml5
6 files changed, 131 insertions, 0 deletions
diff --git a/profiles/wheezy/classes/Admin/apt/auto/all.yml b/profiles/wheezy/classes/Admin/apt/auto/all.yml
new file mode 100644
index 0000000..1e8a8ba
--- /dev/null
+++ b/profiles/wheezy/classes/Admin/apt/auto/all.yml
@@ -0,0 +1,13 @@
+classes:
+ - Admin.apt.auto.core
+parameters:
+ doc:
+ admin:
+ tweak:
+ - fix mark auto-installed misc. packages relevant only as dependencies
+ pkg-auto:
+ - vim-common
+ tweak:
+ - >
+ chroot /target apt-mark auto \
+ __PKGAUTOLIST__
diff --git a/profiles/wheezy/classes/Admin/apt/auto/core.yml b/profiles/wheezy/classes/Admin/apt/auto/core.yml
new file mode 100644
index 0000000..76d0827
--- /dev/null
+++ b/profiles/wheezy/classes/Admin/apt/auto/core.yml
@@ -0,0 +1,23 @@
+#TODO: Stop install bash-completion or uuid-runtime when bug fixed in stable
+#FIXME: File bugreport about bash-completion and uuid-runtime not installed
+classes:
+ - Admin.apt.auto.functions
+parameters:
+ doc:
+ admin:
+ tweak:
+ - fix mark auto-installed essential packages + dependencies (bug#742977)
+ pkg:
+ - bash-completion
+ - uuid-runtime
+ pkg-auto:
+ - aptitude-common
+ - bash-completion
+ - grub-common
+ - isc-dhcp-common
+ - tasksel-data
+ - uuid-runtime
+ tweak:
+ - >
+ chroot /target apt-mark auto \
+ $(_pkganddeepdeps $(_pkgessentials) apt linux-image-*)
diff --git a/profiles/wheezy/classes/Admin/apt/auto/functions.yml b/profiles/wheezy/classes/Admin/apt/auto/functions.yml
new file mode 100644
index 0000000..2f1a935
--- /dev/null
+++ b/profiles/wheezy/classes/Admin/apt/auto/functions.yml
@@ -0,0 +1,49 @@
+parameters:
+ doc:
+ admin:
+ tweak:
+ - define routines to resolve package dependencies
+ tweak:
+ - >
+ _pkgdeps(){ set -e;\
+ chroot /target dpkg-query \
+ -Wf=',$''{Pre-Depends},$''{Depends},$''{Recommends}\n' $* 2>/dev/null \
+ | sed -r \
+ -e 's/[,|] *([a-z0-9.+-]+)?(:\s+)?( *[^|,]*)?/\1\n/g' \
+ | sed '/^$/d'|sort -u; }
+ - >
+ _pkg2re(){ set -e;\
+ echo $* \
+ | sed -r \
+ -e 's/\s+/\|/g;' \
+ -e 's/^\|//;' \
+ -e 's/([.+-])/\\\1/g;' \
+ -e 's/\|$//'; }
+ - >
+ _pkgreal(){ set -e;\
+ chroot /target dpkg-query \
+ -Wf='$''{Package},$''{Provides},\n' \
+ | sed -r \
+ -e '/,,/d;' \
+ -e 's/^([a-z0-9.+-]+).*[,|] *('"$(_pkg2re $*)"')[ :,]/\1/;' \
+ -e '/,/d'; }
+ - >
+ _pkganddeepdeps(){ set -e;\
+ rest=$*;\
+ all=$rest;\
+ for i in 1 2 3 4 5; do \
+ deps=$(_pkgdeps $rest);\
+ rest="$deps $(_pkgreal $deps)";\
+ all="$all $rest";\
+ done;\
+ echo $all \
+ | sed -r \
+ -e 's/\s+/\n/g' \
+ | sort -u; }
+ - >
+ _pkgessentials(){ set -e;\
+ chroot /target dpkg-query \
+ -Wf='$''{Package}%$''{Essential}\n' \
+ | sed -r \
+ -e 's/(.*)%yes/\1/;' \
+ -e '/%/d'; }
diff --git a/profiles/wheezy/classes/Admin/auto.yml b/profiles/wheezy/classes/Admin/auto.yml
new file mode 100644
index 0000000..d69771e
--- /dev/null
+++ b/profiles/wheezy/classes/Admin/auto.yml
@@ -0,0 +1,15 @@
+classes:
+ - Admin.etc.functions
+ - Admin
+parameters:
+ doc:
+ admin:
+ pkg:
+ - include automated maintenance routines
+ tweak:
+ - auto-repair inconsistent filesystems during boot
+ pkg:
+ - unattended-upgrades
+ - ntp
+ tweak:
+ - _setvar /target/etc/default/rcS FSCKFIX yes
diff --git a/profiles/wheezy/classes/Admin/etc/functions.yml b/profiles/wheezy/classes/Admin/etc/functions.yml
new file mode 100644
index 0000000..5d86952
--- /dev/null
+++ b/profiles/wheezy/classes/Admin/etc/functions.yml
@@ -0,0 +1,26 @@
+classes:
+ - Admin
+parameters:
+ doc:
+ admin:
+ tweak:
+ - define routines to make backup of and help edit config files
+ tweak:
+ - >
+ _backup(){ set -e;\
+ if [ -e "$1.orig" ]; then \
+ :;\
+ elif [ -e "$1" ]; then \
+ cp -a "$1" "$1.orig";\
+ else \
+ touch "$1.orig";\
+ fi; }
+ - >
+ _clone(){ set -e;\
+ _backup "$2";\
+ cp -a "$1" "$2"; }
+ - >
+ _setvar(){ set -e;\
+ _backup "$1";\
+ sed -i -r \
+ -e "s,^#?($2)=.*,\\1=$3," "$1"; }
diff --git a/profiles/wheezy/classes/Admin/index.yml b/profiles/wheezy/classes/Admin/index.yml
new file mode 100644
index 0000000..939f450
--- /dev/null
+++ b/profiles/wheezy/classes/Admin/index.yml
@@ -0,0 +1,5 @@
+parameters:
+ doc:
+ admin:
+ headline:
+ - Administration