Releases
Current version
Git/Latestdiff: 1.5.6
Latest Snapshots
Produced after each commit or rebase to new upstream version
GIT
RSBAC source code, can be unstable sometimes
Events
No events planned
This is an old revision of the document!
If you want to add code for RSBAC, you probably also want to read SVK documentation.
Theses are examples only !
-- ila
-- trunk
-- tags
-- branches
-- linux-kernel
-- 2.4
-- trunk
-- tags
-- linux-rsbac-2.4.30-1.2.4
-- linux-rsbac-2.4.31-1.2.4
-- linux-rsbac-2.4.31-1.2.5rc1
-- linux-rsbac-2.4.32-1.3.0
-- linux-rsbac-2.4.32-1.3.1
-- branches
-- linux-rsbac
-- 2.6
-- trunk
-- tags
-- linux-rsbac-2.6.10-1.2.4
-- linux-rsbac-2.6.11-1.2.4
-- linux-rsbac-2.6.11-1.2.5rc1
-- linux-rsbac-2.6.12-1.3.0
-- linux-rsbac-2.6.12-1.3.1
-- branches
-- linux-rsbac
-- rsbac-admin
-- trunk
-- tags
-- 1.2.4
-- 1.2.5rc1
-- 1.3.0
-- branches
-- rsbac-regression
-- trunk
-- tags
-- branches
People using a versioning tool like SVN use to have three separate directory per project:
RSBAC uses this structure for every project hosted, however, the “linux-kernel” project is a bit different:
This allow easy merging when Linux upgrades to a new version.
# mkdir ~/code/rsbac_repos/ # cd ~/code/rsbac_repos/
Be sure to replace “2.6” by “2.4” for the 2.4 kernel.
For anonymous checkout
# svn checkout svn://svn.rsbac.mprivacy-update.de/rsbac1/linux-kernel/2.6/\ branches/linux-rsbac
For developpers with write access
# svn checkout svn+ssh://subversion@mprivacy-update.de/daten/\ subversion/rsbac1/linux-kernel/2.6/branches/linux-rsbac
Be sure to always update the repository before doing anything:
# svn update
Check what you are gonna commit, if you want to make sure:
# svn status
Check commit the actual thing:
# svn commit
A list of the modified file will be presented to you. Check that you modified only what you wanted. Do not make a commit for every next file, but for a set of changes instead. Make sure to write a comment about what you did (e.g.: Added feature XXX. Fixed Mantis Bug #3840). If you do not, we will get you and kill you
Alternatively, you can specify the comment directly on the command line:
# svn commit -c "kang: Added feature XXX. This fixes Mantis bug #3840"
Never commit something “just to test” or break something intentionally in the tree.
Try to make one commit per set of features.
Simple, this will show you differences:
# svn diff linux-kernel/2.6/trunk linux-kernel/2.6/branches/linux-rsbac
Alternatively, this will create a nice and ready to use patch (make sure you have svn-diff installed!):
# svn diff --diff-cmd=$(which svn-diff) linux-kernel/2.6/trunk\ linux-kernel/2.6/branches/linux-rsbac
If you want to overring diffing settings and use the “svn-diff” wrapper automatically edit your “$HOME/.subversion/config” and add the following lines (make sure of the path to the “svn-diff” binary!):
[helpers] diff-cmd = /usr/bin/svn-diff
Nothing simpler either:
# svn copy linux-kernel/2.6/branches/linux-rsbac linux-kernel/2.6/tags/linux-rsbac-2.4.31-1.2.5rc2
Do not ever touch again tagged versions. Thoses *will* stay this way. When doing a bugfix, create a new tag from this one.
Here we go again:
# cd linux-kernel/2.6/linux-rsbac # svn merge -r <first>:<last> linux-kernel/2.6/trunk
SVN will merge everything for you and show the conflicts. Fix thoses and commit.. Here you are, you upgraded the branch to the new Linux kernel version
# cd /tmp # wget http://www.moses.uklinux.net/patches/dontdiff # cd ~/code/rsbac_repos/linux-kernel/2.6/branches/linux-rsbac # svn propset svn:ignore -R -F /tmp/dontdiff . # svn commit -m "Added svn:ignore properties."