# $1 = download url
function populate_cache {
+ local my_md5
cache_dir
# get the file name
# check if the cache file exists
# and if it has an md5 compare that
- echo "Checking cache file: $1"
+ echo "Checking cache file exists: ${filename}"
if [ ! -f $CACHE_DIR/${filename} ]; then
+ echo "Cache file: ${CACHE_DIR}/${filename} missing...will download..."
curl_file $1 $filename
else
+ echo "Cache file exists...comparing MD5 checksum"
remote_md5="$(curl -sf -L ${1}.md5 | awk {'print $1'})"
if [ -z "$remote_md5" ]; then
echo "Got empty MD5 from remote for $filename, skipping MD5 check"
- elif [ "$remote_md5" != "$(grep ${filename} $CACHE_DIR/.cache | awk {'print $1'})" ]; then
curl_file $1 $filename
+ else
+ my_md5=$(grep ${filename} $CACHE_DIR/.cache | awk {'print $1'})
+ if [ "$remote_md5" != "$my_md5" ]; then
+ echo "MD5 mismatch: Remote MD5 is ${remote_md5}, Cache file MD5 is ${my_md5}"
+ echo "Downloading $filename"
+ curl_file $1 $filename
+ else
+ echo "Will use cache for ${filename}"
+ fi
fi
fi
}
rm -rf puppet-onos
git clone https://github.com/bobzhouHW/puppet-onos.git
populate_cache "$onos_release_uri/$onos_release_file"
-
-# download jdk, onos and maven dependancy packages.
-#for i in jdk-8u51-linux-x64.tar.gz onos-1.3.0.tar.gz repository.tar; do
-
tar --xform="s:puppet-onos/:onos/:" -czf puppet-onos.tar.gz puppet-onos
LIBGUESTFS_BACKEND=direct virt-customize --install "java-1.8.0-openjdk" \
if [ -n "$CACHE_DEST" ]; then
echo "Retrieving Cache"
if [ -f $CACHE_DEST/${CACHE_NAME}.tgz ]; then
+ echo "Cache found at ${CACHE_DEST}/${CACHE_NAME}.tgz"
rm -rf $BUILD_BASE/$CACHE_DIR
- cp -f $CACHE_DEST/${CACHE_NAME}.tgz $BUILD_BASE/${CACHE_NAME}.tgz
- tar xzf $BUILD_BASE/${CACHE_NAME}.tgz
+ echo "Unpacking Cache to $BUILD_BASE"
+ tar -xvzf $CACHE_DEST/${CACHE_NAME}.tgz -C ${BUILD_BASE}
+ echo "Cache contents after unpack:"
+ ls -l $BUILD_BASE/$CACHE_DIR
elif [ ! -d $BUILD_BASE/$CACHE_DIR ]; then
mkdir $BUILD_BASE/$CACHE_DIR
fi
fi
-#create build_output for legacy functionality compatibility in jenkins
-if [[ ! -d ../build_output ]]; then
- rm -f ../build_output
- ln -s build/noarch/ ../build_output
-fi
-
# Conditionally execute RPM build checks if the specs change and target is not rpm or iso
if [[ "$MAKE_TARGETS" == "images" ]]; then
commit_file_list=$(git show --pretty="format:" --name-only)
# Build new Cache
if [ -n "$CACHE_DEST" ]; then
echo "Building Cache"
- tar --atime-preserve --dereference -C $BUILD_BASE -caf $BUILD_BASE/${CACHE_NAME}.tgz $CACHE_DIR
- echo "Copying Cache"
if [ ! -d $CACHE_DEST ]; then mkdir -p $CACHE_DEST; fi
- cp $BUILD_BASE/${CACHE_NAME}.tgz $CACHE_DEST/${CACHE_NAME}.tgz
+ tar --atime-preserve --dereference -C $BUILD_BASE -caf $BUILD_BASE/${CACHE_NAME}.tgz $CACHE_DIR -C ${CACHE_DEST}/
+ if [ -f "${CACHE_DEST}/${CACHE_NAME}.tgz" ]; then
+ echo "Cache Build Complete"
+ else
+ echo "WARN: Cache file did not build correctly"
+ fi
fi
echo "Complete"