mirror of https://github.com/armbian/build.git
91 lines
1.7 KiB
Bash
Executable File
91 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Generate *.series and series.conf from existing patches.* directories
|
|
|
|
LOG_VERBOSE=0
|
|
|
|
function print_usage() {
|
|
|
|
TOOL=$(basename $0)
|
|
|
|
echo -e "Naive tool to create .series and series.conf file from existing local directories"
|
|
echo -e "Usage:"
|
|
echo -e "\t$TOOL [-v] <directory...>"
|
|
echo -e ""
|
|
echo -e "Flags:"
|
|
echo -e "\t-v - enable verbose output"
|
|
echo -e ""
|
|
echo -e "Example:"
|
|
echo -e "\t$TOOL -v patches.libreelec patches.armbian"
|
|
|
|
}
|
|
|
|
function log() {
|
|
|
|
[[ $LOG_VERBOSE -ne 1 ]] && return
|
|
|
|
echo -e "$1"
|
|
|
|
}
|
|
|
|
function log_error() {
|
|
|
|
echo -e "$1"
|
|
|
|
}
|
|
|
|
for arg in "$@"; do
|
|
shift
|
|
case $arg in
|
|
(-v) : ;LOG_VERBOSE=1;;
|
|
(*) set -- "$@" "$arg" ;;
|
|
esac
|
|
done
|
|
|
|
DIRECTORIES=$@
|
|
|
|
if [[ -z "$DIRECTORIES" ]]; then
|
|
print_usage
|
|
exit 0
|
|
fi
|
|
|
|
for DIR in $@; do
|
|
|
|
SERIE=$(echo $DIR | cut -d "." -f 2- | tr -d "/")
|
|
if [[ -z "$SERIE" ]]; then
|
|
log_error "Invalid series directory $DIR"
|
|
exit 1
|
|
fi
|
|
log "Evaluating directory $DIR - $SERIE series"
|
|
|
|
FILES=$(find "$DIR" -type f -printf "\t%p\n" | sort -g)
|
|
if [[ $? -ne 0 ]]; then
|
|
log_error "Error while evaluating $DIR"
|
|
exit 1
|
|
fi
|
|
log "$FILES"
|
|
|
|
echo "# Series from $DIR" > "$SERIE.series"
|
|
echo "$FILES" >> "$SERIE.series"
|
|
|
|
done
|
|
|
|
# Zeroes series.conf file, creates it if does not exist
|
|
truncate --size 0 "series.conf"
|
|
if [[ $? -ne 0 ]]; then
|
|
log_error "Could not truncate file series.conf"
|
|
exit 1
|
|
fi
|
|
|
|
# Concatenate the *.series files into series.conf file with respect to
|
|
# the order of the series directories specified on the command line
|
|
for DIR in $@; do
|
|
SERIE=$(echo $DIR | cut -d "." -f 2- | tr -d "/")
|
|
cat "$SERIE.series" >> "series.conf"
|
|
if [[ $? -ne 0 ]]; then
|
|
log_error "Error while writing $SERIE.series to series.conf"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
exit 0
|