[Tarantool-patches] [PATCH v1] Make S3 paths the same to Tarantool documented

Oleg Piskunov o.piskunov at tarantool.org
Tue Feb 18 15:24:25 MSK 2020


Sasha, could you please remove comments about Vanilla packages structure.
For the rest - LGTM
 
Regards,
Oleg
  
>Вторник, 18 февраля 2020, 10:47 +03:00 от Alexander V. Tikhonov <avtikhon at tarantool.org>:
> 
>Changed the Vanilla paths of the packages in S3 to
>the Tarantool documented on its web site, to give
>the ability to Tarantool users to continue use it
>w/o changes.
>
>Also moved the RPM sources packages to the standalone
>path.
>
>Follows up #3380
>---
>
>Github:  https://github.com/tarantool/tarantool/tree/avtikhon/gh-3380-rpm-packages-paths-full-ci
>Issue:  https://github.com/tarantool/tarantool/issues/3380
>
> tools/update_repo.sh | 73 +++++++++++++++++++++++++++++++-------------
> 1 file changed, 51 insertions(+), 22 deletions(-)
>
>diff --git a/tools/update_repo.sh b/tools/update_repo.sh
>index 65a977187..ec6146514 100755
>--- a/tools/update_repo.sh
>+++ b/tools/update_repo.sh
>@@ -405,42 +405,68 @@ EOF
> }
> 
> # The 'pack_rpm' function especialy created for RPM packages. It works
>-# with RPM packing OS like Centos, Fedora. It is based on globaly known
>+# with RPM packing OS like CentOS, Fedora. It is based on globaly known
> # tool 'createrepo' from:
>-#  https://linux.die.net/man/8/createrepo
>+#  https://linux.die.net/man/8/createrepo
> # This tool works with single distribution of the given OS.
>-# Result of the routine is the rpm package for YUM repository with
>-# file structure equal to the Centos/Fedora:
>-#  http://mirror.centos.org/centos/7/os/x86_64/Packages/
>-#  http://mirrors.kernel.org/fedora/releases/30/Everything/x86_64/os/Packages/t/
>+#
>+# Vanilla RPM packages structure for YUM repositories looks like:
>+# CentOS:
>+# Binaries:  http://mirror.centos.org/centos/7/os/x86_64/Packages/
>+# Sources:  http://vault.centos.org/8.1.1911/BaseOS/Source/SPackages/
>+# Fedora:
>+# Binaries:  http://mirrors.kernel.org/fedora/releases/30/Everything/x86_64/os/Packages/t/
>+# Sources:  http://mirrors.kernel.org/fedora/releases/30/Everything/source/tree/Packages/t/
>+# Decided to have back port capability at Tarantool links:
>+# CentOS:
>+# Tarantool:  https://www.tarantool.io/en/download/os-installation/rhel-centos/
>+# Changed Vanila -> MCS S3:
>+# centos/7/os/x86_64/Packages -> centos/7/x86_64/Packages
>+# 8.1.1911/BaseOS/Source/SPackages -> centos/8.1.1911/SRPMS/Packages
>+# Fedora:
>+# Tarantool:  https://www.tarantool.io/en/download/os-installation/fedora/
>+# Changed Vanila -> MCS S3:
>+# fedora/releases/30/Everything/x86_64/os/Packages -> fedora/30/x86_64/Packages
>+# fedora/releases/30/Everything/source/tree/Packages -> fedora/30/SRPMS/Packages
> function pack_rpm {
>- if ! ls $repo/*.rpm >/dev/null ; then
>- echo "ERROR: Current '$repo' path doesn't have RPM packages in path"
>- usage
>- exit 1
>- fi
>+ pack_subdir=$1
>+ pack_patterns=$2
>+
>+ for pack_pattern in $pack_patterns ; do
>+ if ! ls $repo/$pack_pattern >/dev/null ; then
>+ if [ "$pack_pattern" == "*.noarch.rpm" ]; then
>+ pack_patterns=$(echo "$pack_patterns" | sed "s#$pack_pattern##g")
>+ continue
>+ fi
>+ echo "ERROR: Current '$repo' path doesn't have $pack_pattern packages in path"
>+ usage
>+ exit 1
>+ fi
>+ done
> 
>     # prepare the workspace
>     prepare_ws ${os}_${option_dist}
> 
>     # copy the needed package binaries to the workspace
>- cp $repo/*.rpm $ws/.
>+ for pack_pattern in $pack_patterns ; do
>+ cp $repo/$pack_pattern $ws/.
>+ done
> 
>     pushd $ws
> 
>     # set the paths
>- if [ "$os" == "el" ]; then
>- repopath=$option_dist/os/x86_64
>- rpmpath=Packages
>- elif [ "$os" == "fedora" ]; then
>- repopath=releases/$option_dist/Everything/x86_64/os
>- rpmpath=Packages/$proddir
>+ repopath=$option_dist/$pack_subdir
>+ rpmpath=Packages
>+ if [ "$os" == "fedora" ]; then
>+ rpmpath=$rpmpath/$proddir
>     fi
>     packpath=$repopath/$rpmpath
> 
>     # prepare local repository with packages
>     $mk_dir $packpath
>- mv *.rpm $packpath/.
>+ for pack_pattern in $pack_patterns ; do
>+ mv $pack_pattern $packpath/.
>+ done
>     cd $repopath
> 
>     # copy the current metadata files from S3
>@@ -547,8 +573,10 @@ EOF
>     gpg --detach-sign --armor repodata/repomd.xml
> 
>     # copy the packages to S3
>- for file in $rpmpath/*.rpm ; do
>- $aws_cp_public $file "$bucket_path/$repopath/$file"
>+ for pack_pattern in $pack_patterns ; do
>+ for file in $rpmpath/$pack_pattern ; do
>+ $aws_cp_public $file "$bucket_path/$repopath/$file"
>+ done
>     done
> 
>     # update the metadata at the S3
>@@ -563,7 +591,8 @@ EOF
> if [ "$os" == "ubuntu" -o "$os" == "debian" ]; then
>     pack_deb
> elif [ "$os" == "el" -o "$os" == "fedora" ]; then
>- pack_rpm
>+ pack_rpm x86_64 "*.x86_64.rpm *.noarch.rpm"
>+ pack_rpm SRPMS "*.src.rpm"
> else
>     echo "USAGE: given OS '$os' is not supported, use any single from the list: $alloss"
>     usage
>--
>2.17.1
>  
 
 
--
Oleg Piskunov
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20200218/020c5705/attachment.html>


More information about the Tarantool-patches mailing list