X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fkernel-install%2Fkernel-install;fp=src%2Fkernel-install%2Fkernel-install;h=0000000000000000000000000000000000000000;hp=3ae1d77e33e026507891a84076d1fc6c5a1065bf;hb=a2109619cd5c28c4739e659e40b6b524c7c0d488;hpb=04e0ffb9d5856dfe572f2c697ad25f237a240e6f diff --git a/src/kernel-install/kernel-install b/src/kernel-install/kernel-install deleted file mode 100644 index 3ae1d77e3..000000000 --- a/src/kernel-install/kernel-install +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/bash -# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- -# ex: ts=8 sw=4 sts=4 et filetype=sh -# -# This file is part of systemd. -# -# Copyright 2013 Harald Hoyer -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. -# -# systemd is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with systemd; If not, see . - -usage() -{ - echo "Usage:" - echo " $0 add KERNEL-VERSION KERNEL-IMAGE" - echo " $0 remove KERNEL-VERSION" -} - -dropindirs_sort() -{ - local suffix=$1; shift - local -a files - local f d i - - readarray -t files < <( - for d in "$@"; do - for i in "$d/"*"$suffix"; do - if [[ -e "$i" ]]; then - echo "${i##*/}" - fi - done - done | sort -Vu - ) - - for f in "${files[@]}"; do - for d in "$@"; do - if [[ -e "$d/$f" ]]; then - echo "$d/$f" - continue 2 - fi - done - done -} - -export LC_COLLATE=C - -for i in "$@"; do - if [ "$i" == "--help" -o "$i" == "-h" ]; then - usage - exit 0 - fi -done - -if [[ "${0##*/}" == 'installkernel' ]]; then - COMMAND='add' -else - COMMAND="$1" - shift -fi - -KERNEL_VERSION="$1" -KERNEL_IMAGE="$2" - -if [[ -f /etc/machine-id ]]; then - read MACHINE_ID < /etc/machine-id -fi - -if ! [[ $MACHINE_ID ]]; then - echo "Could not determine your machine ID from /etc/machine-id." >&2 - echo "Please run 'systemd-machine-id-setup' as root. See man:machine-id(5)" >&2 - exit 1 -fi - -if [[ ! $COMMAND ]] || [[ ! $KERNEL_VERSION ]]; then - echo "Not enough arguments" >&2 - exit 1 -fi - -BOOT_DIR_ABS="/boot/$MACHINE_ID/$KERNEL_VERSION" -ret=0 - -readarray -t PLUGINS < <( - dropindirs_sort ".install" \ - "/etc/kernel/install.d" \ - "/usr/lib/kernel/install.d" -) - -case $COMMAND in - add) - if [[ ! "$KERNEL_IMAGE" ]]; then - echo "Command 'add' requires an argument" >&2 - exit 1 - fi - - mkdir -p "$BOOT_DIR_ABS" || { - echo "Could not create boot directory '$BOOT_DIR_ABS'." >&2 - exit 1 - } - - for f in "${PLUGINS[@]}"; do - if [[ -x $f ]]; then - "$f" add "$KERNEL_VERSION" "$BOOT_DIR_ABS" "$KERNEL_IMAGE" - ((ret+=$?)) - fi - done - ;; - - remove) - for f in "${PLUGINS[@]}"; do - if [[ -x $f ]]; then - "$f" remove "$KERNEL_VERSION" "$BOOT_DIR_ABS" - ((ret+=$?)) - fi - done - - rm -rf "$BOOT_DIR_ABS" - ((ret+=$?)) - ;; - - *) - echo "Unknown command '$COMMAND'" >&2 - exit 1 - ;; -esac - -exit $ret