forked from cobbler/cobbler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
138 lines (118 loc) · 3.4 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#MESSAGESPOT=po/messages.pot
TOP_DIR:=$(shell pwd)
DESTDIR=/
prefix=devinstall
statepath=/tmp/cobbler_settings/$(prefix)
all: clean build
clean:
-rm -rf build rpm-build
-rm -f *~
-rm -f cobbler/*.pyc
-rm -rf dist
-rm -rf buildiso
-rm -f MANIFEST
-rm -f koan/*.pyc
-rm -f config/version
-rm -f docs/*.1.gz
-rm -f *.tmp
-rm -f *.log
test:
make savestate prefix=test
make rpms
make install
make eraseconfig
/sbin/service cobblerd restart
-(make nosetests)
make restorestate prefix=test
/sbin/service cobblerd restart
nosetests:
PYTHONPATH=./cobbler/ nosetests -v -w newtests/ 2>&1 | tee test.log
build:
python setup.py build -f
# Debian/Ubuntu requires an additional parameter in setup.py
install: build
if [ -e /etc/debian_version ]; then \
python setup.py install --root $(DESTDIR) -f --install-layout=deb; \
else \
python setup.py install --root $(DESTDIR) -f; \
fi
devinstall:
-rm -rf $(DESTDIR)/usr/share/cobbler
make savestate
make install
make restorestate
savestate:
python setup.py -v savestate --root $(DESTDIR); \
# Check if we are on Red Hat, Suse or Debian based distribution
restorestate:
python setup.py -v restorestate --root $(DESTDIR); \
find $(DESTDIR)/var/lib/cobbler/triggers | xargs chmod +x
if [ -n "`getent passwd apache`" ] ; then \
# Red Hat-based
chown -R apache $(DESTDIR)/var/www/cobbler; \
elif [ -n "`getent passwd wwwrun`" ] ; then \
# Suse-based
chown -R wwwrun $(DESTDIR)/usr/share/cobbler/web/cobbler_web; \
elif [-n "`getent passwd www-data`"] ; then \
# Debian / Ubuntu
chown -R www-data $(DESTDIR)/usr/share/cobbler/web/cobbler_web; \
fi
if [ -d $(DESTDIR)/var/www/cobbler ] ; then \
chmod -R +x $(DESTDIR)/var/www/cobbler/web; \
chmod -R +x $(DESTDIR)/var/www/cobbler/svc; \
fi
if [ -d $(DESTDIR)/usr/share/cobbler/web ] ; then \
chmod -R +x $(DESTDIR)/usr/share/cobbler/web/cobbler_web; \
chmod -R +x $(DESTDIR)/srv/www/cobbler/svc; \
fi
rm -rf $(statepath)
completion:
python mkbash.py
webtest: devinstall
make clean
make devinstall
make restartservices
# Check if we are on Red Hat, Suse or Debian based distribution
restartservices:
if [ -x /sbin/service ] ; then \
# Red Hat-based or Suse-based
/sbin/service cobblerd restart; \
if [ -f /etc/init.d/httpd ] ; then \
# Red Hat-based
/sbin/service httpd restart; \
else \
# Suse-based
/sbin/service apache2 restart; \
else \
# Debian / Ubuntu
/usr/sbin/service cobblerd restart; \
/usr/sbin/service apache2 restart; \
fi
sdist: clean
python setup.py sdist
rpms: clean sdist
mkdir -p rpm-build
cp dist/*.gz rpm-build/
rpmbuild --define "_topdir %(pwd)/rpm-build" \
--define "_builddir %{_topdir}" \
--define "_rpmdir %{_topdir}" \
--define "_srcrpmdir %{_topdir}" \
--define "_specdir %{_topdir}" \
--define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
--define "_sourcedir %{_topdir}" \
-ba cobbler.spec
eraseconfig:
-rm /var/lib/cobbler/distros*
-rm /var/lib/cobbler/profiles*
-rm /var/lib/cobbler/systems*
-rm /var/lib/cobbler/repos*
-rm /var/lib/cobbler/networks*
-rm /var/lib/cobbler/config/distros.d/*
-rm /var/lib/cobbler/config/images.d/*
-rm /var/lib/cobbler/config/profiles.d/*
-rm /var/lib/cobbler/config/systems.d/*
-rm /var/lib/cobbler/config/repos.d/*
-rm /var/lib/cobbler/config/networks.d/*
.PHONY: tags
tags:
find . \( -name build -o -name .git \) -prune -o -type f -name '*.py' -print | xargs etags -o TAGS --