mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 02:11:53 +00:00
* consolidate and streamline build * fix workflow syntax * fix workflow syntax * fix workflow syntax * fix workflow syntax * fix build scripts * only build platform-specific system images * fix build script * more build fixes * fix * fix compat build for x86 * wat * checkout * Prevent rebuild of compiled artifacts * Update startos-iso.yaml * Update startos-iso.yaml * fix raspi build * handle missing platform better * reduce arm vcpus * remove arch and platform from fe config, add to patch db --------- Co-authored-by: Matt Hill <mattnine@protonmail.com>
44 lines
994 B
Bash
Executable File
44 lines
994 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
|
|
|
IFS="-" read -ra FEATURES <<< "$ENVIRONMENT"
|
|
|
|
feature_file_checker='
|
|
/^#/ { next }
|
|
/^\+ [a-z0-9]+$/ { next }
|
|
/^- [a-z0-9]+$/ { next }
|
|
{ exit 1 }
|
|
'
|
|
|
|
for type in conflicts depends; do
|
|
pkgs=()
|
|
for feature in ${FEATURES[@]}; do
|
|
file="$feature.$type"
|
|
if [ -f $file ]; then
|
|
# TODO check for syntax errrors
|
|
cat $file | awk "$feature_file_checker"
|
|
for pkg in $(cat $file | awk '/^\+/ {print $2}'); do
|
|
pkgs+=($pkg)
|
|
done
|
|
fi
|
|
done
|
|
for pkg in $(cat $type); do
|
|
SKIP=
|
|
for feature in ${FEATURES[@]}; do
|
|
file="$feature.$type"
|
|
if [ -f $file ]; then
|
|
if grep "^- $pkg$" $file; then
|
|
SKIP=1
|
|
fi
|
|
fi
|
|
done
|
|
if [ -z $SKIP ]; then
|
|
pkgs+=($pkg)
|
|
fi
|
|
done
|
|
(IFS=$'\n'; echo "${pkgs[*]}") | sort -u > ../lib/$type
|
|
done
|