Skip to content

Commit

Permalink
Problem: zebra is out of sync (zproject has evolved!)
Browse files Browse the repository at this point in the history
Solution: re-generate all!
  • Loading branch information
sappo committed Aug 5, 2016
1 parent c3c17c0 commit d27bbff
Show file tree
Hide file tree
Showing 6 changed files with 297 additions and 0 deletions.
47 changes: 47 additions & 0 deletions Dockerfile
@@ -0,0 +1,47 @@
FROM ubuntu:trusty
MAINTAINER zebra Developers <zeromq-dev@lists.zeromq.org>

RUN DEBIAN_FRONTEND=noninteractive apt-get update -y -q
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --force-yes build-essential git-core libtool autotools-dev autoconf automake pkg-config unzip libkrb5-dev cmake

RUN useradd -d /home/zmq -m -s /bin/bash zmq
RUN echo "zmq ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/zmq
RUN chmod 0440 /etc/sudoers.d/zmq

USER zmq

WORKDIR /home/zmq
RUN git clone --quiet https://github.com/zeromq/libzmq.git
WORKDIR /home/zmq/libzmq
RUN ./autogen.sh 2> /dev/null
RUN ./configure --quiet --without-docs
RUN make
RUN sudo make install
RUN sudo ldconfig

WORKDIR /home/zmq
RUN git clone --quiet https://github.com/zeromq/czmq.git
WORKDIR /home/zmq/czmq
RUN ./autogen.sh 2> /dev/null
RUN ./configure --quiet --without-docs
RUN make
RUN sudo make install
RUN sudo ldconfig

WORKDIR /home/zmq
RUN git clone --quiet .git
WORKDIR /home/zmq/libmicrohttpd
RUN ./autogen.sh 2> /dev/null
RUN ./configure --quiet --without-docs
RUN make
RUN sudo make install
RUN sudo ldconfig

WORKDIR /home/zmq
RUN git clone --quiet git://github.com/zeromq/zebra.git
WORKDIR /home/zmq/zebra
RUN ./autogen.sh 2> /dev/null
RUN ./configure --quiet --without-docs
RUN make
RUN sudo make install
RUN sudo ldconfig
68 changes: 68 additions & 0 deletions Vagrantfile
@@ -0,0 +1,68 @@
#e -*- mode: ruby -*-
# vi: set ft=ruby :

# This will setup a clean Ubuntu1404 LTS env

$script = <<SCRIPT
add-apt-repository ppa:fkrull/deadsnakes-python2.7
apt-get update
apt-get install -y python-pip python-dev git htop virtualenvwrapper python2.7 python-virtualenv python-support cython \
git build-essential libtool pkg-config autotools-dev autoconf automake cmake uuid-dev libpcre3-dev valgrind \
libffi-dev
# only execute this next line if interested in updating the man pages as well (adds to build time):
# sudo apt-get install -y asciidoc
cd /home/vagrant
git clone --quiet https://github.com/zeromq/libzmq.git
cd /home/vagrant/libzmq
./autogen.sh
./configure
make
make install
ldconfig
cd /home/vagrant
git clone --quiet https://github.com/zeromq/czmq.git
cd /home/vagrant/czmq
./autogen.sh
./configure
make
make install
ldconfig
cd /home/vagrant
git clone --quiet .git
cd /home/vagrant/libmicrohttpd
./autogen.sh
./configure
make
make install
ldconfig
cd /vagrant
./autogen.sh
./configure
make
make check
make install
ldconfig
SCRIPT

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
VAGRANTFILE_LOCAL = 'Vagrantfile.local'

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = 'ubuntu/trusty64'
config.vm.provision "shell", inline: $script

config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--cpus", "2", "--ioapic", "on", "--memory", "512" ]
end

if File.file?(VAGRANTFILE_LOCAL)
external = File.read VAGRANTFILE_LOCAL
eval external
end
end
89 changes: 89 additions & 0 deletions builds/cmake/ci_build.sh
@@ -0,0 +1,89 @@
#!/usr/bin/env bash
set -ex

mkdir tmp
BUILD_PREFIX=$PWD/tmp

CONFIG_OPTS=()
CONFIG_OPTS+=("CFLAGS=-I${BUILD_PREFIX}/include")
CONFIG_OPTS+=("CPPFLAGS=-I${BUILD_PREFIX}/include")
CONFIG_OPTS+=("CXXFLAGS=-I${BUILD_PREFIX}/include")
CONFIG_OPTS+=("LDFLAGS=-L${BUILD_PREFIX}/lib")
CONFIG_OPTS+=("PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig")
CONFIG_OPTS+=("--prefix=${BUILD_PREFIX}")
CONFIG_OPTS+=("--with-docs=no")
CONFIG_OPTS+=("--quiet")

