forked from projectatomic/atomic
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
103 lines (73 loc) · 2.8 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Installation directories.
PREFIX ?= $(DESTDIR)/usr
SYSCONFDIR ?= $(DESTDIR)/etc/sysconfig
PROFILEDIR ?= $(DESTDIR)/etc/profile.d
export PYTHON ?= /usr/bin/python
export PYTHON3 ?= /usr/bin/python3
PYLINT ?= $(PYTHON) -m pylint
PYTHON3_PYLINT ?= $(PYTHON3) -m pylint
GO_MD2MAN ?= /usr/bin/go-md2man
GO ?= /usr/bin/go
PYTHONSITELIB=$(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(0))")
VERSION=$(shell $(PYTHON) setup.py --version)
export GOPATH = $(shell pwd)/godeps
BOX="fedora_atomic"
.PHONY: all
all: python-build docs pylint-check dockertar-sha256-helper gotar
.PHONY: test-python3-pylint
test-python3-pylint:
$(PYTHON3_PYLINT) --disable=all --enable=E --enable=W --additional-builtins=_ *.py atomic Atomic tests/unit/*.py -d=no-absolute-import,print-statement,no-absolute-import,bad-builtin
.PHONY: test check test-suite
check: test
test-suite:
./test.sh
test: all test-python3-pylint test-suite
test-destructive: all
ENABLE_DESTRUCTIVE=1 ./test.sh
.PHONY: python-build
python-build:
$(PYTHON) setup.py build
.PHONY: pylint-check
pylint-check:
$(PYLINT) --disable=all --enable=E --enable=W --additional-builtins=_ *.py atomic Atomic tests/unit/*.py -d=no-absolute-import,print-statement,no-absolute-import,bad-builtin
MANPAGES_MD = $(wildcard docs/*.md)
docs/%.1: docs/%.1.md
.PHONY: docs
docs: $(MANPAGES_MD:%.md=%)
dockertar-sha256-helper: dockertar-sha256-helper.go
$(GO) build dockertar-sha256-helper.go
gotar: gotar.go
$(GO) build -o $@ $<
.PHONY: clean
clean:
$(PYTHON) setup.py clean
-rm -rf dist build *~ \#* *pyc .#* docs/*.1
.PHONY: install-only
install-only:
$(PYTHON) setup.py install --install-scripts /usr/share/atomic `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
(cd $(DESTDIR)/$(PYTHONSITELIB) && rm -f atomic-$(VERSION)-*egg-info)
install -d -m 0755 $(DESTDIR)/usr/bin
ln -fs ../share/atomic/atomic $(DESTDIR)/usr/bin/atomic
install -d -m 0755 $(DESTDIR)/usr/libexec/atomic
install -m 0755 dockertar-sha256-helper migrate.sh gotar $(DESTDIR)/usr/libexec/atomic
[ -d $(SYSCONFDIR) ] || mkdir -p $(SYSCONFDIR)
install -m 644 atomic.sysconfig $(SYSCONFDIR)/atomic
[ -d $(PROFILEDIR) ] || mkdir -p $(PROFILEDIR)
install -m 644 atomic.sh $(PROFILEDIR)
install -d $(PREFIX)/share/man/man1
install -m 644 $(basename $(MANPAGES_MD)) $(PREFIX)/share/man/man1
echo ".so man1/atomic-push.1" > $(PREFIX)/share/man/man1/atomic-upload.1
install -m 644 atomic.conf $(DESTDIR)/etc
install -d $(DESTDIR)/etc/atomic.d
.PHONY: install
install: all install-only
.PHONY: install-openscap
install-openscap:
install -m 644 atomic.d/openscap $(DESTDIR)/etc/atomic.d
.PHONY: vagrant-check
vagrant-check:
BOX=$(BOX) sh ./vagrant.sh
.PHONY: install-on-atomicos
install-on-atomicos:
NO_TEST=1 sh ./.papr.sh