From baf3b6af8082ceb91a94bb221ecad87452bf5d6c Mon Sep 17 00:00:00 2001 From: aviau <alexandre@alexandreviau.net> Date: Thu, 28 Jul 2016 14:12:40 -0400 Subject: [PATCH] deploy-packages: support manual download location Change-Id: I42f69660cef7b0e004b11a8ab0035721b0a2efe9 Tuleap: #872 --- .gitignore | 1 + scripts/deploy-packages.sh | 51 +++++++++++++++++++++++++++++--------- 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 077261c6..6b8a84f1 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ packages ring_*.tar.gz Makefile.packaging.distro_targets repositories +manual-download diff --git a/scripts/deploy-packages.sh b/scripts/deploy-packages.sh index e708c405..d0eece84 100755 --- a/scripts/deploy-packages.sh +++ b/scripts/deploy-packages.sh @@ -37,8 +37,12 @@ case $i in KEYID="${i#*=}" shift ;; - --remote-location=*) - REMOTE_LOCATION="${i#*=}" + --remote-repository-location=*) + REMOTE_REPOSITORY_LOCATION="${i#*=}" + shift + ;; + --remote-manual-download-location=*) + REMOTE_MANUAL_DOWNLOAD_LOCATION="${i#*=}" shift ;; *) @@ -55,12 +59,12 @@ echo "#########################" echo "## Creating repository ##" echo "#########################" -DISTRIBUTION_FOLDER=$(realpath repositories)/${DISTRIBUTION} -rm -rf ${DISTRIBUTION_FOLDER} -mkdir -p ${DISTRIBUTION_FOLDER}/conf +DISTRIBUTION_REPOSITOIRY_FOLDER=$(realpath repositories)/${DISTRIBUTION} +rm -rf ${DISTRIBUTION_REPOSITOIRY_FOLDER} +mkdir -p ${DISTRIBUTION_REPOSITOIRY_FOLDER}/conf # Distributions file -cat << EOF > ${DISTRIBUTION_FOLDER}/conf/distributions +cat << EOF > ${DISTRIBUTION_REPOSITOIRY_FOLDER}/conf/distributions Origin: ring Label: Ring ${DISTRIBUTION} Repository Codename: ring @@ -71,8 +75,8 @@ SignWith: ${KEYID} EOF # Options file -cat << EOF > ${DISTRIBUTION_FOLDER}/conf/options -basedir ${DISTRIBUTION_FOLDER} +cat << EOF > ${DISTRIBUTION_REPOSITOIRY_FOLDER}/conf/options +basedir ${DISTRIBUTION_REPOSITOIRY_FOLDER} EOF #################################### @@ -93,17 +97,40 @@ echo "####################" echo "## including debs ##" echo "####################" for package in packages/${DISTRIBUTION}*/*.deb; do - reprepro --verbose --basedir ${DISTRIBUTION_FOLDER} includedeb ring ${package} + reprepro --verbose --basedir ${DISTRIBUTION_REPOSITOIRY_FOLDER} includedeb ring ${package} done # Rebuild the index -reprepro --verbose --basedir ${DISTRIBUTION_FOLDER} export ring +reprepro --verbose --basedir ${DISTRIBUTION_REPOSITOIRY_FOLDER} export ring + +####################################### +## create the manual download folder ## +####################################### +DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER=$(realpath manual-download)/${DISTRIBUTION} +mkdir -p ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER} +for package in packages/${DISTRIBUTION}*/*.deb; do + cp ${package} ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER} + package_name=$(dpkg -I ${package} | grep Package: | awk '{print $2}') + package_arch=$(dpkg -I ${package} | grep Architecture: | awk '{print $2}') + cp ${package} ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER}/${package_name}_${package_arch}.deb +done + +############ +## deploy ## +############ # Deploy the repository echo "##########################" echo "## deploying repository ##" echo "##########################" -rsync --archive --recursive --verbose --delete ${DISTRIBUTION_FOLDER} ${REMOTE_LOCATION} +rsync --archive --recursive --verbose --delete ${DISTRIBUTION_REPOSITOIRY_FOLDER} ${REMOTE_REPOSITORY_LOCATION} + +# deploy the manual download files +echo "#####################################" +echo "## deploying manual download files ##" +echo "#####################################" +rsync --archive --recursive --verbose --delete ${DISTRIBUTION_MANUAL_DOWNLOAD_FOLDER} ${REMOTE_MANUAL_DOWNLOAD_LOCATION} -# Remove the local copy of the repository +# remove deployed files +rm -rf manual-download rm -rf repositories -- GitLab