Skip to content
Petr Lautrbach edited this page Jun 26, 2015 · 6 revisions

a purpose

The fedora-selinux/selinux repository was created to simplify Fedora package maintainers backporting fixes from upstream SELinuxProject/selinux repository to older releases in stables Fedoras and applying downstream Fedora fixes before they are accepted in upstream or when they are not accepted.

a structure

on github

Branches in the repository follow branches in dist git repositories. It means that there's always master branch for Rawhide and branches for all currently supported Fedoras.

$ git remote -v
origin  [email protected]:fedora-selinux/selinux.git (fetch)

$ git branch -r
  origin/HEAD -> origin/master
  origin/f20
  origin/f21
  origin/f22
  origin/master

in dist-git

Package sources in dist-git are generally composed from a release tarball and -rhat.patch files, and sometimes from other files.

E.g. in libselinux, the repository contains:

$ git ls-tree --name-only HEAD
.gitignore
libselinux-rhat.patch
libselinux.spec
make-rhat-patches.sh
rubytest.rb
selinuxconlist.8
selinuxdefcon.8

Note: .gitignore, sources are Fedora dist-git specific files

The libselinux-rhat.patch is generated by make-rhat-patches.sh script from a particular fedora-selinux/selinux github branch and a release tarball.

a build process

  1. create, backport, cherry-pick needed changes to a particular branch and push them
  2. run ./make-rhat-patches.sh
  3. add changes to the dist-git repository and push them
  4. build a package
Clone this wiki locally