881887c51efb96807753abf3f2c829450263c084
[packages.git] / net / ntpd / Makefile
1 #
2 # Copyright (C) 2006-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=ntp
11 PKG_VERSION:=4.2.6p5
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/
16 PKG_MD5SUM:=00df80a84ec9528fcfb09498075525bc
17
18 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
19
20 PKG_BUILD_DEPENDS:=libelf1
21 PKG_FIXUP:=autoreconf
22 PKG_LIBTOOL_PATHS:=. sntp
23
24 include $(INCLUDE_DIR)/package.mk
25
26 define Package/ntpd/Default
27   SUBMENU:=Time Synchronization
28   SECTION:=net
29   CATEGORY:=Network
30   TITLE:=ISC ntp
31   MAINTAINER:=Peter Wagner <tripolar@gmx.at>
32   URL:=http://www.ntp.org/
33   DEPENDS:=+libcap
34 endef
35
36 define Package/ntpd/Default/description
37  The ISC ntp suite is a collection of tools used to synchronize the
38  system clock with remote NTP time servers and run/montior local NTP
39  servers.
40 endef
41
42 define Package/ntpd
43 $(call Package/ntpd/Default)
44   TITLE+= server
45   VARIANT:=nossl
46 endef
47
48 define Package/ntpd/description
49 $(call Package/ntpd/Default/description)
50  .
51  This package contains the ntpd server.
52 endef
53
54 define Package/ntpd-ssl
55 $(call Package/ntpd/Default)
56   TITLE+= server (with OpenSSL support)
57   VARIANT:=ssl
58   DEPENDS+= +libopenssl
59 endef
60
61 define Package/ntpd-ssl/description
62 $(call Package/ntpd/Default/description)
63  .
64  This package contains the ntpd server with OpenSSL support.
65 endef
66
67 define Package/ntpdate
68 $(call Package/ntpd/Default)
69   TITLE+=date
70   VARIANT:=nossl
71 endef
72
73 define Package/ntpdate/description
74 $(call Package/ntpd/Default/description)
75  .
76  This package contains ntpdate.
77 endef
78
79 define Package/ntp-utils
80 $(call Package/ntpd/Default)
81   TITLE+= utilities
82   VARIANT:=nossl
83 endef
84
85 define Package/ntp-utils/description
86 $(call Package/ntpd/Default/description)
87  .
88  This package contains ntpdc, ntpq and ntptime.
89 endef
90
91 define Package/ntp-keygen
92 $(call Package/ntpd/Default)
93   TITLE+=keygen
94   VARIANT:=nossl
95 endef
96
97 define Package/ntp-keygen/description
98 $(call Package/ntpd/Default/description)
99  .
100  This package contains the ntp-keygen.
101 endef
102
103 define Package/ntp-keygen-ssl
104 $(call Package/ntpd/Default)
105   TITLE+=keygen (with OpenSSL support)
106   VARIANT:=ssl
107   DEPENDS+= +libopenssl
108 endef
109
110 define Package/ntp-keygen-ssl/description
111 $(call Package/ntpd/Default/description)
112  .
113  This package contains the ntp-keygen with OpenSSL support.
114 endef
115
116 define Package/ntpd/conffiles
117 /etc/ntp.conf
118 endef
119
120 CONFIGURE_VARS += \
121         ac_cv_header_md5_h=no \
122         ac_cv_lib_rt_sched_setscheduler=no \
123         ac_cv_header_dns_sd_h=no
124
125 CONFIGURE_ARGS += \
126         --disable-all-clocks \
127         --disable-parse-clocks \
128         --without-ntpsnmpd \
129         --without-lineeditlibs \
130         --enable-NMEA \
131         --enable-LOCAL-CLOCK \
132         --enable-SHM \
133         --enable-linuxcaps
134
135 ifeq ($(BUILD_VARIANT),ssl)
136   CONFIGURE_ARGS += \
137         --with-crypto \
138         --with-openssl-incdir="$(STAGING_DIR)/usr/include" \
139         --with-openssl-libdir="$(STAGING_DIR)/usr/lib"
140 endif
141
142 define Package/ntpd/install
143         $(INSTALL_DIR) $(1)/sbin
144         $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpd/ntpd $(1)/sbin/
145         $(INSTALL_DIR) $(1)/etc
146         $(INSTALL_CONF) ./files/ntp.conf $(1)/etc/
147         $(INSTALL_DIR) $(1)/etc/init.d
148         $(INSTALL_BIN) ./files/ntpd.init $(1)/etc/init.d/ntpd
149         $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
150         $(INSTALL_BIN) ./files/ntpd.hotplug $(1)/etc/hotplug.d/iface/20-ntpd
151 endef
152
153 define Package/ntpd/postinst
154 #!/bin/sh
155 [ -L "$${IPKG_INSTROOT}/usr/sbin/ntpd" ] && rm -f "$${IPKG_INSTROOT}/usr/sbin/ntpd"
156 exit 0
157 endef
158
159 define Package/ntpd/postrm
160 #!/bin/sh
161 /bin/busybox ntpd -h 2>&1 | grep -q BusyBox && ln -sf ../../bin/busybox /usr/sbin/ntpd
162 exit 0
163 endef
164
165 Package/ntpd-ssl/conffiles = $(Package/ntpd/conffiles)
166 Package/ntpd-ssl/install = $(Package/ntpd/install)
167
168 define Package/ntpdate/install
169         $(INSTALL_DIR) $(1)/usr/sbin
170         $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpdate/ntpdate $(1)/usr/sbin/
171         $(INSTALL_DIR) $(1)/etc/init.d
172         $(INSTALL_BIN) ./files/ntpdate.init $(1)/etc/init.d/ntpdate
173 endef
174
175 define Package/ntp-utils/install
176         $(INSTALL_DIR) $(1)/usr/sbin
177         $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpdc/ntpdc $(1)/usr/sbin/
178         $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpq/ntpq $(1)/usr/sbin/
179         $(INSTALL_BIN) $(PKG_BUILD_DIR)/util/ntptime $(1)/usr/sbin/
180 endef
181
182 define Package/ntp-keygen/install
183         $(INSTALL_DIR) $(1)/usr/sbin
184         $(INSTALL_BIN) $(PKG_BUILD_DIR)/util/ntp-keygen $(1)/usr/sbin/
185 endef
186
187 Package/ntp-keygen-ssl/install = $(Package/ntp-keygen/install)
188
189 $(eval $(call BuildPackage,ntpd))
190 $(eval $(call BuildPackage,ntpd-ssl))
191 $(eval $(call BuildPackage,ntpdate))
192 $(eval $(call BuildPackage,ntp-utils))
193 $(eval $(call BuildPackage,ntp-keygen))
194 $(eval $(call BuildPackage,ntp-keygen-ssl))