]>
Commit | Line | Data |
---|---|---|
5af29fb3 MT |
1 | ############################################################################### |
2 | # IPFire.org - An Open Source Firewall Solution # | |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
4 | ############################################################################### | |
5 | ||
6 | name = ntp | |
4579e680 | 7 | version = %{ver_major}.8 |
5af29fb3 | 8 | ver_major = 4.2 |
4579e680 | 9 | release = 1 |
5af29fb3 MT |
10 | |
11 | groups = System/Daemons | |
12 | url = http://www.ntp.org/ | |
13 | license = (MIT and BSD and BSD with advertising) and GPLv2 | |
14 | summary = The NTP daemon and utilities. | |
15 | ||
16 | description | |
17 | The Network Time Protocol (NTP) is used to synchronize a computer's | |
18 | time with another reference time source. This package includes ntpd | |
19 | (a daemon which continuously adjusts system time) and utilities used | |
20 | to query and configure the ntpd daemon. | |
21 | end | |
22 | ||
23 | source_dl = http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-%{ver_major}/ | |
24 | sources += ntpstat-0.2.tgz | |
25 | ||
26 | # The vendor part in the NTP pool address. | |
27 | VENDORZONE = %{DISTRO_SNAME} | |
28 | ||
29 | build | |
30 | requires | |
31 | libcap-devel | |
32 | libedit-devel | |
33 | openssl-devel | |
34 | perl-HTML-Parser | |
35 | pps-tools-devel | |
36 | end | |
37 | ||
38 | prepare | |
39 | %{MACRO_EXTRACT_TARBALL} | |
40 | ||
41 | ln -svf ../ntpstat-0.2 . | |
42 | ||
43 | %{MACRO_PATCHES} | |
359e71fd SS |
44 | |
45 | # Create ntp user and group. | |
46 | %{create_user} | |
5af29fb3 MT |
47 | end |
48 | ||
49 | configure_options += \ | |
50 | --sysconfdir=%{sysconfdir}/ntp/crypto \ | |
51 | --with-openssl-libdir=%{libdir} \ | |
52 | --enable-all-clocks \ | |
53 | --enable-parse-clocks \ | |
54 | --enable-ntp-signd=%{localstatedir}/run/ntp_signd | |
55 | ||
56 | build | |
57 | ./configure %{configure_options} | |
58 | ||
59 | echo "#define KEYFILE \"%{sysconfdir}/ntp/keys\"" >> ntpdate/ntpdate.h | |
60 | echo "#define NTP_VAR \"%{localstatedir}/log/ntpstats/\"" >> config.h | |
61 | ||
62 | make ${PARALLELISMFLAGS} | |
63 | ||
5af29fb3 MT |
64 | # Build ntpstat. |
65 | make -C ntpstat-0.2 | |
66 | end | |
67 | ||
68 | make_install_targets += bindir=%{sbindir} | |
69 | ||
70 | install_cmds | |
71 | mkdir -pv %{BUILDROOT}%{mandir}/man{5,8} | |
72 | sed -i "s/sntp\.1/sntp\.8/" %{BUILDROOT}%{mandir}/man1/sntp.1 | |
73 | mv -v %{BUILDROOT}%{mandir}/man{1/sntp.1,8/sntp.8} | |
74 | rm -rfv %{BUILDROOT}%{mandir}/man1 | |
75 | ||
76 | # Install ntpstat. | |
77 | pushd ntpstat-0.2 | |
78 | mkdir -pv %{BUILDROOT}%{bindir} | |
79 | install -m 755 ntpstat %{BUILDROOT}%{bindir} | |
80 | install -m 644 ntpstat.1 %{BUILDROOT}%{mandir}/man8/ntpstat.8 | |
81 | popd | |
82 | ||
83 | # Fix section numbers. | |
84 | sed -i 's/\(\.TH[a-zA-Z ]*\)[1-9]\(.*\)/\18\2/' \ | |
85 | %{BUILDROOT}%{mandir}/man8/*.8 | |
86 | ||
87 | mkdir -pv %{BUILDROOT}/%{sysconfdir}/sysconfig | |
88 | mkdir -pv %{BUILDROOT}/%{localstatedir}/{lib/ntp,log/ntpstats} | |
89 | mkdir -pv %{BUILDROOT}%{prefix}/lib | |
90 | touch %{BUILDROOT}/%{localstatedir}/lib/ntp/{drift,sntp-kod} | |
91 | ||
92 | sed \ | |
93 | -e "s@VENDORZONE@%{VENDORZONE}@g" \ | |
94 | -e "s@ETCNTP@%{sysconfdir}/ntp@g" \ | |
95 | -e "s@VARNTP@%{localstatedir}/lib/ntp@g" \ | |
96 | < %{DIR_SOURCE}/ntp.conf > %{BUILDROOT}%{sysconfdir}/ntp.conf | |
97 | ||
98 | mkdir -pv %{BUILDROOT}%{sysconfdir}/ntp | |
99 | sed -e "s@VENDORZONE@%{VENDORZONE}@g" \ | |
100 | < %{DIR_SOURCE}/ntp.step-tickers > %{BUILDROOT}%{sysconfdir}/ntp/step-tickers | |
101 | ||
102 | # Install crypto pw. | |
103 | mkdir -pv %{BUILDROOT}%{sysconfdir}/ntp/crypto | |
104 | install -p -m 600 %{DIR_SOURCE}/ntp.cryptopw \ | |
105 | %{BUILDROOT}%{sysconfdir}/ntp/crypto/pw | |
106 | ||
107 | # Install keys. | |
108 | install -p -m 600 %{DIR_SOURCE}/ntp.keys \ | |
109 | %{BUILDROOT}%{sysconfdir}/ntp/keys | |
110 | ||
111 | # Install ntpdate wrapper. | |
112 | install -p -m 755 %{DIR_SOURCE}/ntpdate-wrapper\ | |
113 | %{BUILDROOT}%{prefix}/lib/ntpdate-wrapper | |
114 | install -p -m 644 %{DIR_SOURCE}/ntpdate.sysconfig \ | |
115 | %{BUILDROOT}%{sysconfdir}/sysconfig/ntpdate | |
116 | ||
117 | mkdir -pv %{unitdir}/ntp-units.d | |
118 | echo "ntpd.service" > %{unitdir}/ntp-units.d/60-ntpd.list | |
359e71fd SS |
119 | |
120 | # Fix ownership. | |
121 | chown -R ntp:ntp %{BUILDROOT}%{sharedstatedir}/ntp | |
5af29fb3 MT |
122 | end |
123 | end | |
124 | ||
359e71fd SS |
125 | create_user |
126 | getent group ntp >/dev/null || groupadd -g 38 ntp || : | |
127 | getent passwd ntp >/dev/null || useradd -u 38 -g 38 -s /sbin/nologin \ | |
128 | -M -r -d %{sysconfdir}/ntp ntp || : | |
129 | end | |
130 | ||
5af29fb3 MT |
131 | packages |
132 | package %{name} | |
133 | requires | |
134 | ntpdate = %{thisver} | |
135 | end | |
136 | ||
137 | datafiles | |
138 | %{localstatedir}/lib/ntp/drift | |
139 | end | |
140 | ||
141 | script postin | |
142 | systemctl daemon-reload >/dev/null 2>&1 || : | |
143 | end | |
144 | ||
145 | script preun | |
146 | systemctl --no-reload disable ntpd.service >/dev/null 2>&1 || : | |
147 | systemctl stop ntpd.service >/dev/null 2>&1 || : | |
148 | end | |
149 | ||
150 | script postun | |
151 | systemctl daemon-reload >/dev/null 2>&1 || : | |
152 | end | |
153 | ||
154 | script postup | |
155 | systemctl daemon-reload >/dev/null 2>&1 || : | |
156 | systemctl try-restart ntpd.service >/dev/null 2>&1 || : | |
157 | end | |
158 | end | |
159 | ||
160 | package ntpdate | |
161 | summary = Utility to set the date and time via NTP. | |
162 | ||
163 | description | |
164 | ntpdate is a program for retrieving the date and time | |
165 | from NTP servers. | |
166 | end | |
167 | ||
168 | files | |
169 | %{sbindir}/ntpdate | |
170 | %{mandir}/man8/ntpdate.8* | |
171 | end | |
172 | ||
173 | script prein | |
359e71fd | 174 | %{create_user} |
5af29fb3 MT |
175 | end |
176 | ||
177 | script postin | |
178 | systemctl daemon-reload >/dev/null 2>&1 || : | |
179 | end | |
180 | ||
181 | script preun | |
182 | systemctl --no-reload disable ntpdate.service >/dev/null 2>&1 || : | |
183 | systemctl stop ntpdate.service >/dev/null 2>&1 || : | |
184 | end | |
185 | ||
186 | script postun | |
187 | systemctl daemon-reload >/dev/null 2>&1 || : | |
188 | end | |
189 | end | |
190 | ||
5af29fb3 MT |
191 | package %{name}-devel |
192 | template DEVEL | |
193 | end | |
194 | ||
195 | package %{name}-debuginfo | |
196 | template DEBUGINFO | |
197 | end | |
198 | end |