fix mistake from recent commit
[distro-setup] / keyscript-on
1 #!/bin/bash
2 # Copyright (C) 2016 Ian Kelling
3
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7
8 # http://www.apache.org/licenses/LICENSE-2.0
9
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 set -eE -o pipefail
17 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR
18
19 [[ $EUID == 0 ]] || exec sudo "${BASH_SOURCE}" "$@"
20 if [[ $- != *i* ]]; then
21 exec &>>/var/log/keyscript-on.log
22 echo "$0: starting. $(date)"
23 fi
24 rootn=1
25
26 sed="sed --follow-symlinks"
27
28 if [[ ! -e /tmp/keyscript-off ]]; then
29 if [[ $($sed -rn 's/^ID=(.*)/\1/p' /etc/os-release) == arch ]]; then
30 if ! grep -q '^\s*FILES=' /etc/mkinitcpio.conf; then
31 $sed -ri 's/^#(\s*FILES=.*)/\1/' /etc/mkinitcpio.conf # uncomment
32 mkinitcpio -p linux
33 fi
34 else
35 x=/root/keyscript
36 if grep -q "${x}-manual," /etc/crypttab; then
37 $sed -i "s#${x}-manual,#${x},#" /etc/crypttab
38 update-initramfs -u
39 fi
40 fi
41 fi
42 # switch to easy or hard login pass which is the same as luks
43 f=/q/root/shadow/traci-simple
44 [[ $HOSTNAME != tpnew ]] || usermod -p "$(cat $f)" iank
45
46 echo "$0: finished. $(date)"