#!/bin/bash
typeset -a package_set
scan_profile() {
local d parent
d="$(realpath "$1")"
[[ -r "$d/parent" ]] && while read parent; do
case "$parent" in
('#'*);; # ignore comments
(/*) scan_profile "$ROOT$parent";;
(*) scan_profile "$d/$parent";;
esac
done < "$d/parent"
[[ -r "$d/package.set" ]] && package_set+=( "$d/package.set" )
}
scan_profile "$ROOT/etc/portage/make.profile"
if [[ -n "$package_set" ]]; then
[[ -d "$ROOT/etc/portage/sets" ]] || mkdir "$ROOT/etc/portage/sets"
sort -u "${package_set[@]}" >"$ROOT/etc/portage/sets/profile"
fi