diff --git a/.gitignore b/.gitignore index 077261c6c4a95780adc8221be583421301d9299e..6b8a84f100255168819c61c06f4de8dc84a0b6a7 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 e708c40593d5968deca7b95c0a589de62fa249ee..d0eece848ec0c567292c1c459579c84ab4fafd77 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