#!/bin/bash # Look for CONFIG lines which try to enable blobs # Copyright (C) David P. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program 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 General Public License # along with this program. If not, see . set -e version=$1 args=${@#$1} path=${0%/*} usage() { cat < $LOG && \ printf "[ OK ] \n" || \ (printf "[ FAILED ] \n" err "Could not modify $i") || \ cat $LOG kill $! wait $! 2>/dev/null || true rm $LOG done echo "No deblobbing for configs for now" else local i for i in $@; do load "Modifying $i" & LOG=$(mktemp) deblob $i &> $LOG && \ printf "[ OK ] \n" || \ (printf "[ FAILED ] \n" err "Could not modify $i") || \ cat $LOG kill $! wait $! 2>/dev/null || true rm $LOG done fi } if [[ $# -lt 1 ]]; then usage else if [[ $RESET = "" ]]; then echo "RESET sedexp" export reset="s|^CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"\"|;s|^CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME=\"parabola\"|;s|^CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=.*|CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=\"linux-libre.fsfla.org\"|" if [[ $version > 4.17 ]]; then export reset="$reset;s|# CONFIG_LOCALVERSION_AUTO is not set|CONFIG_LOCALVERSION_AUTO=y|" fi echo "$reset" echo elif ! [[ $RESET = "none" ]]; then echo "RESET sedexp" export reset="s|^CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\""$RESET"\"|;s|^CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME=\"parabola\"|;s|^CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=.*|CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN=\"linux-libre.fsfla.org\"|" if [[ $version > 4.17 ]]; then export reset="$reset;s|# CONFIG_LOCALVERSION_AUTO is not set|CONFIG_LOCALVERSION_AUTO=y|" fi echo "$reset" echo fi if [[ $FIRMWARE = "" ]]; then echo "FIRMWARE sedexp" export firmware="/^CONFIG_EXTRA_FIRMWARE_DIR/d;s|^CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"\"|" echo "$firmware" echo elif ! [[ $FIRMWARE = "none" ]]; then echo $FIRMWARE | grep : && \ extra_firmware=$(echo $FIRMWARE | cut -d ":" -f1) && \ extra_firmware_dir=$(echo $FIRMWARE | cut -d ":" -f2) || \ extra_firmware=$FIRMWARE echo "FIRMWARE sedexp" if ! [[ $extra_firmware = "" ]]; then if ! [[ $extra_firmware_dir = "" ]]; then export firmware="s|^CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\""$extra_firmware"\"|;s|^CONFIG_EXTRA_FIRMWARE_DIR=.*|CONFIG_EXTRA_FIRMWARE_DIR=\""$extra_firmware_dir"\"|" else export firmware="s|^CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\""$extra_firmware"\"|;/CONFIG_EXTRA_FIRMWARE_DIR/d" fi echo "$firmware" echo fi fi main $args fi