db885c7d741b0b934c87e47e0710e1df0103ed89
[ossec-hids.git] / debian / rules
1 #!/usr/bin/make -f
2
3 # Uncomment this to turn on verbose mode.
4 #export DH_VERBOSE=1
5
6 # Directories
7 SRCDIR = $(CURDIR)/src
8 PKGDIR = $(CURDIR)/debian/ossec-hids
9 DESTDIR = $(PKGDIR)/var/ossec
10
11 # OSSEC INSTALL SUBDIRS
12 SUBDIRS = .ssh active-response active-response/bin agentless bin etc etc/shared logs logs/alerts logs/archives logs/firewall queue queue/agent-info queue/agentless queue/alerts queue/diff queue/fts queue/ossec queue/rids queue/rootcheck queue/syscheck rules stats tmp var var/run
13
14 ###################### main ######################
15
16 build: build-stamp
17 build-stamp:
18         dh_testdir
19         dh_clean
20
21         $(MAKE) -C $(SRCDIR) setlocal all build
22
23         touch build-stamp
24
25 clean:
26         dh_testdir
27         dh_testroot
28         rm -f build-stamp
29
30         # Add here commands to clean up after the build process.
31         $(MAKE) -C $(SRCDIR) clean
32
33         # additional clean
34         rm -f $(SRCDIR)/Config.OS \
35                 $(SRCDIR)/analysisd/compiled_rules/compiled_rules.h \
36                 $(SRCDIR)/analysisd/ossec-logtest \
37                 $(SRCDIR)/isbigendian \
38                 $(SRCDIR)/isbigendian.c \
39         rm -rf $(CURDIR)/bin
40
41         dh_clean
42
43 install: build
44         dh_testdir
45         dh_testroot
46         dh_clean -k
47         dh_installdirs
48
49         # ugly directory creation
50         for i in $(SUBDIRS); do \
51                 mkdir -p -m 700 $(DESTDIR)/$$i; \
52         done
53
54         # various files installation
55         install -m 644 etc/internal_options.conf $(DESTDIR)/etc
56         install -m 644 etc/decoder.xml $(DESTDIR)/etc
57         install -m 644 src/rootcheck/db/*.txt $(DESTDIR)/etc/shared
58         if [ -e ossec-debian.conf ]; then \
59                 install -m 440 ossec-debian.conf $(DESTDIR)/etc/ossec.conf; \
60         else \
61                 install -m 440 etc/ossec-local.conf $(DESTDIR)/etc/ossec.conf; \
62         fi
63         install -m 440 etc/ossec-*.conf $(DESTDIR)/etc
64         cp -r etc/rules/* $(DESTDIR)/rules
65         install -m 750 src/agentlessd/scripts/* $(DESTDIR)/agentless
66         install -s -m 755 bin/* $(DESTDIR)/bin
67         install -m 755 src/init/ossec-*.sh $(DESTDIR)/bin
68         ln -s ossec-local.sh $(DESTDIR)/bin/ossec-control
69         install -m 755 active-response/*.sh $(DESTDIR)/active-response/bin
70         install -m 755 active-response/firewalls/*.sh \
71                 $(DESTDIR)/active-response/bin
72
73         # attrs
74         chmod -R 550 $(DESTDIR)
75         chmod -R 770 $(DESTDIR)/queue/alerts
76         chmod -R 770 $(DESTDIR)/queue/ossec
77         chmod -R 750 $(DESTDIR)/queue/fts
78         chmod -R 750 $(DESTDIR)/queue/syscheck
79         chmod -R 750 $(DESTDIR)/queue/rootcheck
80         chmod -R 750 $(DESTDIR)/queue/diff
81         chmod -R 755 $(DESTDIR)/queue/agent-info
82         chmod -R 755 $(DESTDIR)/queue/rids
83         chmod -R 755 $(DESTDIR)/queue/agentless
84         chmod -R 750 $(DESTDIR)/stats
85         chmod -R 750 $(DESTDIR)/logs
86         chmod -R 550 $(DESTDIR)/rules
87         chmod 770 $(DESTDIR)/var/run
88         chmod 550 $(DESTDIR)/etc
89         chmod 440 $(DESTDIR)/etc/internal_options.conf
90         chmod -R 770 $(DESTDIR)/etc/shared
91         chmod 700 $(DESTDIR)/.ssh
92         chmod 755 $(DESTDIR)/active-response/bin/*
93         chmod 550 $(DESTDIR)/bin/*
94         chmod 440 $(DESTDIR)/etc/ossec.conf
95
96     # fixups: no need for execute bits on files there
97         find $(DESTDIR)/rules -type f -exec chmod ugo-x '{}' ';'
98         find $(DESTDIR)/etc -type f -exec chmod ugo-x '{}' ';'
99
100         # system init script
101         mkdir -p $(PKGDIR)/etc/init.d
102         if [ -e ossec-hids-debian.init ]; then \
103                 install -m 755 ossec-hids-debian.init \
104                         $(PKGDIR)/etc/init.d/ossec-hids; \
105         else \
106                 install -m 755 src/init/ossec-hids.init \
107                         $(PKGDIR)/etc/init.d/ossec-hids; \
108         fi
109
110         # system ossec-init
111         echo "DIRECTORY=\"/var/ossec\""      >  $(PKGDIR)/etc/ossec-init.conf
112         echo "VERSION=\"`cat src/VERSION`\"" >> $(PKGDIR)/etc/ossec-init.conf
113         echo "DATE=\"$(date --utc -d "$(dpkg-parsechangelog | sed -ne 's/Date: //p')")\""       >> $(PKGDIR)/etc/ossec-init.conf
114         echo "TYPE=\"local\""                >> $(PKGDIR)/etc/ossec-init.conf
115
116 # Build architecture-independent files here.
117 binary-indep: build install
118         dh_testdir
119         dh_testroot
120         dh_installchangelogs
121         dh_installdocs
122 #       dh_installexamples
123 #       dh_installmenu
124 #       dh_installdebconf
125 #       dh_installlogrotate
126 #       dh_installemacsen
127 #       dh_installcatalogs
128 #       dh_installpam
129 #       dh_installmime
130 #       dh_installinit
131 #       dh_installcron
132 #       dh_installinfo
133 #       dh_undocumented
134         dh_installman
135         dh_link
136         dh_compress
137         dh_fixperms
138 #       dh_perl
139 #       dh_python
140         dh_installdeb
141         dh_gencontrol
142         dh_md5sums
143         dh_builddeb
144
145 # Build architecture-dependent files here.
146 binary-arch: build install
147 # We have nothing to do by default.
148
149 binary: binary-indep binary-arch
150 .PHONY: build clean binary-indep binary-arch binary install