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
|
tlsdate should build and work on the following Operating Systems:
Debian Gnu/Linux 6.0.7 (apt-get install tlsdate for Debian unstable)
Ubuntu 11.04, 12.04, 12.10
CentOS 6.2, 6.3, 6.4
Fedora 17, 18
RedHat Enterprise Server 6.4
OpenSUSE 11.2, 12.3
FreeBSD 10-CURRENT
Mac OS X 10.8.2, 10.8.3
ChromeOS 26.0.x.x, 27.0.x.x (tlsdate is part of the ChromeOS TCB!)
Android with the Android NDK (use Makefile.android)
Arch Linux (Don't forget to symlink to /dev/rtc to /dev/rtc0)
Please file a bug or email the tlsdate team if you have successfully built or
use tlsdate on a platform that is not listed. We are specifically looking for
ports of tlsdate or for tlsdate integration on the following Operating Systems:
NetBSD 6.0.2
Win32 (MinGW or otherwise)
Plan9
OpenWRT
pfsense
Building and install of tlsdate on GNU/Linux and FreeBSD should be as easy as:
./autogen.sh
./configure
make
make install
Cleaning is the usual:
make clean
On Mac OS X, we require that you have XCode installed. You may also need brew
for autoconf and automake packages:
brew install autoconf automake libtool pkg-config
It should also be possible to install tlsdate on OS X 10.8.x with brew directly:
brew install tlsdate
To make an unsigned Debian package:
git checkout debian-master
make deb
To make a Debian source package:
git checkout master
./autogen.sh
./configure && make debian_orig
git checkout debian-master
fakeroot debian/rules clean
cd ../
dpkg-source -i'.*' -b tlsdate
Example of how to build a package for Debian:
# First build the source package above
scp tlsdate_* dixie.torproject.org:~/src/debian-builds/
~/bin/sbuild-stuff tlsdate_0.0.1-1.dsc
# Download or build the package locally
# and sign the .changes or .dsc file
debsign -k0xD81D840E tlsdate_0.0.1-1.dsc
Example of how to upload it (after a Debian sponsor signs off on it):
dget http://www.example.com/tlsdate_0.0.1-1_amd64.changes
dput tlsdate_0.0.1-1_amd64.changes
For Android:
To cross compile tlsdate for Android (tested on Linux) you must have the
Android NDK (>=r8) installed somewhere on your system, and define the
environment variable NDK_BASE to be the path to the NDK's root dir.
export NDK_BASE=/home/user/src/android-ndk-r8d
The Android build also requires a cross-compiled OpenSSL. The Android Makefile
will attempt to build openssl, if you provide the path via the OPENSSL_ANDROID
env var.
git clone https://github.com/guardianproject/openssl-android.git /path/to/android-openssl
export OPENSSL_ANDROID=/path/to/android-openssl
Once NDK_BASE and OPENSSL_ANDROID are set properly, you can cross compile tlsdate with:
make distclean # clean any previous builds
rm configure # distclean doesn't remove this file
make -f Makefile.android
Android NDK: https://developer.android.com/tools/sdk/ndk/index.html
OpenSSL for Android: https://github.com/guardianproject/openssl-android
|