From f6442f2752e256a0b08d1d2f1be5123a6f364c99 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 28 Jun 2016 16:09:36 -0700 Subject: [PATCH 1/2] fedora-22 --- linux-build-farm/build.sh | 2 ++ linux-build-farm/fedora-22/x64/Dockerfile | 7 +++++++ linux-build-farm/fedora-22/x86/Dockerfile | 11 +++++++++++ 3 files changed, 20 insertions(+) create mode 100644 linux-build-farm/fedora-22/x64/Dockerfile create mode 100644 linux-build-farm/fedora-22/x86/Dockerfile diff --git a/linux-build-farm/build.sh b/linux-build-farm/build.sh index da95c04cc..468386ce2 100755 --- a/linux-build-farm/build.sh +++ b/linux-build-farm/build.sh @@ -41,6 +41,8 @@ for distro in $subdirs; do rm -f *.deb *.rpm +# exit 0 + if [ ! -n "`echo $distro | grep -F debian`" -a ! -n "`echo $distro | grep -F ubuntu`" ]; then docker run --rm -v `pwd`:/artifacts --privileged -it zt1-build-${distro}-x64 /bin/bash -c 'cd /ZeroTierOne ; make redhat ; cd .. ; cp `find /root/rpmbuild -type f -name *.rpm` /artifacts ; ls -l /artifacts' docker run --rm -v `pwd`:/artifacts --privileged -it zt1-build-${distro}-x86 /bin/bash -c 'cd /ZeroTierOne ; make redhat ; cd .. ; cp `find /root/rpmbuild -type f -name *.rpm` /artifacts ; ls -l /artifacts' diff --git a/linux-build-farm/fedora-22/x64/Dockerfile b/linux-build-farm/fedora-22/x64/Dockerfile new file mode 100644 index 000000000..554ca3389 --- /dev/null +++ b/linux-build-farm/fedora-22/x64/Dockerfile @@ -0,0 +1,7 @@ +FROM fedora:22 +MAINTAINER Adam Ierymenko + +RUN yum update -y +RUN yum install -y make rpmdevtools gcc-c++ rubygem-ronn json-parser-devel lz4-devel http-parser-devel libnatpmp-devel + +ADD zt1-src.tar.gz / diff --git a/linux-build-farm/fedora-22/x86/Dockerfile b/linux-build-farm/fedora-22/x86/Dockerfile new file mode 100644 index 000000000..e4b546b4f --- /dev/null +++ b/linux-build-farm/fedora-22/x86/Dockerfile @@ -0,0 +1,11 @@ +FROM nickcis/fedora-32:22 +MAINTAINER Adam Ierymenko + +RUN mkdir -p /etc/dnf/vars +RUN echo 'i386' >/etc/dnf/vars/basearch +RUN echo 'i386' >/etc/dnf/vars/arch + +RUN yum update -y +RUN yum install -y make rpmdevtools gcc-c++ rubygem-ronn json-parser-devel lz4-devel http-parser-devel libnatpmp-devel + +ADD zt1-src.tar.gz / From 928c625e2cc3c5ee59dd5843a4f23a76511eb1c8 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 29 Jun 2016 09:45:02 -0700 Subject: [PATCH 2/2] docs --- doc/README.md | 4 +++- doc/build.sh | 25 +++++++++++++++---------- ext/README.md | 11 ++++++++++- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/doc/README.md b/doc/README.md index c82b54920..707c64a9a 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,4 +1,6 @@ Manual Pages and Other Documentation ===== -Use "./build.sh" to build the manual pages. You'll need NodeJS and npm installed. +Use "./build.sh" to build the manual pages. + +You'll need either NodeJS/npm installed (script will then automatically install the npm *marked-man* package) or */usr/bin/ronn*. The latter is a Ruby program packaged on some distributions as *rubygem-ronn* or *ruby-ronn* or installable as *gem install ronn*. The Node *marked-man* package and *ronn* from rubygems are two roughly equivalent alternatives for compiling MarkDown into roff/man format. diff --git a/doc/build.sh b/doc/build.sh index 5a2c77cb4..9df72a333 100755 --- a/doc/build.sh +++ b/doc/build.sh @@ -9,24 +9,29 @@ fi rm -f *.1 *.2 *.8 if [ -e /usr/bin/ronn -o -e /usr/local/bin/ronn ]; then + # Use 'ronn' which is available as a package on many distros including Debian ronn -r zerotier-cli.1.md ronn -r zerotier-idtool.1.md ronn -r zerotier-one.8.md else - if [ ! -f /usr/bin/node -a ! -f /usr/bin/nodejs ]; then - echo 'Unable to build man pages: no /usr/bin/ronn or /usr/bin/node / nodejs!' - exit 0 + # Use 'marked-man' from npm + NODE=/usr/bin/node + if [ ! -e $NODE ]; then + if [ -e /usr/bin/nodejs ]; then + NODE=/usr/bin/nodejs + elif [ -e /usr/local/bin/node ]; then + NODE=/usr/local/bin/node + elif [ -e /usr/local/bin/nodejs ]; then + NODE=/usr/local/bin/nodejs + else + echo 'Unable to find ronn or node/npm -- cannot build man pages!' + exit 1 + fi fi if [ ! -f node_modules/marked-man/bin/marked-man ]; then - echo 'Installing MarkDown to ROFF converter...' + echo 'Installing npm package "marked-man" -- MarkDown to ROFF converter...' npm install marked-man - echo - fi - - NODE=/usr/bin/node - if [ -e /usr/bin/nodejs ]; then - NODE=/usr/bin/nodejs fi $NODE node_modules/marked-man/bin/marked-man zerotier-cli.1.md >zerotier-cli.1 diff --git a/ext/README.md b/ext/README.md index f296fa55c..be9484c51 100644 --- a/ext/README.md +++ b/ext/README.md @@ -1 +1,10 @@ -The ext/ folder contains third party code, drivers, installation support files, etc. \ No newline at end of file +Miscellaneous Stuff +====== + +This subfolder contains: + + * Bundled third party libraries that are compiled into the binary on platforms and Linux distributions where they are not available on the system. + + * Pre-compiled binaries for some platforms, such as pre-built and signed drivers for Mac and Windows. + + * Miscellaneous files used by installers and packages on various platform targets.