target_path="${target_root}"$(echo "${path}" | cut -c2-)
source_path=$(realpath "${path}")
dir=$(dirname "${target_path}")
+ mkdir -p "${source_path}"
mkdir -p "${dir}"
cp "${source_path}" "${target_path}"
done
# Provide maximum input for set_hostname_and_fqdn.sh.
if [ "$#" -ne 2 ]; then
- echo 'Need exactly two arguments (hostname, FQDN).'
+ echo 'Need at least two arguments (hostname, FQDN).'
false
fi
hostname="$1"
fqdn="$2"
+shift 2
config_tree_prefix="${HOME}/config/buster"
setup_scripts_dir="${config_tree_prefix}/setup_scripts"
# Adapt /etc/ to our needs by copying from ./etc_files. This will set
# basic configurations affecting following steps, such as setup of APT
# and the locale selection, so needs to be right at the beginning.
-./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" all
+./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" all "@"
# Set hostname and FQDN.
./set_hostname_and_fqdn.sh "${hostname}" "${fqdn}"
# Ensure package installation state as defined by what packages are
# defined as required by Debian policy and by settings in ./apt-mark/.
apt update
-./install_for_target.sh all
-./purge_nonrequireds.sh all
+./install_for_target.sh all "@"
+./purge_nonrequireds.sh all "@"
# Ensure our desired locale is available.
locale-gen
config_tree_prefix="${HOME}/config/buster"
setup_scripts_dir="${config_tree_prefix}/setup_scripts"
cd "${setup_scripts_dir}"
-./setup.sh "${system_name}" ""
-./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" user "${system_name}"
+./setup.sh "${system_name}" "" user desktop "${system_name}"
+./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" user desktop "${system_name}"
./install_for_target.sh user desktop "${system_name}"
# Set up printer.
config_tree_prefix="${HOME}/config/buster"
setup_scripts_dir="${config_tree_prefix}/setup_scripts"
cd "${setup_scripts_dir}"
-./setup.sh "${hostname}" "${fqdn}"
-./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" server
-./install_for_target.sh server
+./setup.sh "${hostname}" "${fqdn}" server