Last active
          August 29, 2015 14:15 
        
      - 
      
- 
        Save dave-tucker/026061f6b89e11392c70 to your computer and use it in GitHub Desktop. 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | #!/bin/sh | |
| # build_ovs_binary.sh | |
| # | |
| # Expects OVS_VERSION to be set by the CI system | |
| # Requires Docker | |
| curl -sSLO https://github.com/openvswitch/ovs/archive/v${OVS_VERSION}.tar.gz | |
| tar -xzvf v${OVS_VERSION}.tar.gz | |
| cd ovs-${OVS_VERSION} | |
| # Let's build OVS using Docker, so we don't pollute the host | |
| docker run --rm -v $(pwd):/usr/src/ovs -w /usr/src/ovs gcc bash -c "./boot.sh && ./configure --enable-shared && make" | |
| cd .. | |
| # Set up directory structure for the tar file | |
| mkdir -p openvswitch-${OVS_VERSION}/bin | |
| mkdir -p openvswitch-${OVS_VERSION}/sbin | |
| mkdir -p openvswitch-${OVS_VERSION}/lib | |
| mkdir -p openvswitch-${OVS_VERSION}/share/scripts | |
| # populate sbin... | |
| cp ovs-${OVS_VERSION}/ovsdb/ovsdb-server openvswitch-${OVS_VERSION}/sbin/ | |
| cp ovs-${OVS_VERSION}/vswitchd/ovs-vswitchd openvswitch-${OVS_VERSION}/sbin/ | |
| # and bin... | |
| cp ovs-${OVS_VERSION}/utilities/ovs-appctl openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-dpctl openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-ofctl openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-pcap openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-tcpundump openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-vsctl openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/ovsdb/ovsdb-tool openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-benchmark openvswitch-${OVS_VERSION}/bin/ | |
| if [ -f ovs-${OVS_VERSION}/utilities/ovs-dpctl-top ]; then | |
| cp ovs-${OVS_VERSION}/utilities/ovs-dpctl-top openvswitch-${OVS_VERSION}/bin/ | |
| fi | |
| if [ -f ovs-${OVS_VERSION}/utilities/ovs-parse-leaks ]; then | |
| cp ovs-${OVS_VERSION}/utilities/ovs-parse-leaks openvswitch-${OVS_VERSION}/bin/ | |
| fi | |
| if [ -f ovs-${OVS_VERSION}/utilities/ovs-parse-backtrace ]; then | |
| cp ovs-${OVS_VERSION}/utilities/ovs-parse-backtrace openvswitch-${OVS_VERSION}/bin/ | |
| fi | |
| cp ovs-${OVS_VERSION}/utilities/ovs-pki openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-vlan-test openvswitch-${OVS_VERSION}/bin/ | |
| cp ovs-${OVS_VERSION}/ovsdb/ovsdb-client openvswitch-${OVS_VERSION}/bin/ | |
| if [ -f ovs-${OVS_VERSION}/vtep/vtep-ctl ]; then | |
| cp ovs-${OVS_VERSION}/vtep/vtep-ctl openvswitch-${OVS_VERSION}/bin/ | |
| fi | |
| # and lib | |
| find . -name "*.so" -exec cp {} openvswitch-${OVS_VERSION}/lib/ \; | |
| #and finally share... | |
| cp ovs-${OVS_VERSION}/vswitchd/vswitch.ovsschema openvswitch-${OVS_VERSION}/share | |
| if [ -f ovs-${OVS_VERSION}/vtep/vtep.ovsschema ]; then | |
| cp ovs-${OVS_VERSION}/vtep/vtep.ovsschema openvswitch-${OVS_VERSION}/share/ | |
| fi | |
| cp -r ovs-${OVS_VERSION}/python openvswitch-${OVS_VERSION}/share | |
| cp ovs-${OVS_VERSION}/utilities/ovs-ctl openvswitch-${OVS_VERSION}/share/scripts/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-lib openvswitch-${OVS_VERSION}/share/scripts/ | |
| cp ovs-${OVS_VERSION}/utilities/ovs-save openvswitch-${OVS_VERSION}/share/scripts/ | |
| if [ -f ovs-${OVS_VERSION}/utilities/ovs-check-dead-ifs ]; then | |
| cp ovs-${OVS_VERSION}/utilities/ovs-check-dead-ifs openvswitch-${OVS_VERSION}/share/scripts/ | |
| fi | |
| if [ -f ovs-${OVS_VERSION}/vtep/ovs-vtep ]; then | |
| cp ovs-${OVS_VERSION}/vtep/ovs-vtep openvswitch-${OVS_VERSION}/share/scripts/ | |
| fi | |
| # wrap it up | |
| tar -czvf openvswitch-${OVS_VERSION}.tar.gz openvswitch-${OVS_VERSION} | |
| # cleanup | |
| rm -r openvswitch-${OVS_VERSION} | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment