Skip to content
Lukas Vrabec edited this page Jul 7, 2015 · 6 revisions

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 yet.

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.

Build process

  1. clone fedora-selinux/selinux repository

     $ cd ~/devel/git
     $ git clone [email protected]:fedora-selinux/selinux.git
     $ cd selinux
    
  2. create, backport, cherry-pick needed changes to a particular branch and push them

  3. clone libselinux dist-git repository

     $ cd ~/devel/git
     $ fedpkg clone libselinux
     $ cd libselinux
    
  4. recreate -rhat.patch files

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

  6. build the package

     $ fedpkg build
    
Clone this wiki locally