Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 1 | tlsdate should build and work on the following Operating Systems: |
| 2 | |
Jacob Appelbaum | 4bc568b | 2013-04-16 19:19:37 -0700 | [diff] [blame] | 3 | Debian Gnu/Linux squeeze, wheezy, sid |
| 4 | Ubuntu lucid, natty, oneiric, precise, quantal |
Jacob Appelbaum | b66696e | 2013-04-12 11:19:24 -0700 | [diff] [blame] | 5 | CentOS 6.2, 6.3, 6.4 |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 6 | Fedora 17, 18 |
| 7 | RedHat Enterprise Server 6.4 |
| 8 | OpenSUSE 11.2, 12.3 |
| 9 | FreeBSD 10-CURRENT |
| 10 | Mac OS X 10.8.2, 10.8.3 |
| 11 | ChromeOS 26.0.x.x, 27.0.x.x (tlsdate is part of the ChromeOS TCB!) |
Jacob Appelbaum | 1df358f | 2013-04-12 11:16:29 -0700 | [diff] [blame] | 12 | Android with the Android NDK (use Makefile.android) |
Jacob Appelbaum | c4080b5 | 2013-04-12 12:19:36 -0700 | [diff] [blame] | 13 | Arch Linux (Don't forget to symlink to /dev/rtc to /dev/rtc0) |
Jacob Appelbaum | 4b25b76 | 2013-04-12 17:51:03 -0700 | [diff] [blame] | 14 | NetBSD 6.0.1 |
Jacob Appelbaum | 9ad9b98 | 2013-04-14 01:43:56 -0700 | [diff] [blame] | 15 | OpenBSD 5.2 |
Jacob Appelbaum | c6ca4c9 | 2013-04-17 02:44:10 -0700 | [diff] [blame^] | 16 | Gentoo 20130413 |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 17 | |
| 18 | Please file a bug or email the tlsdate team if you have successfully built or |
| 19 | use tlsdate on a platform that is not listed. We are specifically looking for |
| 20 | ports of tlsdate or for tlsdate integration on the following Operating Systems: |
| 21 | |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 22 | Win32 (MinGW or otherwise) |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 23 | OpenWRT |
| 24 | pfsense |
Jacob Appelbaum | b6e6f1a | 2013-04-13 22:05:47 -0700 | [diff] [blame] | 25 | DragonFly BSD |
| 26 | OpenVMS |
| 27 | |
| 28 | Currently porting is in progress or partially documented for: |
| 29 | |
Jacob Appelbaum | b6e6f1a | 2013-04-13 22:05:47 -0700 | [diff] [blame] | 30 | Plan9 (with APE) |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 31 | |
Jacob Appelbaum | 4bc568b | 2013-04-16 19:19:37 -0700 | [diff] [blame] | 32 | Building and install of tlsdate on GNU/Linux and FreeBSD: |
Jacob Appelbaum | 5de8b0a | 2012-02-02 01:43:22 +0100 | [diff] [blame] | 33 | |
| 34 | ./autogen.sh |
| 35 | ./configure |
| 36 | make |
| 37 | make install |
| 38 | |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 39 | Cleaning is the usual: |
| 40 | |
| 41 | make clean |
| 42 | |
Jacob Appelbaum | c6ca4c9 | 2013-04-17 02:44:10 -0700 | [diff] [blame^] | 43 | On Debian Gnu/Linux sid/unstable: |
Jacob Appelbaum | 4bc568b | 2013-04-16 19:19:37 -0700 | [diff] [blame] | 44 | |
| 45 | apt-get install tlsdate |
| 46 | |
Jacob Appelbaum | c6ca4c9 | 2013-04-17 02:44:10 -0700 | [diff] [blame^] | 47 | On Gentoo: |
| 48 | |
| 49 | emerge net-misc/tlsdate |
| 50 | |
Jacob Appelbaum | f667c4c | 2013-04-12 14:18:12 -0700 | [diff] [blame] | 51 | On FreeBSD one may also use the ports system: |
| 52 | |
| 53 | cd /usr/ports/sysutils/tlsdate |
| 54 | make |
| 55 | make install |
| 56 | |
Fabian Keil | f543f76 | 2013-03-15 15:50:43 +0100 | [diff] [blame] | 57 | On Mac OS X, we require that you have XCode installed. You may also need brew |
Jacob Appelbaum | 8f5dbfd | 2013-02-13 23:13:44 -0800 | [diff] [blame] | 58 | for autoconf and automake packages: |
| 59 | |
| 60 | brew install autoconf automake libtool pkg-config |
| 61 | |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 62 | It should also be possible to install tlsdate on OS X 10.8.x with brew directly: |
Jacob Appelbaum | 5de8b0a | 2012-02-02 01:43:22 +0100 | [diff] [blame] | 63 | |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 64 | brew install tlsdate |
Jacob Appelbaum | 807b4d0 | 2012-07-09 22:24:16 +0200 | [diff] [blame] | 65 | |
Jacob Appelbaum | 6a00b29 | 2012-07-11 18:45:13 +0200 | [diff] [blame] | 66 | To make an unsigned Debian package: |
Jacob Appelbaum | 807b4d0 | 2012-07-09 22:24:16 +0200 | [diff] [blame] | 67 | |
| 68 | git checkout debian-master |
| 69 | make deb |
Jacob Appelbaum | 6a00b29 | 2012-07-11 18:45:13 +0200 | [diff] [blame] | 70 | |
Jacob Appelbaum | 37afccc | 2013-04-12 21:02:20 -0700 | [diff] [blame] | 71 | On Fedora: |
| 72 | |
| 73 | yum install tlsdate |
| 74 | |
| 75 | To run tlsdated as a service on Fedora: |
| 76 | |
| 77 | systemctl enable tlsdate.service |
| 78 | systemctl start tlsdate.service |
| 79 | |
Jacob Appelbaum | 9d50cef | 2013-04-12 19:00:25 -0700 | [diff] [blame] | 80 | On Arch Linux there is a PKGBUILD in the Arch User Repository: |
| 81 | |
| 82 | https://aur.archlinux.org/packages/tlsdate |
| 83 | https://aur.archlinux.org/packages/tl/tlsdate/PKGBUILD |
| 84 | |
Jacob Appelbaum | b6e6f1a | 2013-04-13 22:05:47 -0700 | [diff] [blame] | 85 | On Plan9 the start of building might look something like this: |
| 86 | |
| 87 | ip/ipconfig |
| 88 | ndb/dns -r |
| 89 | 9fs sources |
| 90 | /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/openssl |
Noah Evans | 22ede40 | 2013-04-15 23:10:00 +0200 | [diff] [blame] | 91 | mk install |
Jacob Appelbaum | b6e6f1a | 2013-04-13 22:05:47 -0700 | [diff] [blame] | 92 | |
Jacob Appelbaum | 9ad9b98 | 2013-04-14 01:43:56 -0700 | [diff] [blame] | 93 | OpenBSD builds from source and is not yet in the port system: |
Jacob Appelbaum | b6e6f1a | 2013-04-13 22:05:47 -0700 | [diff] [blame] | 94 | |
Bryan | 5dba988 | 2013-04-14 01:55:50 -0700 | [diff] [blame] | 95 | export AUTOCONF_VERSION=<your installed version> |
| 96 | export AUTOMAKE_VERSION=<your installed version> |
| 97 | ./autogen.sh |
Jacob Appelbaum | b6e6f1a | 2013-04-13 22:05:47 -0700 | [diff] [blame] | 98 | ./configure |
| 99 | make |
| 100 | make install |
| 101 | |
Jacob Appelbaum | 6a00b29 | 2012-07-11 18:45:13 +0200 | [diff] [blame] | 102 | To make a Debian source package: |
| 103 | |
| 104 | git checkout master |
| 105 | ./autogen.sh |
| 106 | ./configure && make debian_orig |
| 107 | git checkout debian-master |
| 108 | fakeroot debian/rules clean |
Jacob Appelbaum | 23ee98a | 2012-07-12 15:13:35 +0200 | [diff] [blame] | 109 | cd ../ |
Jacob Appelbaum | 3e92a2e | 2012-10-30 15:57:32 +0100 | [diff] [blame] | 110 | dpkg-source -i'.*' -b tlsdate |
Jacob Appelbaum | 6a00b29 | 2012-07-11 18:45:13 +0200 | [diff] [blame] | 111 | |
Jacob Appelbaum | bed9e24 | 2012-07-12 15:47:57 +0200 | [diff] [blame] | 112 | Example of how to build a package for Debian: |
| 113 | |
| 114 | # First build the source package above |
| 115 | scp tlsdate_* dixie.torproject.org:~/src/debian-builds/ |
| 116 | ~/bin/sbuild-stuff tlsdate_0.0.1-1.dsc |
| 117 | # Download or build the package locally |
| 118 | # and sign the .changes or .dsc file |
Jacob Appelbaum | 9bd8027 | 2012-07-12 15:57:48 +0200 | [diff] [blame] | 119 | debsign -k0xD81D840E tlsdate_0.0.1-1.dsc |
Jacob Appelbaum | 33da9ff | 2012-07-12 16:21:29 +0200 | [diff] [blame] | 120 | |
| 121 | Example of how to upload it (after a Debian sponsor signs off on it): |
Jacob Appelbaum | f8fd2f8 | 2013-04-11 00:09:29 -0700 | [diff] [blame] | 122 | |
Jacob Appelbaum | 33da9ff | 2012-07-12 16:21:29 +0200 | [diff] [blame] | 123 | dget http://www.example.com/tlsdate_0.0.1-1_amd64.changes |
| 124 | dput tlsdate_0.0.1-1_amd64.changes |
| 125 | |
Abel Luck | d942768 | 2013-04-12 12:12:52 +0200 | [diff] [blame] | 126 | For Android: |
| 127 | |
| 128 | To cross compile tlsdate for Android (tested on Linux) you must have the |
| 129 | Android NDK (>=r8) installed somewhere on your system, and define the |
| 130 | environment variable NDK_BASE to be the path to the NDK's root dir. |
| 131 | |
| 132 | export NDK_BASE=/home/user/src/android-ndk-r8d |
| 133 | |
| 134 | The Android build also requires a cross-compiled OpenSSL. The Android Makefile |
| 135 | will attempt to build openssl, if you provide the path via the OPENSSL_ANDROID |
| 136 | env var. |
| 137 | |
| 138 | git clone https://github.com/guardianproject/openssl-android.git /path/to/android-openssl |
| 139 | export OPENSSL_ANDROID=/path/to/android-openssl |
| 140 | |
| 141 | Once NDK_BASE and OPENSSL_ANDROID are set properly, you can cross compile tlsdate with: |
| 142 | |
| 143 | make distclean # clean any previous builds |
| 144 | rm configure # distclean doesn't remove this file |
| 145 | make -f Makefile.android |
| 146 | |
| 147 | Android NDK: https://developer.android.com/tools/sdk/ndk/index.html |
| 148 | OpenSSL for Android: https://github.com/guardianproject/openssl-android |
| 149 | |