Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/pr/245'
Browse files Browse the repository at this point in the history
  • Loading branch information
mika committed Nov 17, 2023
2 parents 98b64b8 + bd7e57f commit c535762
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 5 deletions.
40 changes: 40 additions & 0 deletions .github/workflows/pr-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# PR Review workflows.
# The intention is for these to only find *new* issues.

name: pr-review
on:
pull_request:
jobs:

shellcheck-code:
name: shellcheck grml-debootstrap
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: shellcheck
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
path: "."
pattern: |
chroot-script
grml-debootstrap
config
tests/shellcheck-stub-debootstrap-variables
check_all_files_with_shebangs: "false"

shellcheck-tests:
name: shellcheck test scripts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: shellcheck
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
path: "."
pattern: |
tests/*
check_all_files_with_shebangs: "false"
13 changes: 9 additions & 4 deletions chroot-script
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
# GRML_CHROOT_SCRIPT_MARKER - do not remove this line unless you want to keep
# this script as /bin/chroot-script on your new installed system
################################################################################
# shellcheck disable=SC2317 # shellcheck has trouble understanding the code flow in this file

# error_handler {{{
if [ "$REPORT_TRAP_ERR" = "yes" ] || [ "$FAIL_TRAP_ERR" = "yes" ]; then
Expand All @@ -18,9 +19,9 @@ if [ "$REPORT_TRAP_ERR" = "yes" ] || [ "$FAIL_TRAP_ERR" = "yes" ]; then
fi
# }}}

# shellcheck disable=SC1091
# shellcheck source=config
. /etc/debootstrap/config || exit 1
# shellcheck disable=SC1091
# shellcheck source=tests/shellcheck-stub-debootstrap-variables
. /etc/debootstrap/variables || exit 1

[ -r /proc/1 ] || mount -t proc none /proc
Expand Down Expand Up @@ -392,6 +393,7 @@ passwords()
fi

if [ -n "$ROOTPASSWORD" ] ; then
# shellcheck disable=SC2086
echo root:"$ROOTPASSWORD" | chpasswd $CHPASSWD_OPTION
export ROOTPASSWORD=''
else
Expand All @@ -414,6 +416,7 @@ passwords()
a='1'
b='2'
else
# shellcheck disable=SC2086
echo root:"$a" | chpasswd $CHPASSWD_OPTION
unset a
unset b
Expand Down Expand Up @@ -601,8 +604,10 @@ initrd() {
echo "Generating initrd."
if [ "$INITRD_GENERATOR" = 'dracut' ] ; then
DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL dracut
# shellcheck disable=SC2086
dracut --no-hostonly --kver "$KERNELVER" --fstab --add-fstab /etc/fstab --force --reproducible $INITRD_GENERATOR_OPTS
else
# shellcheck disable=SC2086
update-initramfs -c -t -k "$KERNELVER" $INITRD_GENERATOR_OPTS
fi
fi
Expand Down Expand Up @@ -698,9 +703,9 @@ grub_install() {
echo "Setting ${GRUB_PACKAGE} debconf configuration for install device to $GRUB"
echo "${GRUB_PACKAGE} ${GRUB_PACKAGE}/install_devices multiselect ${grub_device}" | debconf-set-selections

if ! dpkg --list ${GRUB_PACKAGE} 2>/dev/null | grep -q '^ii' ; then
if ! dpkg --list "${GRUB_PACKAGE}" 2>/dev/null | grep -q '^ii' ; then
echo "Notice: grub option set but no ${GRUB_PACKAGE} package, installing it therefore."
DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL ${GRUB_PACKAGE}
DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL "${GRUB_PACKAGE}"
fi

if ! [ -x "$(command -v grub-install)" ] ; then
Expand Down
1 change: 1 addition & 0 deletions config
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
# Bug-Reports: see https://grml.org/bugs/
# License: This file is licensed under the GPL v2 or any later version.
################################################################################
# shellcheck shell=sh

################################################################################
# Important: adjust this file if you want to execute grml-debootstrap
Expand Down
6 changes: 5 additions & 1 deletion grml-debootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
# Bug-Reports: see https://grml.org/bugs/
# License: This file is licensed under the GPL v2+
################################################################################
# shellcheck disable=SC2001,SC2181

# error_handler {{{
[ -n "$REPORT_TRAP_ERR" ] || REPORT_TRAP_ERR='no'
Expand Down Expand Up @@ -42,7 +43,7 @@ fi
# variables {{{
PN="$(basename "$0")"
if [[ -d "$(dirname "$(command -v "$0")")"/.git ]]; then
VERSION="$(git --git-dir $(dirname "$(command -v "$0")")/.git describe | sed 's|^v||')"
VERSION="$(git --git-dir "$(dirname "$(command -v "$0")")"/.git describe | sed 's|^v||')"
else
VERSION="$(dpkg-query --show --showformat='${Version}' "$PN")"
fi
Expand Down Expand Up @@ -1947,11 +1948,13 @@ iface ${interface} inet dhcp
einfo "Installing default /etc/network/interfaces as requested via --defaultinterfaces options."
mkdir -p "${MNTPOINT}/etc/network"
echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces"
# shellcheck disable=SC2320
eend $?
elif [ -n "$VIRTUAL" ] ; then
einfo "Setting up Virtual Machine, installing default /etc/network/interfaces"
mkdir -p "${MNTPOINT}/etc/network"
echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces"
# shellcheck disable=SC2320
eend $?
elif [ -r /etc/network/interfaces ] ; then
einfo "Copying /etc/network/interfaces from host to target system"
Expand All @@ -1962,6 +1965,7 @@ iface ${interface} inet dhcp
ewarn "Couldn't read /etc/network/interfaces, installing default /etc/network/interfaces"
mkdir -p "${MNTPOINT}/etc/network"
echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces"
# shellcheck disable=SC2320
eend $?
fi

Expand Down
7 changes: 7 additions & 0 deletions tests/shellcheck-stub-debootstrap-variables
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Stub data file for shellcheck runs.
# shellcheck shell=sh
# shellcheck disable=SC2034 # The point of our whole existence is to conflict with SC2034.

# ARCH is defaulted in grml-debootstrap, so it is never empty.
ARCH=amd64

0 comments on commit c535762

Please sign in to comment.