If you want to contribute to existing/upstream AppArmor profiles, you need to create an account on Canonical’s launchpad and to upload a SSH key to be able to push your changes. You will also need to install Canonical’s version control system, called Bazaar:
apt-get install bzr
Go to or create a repository where you want to checkout the modifications:
mkdir apparmor-dev cd apparmor-dev bzr branch lp:apparmor-profiles master ls master
Define your identity like this:
bzr whoami "My Name <firstname.lastname@example.org>"
Bazaar does not handle branches like Git does, unfortunately. It is a little bit weird in first place that you will need to create a directory where you would create a copy of the master branch. You would then work on this branch and later ask for a merge into the master branch.
mkdir myname bzr branch master myname/pidgin ls myname/pidgin
Then, start modifying the profiles using a text editor and test them. Testing is done through dis/enabling the profile.
Once done, you can commit and push the changes to your distant repository:
bzr ci bzr push
Then, you need to connect to Launchpad’s web interface. Go to your page, and look for the branch you just pushed. Click on “change branch details” and link the branch to apparmor-profiles. Then you will be able to request a merge through the webinterface.
Note that upstream AppArmor profiles also live in other repositories.