]> git.proxmox.com Git - pve-container.git/blame_incremental - src/Makefile
disable btrfs ioctl in user namespaces
[pve-container.git] / src / Makefile
... / ...
CommitLineData
1PACKAGE=pve-container
2
3PREFIX=${DESTDIR}/usr
4BINDIR=${PREFIX}/bin
5LIBDIR=${PREFIX}/lib
6SBINDIR=${PREFIX}/sbin
7MANDIR=${PREFIX}/share/man
8DOCDIR=${PREFIX}/share/doc/${PACKAGE}
9LXC_SCRIPT_DIR=${PREFIX}/share/lxc
10LXC_TMPL_DIR=${LXC_SCRIPT_DIR}/templates
11LXC_HOOK_DIR=${LXC_SCRIPT_DIR}/hooks
12LXC_CONFIG_DIR=${LXC_SCRIPT_DIR}/config
13LXC_COMMON_CONFIG_DIR=${LXC_CONFIG_DIR}/common.conf.d
14SERVICEDIR=${DESTDIR}/lib/systemd/system
15PODDIR=${DOCDIR}/pod
16MAN1DIR=${MANDIR}/man1/
17MAN5DIR=${MANDIR}/man5/
18BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions/
19ZSHCOMPLDIR=${PREFIX}/share/zsh/vendor-completions/
20export PERLDIR=${PREFIX}/share/perl5
21
22# this require package pve-doc-generator
23export NOVIEW=1
24include /usr/share/pve-doc-generator/pve-doc-generator.mk
25
26all:
27
28pct.bash-completion:
29 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->generate_bash_completions();" >$@.tmp
30 mv $@.tmp $@
31
32pct.zsh-completion:
33 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->generate_zsh_completions();" >$@.tmp
34 mv $@.tmp $@
35
36.PHONY: check
37check: test
38 make -C test
39
40.PHONY: install
41install: pct lxc-pve.conf pct.1 pct.conf.5 pct.bash-completion pct.zsh-completion \
42 pve-userns.seccomp pve-container@.service pve-container-debug@.service \
43 lxc-pve-prestart-hook lxc-pve-autodev-hook lxc-pve-poststop-hook lxcnetaddbr
44 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->verify_api();"
45 install -d ${SBINDIR}
46 install -m 0755 pct ${SBINDIR}
47 install -d ${LXC_SCRIPT_DIR}
48 install -m 0755 lxcnetaddbr ${LXC_SCRIPT_DIR}
49 install -m 0755 pve-container-stop-wrapper ${LXC_SCRIPT_DIR}
50 install -d -m0755 ${SERVICEDIR}
51 install -m0644 pve-container@.service ${SERVICEDIR}/
52 install -m0644 pve-container-debug@.service ${SERVICEDIR}/
53 install -m0644 'system-pve\x2dcontainer.slice' ${SERVICEDIR}/
54 install -d ${LXC_HOOK_DIR}
55 install -m 0755 lxc-pve-prestart-hook ${LXC_HOOK_DIR}
56 install -m 0755 lxc-pve-autodev-hook ${LXC_HOOK_DIR}
57 install -m 0755 lxc-pve-poststop-hook ${LXC_HOOK_DIR}
58 install -d ${LXC_CONFIG_DIR}
59 install -m 0644 pve-userns.seccomp ${LXC_CONFIG_DIR}/pve-userns.seccomp
60 install -d ${LXC_COMMON_CONFIG_DIR}
61 install -m 0644 lxc-pve.conf ${LXC_COMMON_CONFIG_DIR}/01-pve.conf
62 install -m 0644 -D pct.bash-completion ${BASHCOMPLDIR}/pct
63 install -m 0644 -D pct.zsh-completion ${ZSHCOMPLDIR}/_pct
64 make -C PVE install
65 install -d ${MAN1DIR}
66 install -d ${MAN5DIR}
67 install -m 0644 pct.1 ${MAN1DIR}
68 gzip -9 ${MAN1DIR}/pct.1
69 install -m 0644 pct.conf.5 ${MAN5DIR}
70 gzip -9 ${MAN5DIR}/pct.conf.5
71 cd ${MAN5DIR}; ln -s pct.conf.5.gz ct.conf.5.gz
72 install -D -m 0644 10-pve-ct-inotify-limits.conf ${LIBDIR}/sysctl.d/10-pve-ct-inotify-limits.conf
73
74pve-userns.seccomp: /usr/share/lxc/config/common.seccomp
75 cp $< $@
76 echo 'keyctl errno 38' >> $@
77
78.PHONY: test
79test:
80 make -C test test
81
82.PHONY: clean
83clean:
84 make -C test clean
85 make cleanup-docgen
86 rm -rf *.1 *.5 *.tmp *.bash-completion
87 rm -rf *.1 *.5 *.tmp *.zsh-completion
88 find . -name '*~' -exec rm {} ';'
89
90.PHONY: distclean
91distclean: clean
92