# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+SHELL := /bin/bash
TOP := $(shell pwd)
DOCKNAME = fuelrepo
DOCKVERSION = 1.0
+# try to choose close ubuntu mirror which support rsync protocol
+# https://bugs.launchpad.net/fuel/+bug/1459252
+MIRROR_URLS := $(shell curl -s http://mirrors.ubuntu.com/mirrors.txt)
+MIRROR_HOSTS := $(shell for url in ${MIRROR_URLS}; do echo $$url | cut -d'/' -f3; done)
+RSYNC_HOST := $(shell for host in ${MIRROR_HOSTS}; do rsync -4 --contimeout 5 --no-motd --list-only "$${host}::ubuntu/." &> /dev/null && echo $$host && break; done)
+
.PHONY: all
all: .nailgun
-.fuel-createmirror:
- sudo apt-get install -y rsync python dpkg-dev fakeroot openssl
- sudo ln -s `pwd` /var/www
- sudo mkdir /var/log/mirror-sync
- sudo chmod 777 /var/log/mirror-sync
+.nailgun:
+ sudo apt-get update
+ sudo apt-get upgrade -y
+ sudo apt-get install -y rsync python python-yaml dpkg-dev openssl
rm -rf tmpiso tmpdir
mkdir tmpiso
fuseiso ${ISOCACHE} tmpiso
rm -rf tmpiso
sudo dpkg -i fuel-createmirror_6.1*.deb
sudo sed -i 's/DOCKER_MODE=true/DOCKER_MODE=false/' /etc/fuel-createmirror/common.cfg
- touch .fuel-createmirror
-
+ sudo sed -i 's/DEBUG="no"/DEBUG="yes"/' /etc/fuel-createmirror/ubuntu.cfg
+ sudo sed -i 's/MIRROR_UBUNTU_HOST="archive.ubuntu.com"/MIRROR_UBUNTU_HOST="${RSYNC_HOST}"/' /etc/fuel-createmirror/common.cfg
+ rm -Rf nailgun
+ sudo mkdir -p /var/www
+ sudo su - -c /opt/fuel-createmirror-6.1/fuel-createmirror
+ sudo chmod -R 755 /var/www/nailgun
+ cp -Rp /var/www/nailgun .
+ touch .nailgun
.PHONY: clean
clean:
@mkdir -p ../release/opnfv
@cp -Rp nailgun ../release/opnfv/nailgun
-.nailgun: .fuel-createmirror
- rm -Rf nailgun
- fakeroot /opt/fuel-createmirror-6.1/fuel-createmirror
- # Bug fix for https://bugs.launchpad.net/fuel/+bug/1476593
- find nailgun/mos-ubuntu -type d -exec chmod 755 {} \;
- touch .nailgun