1
= How to update AUFS2 =
3
This document covers the process for updating aufs2 within the Ubuntu
8
Upstream aufs2 is maintained in a git tree as below (which is _not_ used
9
when updating Ubuntu). This represents the primary upstream source tree:
11
http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-2.6.git
13
However this is on an http: transport and incredibly slow. It is advisable
14
to also add the gitorius mirror to your tree, fetching that before origin
15
to reduce the objects you need from the main tree:
17
git://gitorious.org/aufs2/aufs2.git
19
Ubuntu updates are actually taken from the aufs2-standalone tree, somewhat
20
similar to the compat-wireless tree. The version in this tree is based on
21
the mainline tree above but is modularisable, a key requirement for Ubuntu.
22
This tree is found at the git tree below (check the BOM for the definative
25
http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
27
This tree contains a set of branches, one per upstream release. The
28
aufs2.1 branch represents the mainline tracking branch, with aufs-2.1-38
29
representing the delta to mainline 2.6.38. Each branch contains a set
30
of patches which affect the core enabling the application of aufs2, plus
31
an open tree for the fs/aufs tree. The core patches tend to be static
32
from early in the line of an upstream release, and thus generally do not
33
need updating as often.
35
== Updating the core patches ==
37
Ubuntu uses two of the core enablement patches, which are applied in the
38
order below. The remaining changes required to enable aufs are Ubuntu
42
aufs2-standalone.patch
44
In order to update these patches it is simplest to simply revert the
45
existing pair and apply these as two commit. This allows us to more
46
easily drop aufs in the future should that be required.
48
As these core enablement patches are very slow in changing we normally
49
do not need to update these more than once per upstream mainline release
50
though sometimes changes do affect these.
54
Once the enablement patches are updated we can simply use the aufs-update
55
script in the ubuntu/ directory to update the existing source. There are
56
regular updates to the aufs2 upstream and it is likely we will see updates
57
there more than once a month.
59
Firstly checkout the upstream standalone tree (see the BOM for the
60
location) and checkout an appropriate branch for the release you are
61
updating. Then simply run the aufs-update command from within the ubuntu/
62
drivers directory, supplying the location of the local aufs2-standalone tree
66
sh aufs-update ../../aufs2-standalone
68
This will result in an update commit containing the updated code and
69
also updating the BOM. Note that any local modifications are now lost.
70
Where those exist they should be cherry-picked and then squashed into
71
the update commit to ensure we retain them.
73
== Ubuntu modifications ==
75
We carry a very small delta to the upstream aufs2 source. Any such changes
76
need to be cherry-picked from the history and squashed into any update
77
commit in order to prevent regression. Any current patches are listed below:
79
Lucid/Maverick/Natty/Oneiric:
80
UBUNTU: ubuntu: AUFS -- suppress benign plink warning messages