README.md

Purpose

SELinux Fedora Policy is a fork of the SElinux reference policy. The fedora-selinux/selinux-policy repo makes Fedora packaging simpler and more transparent for packagers, upstream developers, and users. It is used for applying downstream Fedora fixes, for communication about proposed/committed changes, and for communication with upstream and the community. It reflects the upstream repository structure to make submitting patches to upstream easy.

Structure

GitHub

On GitHub, we have two repositories (selinux-policy and selinux-policy-contrib) for dist-git repository.

$ cd selinux-policy
$ git remote -v
origin  git@github.com:fedora-selinux/selinux-policy.git (fetch)


$ git branch -r
origin/HEAD -> origin/master
origin/f27
origin/f28
origin/master
origin/rawhide

$ cd selinux-policy-contrib
$ git remote -v
origin  git@github.com:fedora-selinux/selinux-policy-contrib.git (fetch)

$ git branch -r
origin/HEAD -> origin/master
origin/f27
origin/f28
origin/master
origin/rawhide

Note: As opposed to dist-git, the Rawhide content in both selinux-policy and selinux-policy-contrib repositories resides in rawhide branches rather than master.

dist-git

Package sources in dist-git are composed from selinux-policy, selinux-policy-contrib, and macro-expander repository snapshot tarballs, container-selinux policy files snapshot, and from other config files.

Build process

  1. Clone the fedora-selinux/selinux-policy repository.

    $ cd ~/devel/github
    $ git clone git@github.com:fedora-selinux/selinux-policy.git
    $ cd selinux-policy
  2. Clone the fedora-selinux/selinux-policy-contrib repository.

    $ cd ~/devel/github
    $ git clone git@github.com:fedora-selinux/selinux-policy-contrib.git
    $ cd selinux-policy-contrib
  3. Create, backport, cherry-pick needed changes to a particular branch and push them.

  4. Clone the selinux-policy dist-git repository.

    $ cd ~/devel/dist-git
    $ fedpkg clone selinux-policy
    $ cd selinux-policy
  5. Download the latest snaphots from selinux-policy and selinux-policy-contrib github repositories.

    $ ./make-rhat-patches.sh
  6. Add changes to the dist-git repository, bump release, create a changelog entry, commit and push.

  7. Build the package.
    $ fedpkg build