Skip to content

Contributing

Stephen Smalley edited this page Aug 5, 2025 · 24 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. Before undertaking a new task, it is a good idea to first post to the [email protected] mailing list to see if anyone else is already working on it.

You can find a list of open issues to the SELinux userspace code at https://github.com/SELinuxProject/selinux/issues

See the SELinux kernel Getting Started guide if you want to contribute to SELinux kernel development instead.

Mailing list

SELinux has a public mailing list for developers, subscribe by sending an email to [email protected]. It is generally wise to read relevant postings to the list before beginning any area of new work. Searchable mailing list archives are available externally at https://lore.kernel.org/selinux/ . Patches for SELinux are tracked via https://patchwork.kernel.org/project/selinux/list/ .

IRC

An unofficial SELinux IRC channel is #selinux on Libera.Chat .

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. Consult the README.md for the current list of dependencies and how to build the userspace code.

Contributing Code

After cloning 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 git am
  • Must apply against HEAD of the main 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.

See git-send-email and submitting-patches for how to configure git-send-email for sending patches inline within email messages as required by the SELinux maintainers.

You will send the patch via git send-email to the [email protected] mailing list. The command below is for sending the topmost patch from your repository; if you need to send more than one patch or you are sending a patch from a file instead, you will need to adjust the command line accordingly.

git send-email --subject-prefix="PATCH userspace" -1 [email protected]

Development Repository

To get a copy of the SELinux userland repository you can run:

$ git clone https://github.com/SELinuxProject/selinux
Clone this wiki locally