From: "Alexander V. Tikhonov" <avtikhon@tarantool.org>
To: Oleg Piskunov <o.piskunov@tarantool.org>,
Sergey Bronnikov <sergeyb@tarantool.org>,
Alexander Turenko <alexander.turenko@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH v1 2/3] Enable script for saving packages in S3 for modules
Date: Mon, 30 Mar 2020 08:38:05 +0300 [thread overview]
Message-ID: <a17b8dc105f22bf9ef6f14e2f1fef90b9b46a28e.1585546307.git.avtikhon@tarantool.org> (raw)
In-Reply-To: <cover.1585546306.git.avtikhon@tarantool.org>
In-Reply-To: <cover.1585546306.git.avtikhon@tarantool.org>
From: "Alexander.V Tikhonov" <avtikhon@tarantool.org>
Found that modules may have only binaries packages w/o sources
packages. Script changed to be able to work with only binaries
either sources packages.
Follow-up #3380
---
tools/update_repo.sh | 51 +++++++++++++++++++++++++++-----------------
1 file changed, 32 insertions(+), 19 deletions(-)
diff --git a/tools/update_repo.sh b/tools/update_repo.sh
index ddc44d118..975a76c00 100755
--- a/tools/update_repo.sh
+++ b/tools/update_repo.sh
@@ -306,20 +306,24 @@ function pack_deb {
# debian has special directory 'pool' for packages
debdir=pool
- # get packages from pointed location
- if ! ls $repo/*.deb $repo/*.dsc $repo/*.tar.*z >/dev/null ; then
- echo "ERROR: files $repo/*.deb $repo/*.dsc $repo/*.tar.*z not found"
- usage
- exit 1
- fi
-
# set the subpath with binaries based on literal character of the product name
proddir=$(echo $product | head -c 1)
# copy single distribution with binaries packages
repopath=$ws/pool/${option_dist}/$component/$proddir/$product
$mk_dir ${repopath}
- cp $repo/*.deb $repo/*.dsc $repo/*.tar.*z $repopath/.
+ file_found=0
+ for file in $repo/*.deb $repo/*.dsc $repo/*.tar.*z ; do
+ [ -f $file ] || continue
+ file_found=1
+ cp $file $repopath/.
+ done
+ # check that any files found
+ if [ "$file_found" == "0" ]; then
+ echo "ERROR: files $repo/*.deb $repo/*.dsc $repo/*.tar.*z not found"
+ usage
+ exit 1
+ fi
pushd $ws
# create the configuration file for 'reprepro' tool
@@ -395,28 +399,36 @@ EOF
continue || echo "Updating dists"
# finalize the Packages file
- for packages in dists/$loop_dist/$component/binary-*/Packages ; do
- mv $packages.saved $packages
- done
+ if [ -f $packages.saved ]; then
+ for packages in dists/$loop_dist/$component/binary-*/Packages ; do
+ mv $packages.saved $packages
+ done
+ fi
# finalize the Sources file
- sources=dists/$loop_dist/$component/source/Sources
- mv $sources.saved $sources
+ if [ -f $sources.saved ]; then
+ sources=dists/$loop_dist/$component/source/Sources
+ mv $sources.saved $sources
+ fi
# 2(binaries). update Packages file archives
for packpath in dists/$loop_dist/$component/binary-* ; do
pushd $packpath
- sed "s#Filename: $debdir/$component/#Filename: $debdir/$loop_dist/$component/#g" -i Packages
- bzip2 -c Packages >Packages.bz2
- gzip -c Packages >Packages.gz
+ if [ -f Packages ]; then
+ sed "s#Filename: $debdir/$component/#Filename: $debdir/$loop_dist/$component/#g" -i Packages
+ bzip2 -c Packages >Packages.bz2
+ gzip -c Packages >Packages.gz
+ fi
popd
done
# 2(sources). update Sources file archives
pushd dists/$loop_dist/$component/source
- sed "s#Directory: $debdir/$component/#Directory: $debdir/$loop_dist/$component/#g" -i Sources
- bzip2 -c Sources >Sources.bz2
- gzip -c Sources >Sources.gz
+ if [ -f Sources ]; then
+ sed "s#Directory: $debdir/$component/#Directory: $debdir/$loop_dist/$component/#g" -i Sources
+ bzip2 -c Sources >Sources.bz2
+ gzip -c Sources >Sources.gz
+ fi
popd
# 3. update checksums entries of the Packages* files in *Release files
@@ -435,6 +447,7 @@ EOF
# 'sha1' - at the 2nd and 'sha256' at the 3rd
pushd dists/$loop_dist
for file in $(grep " $component/" Release | awk '{print $3}' | sort -u) ; do
+ [ -f $file ] || continue
sz=$(stat -c "%s" $file)
md5=$(md5sum $file | awk '{print $1}')
sha1=$(sha1sum $file | awk '{print $1}')
--
2.17.1
next prev parent reply other threads:[~2020-03-30 5:38 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-30 5:38 [Tarantool-patches] [PATCH v1 0/3] extend packages pushing to S3 script Alexander V. Tikhonov
2020-03-30 5:38 ` [Tarantool-patches] [PATCH v1 1/3] Add metafiles cleanup routines at S3 pack script Alexander V. Tikhonov
2020-03-30 5:38 ` Alexander V. Tikhonov [this message]
2020-03-30 5:38 ` [Tarantool-patches] [PATCH v1 3/3] Add help instruction on 'product' option Alexander V. Tikhonov
2020-03-30 14:40 ` [Tarantool-patches] [PATCH v1 0/3] extend packages pushing to S3 script Sergey Bronnikov
2020-04-11 5:04 ` Oleg Piskunov
2020-04-15 13:51 ` Kirill Yukhin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a17b8dc105f22bf9ef6f14e2f1fef90b9b46a28e.1585546307.git.avtikhon@tarantool.org \
--to=avtikhon@tarantool.org \
--cc=alexander.turenko@tarantool.org \
--cc=o.piskunov@tarantool.org \
--cc=sergeyb@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH v1 2/3] Enable script for saving packages in S3 for modules' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox