Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH v1] update_repo: fix Sources meta for modules
@ 2020-11-06 18:04 Alexander V. Tikhonov
  2020-11-26  9:32 ` Kirill Yukhin
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander V. Tikhonov @ 2020-11-06 18:04 UTC (permalink / raw)
  To: Kirill Yukhin; +Cc: tarantool-patches

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Tarantool-patches] [PATCH v1] update_repo: fix Sources meta for modules
  2020-11-06 18:04 [Tarantool-patches] [PATCH v1] update_repo: fix Sources meta for modules Alexander V. Tikhonov
@ 2020-11-26  9:32 ` Kirill Yukhin
  0 siblings, 0 replies; 2+ messages in thread
From: Kirill Yukhin @ 2020-11-26  9:32 UTC (permalink / raw)
  To: Alexander V. Tikhonov; +Cc: tarantool-patches

Hello,

On 06 Nov 21:04, Alexander V. Tikhonov wrote:
> 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

I've checked your patch into 1.10, 2.5, 2.6 and master.

--
Regards, Kirill Yukhin

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-11-26  9:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-06 18:04 [Tarantool-patches] [PATCH v1] update_repo: fix Sources meta for modules Alexander V. Tikhonov
2020-11-26  9:32 ` Kirill Yukhin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox