#!/usr/bin/bash

# (C) Copyright 2016 Vit Mojzis, vmojzis@redhat.com
# 
# This program is distributed under the terms of the GNU General Public License
# 
# 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 <http://www.gnu.org/licenses/>.

if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

set -e
# Any subsequent(*) commands which fail will cause the shell script to exit immediately

TOOL_FOLDER=$(pwd)
FOLDER="__extracted"

mkdir -p /tmp/cil
cd /tmp/cil
cp -R /var/lib/selinux/targeted/active/modules/100/* .

mkdir -p $FOLDER

for i in $( ls ) 
do
	if [[ -d $i ]] && [ "$i" != "$FOLDER" ]
	then
		bzcat $i/cil > ./$FOLDER/$i.cil
	fi
done

CIL_FILES=$(pwd)

cd $TOOL_FOLDER

python3 -c "import sepolicyanalysis.domain_grouping as grouping; grouping.parse_cil_files('$CIL_FILES/$FOLDER')" > /etc/sepolicyanalysis/domain_groups_cil.conf

rm -rf $CIL_FILES

echo "domain_groups_cil.conf has been updated."
