Skip to content

Contributing

stephensmalley edited this page Nov 17, 2016 · 14 revisions

#Contributing to SELinux

Contributing to the SELinux userspace project is a similar process to other open source projects. Bug reports, new features to the existing code, additional tools, or updated documentation are all welcome.

The Todo page has a list of suggested changes.

See the selinuxproject.org user resources page for more information on mailing lists, documentation, and other resources.

##Reporting Bugs

All bugs and patches should be submitted to the SELinux mailing list at [email protected].

When reporting bugs please include versions of SELinux related libraries and tools (libsepol, libselinux, libsemanage, checkpolicy). If you are using a custom policy please include it as well.

##Compiling

There are a number of dependencies required to build the userspace tools/libraries. On a Fedora system you can install them with yum:

# yum install audit-libs-devel bison bzip2-devel dbus-devel dbus-glib-devel flex flex-devel flex-static glib2-devel libcap-devel libcap-ng-devel pam-devel pcre-devel python-devel setools-devel swig ustr-devel

The tools and libraries can be built and installed under a private directory from the top level with make, e.g.

$ make DESTDIR=~/obj install install-pywrap

##Contributing Code

After obtaining the code of the repository (see below), create a patch against the repository, and post that patch to the SELinux mailing list at [email protected]. When preparing patches, please follow these guidelines:

  • Patches should apply with -p1
  • Must apply against HEAD of the master branch
  • Separate large patches into logical patches

When adding new, large features or tools it is best to discuss the design on the mailing list prior to submitting the patch.

##Development Repository

Git is a modern source code management system. For more information about Git please see the Git website.

To get an anonymous checkout of the SELinux userland repository you can run:

$ git clone https://github.com/SELinuxProject/selinux