├── .gitignore ├── Dockerfile ├── Makefile ├── README.md ├── odt ├── AppArmor_Developer_1-Kernel_Notes.odt ├── AppArmor_Developer_2-policy_layout_and_encoding.odt ├── AppArmor_Developer_3-HFA.odt ├── AppArmor_Developer_4-Policy_compilation.odt ├── AppArmor_Developer_5-extending_apparmor_to_userspace.odt ├── AppArmor_Policy.odt └── Techdoc-eHFA.odt └── pdf ├── apparmor_developer_1-kernel_notes.pdf ├── apparmor_developer_2-policy_layout_and_encoding.pdf ├── apparmor_developer_3-hfa.pdf ├── apparmor_developer_4-policy_compilation.pdf ├── apparmor_developer_5-extending_apparmor_to_userspace.pdf ├── apparmor_policy.pdf └── techdoc-ehfa.pdf /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | 3 | # temporary files which can be created if a process still has a handle open of a deleted file 4 | .fuse_hidden* 5 | 6 | # KDE directory preferences 7 | .directory 8 | 9 | # Linux trash folder which might appear on any partition or disk 10 | .Trash-* 11 | 12 | .DS_Store 13 | .AppleDouble 14 | .LSOverride 15 | 16 | # Icon must end with two \r 17 | Icon 18 | 19 | 20 | # Thumbnails 21 | ._* 22 | 23 | # Files that might appear in the root of a volume 24 | .DocumentRevisions-V100 25 | .fseventsd 26 | .Spotlight-V100 27 | .TemporaryItems 28 | .Trashes 29 | .VolumeIcon.icns 30 | 31 | # Directories potentially created on remote AFP share 32 | .AppleDB 33 | .AppleDesktop 34 | Network Trash Folder 35 | Temporary Items 36 | .apdisk 37 | 38 | [._]*.s[a-w][a-z] 39 | [._]s[a-w][a-z] 40 | *.un~ 41 | Session.vim 42 | .netrwhist 43 | *~ 44 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:jessie 2 | 3 | RUN apt-get update && apt-get install -y \ 4 | git \ 5 | ca-certificates \ 6 | libreoffice \ 7 | unoconv \ 8 | --no-install-recommends \ 9 | && rm -rf /var/lib/apt/lists/* 10 | 11 | # clone the repo 12 | RUN git clone https://gitlab.com/apparmor/apparmor.git /usr/src/apparmor 13 | 14 | WORKDIR /usr/src/apparmor/documentation 15 | 16 | # convert the .odt files to .pdf 17 | RUN bash -c '( \ 18 | find /usr/src/apparmor/documentation -name "*.odt" -print0 | while IFS= read -r -d "" file; do \ 19 | clean_file=${file// /_}; \ 20 | clean_file=${clean_file//_-_/-}; \ 21 | clean_file=$(echo $clean_file | tr "[:upper:]" "[:lower:]"); \ 22 | clean_file=${clean_file//odt/pdf}; \ 23 | echo "Generating pdf --> $clean_file"; \ 24 | unoconv -v -f pdf --output "$clean_file" "$file"; \ 25 | done \ 26 | )' 27 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .SUFFIXES: .odt .pdf 2 | 3 | IN := odt 4 | OUT := pdf 5 | 6 | DOCKER_IMAGE := r.j3ss.co/apparmor-docs 7 | 8 | .PHONY: all 9 | all: make_directories .odt.pdf ## Generate the PDFs. 10 | 11 | .PHONY: build 12 | build: ## Build the docker image. 13 | @docker build --rm --force-rm --no-cache -t $(DOCKER_IMAGE) . 14 | 15 | DOCKER_FLAGS=docker run --rm --disable-content-trust=true $(DOCKER_IMAGE) 16 | 17 | %.odt: build 18 | -$(shell $(DOCKER_FLAGS) bash -c 'tar -c *.odt' | tar -xvC $(IN) > /dev/null) 19 | 20 | .odt.pdf: build %.odt 21 | -$(shell $(DOCKER_FLAGS) bash -c 'tar -c *.pdf' | tar -xvC $(OUT) > /dev/null) 22 | 23 | .PHONY: make_directories 24 | make_directories: $(IN)/ $(OUT)/ 25 | 26 | $(IN)/: 27 | @mkdir -p $@ 28 | 29 | $(OUT)/: 30 | @mkdir -p $@ 31 | 32 | .PHONY: help 33 | help: 34 | @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | sed 's/^[^:]*://g' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # apparmor-docs 2 | 3 | The following files are PDF versions of the odt files in 4 | [lp:~apparmor-dev/apparmor/master/files/head:/documentation/](https://bazaar.launchpad.net/~apparmor-dev/apparmor/master/files/head:/documentation/). 5 | 6 | This way you can read and search in a browser. 7 | 8 | The [`Dockerfile`](Dockerfile) in this repo checks out the bazaar branch and converts them so 9 | they are always up to date. 10 | 11 | To build the Dockerfile and copy the pdf's generated, just run: 12 | 13 | ``` 14 | $ make 15 | ``` 16 | -------------------------------------------------------------------------------- /odt/AppArmor_Developer_1-Kernel_Notes.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/odt/AppArmor_Developer_1-Kernel_Notes.odt -------------------------------------------------------------------------------- /odt/AppArmor_Developer_2-policy_layout_and_encoding.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/odt/AppArmor_Developer_2-policy_layout_and_encoding.odt -------------------------------------------------------------------------------- /odt/AppArmor_Developer_3-HFA.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/odt/AppArmor_Developer_3-HFA.odt -------------------------------------------------------------------------------- /odt/AppArmor_Developer_4-Policy_compilation.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/odt/AppArmor_Developer_4-Policy_compilation.odt -------------------------------------------------------------------------------- /odt/AppArmor_Developer_5-extending_apparmor_to_userspace.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/odt/AppArmor_Developer_5-extending_apparmor_to_userspace.odt -------------------------------------------------------------------------------- /odt/AppArmor_Policy.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/odt/AppArmor_Policy.odt -------------------------------------------------------------------------------- /odt/Techdoc-eHFA.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/odt/Techdoc-eHFA.odt -------------------------------------------------------------------------------- /pdf/apparmor_developer_1-kernel_notes.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/pdf/apparmor_developer_1-kernel_notes.pdf -------------------------------------------------------------------------------- /pdf/apparmor_developer_2-policy_layout_and_encoding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/pdf/apparmor_developer_2-policy_layout_and_encoding.pdf -------------------------------------------------------------------------------- /pdf/apparmor_developer_3-hfa.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/pdf/apparmor_developer_3-hfa.pdf -------------------------------------------------------------------------------- /pdf/apparmor_developer_4-policy_compilation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/pdf/apparmor_developer_4-policy_compilation.pdf -------------------------------------------------------------------------------- /pdf/apparmor_developer_5-extending_apparmor_to_userspace.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/pdf/apparmor_developer_5-extending_apparmor_to_userspace.pdf -------------------------------------------------------------------------------- /pdf/apparmor_policy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/pdf/apparmor_policy.pdf -------------------------------------------------------------------------------- /pdf/techdoc-ehfa.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessfraz/apparmor-docs/338bbb4801a1f047ce31b71b8b90368cfe53e932/pdf/techdoc-ehfa.pdf --------------------------------------------------------------------------------