CMAKE_OPTS=()
CMAKE_OPTS+=("-DCMAKE_INSTALL_PREFIX:PATH=${BUILD_PREFIX}")
CMAKE_OPTS+=("-DCMAKE_PREFIX_PATH:PATH=${BUILD_PREFIX}")
CMAKE_OPTS+=("-DCMAKE_LIBRARY_PATH:PATH=${BUILD_PREFIX}/lib")
CMAKE_OPTS+=("-DCMAKE_INCLUDE_PATH:PATH=${BUILD_PREFIX}/include")

# Clone and build dependencies
wget http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.48.tar.gz
tar -xzf $(basename "http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.48.tar.gz")
cd $(basename "http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.48.tar.gz" .tar.gz)
./configure "${CONFIG_OPTS[@]}"
make -j4
make install
cd ..
git clone --quiet --depth 1 https://github.com/zeromq/libzmq libzmq
cd libzmq
git --no-pager log --oneline -n1
if [ -e autogen.sh ]; then
./autogen.sh 2> /dev/null
fi
if [ -e buildconf ]; then
./buildconf 2> /dev/null
fi
./configure "${CONFIG_OPTS[@]}"
make -j4
make install
cd ..
git clone --quiet --depth 1 https://github.com/zeromq/czmq czmq
cd czmq
git --no-pager log --oneline -n1
if [ -e autogen.sh ]; then
./autogen.sh 2> /dev/null
fi
if [ -e buildconf ]; then
./buildconf 2> /dev/null
fi
./configure "${CONFIG_OPTS[@]}"
make -j4
make install
cd ..
git clone --quiet --depth 1 libmicrohttpd
cd libmicrohttpd
git --no-pager log --oneline -n1
if [ -e autogen.sh ]; then
./autogen.sh 2> /dev/null
fi
if [ -e buildconf ]; then
./buildconf 2> /dev/null
fi
./configure "${CONFIG_OPTS[@]}"
make -j4
make install
cd ..
git clone --quiet --depth 1 https://github.com/curl/curl libcurl
cd libcurl
git --no-pager log --oneline -n1
if [ -e autogen.sh ]; then
./autogen.sh 2> /dev/null
fi
if [ -e buildconf ]; then
./buildconf 2> /dev/null
fi
./configure "${CONFIG_OPTS[@]}"
make -j4
make install
cd ..

# Build and check this project
cd ../..
PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig cmake "${CMAKE_OPTS[@]}" .
make all VERBOSE=1 -j4
ctest -V
make install
1 change: 1 addition & 0 deletions packaging/debian/format
@@ -0,0 +1 @@
3.0 (quilt)
21 changes: 21 additions & 0 deletions packaging/debian/zebra.dsc.obs
@@ -0,0 +1,21 @@
Format: 3.0 (quilt)
Binary: zebra
Source: zebra
Version: 0.2.0
Maintainer: zebra Developers <zeromq-dev@lists.zeromq.org>
Architecture: any
Build-Depends: debhelper (>= 9),
pkg-config,
dh-autoreconf,
libzmq3-dev,
libczmq-dev,
libmicrohttpd-dev,
libcurl-dev,
dh-autoreconf,
systemd,
dh-systemd
Build-Depends-Indep: asciidoc,
xmlto

Files:
7697688bf65a35bc33ae2db51ebb0e3b 818110 zebra.tar.gz
71 changes: 71 additions & 0 deletions packaging/obs/_service
@@ -0,0 +1,71 @@
<services>
<service name="tar_scm">
<param name="url">https://github.com/zeromq/zebra</param>
<param name="scm">git</param>
<!--<param name="version">git</param>-->
<!-- extract redhat packaging -->
<param name="extract">packaging/redhat/zebra.spec</param>
<param name="changesgenerate">enable</param>
</service>

<!-- extract debian packaging -->
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/zebra.dsc.obs</param>
<param name="outfilename">zebra.dsc</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/changelog</param>
<param name="outfilename">debian.changelog</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/compat</param>
<param name="outfilename">debian.compat</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/control</param>
<param name="outfilename">debian.control</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/copyright</param>
<param name="outfilename">debian.copyright</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/zebra.install</param>
<param name="outfilename">debian.zebra.install</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/format</param>
<param name="outfilename">debian.format</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/libzebra0.install</param>
<param name="outfilename">debian.libzebra0.install</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/libzebra-dev.install</param>
<param name="outfilename">debian.libzebra-dev.install</param>
</service>
<service name="extract_file">
<param name="archive">*.tar</param>
<param name="files">*/packaging/debian/rules</param>
<param name="outfilename">debian.rules</param>
</service>

<service name="recompress" mode="buildtime">
<param name="file">zebra-*.tar</param>
<param name="compression">gz</param>
</service>

<service name="set_version" mode="buildtime">
<param name="basename">zebra</param>
</service>
</services>

0 comments on commit d27bbff

Please sign in to comment.