Our repository of experimental userland patches contains patches waiting for integration in our stable umip.git repository. These patches will eventually find their way into the UMIP source repository once they have proved to be stable. This documentation describes how to retrieve and use this set of patches. Debian users may also be interested in our Debian packages.
Getting the patch repository
First, you need to retrieve the UMIP sources from our umip.git repository:
$ cd /usr/src/ $ git clone git://git.umip.org/umip/umip.git
You can then retrieve our set of experimental patches in the umip/ directory:
$ cd umip/ $ git clone git://git.umip.org/umip/patches.git
Patches are located in the patches directory. You can have a look at them: some explanation on the feature they provide is available at the beginning of each patch file.
Patching UMIP using Quilt
You have to install the quilt package. On a Debian operating system, you can install it with:
# apt-get install quilt
The available patches can now be seen using quilt in the umip/ directory. The following command will display the list of patches that can be applied to the UMIP sources:
$ quilt series prevent_soft_movement_during_acquire.patch xfrm_user_acquire.patch support_LinkUpDelay.patch
The patches are listed in a specific order. The quilt push command applies the first unapplied patch of the list. Let's try to apply the two first patches:
$ quilt push Applying patch prevent_soft_movement_during_acquire.patch patching file src/ipsec.c patching file src/ipsec.h patching file src/mn.c Now at patch prevent_soft_movement_during_acquire.patch $ quilt push Applying patch xfrm_user_acquire.patch patching file src/ipsec.c patching file src/ipsec.h patching file src/xfrm.c patching file src/xfrm.h patching file src/conf.c patching file src/conf.h patching file src/gram.y patching file src/scan.l patching file man/mip6d.conf.tmpl patching file src/mn.c patching file src/conf_reload.c Now at patch xfrm_user_acquire.patch
The quilt applied command shows the list of applied patches:
$ quilt applied prevent_soft_movement_during_acquire.patch xfrm_user_acquire.patch
The quilt pop command will un-apply the last applied patch. Let's undo the last one:
$ quilt pop Removing patch xfrm_user_acquire.patch Restoring src/conf.h Restoring src/mn.c Restoring src/xfrm.c Restoring src/gram.y Restoring src/ipsec.h Restoring src/conf_reload.c Restoring src/ipsec.c Restoring src/xfrm.h Restoring src/scan.l Restoring src/conf.c Restoring man/mip6d.conf.tmpl Now at patch prevent_soft_movement_during_acquire.patch
Note that if you are interested in a specific patch, you need apply all of the patches that are located before it in the list (or apply the patch by yourself, but you should be aware that some of the patches may depend on other ones).
If you simply want to apply all of the patches, just use quilt push -a. If you want to remove all of the applied patches, use quilt pop -a.
Once you have applied the patches you wished, you can compile UMIP as usual (check this documentation for more details).
We provide Debian packages for UMIP (with the whole set of experimental patches applied) as well as all the necessary files to build you own Debian packages. Check the documentation here.
- 2017/02/01: Updated links.
- 2011/03/21: Updated doc to reflect the actual patches that are in the repo.
- 2011/03/19: Updated addresses of repo (switch from http transport to git).
- 2010/02/16: Added link to the Debian repository documentation.
- 2009/11/16: First version of this document.