From 8598343b2b51b239e049ef370c0d952c77e6f915 Mon Sep 17 00:00:00 2001 From: Michal Nowikowski Date: Fri, 3 Jul 2020 12:11:26 +0200 Subject: added scripts for keama packaging --- Vagrantfile | 10 +++++++++ pkg.sh | 18 +++++++++++++++ vagrant-pkg.sh | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 Vagrantfile create mode 100755 pkg.sh create mode 100755 vagrant-pkg.sh diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 00000000..6f0bf3b2 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,10 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : +ENV["LC_ALL"] = "C" + +Vagrant.configure("2") do |config| + config.vm.box = "isc/lxc-" + ENV['DISTRO'] + +# config.vm.synced_folder '../../', '/isc-dhcp', disabled: true +# config.vm.provision "shell", privileged: false, path: "/vagrant/vagrant-pkg.sh" +end diff --git a/pkg.sh b/pkg.sh new file mode 100755 index 00000000..ad283c33 --- /dev/null +++ b/pkg.sh @@ -0,0 +1,18 @@ +#!/bin/bash +set -e -x + +KEAMA_VERSION=$1 + +#DISTROS="debian-10 ubuntu-18.04 ubuntu-20.04 fedora-32 centos-7 centos-8" +DISTROS="debian-10 ubuntu-18.04 ubuntu-20.04 centos-7" + +for d in $DISTROS; do + export DISTRO=$d + vagrant destroy -f || true + vagrant up + vagrant ssh -- /vagrant/vagrant-pkg.sh $KEAMA_VERSION + vagrant destroy -f + rm -rf $DISTRO + mkdir $DISTRO + mv keama/isc-dhcp-keama* $DISTRO/ +done diff --git a/vagrant-pkg.sh b/vagrant-pkg.sh new file mode 100755 index 00000000..a29baa8d --- /dev/null +++ b/vagrant-pkg.sh @@ -0,0 +1,71 @@ +#!/bin/bash +set -e -x + +KEAMA_VERSION=$1 + +# install deps +if [ -e /etc/debian_version ]; then + FPM_TARGET=deb + sudo apt-get update --allow-releaseinfo-change + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ruby ruby-dev rubygems build-essential \ + git wget unzip +else + FPM_TARGET=rpm + + . /etc/os-release + + # centos 7 + if [ "$ID" == "centos" -a "$VERSION_ID" == "7" ]; then + sudo yum -y install gcc make rpm-build libffi-devel git wget unzip centos-release-scl + sudo yum --enablerepo=centos-sclo-rh -y install rh-ruby23 rh-ruby23-ruby-devel rh-ruby23-rubygems rh-ruby23-rubygem-rake + source /opt/rh/rh-ruby23/enable + echo 'source /opt/rh/rh-ruby23/enable' | sudo tee -a /root/.bashrc + else + if [ "$ID" == "centos" -a "$VERSION_ID" == "8" ]; then + sudo ping -c 4 onet.pl + fi + sudo dnf -y install --enablerepo=PowerTools ruby ruby-devel rubygems rubygem-rake gcc make rpm-build libffi-devel git wget unzip + fi +fi +sudo -i gem install --no-document fpm + +# cleanup +pushd /vagrant +make clean || true +make distclean || true + +# configure +./configure --prefix=/usr + + +# compile +pushd keama +make + +# install to DESTDIR +rm -rf root +mkdir root +export DESTDIR=`pwd`/root +make install + + +# build package +rm -f isc-dhcp-keama* +fpm -n isc-dhcp-keama -v ${KEAMA_VERSION} \ + --license 'ISC' \ + --vendor 'Internet Systems Consortium, Inc.' \ + --url 'https://gitlab.isc.org/isc-projects/dhcp' \ + --description 'ISC DHCP Kea Migration Assistant' \ + -s dir \ + -t ${FPM_TARGET} \ + -C ${DESTDIR} . + + +# check package +if [ -e /etc/debian_version ]; then + sudo dpkg -i isc-dhcp-keama_*_amd64.deb +else + sudo rpm -i isc-dhcp-keama*rpm +fi +ls -al /usr/sbin/keama +/usr/sbin/keama 2>&1 | grep Usage -- cgit v1.2.1