[Tarantool-patches] [PATCH v1] update_repo: fix Sources meta for modules

Alexander V. Tikhonov avtikhon at tarantool.org
Fri Nov 6 21:04:03 MSK 2020


Found that Sources file destroys when module uploaded without sources.
Also found that it could happen for Packages file on modules uploading
without binaries. To fix it was added additional its downloading from
S3 if in modules it was not updated and routine was not used.
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/update_repo_meta_sources

 tools/update_repo.sh | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/tools/update_repo.sh b/tools/update_repo.sh
index 99896664d..e056f8f0e 100755
--- a/tools/update_repo.sh
+++ b/tools/update_repo.sh
@@ -244,6 +244,16 @@ function update_deb_packfile {
     fi
 }
 
+function initiate_deb_metadata {
+    distssuffix=$1
+
+    # get the latest Packages/Sources files from S3 either create empty files
+    mkdir -p `dirname $distssuffix` || :
+    $aws ls "$bucket_path/$distssuffix" >/dev/null 2>&1 && \
+        $aws cp "$bucket_path/$distssuffix" $distssuffix.saved || \
+        touch $distssuffix.saved
+}
+
 function update_deb_metadata {
     packpath=$1
     packtype=$2
@@ -251,12 +261,8 @@ function update_deb_metadata {
 
     file_exists=''
 
-    if [ ! -f $packpath.saved ] ; then
-        # get the latest Sources file from S3 either create empty file
-        $aws ls "$bucket_path/$packpath" >/dev/null 2>&1 && \
-            $aws cp "$bucket_path/$packpath" $packpath.saved || \
-            touch $packpath.saved
-    fi
+    # reinitiate if the new suffix used, not as used before
+    [ -f $packpath.saved ] || initiate_deb_metadata $packpath
 
     [ "$remove" == "" ] || cp $packpath.saved $packpath
 
@@ -545,6 +551,7 @@ EOF
         updated_files=0
 
         # 1(binaries). use reprepro tool to generate Packages file
+        initiate_deb_metadata dists/$loop_dist/$component/binary-amd64/Packages
         for deb in $ws/$debdir/$loop_dist/$component/*/*/*.deb ; do
             [ -f $deb ] || continue
             updated_deb=0
@@ -565,6 +572,7 @@ EOF
         done
 
         # 1(sources). use reprepro tool to generate Sources file
+        initiate_deb_metadata dists/$loop_dist/$component/source/Sources
         for dsc in $ws/$debdir/$loop_dist/$component/*/*/*.dsc ; do
             [ -f $dsc ] || continue
             updated_dsc=0
-- 
2.25.1



More information about the Tarantool-patches mailing list