This document describes how to install SELinux Policy Editor from source file.

1. Before make 
Basically, by typing make, make install programs are compiled.
However, before make, you have to configure following valuables.

DISTRO
PYTHON_SITELIB
CUSTOMIZABLE_TYPES
AUDITCONF
MODULAR
PAM_INCLUDE_SUPPORT
AUDIT_OBJ_TYPE_SUPPORT


* DISTRO: targeted distribution. 
Distribution specific files are installed according to $DISTRO.
Now, fc6, cos4, ax2 are suppported.
For other distributions, default files are used.

Distribution specific files are following:
- seedit-policy/src/simplified_policy.$DISTRO
  Simplified Policy written by SPDL.
  By default, seedit-policy/src/simplified_policy is used.
- seedit-converter/config/base_policy/contexts/dynamic_contexts.$DISTRO
  This is to label files that is created at boot time correctly at initial boot.  seedit-converter/config/base_policy/contexts/dynamic_contexts is default.

* PYTHON_SITELIB
  Python lib files are installed in $PYTHON_SITELIB/seedit .

* CUSTOMIZABLE_TYPE
  If your libselinux does not have is_context_customizable function, "n", else "y".
  For CentOS4, use "n", for Fedora Core 5 or later, use "y".

* AUDITRULES
  The place of audit.rules file. For Fedora Core 5 or later, it is at /etc/audit/audit.rules, for Cent OS 4, it is /etc/audit.rules

* MODULAR
 If you SELinux supports modular policy, then "y", else "n".
 For Fedora Core 5 or later, use "y". For Cent OS4 "n".

* PAM_INCLUDE_SUPPORT
  If you pam supports include syntax, use "y".
  For Fedora Core 5 or later, use "y". For Cent OS4 "n".

* AUDIT_OBJ_TYPE_SUPPORT
 If auditctl command suports obj_type, use "y".
 For Fedora 6 and later, "y".

2. Build
For example of Fedora Core 6, you have to define values like below.
$ export DISTRO=fc6
$ export PYTHON_SITELIB=/usr/lib/python2.4/site-packages/
$ export CUSTOMIZABLE_TYPE=y
$ export AUDITRULES=/etc/audit/audit.rules
$ export MODULAR=y
$ export PAM_INCLUDE_SUPPORT=y
% export AUDIT_OBJ_TYPE_SUPPORT=y


And 
$ cd core
$ make
$ su    <--- Note if you "su -", you have to define values again.
# make install
# cd ../policy
# make install
# cd ../gui
# make install
# cp desktop/seedit.gui.desktop /usr/share/applications/seedit-gui.desktop


3. Initialize 
You have to initialize seedit by
/usr/sbin/seedit-init 
and reboot.