more complete copyright notices
[automated-distro-installer] / mymk-basefile
1 #!/bin/bash
2 # This file is part of Ian Kelling's automated-distro-installer
3 # Copyright (C) 2024 Ian Kelling
4
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
19 x="$(readlink -f "$BASH_SOURCE")"; source "${x%/*}/bash-trace"
20 script_dir="${x%/*}"
21
22 usage() {
23 cat <<EOF
24 Usage: ${0##*/} [-h|--help] [mk-basefile_args]
25 Wrap fai's mk-basefile so output dir is $BASEFILE_DIR if it exists.
26
27 And fix things for trisquel. mk-basefile has a trisquel mirror added.
28
29 fai-project maintains ubuntu and debian basefiles, but it doesn't update
30 them often. Better to build our all our own.
31
32
33 Args I've used before:
34
35 -z BULLSEYE64
36 -z BUSTER64
37 -z STRETCH64
38 -z XENIAL64
39
40 -z ARAMO64
41 -z NABIA64
42 -z ETIONA64
43 -z FLIDAS64
44 -z BELENOS64
45
46 -h|--help Print help and exit.
47
48 Note: Uses GNU getopt options parsing style.
49
50 Usage of mk-basefile:
51
52 EOF
53 $script_dir/fai/config/basefiles/mk-basefile -h
54 exit $1
55 }
56
57 case $1 in
58 -h|--help)
59 usage
60 ;;
61 esac
62
63 if [[ $EUID != 0 ]]; then
64 s=sudo
65 fi
66
67 cd /usr/share/debootstrap/scripts
68 for d in belenos flidas; do
69 if [[ ! -L $d && ! -e $d ]]; then
70 $s ln -sf gutsy $d;
71 fi
72 done
73 d=etiona
74 if [[ ! -L $d && ! -e $d ]]; then
75 $s ln -sf trisquel etiona;
76 fi
77
78 if [[ $BASEFILE_DIR ]]; then
79 cd $BASEFILE_DIR
80 fi
81
82 if awk '$2 == "/tmp" && $4 ~ /nodev/' /proc/mounts | grep -q . || [[ $? == 141 ]]; then
83 $s mount -o remount,dev /tmp
84 fi
85 $s $script_dir/fai/config/basefiles/mk-basefile "$@"