omnibus-software 22.11.239
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.expeditor/Version_inspector/README.md +21 -0
- data/.expeditor/Version_inspector/SW-Version-update.py +243 -0
- data/.expeditor/Version_inspector/manual_prod_list.json +29 -0
- data/.expeditor/Version_inspector/prod_default_version.json +103 -0
- data/.expeditor/Version_inspector/prod_list.json +194 -0
- data/.expeditor/Version_inspector/requirements.txt +4 -0
- data/.expeditor/Version_inspector/update_prod_default_version.sh +24 -0
- data/.expeditor/Version_inspector/update_prod_list.sh +35 -0
- data/.expeditor/config.yml +33 -0
- data/.expeditor/determine_version.sh +15 -0
- data/.expeditor/push_git_tag.sh +12 -0
- data/.expeditor/run_linux_tests.sh +16 -0
- data/.expeditor/verify.pipeline.yml +52 -0
- data/.github/CODEOWNERS +5 -0
- data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +29 -0
- data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +40 -0
- data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +17 -0
- data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +11 -0
- data/.github/dependabot.yml +9 -0
- data/.github/lock.yml +1 -0
- data/.gitignore +17 -0
- data/CODE_OF_CONDUCT.md +1 -0
- data/CONTRIBUTING.md +1 -0
- data/Dockerfile +21 -0
- data/Gemfile +10 -0
- data/LICENSE +201 -0
- data/README.md +99 -0
- data/Rakefile +56 -0
- data/VERSION +1 -0
- data/config/patches/bash/race-condition.patch +15 -0
- data/config/patches/bzip2/aix_makefile.patch +11 -0
- data/config/patches/bzip2/makefile_no_bins.patch +77 -0
- data/config/patches/bzip2/makefile_take_env_vars.patch +31 -0
- data/config/patches/bzip2/soname_install_dir.patch +11 -0
- data/config/patches/curl/curl-aix-disable-alpn.patch +22 -0
- data/config/patches/curl/curl-freebsd-hostcheck.patch +10 -0
- data/config/patches/erlang/epmd-require-explicitly-adding-loopback-address.patch +84 -0
- data/config/patches/erlang/updated-epmd-require-explicitly-adding-loopback-address.patch +75 -0
- data/config/patches/expat/configure_xlc_visibility.patch +58 -0
- data/config/patches/expat/configure_xlc_visibility_2.4.7.patch +59 -0
- data/config/patches/figlet/aix-figlet-cdefs.patch +48 -0
- data/config/patches/gdbm/v1.8.3-Makefile.in.patch +32 -0
- data/config/patches/git/aix-endian-fix.patch +20 -0
- data/config/patches/gtar/aix_extra_case.patch +13 -0
- data/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +15 -0
- data/config/patches/libedit/freebsd-vi-fix.patch +24 -0
- data/config/patches/libedit/openbsd-weak-alias-fix.patch +48 -0
- data/config/patches/libedit/solaris.patch +36 -0
- data/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch +83 -0
- data/config/patches/libffi/libffi-3.3-arm64.patch +9608 -0
- data/config/patches/libxslt/libxslt-solaris-configure.patch +19 -0
- data/config/patches/libxslt/libxslt-windows-relocate.patch +12 -0
- data/config/patches/libyaml/windows-configure.patch +26 -0
- data/config/patches/libzmq/zeromq-4.0.11_mingw_inet_pton.patch +37 -0
- data/config/patches/libzmq/zeromq-aix-4.2.2-LARGE_FILES.patch +56 -0
- data/config/patches/libzmq/zeromq-aix-4.2.2-atomic-counter-fetch_and_add.patch +59 -0
- data/config/patches/logrotate/logrotate_basedir_override.patch +17 -0
- data/config/patches/m4/m4-1.4.18-glibc-change-work-around.patch +115 -0
- data/config/patches/make/deb-make-glob.patch +31 -0
- data/config/patches/ncurses/ncurses-5.9-gcc-5.patch +46 -0
- data/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +11 -0
- data/config/patches/ncurses/ncurses-clang.patch +43 -0
- data/config/patches/ncurses/patch-aa +23 -0
- data/config/patches/ncurses/patch-ab +44 -0
- data/config/patches/ncurses/patch-ac +40 -0
- data/config/patches/ncurses/patch-ad +13 -0
- data/config/patches/ncurses/patch-cxx_cursesf.h +22 -0
- data/config/patches/ncurses/patch-cxx_cursesm.h +22 -0
- data/config/patches/ncurses/patch-ncurses_tinfo_lib__baudrate.c +24 -0
- data/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +28 -0
- data/config/patches/openssl/openssl-1.0.1j-windows-relocate-dll.patch +20 -0
- data/config/patches/openssl/openssl-1.0.1q-fix-compiler-flags-table-for-msys.patch +20 -0
- data/config/patches/openssl/openssl-1.0.2x-darwin-arm64.patch +54 -0
- data/config/patches/openssl/openssl-1.1.0f-do-not-install-docs.patch +11 -0
- data/config/patches/openssl/openssl-3.0.1-do-not-install-docs.patch +22 -0
- data/config/patches/openssl-fips/openssl-fips-fix-compiler-flags-table-for-msys.patch +11 -0
- data/config/patches/perl/perl-5.18.1-remove_lnsl.patch +441 -0
- data/config/patches/perl/perl-5.22.1-remove_lnsl.patch +512 -0
- data/config/patches/perl/perl-5.30.0-remove_lnsl.patch +518 -0
- data/config/patches/perl/perl-5.32.1-remove_lnsl.patch +456 -0
- data/config/patches/perl/perl-5.34.0-remove_lnsl.patch +516 -0
- data/config/patches/pkg-config/openbsd-charset.patch +19 -0
- data/config/patches/popt/v1.16.ppc64le-configure.patch +18 -0
- data/config/patches/redis/password-from-environment.patch +19 -0
- data/config/patches/ruby/patch-configure +103 -0
- data/config/patches/ruby/remove_nano.patch +10 -0
- data/config/patches/ruby/ruby-2.6.7_c99.patch +12 -0
- data/config/patches/ruby/ruby-3.0.1-configure.patch +281 -0
- data/config/patches/ruby/ruby-3.0.2-configure.patch +251 -0
- data/config/patches/ruby/ruby-aix-atomic.patch +11 -0
- data/config/patches/ruby/ruby-aix-configure_26_and_later.patch +19 -0
- data/config/patches/ruby/ruby-aix-vm-core.patch +14 -0
- data/config/patches/ruby/ruby-fast-load_26.patch +16 -0
- data/config/patches/ruby/ruby-fast-load_31.patch +16 -0
- data/config/patches/ruby/ruby-faster-load_26.patch +11 -0
- data/config/patches/ruby/ruby-faster-load_27.patch +11 -0
- data/config/patches/ruby/ruby-mkmf.patch +29 -0
- data/config/patches/ruby/ruby-no-stack-protector-strong.patch +11 -0
- data/config/patches/ruby/ruby-no-stack-protector.patch +13 -0
- data/config/patches/ruby/ruby-win32_warning_removal.patch +12 -0
- data/config/patches/ruby/ruby_aix_openssl.patch +10 -0
- data/config/patches/ruby/ruby_aix_ssl_EAGAIN.patch +19 -0
- data/config/patches/ruby/rvm-cflags.patch +27 -0
- data/config/patches/stunnel/stunnel-on-windows.patch +42 -0
- data/config/patches/zlib/zlib-windows-relocate.patch +20 -0
- data/config/software/autoconf.rb +46 -0
- data/config/software/automake.rb +49 -0
- data/config/software/bash.rb +72 -0
- data/config/software/berkshelf-no-depselector.rb +46 -0
- data/config/software/berkshelf.rb +34 -0
- data/config/software/binutils.rb +47 -0
- data/config/software/bundler.rb +38 -0
- data/config/software/bzip2.rb +55 -0
- data/config/software/cacerts.rb +50 -0
- data/config/software/chef-gem.rb +35 -0
- data/config/software/chef.rb +112 -0
- data/config/software/cmake.rb +94 -0
- data/config/software/config_guess.rb +37 -0
- data/config/software/cpanminus.rb +49 -0
- data/config/software/curl.rb +103 -0
- data/config/software/delivery-cli.rb +89 -0
- data/config/software/dep-selector-libgecode.rb +48 -0
- data/config/software/elasticsearch.rb +61 -0
- data/config/software/elixir.rb +35 -0
- data/config/software/erlang.rb +134 -0
- data/config/software/expat.rb +63 -0
- data/config/software/fakeroot.rb +41 -0
- data/config/software/ffi-yajl.rb +46 -0
- data/config/software/figlet-fonts.rb +31 -0
- data/config/software/figlet.rb +44 -0
- data/config/software/gcc.rb +60 -0
- data/config/software/gdbm.rb +54 -0
- data/config/software/gecode.rb +62 -0
- data/config/software/gem-permissions.rb +43 -0
- data/config/software/git-windows.rb +96 -0
- data/config/software/git.rb +138 -0
- data/config/software/gmp.rb +48 -0
- data/config/software/go-uninstall.rb +33 -0
- data/config/software/go.rb +116 -0
- data/config/software/google-protobuf.rb +45 -0
- data/config/software/gtar.rb +62 -0
- data/config/software/help2man.rb +40 -0
- data/config/software/highline-gem.rb +37 -0
- data/config/software/ibm-jre.rb +59 -0
- data/config/software/inspec.rb +43 -0
- data/config/software/jre-from-jdk.rb +67 -0
- data/config/software/keepalived.rb +68 -0
- data/config/software/libarchive.rb +71 -0
- data/config/software/libedit.rb +73 -0
- data/config/software/libffi.rb +68 -0
- data/config/software/libgcc.rb +52 -0
- data/config/software/libiconv.rb +55 -0
- data/config/software/libintl-perl.rb +56 -0
- data/config/software/liblzma.rb +59 -0
- data/config/software/libossp-uuid.rb +45 -0
- data/config/software/libsodium.rb +40 -0
- data/config/software/libtool.rb +56 -0
- data/config/software/libuuid.rb +45 -0
- data/config/software/libxml2.rb +63 -0
- data/config/software/libxslt.rb +64 -0
- data/config/software/libyajl2-gem.rb +44 -0
- data/config/software/libyaml.rb +50 -0
- data/config/software/libzmq.rb +93 -0
- data/config/software/logrotate.rb +61 -0
- data/config/software/lua.rb +46 -0
- data/config/software/m4.rb +40 -0
- data/config/software/make.rb +43 -0
- data/config/software/makedepend.rb +44 -0
- data/config/software/mpc.rb +44 -0
- data/config/software/mpfr.rb +45 -0
- data/config/software/musl.rb +107 -0
- data/config/software/mysql2.rb +50 -0
- data/config/software/ncurses.rb +159 -0
- data/config/software/nginx.rb +55 -0
- data/config/software/nodejs-binary.rb +90 -0
- data/config/software/nodejs.rb +58 -0
- data/config/software/nokogiri.rb +92 -0
- data/config/software/omnibus-ctl.rb +42 -0
- data/config/software/openresty.rb +94 -0
- data/config/software/opensearch.rb +54 -0
- data/config/software/openssl-customization.rb +81 -0
- data/config/software/openssl-fips.rb +81 -0
- data/config/software/openssl.rb +185 -0
- data/config/software/patch.rb +46 -0
- data/config/software/patchelf.rb +66 -0
- data/config/software/pcre.rb +53 -0
- data/config/software/perl-extutils-embed.rb +37 -0
- data/config/software/perl-extutils-makemaker.rb +46 -0
- data/config/software/perl-thread-queue.rb +40 -0
- data/config/software/perl.rb +78 -0
- data/config/software/perl_pg_driver.rb +45 -0
- data/config/software/pg-gem.rb +36 -0
- data/config/software/pkg-config-lite.rb +46 -0
- data/config/software/pkg-config.rb +66 -0
- data/config/software/popt.rb +54 -0
- data/config/software/postgresql.rb +70 -0
- data/config/software/preparation.rb +31 -0
- data/config/software/python.rb +79 -0
- data/config/software/rabbitmq.rb +58 -0
- data/config/software/rb-readline.rb +33 -0
- data/config/software/rbnacl-libsodium.rb +42 -0
- data/config/software/rbzmq.rb +44 -0
- data/config/software/rebar.rb +42 -0
- data/config/software/redis-gem.rb +36 -0
- data/config/software/redis.rb +51 -0
- data/config/software/relx.rb +39 -0
- data/config/software/rsync.rb +55 -0
- data/config/software/ruby-cleanup.rb +254 -0
- data/config/software/ruby-msys2-devkit.rb +77 -0
- data/config/software/ruby-windows-devkit-bash.rb +41 -0
- data/config/software/ruby-windows-devkit.rb +84 -0
- data/config/software/ruby.rb +306 -0
- data/config/software/rubygems.rb +73 -0
- data/config/software/runit.rb +67 -0
- data/config/software/rust-uninstall.rb +32 -0
- data/config/software/rust.rb +97 -0
- data/config/software/sequel-gem.rb +36 -0
- data/config/software/server-jre.rb +125 -0
- data/config/software/server-open-jre.rb +112 -0
- data/config/software/setuptools.rb +48 -0
- data/config/software/shebang-cleanup.rb +101 -0
- data/config/software/sqitch.rb +87 -0
- data/config/software/stunnel.rb +86 -0
- data/config/software/util-macros.rb +42 -0
- data/config/software/version-manifest.rb +33 -0
- data/config/software/xproto.rb +42 -0
- data/config/software/zlib.rb +85 -0
- data/config/templates/git/config.mak.erb +31 -0
- data/config/templates/rubygems/register_devtools.rb.erb +33 -0
- data/config/templates/runit/runsvdir-start.erb +42 -0
- data/docker-compose.yml +15 -0
- data/lib/omnibus-software/version.rb +3 -0
- data/lib/omnibus-software.rb +115 -0
- data/omnibus-software.gemspec +20 -0
- data/test/Gemfile +10 -0
- data/test/config/projects/test.rb +14 -0
- data/test/generate_steps.rb +55 -0
- data/test/omnibus-build.sh +50 -0
- data/test/omnibus.rb +55 -0
- metadata +296 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 60ec9e6967fd491bb2bda5cb6d4fdf1d58b2ce28d6c2577f616fd83858eec3ba
|
4
|
+
data.tar.gz: 3dd3831cb9e1a1711eb8b298494bb64ef77fb9e86d070ce67604ec23e19d417a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 856b4698826344e85e78141ab7f22d12f9e1946232cb27baf1830370cee776f365fea1526cc916547da9286b98cf5aad4be90f66c535d6b625967f7c0bb9e9ab
|
7
|
+
data.tar.gz: 8bbf5741fb3b014bc4308d28ad0d65d5a3ca28965075f85ec94aff5d27f366cad3041ce962b9d3e47cd60cbc9a92a5cf7aafdce60a9062d92941deceb16ea587
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Version Inspector
|
2
|
+
python based utility software that can be used to find the latest version information for the omnibus-software packages .
|
3
|
+
|
4
|
+
## Execute the below command to install the dependencies.
|
5
|
+
$pip3 install -r requirements.txt
|
6
|
+
|
7
|
+
## SW-Version-update.py
|
8
|
+
python script to get the latest version of products.
|
9
|
+
command to run the script
|
10
|
+
$python3 SW-Version-update.py [json]
|
11
|
+
Pass 'json' as CLA for json o/p
|
12
|
+
1. checks latest version for all the products and lists the product, default version and latest version with url
|
13
|
+
2. checks for latset version for a particular product
|
14
|
+
3. List the products that needs to be checked for latest version manually
|
15
|
+
|
16
|
+
## update_prod_default_version.sh
|
17
|
+
rebase your branch with main to get the latest updated version updates and execute this script, which generates update_prod_default_version.json
|
18
|
+
## update_prod_list.sh
|
19
|
+
Not necessary to run all the time. ALl the product are upto date. Dont run this script until unless it is required. This script generates prod_list.json.
|
20
|
+
## manual_prod_list.json
|
21
|
+
contains the list of products that needs to be checked for latest version manually.
|
@@ -0,0 +1,243 @@
|
|
1
|
+
from math import prod
|
2
|
+
import requests
|
3
|
+
from bs4 import BeautifulSoup
|
4
|
+
import re
|
5
|
+
from packaging import version
|
6
|
+
import json
|
7
|
+
import smtplib
|
8
|
+
from email.mime.multipart import MIMEMultipart
|
9
|
+
from email.mime.text import MIMEText
|
10
|
+
import sys
|
11
|
+
|
12
|
+
json_flag = ""
|
13
|
+
try:
|
14
|
+
json_flag = sys.argv[1]
|
15
|
+
except:
|
16
|
+
print("No args passed")
|
17
|
+
|
18
|
+
pf = open('prod_list.json')
|
19
|
+
mf = open('manual_prod_list.json')
|
20
|
+
pvf = open('prod_default_version.json')
|
21
|
+
|
22
|
+
file_data_pf = json.load(pf)
|
23
|
+
file_data_mf = json.load(mf)
|
24
|
+
file_data_pvf = json.load(pvf)
|
25
|
+
|
26
|
+
prod_lst=list(file_data_pf.keys()) # to validate the product
|
27
|
+
manual_prod_list=list(file_data_mf.keys())
|
28
|
+
prod_def_ver_list=list(file_data_pvf.keys())
|
29
|
+
|
30
|
+
choice = int(input("Enter \n1 - Check Latest version for all products.\n2 - Check Latest Version for a particular product \n3 - List all S/W & URL that needs to be handled manually \n"))
|
31
|
+
|
32
|
+
def get_latest_version(url,expr,product):
|
33
|
+
response = requests.get(url)
|
34
|
+
soup = BeautifulSoup(response.content, 'html.parser')
|
35
|
+
|
36
|
+
for data in soup(['style', 'script']):
|
37
|
+
data.decompose()
|
38
|
+
|
39
|
+
list_of_contents = ' '.join(soup.stripped_strings).split(" ")
|
40
|
+
|
41
|
+
|
42
|
+
r = re.compile(expr)
|
43
|
+
filtered_list = list(filter(r.match, list_of_contents)) # Read Note
|
44
|
+
|
45
|
+
versions_string = " ".join(filtered_list)
|
46
|
+
|
47
|
+
if product in ["server-open-jre"]:
|
48
|
+
extracted_versions = re.findall(r"\d[\.\d]*\d_\d+", versions_string)
|
49
|
+
elif(product in ["libedit"]):
|
50
|
+
extracted_versions = re.findall(r"\d+-[\.\d]*\d", versions_string)
|
51
|
+
else:
|
52
|
+
extracted_versions = re.findall(r"\d[\.\d]*\d", versions_string)
|
53
|
+
|
54
|
+
product_error = []
|
55
|
+
try:
|
56
|
+
highest_version = extracted_versions[0]
|
57
|
+
for i in range(1,len(extracted_versions)):
|
58
|
+
#print("Comparing ",extracted_versions[i]," and ",highest_version)
|
59
|
+
if(version.parse(extracted_versions[i]) > version.parse(highest_version)):
|
60
|
+
highest_version = extracted_versions[i]
|
61
|
+
return highest_version
|
62
|
+
except:
|
63
|
+
product_error.append(prod)
|
64
|
+
|
65
|
+
print(product_error)
|
66
|
+
|
67
|
+
def mail_sender(mail_content):
|
68
|
+
sender_address = 'poorndm@progress.com'
|
69
|
+
sender_pass = ''
|
70
|
+
receiver_address = 'poorndm@progress.com'
|
71
|
+
#Setup the MIME
|
72
|
+
message = MIMEMultipart()
|
73
|
+
message['From'] = sender_address
|
74
|
+
message['To'] = receiver_address
|
75
|
+
message['Subject'] = 'Omnibus-S/W version Updates!' #The subject line
|
76
|
+
#The body and the attachments for the mail
|
77
|
+
message.attach(MIMEText(mail_content, 'plain'))
|
78
|
+
#Create SMTP session for sending the mail
|
79
|
+
session = smtplib.SMTP('smtp.progress.com',465) #use gmail with port
|
80
|
+
session.starttls() #enable security
|
81
|
+
session.login(sender_address, sender_pass) #login with mail_id and password
|
82
|
+
text = message.as_string()
|
83
|
+
session.sendmail(sender_address, receiver_address, text)
|
84
|
+
session.quit()
|
85
|
+
print('Mail Sent')
|
86
|
+
|
87
|
+
def create_github_issue(product,ticket_title,product_url):
|
88
|
+
|
89
|
+
github_token = ""
|
90
|
+
repo_owner = ""
|
91
|
+
repo_name = ""
|
92
|
+
|
93
|
+
title = ticket_title
|
94
|
+
body = product_url
|
95
|
+
|
96
|
+
url = "https://api.github.com/repos/%s/%s/import/issues"%(repo_owner,repo_name)
|
97
|
+
headers={
|
98
|
+
"Authorization":"token %s"%(github_token),
|
99
|
+
"Accept": "application/vnd.github.golden-comet-preview+json"
|
100
|
+
}
|
101
|
+
|
102
|
+
data = {
|
103
|
+
"issue":{
|
104
|
+
"title":title,
|
105
|
+
"body":body
|
106
|
+
}
|
107
|
+
}
|
108
|
+
payload = json.dumps(data)
|
109
|
+
|
110
|
+
response = requests.request("POST",url,data=payload,headers=headers)
|
111
|
+
|
112
|
+
return(response)
|
113
|
+
|
114
|
+
if(choice == 1):
|
115
|
+
print("Checking for all products........")
|
116
|
+
mail_content = ""
|
117
|
+
json_output={}
|
118
|
+
for i in file_data_pf:
|
119
|
+
|
120
|
+
product_details = file_data_pf[i]
|
121
|
+
#print (product_details)
|
122
|
+
highest_version = get_latest_version(product_details["url"],product_details["expr"],i)
|
123
|
+
default_version = file_data_pvf[i]
|
124
|
+
|
125
|
+
if(json_flag=="json"):
|
126
|
+
if(default_version==highest_version):
|
127
|
+
json_output[i] = {"Default_Version":default_version,"Latest_Version":highest_version, "Product_URL":product_details["url"],"Manual_Check":"No","Update_Required":"No"}
|
128
|
+
else:
|
129
|
+
json_output[i] = {"Default_Version":default_version,"Latest_Version":highest_version, "Product_URL":product_details["url"],"Manual_Check":"No","Update_Required":"Yes"}
|
130
|
+
|
131
|
+
else:
|
132
|
+
print("======================================================")
|
133
|
+
print("PRODUCT : ",i)
|
134
|
+
print("Latest software version available :",highest_version)
|
135
|
+
print("Default version :",default_version)
|
136
|
+
if(default_version == highest_version):
|
137
|
+
print("No version updates on the product")
|
138
|
+
else :
|
139
|
+
print("URL :",product_details["url"] )
|
140
|
+
print("------------------------------------------------------")
|
141
|
+
prod=i+".rb"
|
142
|
+
print("Check if",highest_version,"is stable version and already updated in version list in ",prod)
|
143
|
+
print("------------------------------------------------------")
|
144
|
+
print("======================================================")
|
145
|
+
|
146
|
+
if(json_flag=="json"):
|
147
|
+
print(json_output)
|
148
|
+
mail_content += "======================================================\n"+"PRODUCT : "+str(i)+"\nDefault version :"+str(default_version)+"\nLatest software version available :"+str(highest_version)+"\n======================================================"
|
149
|
+
#print(mail_content)
|
150
|
+
#mail_sender(mail_content)
|
151
|
+
|
152
|
+
elif(choice == 2 ):
|
153
|
+
product = input("Enter the product name\n")
|
154
|
+
if product in manual_prod_list :
|
155
|
+
if product in prod_def_ver_list :
|
156
|
+
manual_product_details=file_data_mf[product]
|
157
|
+
manual_product_url = manual_product_details["url"]
|
158
|
+
default_version = file_data_pvf[product]
|
159
|
+
|
160
|
+
json_output = {"Product":product, "Default_Version":default_version, "Product_URL":manual_product_url,"Manual_Check":"Yes"}
|
161
|
+
if(json_flag=="json"):
|
162
|
+
print(json_output)
|
163
|
+
else:
|
164
|
+
print("\n======================================================")
|
165
|
+
print("NOTE :",product, " Package -latest version has to be checked manually,Check below URL for Latest-version ")
|
166
|
+
print("\n======================================================")
|
167
|
+
print(" PRODUCT :",product)
|
168
|
+
print("------------------------------------------------------")
|
169
|
+
print(" Default version :",default_version)
|
170
|
+
print(" URL :",manual_product_url)
|
171
|
+
print("======================================================")
|
172
|
+
|
173
|
+
else :
|
174
|
+
print("ERROR : Invalid Product")
|
175
|
+
|
176
|
+
elif product in prod_lst :
|
177
|
+
if product in prod_def_ver_list :
|
178
|
+
product_details = file_data_pf[product]
|
179
|
+
url = product_details["url"]
|
180
|
+
expr = product_details["expr"]
|
181
|
+
default_version = file_data_pvf[product]
|
182
|
+
highest_version = get_latest_version(product_details["url"],product_details["expr"],product)
|
183
|
+
|
184
|
+
if(default_version==highest_version):
|
185
|
+
json_output = {"Product":product, "Default_Version":default_version,"Latest_Version":highest_version, "Product_URL":url,"Manual_Check":"No","Update_Required":"No", "Comment": ""}
|
186
|
+
else:
|
187
|
+
json_output = {"Product":product, "Default_Version":default_version,"Latest_Version":highest_version, "Product_URL":url,"Manual_Check":"No","Update_Required":"Yes", "Comment":"Verify if Latest version is present in Version list"}
|
188
|
+
|
189
|
+
if(json_flag=="json"):
|
190
|
+
print(json_output)
|
191
|
+
else:
|
192
|
+
print("======================================================")
|
193
|
+
print("PRODUCT : ",product)
|
194
|
+
print("======================================================")
|
195
|
+
print("Default version :",default_version)
|
196
|
+
print("Latest software version available :",highest_version)
|
197
|
+
#ticket_title = product+" version update from "+default_version+" to "+highest_version
|
198
|
+
print("======================================================")
|
199
|
+
if(default_version==highest_version):
|
200
|
+
print("No version updates on the product")
|
201
|
+
print("======================================================")
|
202
|
+
else :
|
203
|
+
print("URL :",product_details["url"] )
|
204
|
+
print("------------------------------------------------------")
|
205
|
+
prod=product+".rb"
|
206
|
+
print("Check if",highest_version," is stable version and already present in version list in ",prod)
|
207
|
+
print("------------------------------------------------------")
|
208
|
+
|
209
|
+
#else :
|
210
|
+
# ch=input("Would you like to create a ticket for this version-update track ? y/n :").lower()
|
211
|
+
# if(ch == 'y'):
|
212
|
+
# response = create_github_issue(product,ticket_title,url)
|
213
|
+
#print(response.content)
|
214
|
+
else :
|
215
|
+
print("ERROR : Invalid Product")
|
216
|
+
else :
|
217
|
+
print ("ERROR : Product / Package Name does'nt exists in the check_list ")
|
218
|
+
|
219
|
+
elif( choice == 3 ):
|
220
|
+
|
221
|
+
json_output={}
|
222
|
+
|
223
|
+
for product in manual_prod_list:
|
224
|
+
manual_product_details=file_data_mf[product]
|
225
|
+
manual_product_url=manual_product_details["url"]
|
226
|
+
default_version=file_data_pvf[product]
|
227
|
+
|
228
|
+
if(json_flag=="json"):
|
229
|
+
json_output[product]={"Default_Version":default_version,"Product_URL":manual_product_url}
|
230
|
+
else:
|
231
|
+
print("\n======================================================")
|
232
|
+
print(" PRODUCT :",product)
|
233
|
+
print("------------------------------------------------------")
|
234
|
+
print(" Default version :",default_version)
|
235
|
+
print(" URL :",manual_product_url)
|
236
|
+
print("======================================================")
|
237
|
+
if(json_flag=="json"):
|
238
|
+
print(json_output)
|
239
|
+
else:
|
240
|
+
print("List of product needs to be verified manually ")
|
241
|
+
print("prod_list",manual_prod_list)
|
242
|
+
else:
|
243
|
+
print("Invalid choice")
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"cacerts": {
|
3
|
+
"url": "https://curl.se/ca/"
|
4
|
+
},
|
5
|
+
"cpanminus": {
|
6
|
+
"url": "https://metacpan.org/pod/App::cpanminus#Downloading-the-standalone-executable"
|
7
|
+
},
|
8
|
+
"elasticsearch": {
|
9
|
+
"url": "https://www.elastic.co/downloads/"
|
10
|
+
},
|
11
|
+
"go": {
|
12
|
+
"url": "https://go.dev/dl/"
|
13
|
+
},
|
14
|
+
"ruby": {
|
15
|
+
"url": "https://cache.ruby-lang.org/pub/ruby/"
|
16
|
+
},
|
17
|
+
"opensearch": {
|
18
|
+
|
19
|
+
"url": "https://opensearch.org/docs/latest/version-history/"
|
20
|
+
},
|
21
|
+
"popt": {
|
22
|
+
"url": "https://github.com/rpm-software-management/popt/releases/"
|
23
|
+
},
|
24
|
+
"sqitch": {
|
25
|
+
|
26
|
+
"url": "https://github.com/sqitchers/sqitch/releases"
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
@@ -0,0 +1,103 @@
|
|
1
|
+
{
|
2
|
+
"autoconf": "2.69" ,
|
3
|
+
"automake": "1.16" ,
|
4
|
+
"bash": "5.1.16" ,
|
5
|
+
"binutils": "2.26" ,
|
6
|
+
"bzip2": "1.0.8" ,
|
7
|
+
"cacerts": "2022-07-19" ,
|
8
|
+
"chef-gem": "11.12.2" ,
|
9
|
+
"cmake": "3.19.7" ,
|
10
|
+
"cpanminus": "1.7046" ,
|
11
|
+
"curl": "7.85.0" ,
|
12
|
+
"dep-selector-libgecode": "1.3.1" ,
|
13
|
+
"elasticsearch": "5.6.16" ,
|
14
|
+
"elixir": "1.4.2" ,
|
15
|
+
"erlang": "24.3.2" ,
|
16
|
+
"expat": "2.4.8" ,
|
17
|
+
"fakeroot": "1.20.2" ,
|
18
|
+
"figlet": "2.2.5" ,
|
19
|
+
"gcc": "4.9.2" ,
|
20
|
+
"gdbm": "1.8.3" ,
|
21
|
+
"gecode": "3.7.3" ,
|
22
|
+
"gem-permissions": "0.0.1" ,
|
23
|
+
"git-windows": "2.33.0" ,
|
24
|
+
"git": "2.37.3" ,
|
25
|
+
"gmp": "6.0.0a" ,
|
26
|
+
"go-uninstall": "0.0.1" ,
|
27
|
+
"go": "1.19" ,
|
28
|
+
"google-protobuf": "v3.21.4" ,
|
29
|
+
"gtar": "1.34" ,
|
30
|
+
"help2man": "1.40.5" ,
|
31
|
+
"highline-gem": "1.6.21" ,
|
32
|
+
"keepalived": "1.2.9" ,
|
33
|
+
"libarchive": "3.6.1" ,
|
34
|
+
"libedit": "20120601-3.0" ,
|
35
|
+
"libffi": "3.4.2" ,
|
36
|
+
"libgcc": "0.0.1" ,
|
37
|
+
"libiconv": "1.17" ,
|
38
|
+
"libintl-perl": "1.23" ,
|
39
|
+
"liblzma": "5.2.6" ,
|
40
|
+
"libossp-uuid": "1.6.2" ,
|
41
|
+
"libsodium": "1.0.18" ,
|
42
|
+
"libtool": "2.4.7" ,
|
43
|
+
"libuuid": "2.21" ,
|
44
|
+
"libxml2": "2.9.14" ,
|
45
|
+
"libxslt": "1.1.35" ,
|
46
|
+
"libyaml": "0.2.5" ,
|
47
|
+
"libzmq": "4.0.7" ,
|
48
|
+
"logrotate": "3.20.1" ,
|
49
|
+
"lua": "5.4.4" ,
|
50
|
+
"m4": "1.4.18" ,
|
51
|
+
"make": "4.3" ,
|
52
|
+
"makedepend": "1.0.6" ,
|
53
|
+
"mpc": "1.2.1" ,
|
54
|
+
"mpfr": "4.1.0" ,
|
55
|
+
"musl": "1.2.2" ,
|
56
|
+
"ncurses": "6.3" ,
|
57
|
+
"nginx": "1.21.4" ,
|
58
|
+
"nodejs-binary": "6.7.0" ,
|
59
|
+
"nodejs": "0.10.48" ,
|
60
|
+
"omnibus-ctl": "v0.6.0" ,
|
61
|
+
"openresty": "1.21.4.1" ,
|
62
|
+
"opensearch": "2.2.0" ,
|
63
|
+
"openssl-fips": "2.0.16" ,
|
64
|
+
"openssl": "1.0.2zb" ,
|
65
|
+
"patch": "2.7.6" ,
|
66
|
+
"patchelf": "0.13.1" ,
|
67
|
+
"pcre": "8.45" ,
|
68
|
+
"perl-extutils-embed": "1.14" ,
|
69
|
+
"perl-extutils-makemaker": "6.78" ,
|
70
|
+
"perl-thread-queue": "3.13" ,
|
71
|
+
"perl": "5.36.0" ,
|
72
|
+
"perl_pg_driver": "3.16.0" ,
|
73
|
+
"pg-gem": "0.17.1" ,
|
74
|
+
"pkg-config-lite": "0.28-1" ,
|
75
|
+
"pkg-config": "0.28" ,
|
76
|
+
"popt": "1.18" ,
|
77
|
+
"postgresql": "14.5" ,
|
78
|
+
"preparation": "1.0.0" ,
|
79
|
+
"python": "3.10.5" ,
|
80
|
+
"rabbitmq": "3.6.6" ,
|
81
|
+
"rbnacl-libsodium": "1.0.11" ,
|
82
|
+
"redis-gem": "3.3.3" ,
|
83
|
+
"redis": "7.0.4" ,
|
84
|
+
"rsync": "3.1.1" ,
|
85
|
+
"ruby-cleanup": "1.0.0" ,
|
86
|
+
"ruby-msys2-devkit": "3.0.3-1" ,
|
87
|
+
"ruby-windows-devkit-bash": "3.1.23-4-msys-1.0.18" ,
|
88
|
+
"ruby-windows-devkit": "4.7.2-20130224" ,
|
89
|
+
"ruby": "3.1.2" ,
|
90
|
+
"runit": "2.1.2" ,
|
91
|
+
"rust-uninstall": "0.0.1" ,
|
92
|
+
"rust": "1.37.0" ,
|
93
|
+
"sequel-gem": "4.47.0" ,
|
94
|
+
"server-open-jre": "11.0.16.1+1" ,
|
95
|
+
"setuptools": "0.7.7" ,
|
96
|
+
"shebang-cleanup": "0.0.2" ,
|
97
|
+
"sqitch": "1.3.0" ,
|
98
|
+
"stunnel": "5.49" ,
|
99
|
+
"util-macros": "1.19.3" ,
|
100
|
+
"version-manifest": "0.0.1" ,
|
101
|
+
"xproto": "7.0.31" ,
|
102
|
+
"zlib": "1.2.12"
|
103
|
+
}
|
@@ -0,0 +1,194 @@
|
|
1
|
+
{
|
2
|
+
"bash": {
|
3
|
+
"url": "https://ftp.gnu.org/gnu/bash",
|
4
|
+
"expr": "^(bash-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
5
|
+
},
|
6
|
+
"bzip2": {
|
7
|
+
"url": "https://sourceware.org/pub/bzip2/",
|
8
|
+
"expr": "^(bzip2-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
9
|
+
},
|
10
|
+
"curl": {
|
11
|
+
"url": "https://curl.se/download/",
|
12
|
+
"expr": "\\d[\\.\\d]*\\d$"
|
13
|
+
},
|
14
|
+
"erlang": {
|
15
|
+
"url": "https://github.com/erlang/otp/tags",
|
16
|
+
"expr": "^(OTP-)\\d[\\.\\d]*\\d$"
|
17
|
+
},
|
18
|
+
"expat": {
|
19
|
+
"url": "https://github.com/libexpat/libexpat/releases/",
|
20
|
+
"expr": "^(expat-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
21
|
+
},
|
22
|
+
"git": {
|
23
|
+
"url": "https://www.kernel.org/pub/software/scm/git",
|
24
|
+
"expr": "^(git-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
25
|
+
},
|
26
|
+
"gmp": {
|
27
|
+
"url": "https://ftp.gnu.org/gnu/gmp",
|
28
|
+
"expr": "^(gmp-)\\d[\\.\\d]*\\d(\\.tar\\.bz2)$"
|
29
|
+
},
|
30
|
+
"gtar": {
|
31
|
+
"default_version": "1.34",
|
32
|
+
"url": "https://ftp.gnu.org/gnu/tar",
|
33
|
+
"expr": "^(tar-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
34
|
+
},
|
35
|
+
"google-protobuf": {
|
36
|
+
"url": "https://github.com/protocolbuffers/protobuf/tags",
|
37
|
+
"expr": "^(v)\\d[\\.\\d]*\\d$"
|
38
|
+
},
|
39
|
+
"libarchive": {
|
40
|
+
"url": "https://github.com/libarchive/libarchive/releases/",
|
41
|
+
"expr": "^(libarchive-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
42
|
+
},
|
43
|
+
"libiconv": {
|
44
|
+
"url": "https://ftp.gnu.org/pub/gnu/libiconv",
|
45
|
+
"expr": "^(libiconv-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
46
|
+
},
|
47
|
+
"libedit": {
|
48
|
+
"url": "http://thrysoee.dk/editline/",
|
49
|
+
"expr": "(libedit-)\\d*-[\\.\\d]*\\d(\\.tar\\.gz)$"
|
50
|
+
},
|
51
|
+
"libffi": {
|
52
|
+
"url": "https://github.com/libffi/libffi/releases/",
|
53
|
+
"expr": "^(libffi-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
54
|
+
},
|
55
|
+
"libintl-perl": {
|
56
|
+
"url": "https://cpan.metacpan.org/authors/id/G/GU/GUIDO/",
|
57
|
+
"expr": "^(libintl-perl-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
58
|
+
},
|
59
|
+
"libsodium": {
|
60
|
+
"url": "https://download.libsodium.org/libsodium/releases",
|
61
|
+
"expr": "^(libsodium-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
62
|
+
},
|
63
|
+
"libtool": {
|
64
|
+
"url": "https://ftp.gnu.org/gnu/libtool",
|
65
|
+
"expr": "^(libtool-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
66
|
+
},
|
67
|
+
"libxml2": {
|
68
|
+
"url": "https://download.gnome.org/sources/libxml2/2.9/",
|
69
|
+
"expr": "^(libxml2-)\\d[\\.\\d]*\\d(\\.tar\\.xz)$"
|
70
|
+
},
|
71
|
+
"libxslt": {
|
72
|
+
"url": "https://download.gnome.org/sources/libxslt/1.1/",
|
73
|
+
"expr": "^(libxslt-)\\d[\\.\\d]*\\d(\\.tar\\.xz)$"
|
74
|
+
},
|
75
|
+
"libyaml": {
|
76
|
+
"url": "https://pyyaml.org/download/libyaml",
|
77
|
+
"expr": "^(yaml-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
78
|
+
},
|
79
|
+
"liblzma": {
|
80
|
+
"url": "http://tukaani.org/xz/",
|
81
|
+
"expr": "^(xz-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
82
|
+
},
|
83
|
+
"libossp-uuid": {
|
84
|
+
"url": "https://www.mirrorservice.org/sites/ftp.ossp.org/pkg/lib/uuid",
|
85
|
+
"expr": "^(uuid-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
86
|
+
},
|
87
|
+
"logrotate": {
|
88
|
+
"url": "https://github.com/logrotate/logrotate",
|
89
|
+
"expr": "^(logrotate-)\\d[\\.\\d]*\\d$"
|
90
|
+
},
|
91
|
+
"lua": {
|
92
|
+
"url": "https://www.lua.org/ftp",
|
93
|
+
"expr": "^(lua-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
94
|
+
},
|
95
|
+
"makedepend": {
|
96
|
+
"url": "https://www.x.org/releases/individual/util",
|
97
|
+
"expr": "^(makedepend-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
98
|
+
},
|
99
|
+
"make": {
|
100
|
+
|
101
|
+
"url": "https://ftp.gnu.org/gnu/make",
|
102
|
+
"expr": "^(make-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
103
|
+
},
|
104
|
+
"mpc": {
|
105
|
+
|
106
|
+
"url": "https://ftp.gnu.org/gnu/mpc",
|
107
|
+
"expr": "^(mpc-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
108
|
+
},
|
109
|
+
"mpfr": {
|
110
|
+
|
111
|
+
"url": "https://ftp.gnu.org/gnu/mpfr",
|
112
|
+
"expr": "^(mpfr-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
113
|
+
},
|
114
|
+
"ncurses": {
|
115
|
+
|
116
|
+
"url": "https://ftp.gnu.org/gnu/ncurses",
|
117
|
+
"expr": "^(ncurses-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
118
|
+
},
|
119
|
+
"openresty": {
|
120
|
+
|
121
|
+
"url": "https://openresty.org/en/download.html",
|
122
|
+
"expr": "^(openresty-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
123
|
+
},
|
124
|
+
"openssl-fips": {
|
125
|
+
|
126
|
+
"url": "https://www.openssl.org/docs/fips.html",
|
127
|
+
"expr": "^v\\d[\\.\\d]*\\d"
|
128
|
+
},
|
129
|
+
"patch": {
|
130
|
+
|
131
|
+
"url": "https://ftp.gnu.org/gnu/patch",
|
132
|
+
"expr": "^(patch-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
133
|
+
},
|
134
|
+
"patchelf": {
|
135
|
+
|
136
|
+
"url": "https://github.com/NixOS/patchelf/releases/",
|
137
|
+
"expr": "^(patchelf-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
138
|
+
},
|
139
|
+
"pcre": {
|
140
|
+
|
141
|
+
"url": "https://sourceforge.net/projects/pcre/files/pcre",
|
142
|
+
"expr": "^\\d\\.[\\.\\d]*\\d$"
|
143
|
+
},
|
144
|
+
"perl": {
|
145
|
+
|
146
|
+
"url": "http://www.cpan.org/src/",
|
147
|
+
"expr": "^(perl-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
148
|
+
},
|
149
|
+
"perl_pg_driver": {
|
150
|
+
|
151
|
+
"url": "https://cpan.metacpan.org/authors/id/T/TU/TURNSTEP/",
|
152
|
+
"expr": "^(DBD-Pg-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
153
|
+
},
|
154
|
+
"postgresql": {
|
155
|
+
|
156
|
+
"url": "https://ftp.postgresql.org/pub/source/",
|
157
|
+
"expr": "^v\\d[\\.\\d]*\\d"
|
158
|
+
},
|
159
|
+
"python": {
|
160
|
+
|
161
|
+
"url": "https://www.python.org/ftp/python/",
|
162
|
+
"expr": "\\d[\\.\\d]*\\d\/"
|
163
|
+
},
|
164
|
+
"redis": {
|
165
|
+
|
166
|
+
"url": "http://download.redis.io/releases/",
|
167
|
+
"expr": "^(redis-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
168
|
+
},
|
169
|
+
"runit": {
|
170
|
+
|
171
|
+
"url": "http://smarden.org/runit/install.html",
|
172
|
+
"expr": "^(runit-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
173
|
+
},
|
174
|
+
"server-open-jre": {
|
175
|
+
"url": "https://github.com/adoptium/temurin11-binaries/releases/",
|
176
|
+
"expr": ".*(jdk).*\\d[\\.\\d]*_\\d*(\\.tar\\.gz)$"
|
177
|
+
},
|
178
|
+
"stunnel": {
|
179
|
+
"url": "https://www.stunnel.org/downloads.html",
|
180
|
+
"expr": "^(stunnel-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
181
|
+
},
|
182
|
+
"xproto": {
|
183
|
+
"url": "https://www.x.org/releases/individual/proto/",
|
184
|
+
"expr": "^(xproto-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
185
|
+
},
|
186
|
+
"util-macros": {
|
187
|
+
"url": "https://www.x.org/releases/individual/util",
|
188
|
+
"expr": "^(util-macros-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
189
|
+
},
|
190
|
+
"zlib": {
|
191
|
+
"url": "https://zlib.net/fossils",
|
192
|
+
"expr": "^(zlib-)\\d[\\.\\d]*\\d(\\.tar\\.gz)$"
|
193
|
+
}
|
194
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#To update the product_default_version
|
4
|
+
#cd omnibus-software/config/software
|
5
|
+
#sh update_prod_default_version.sh
|
6
|
+
|
7
|
+
Prod_file="prod_default_version.json"
|
8
|
+
cd ../../config/software/
|
9
|
+
rm -rf $Prod_file
|
10
|
+
echo "{" >> $Prod_file
|
11
|
+
for FILE in *.rb; do
|
12
|
+
prod=$(echo "$FILE" |cut -d "." -f1);
|
13
|
+
dv=$( grep "default_version" $FILE| cut -d " " -f2)
|
14
|
+
if [ "$prod" = "cacerts" ]; then
|
15
|
+
echo "\"$prod\": $dv ,">> $Prod_file;
|
16
|
+
else
|
17
|
+
if echo $dv | grep -qE '[0-9]\.[0-9]+' ;then
|
18
|
+
echo "\"$prod\": $dv ,">> $Prod_file;
|
19
|
+
fi
|
20
|
+
fi
|
21
|
+
done;
|
22
|
+
$(printf '%s\n' '$' 's/.$//' wq | ex $Prod_file)
|
23
|
+
echo "}" >> $Prod_file
|
24
|
+
mv $Prod_file ../../.expeditor/Version_Inspector/
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#to update the prod_list.json
|
2
|
+
#cd omnibus-software/config/software
|
3
|
+
#sh update_prod_list.sh
|
4
|
+
|
5
|
+
prod_file="prod_list.json"
|
6
|
+
cd ../../config/software/
|
7
|
+
rm $prod_file
|
8
|
+
echo "{" >>$prod_file
|
9
|
+
for FILE in *.rb; do
|
10
|
+
if ! grep -q deprecated $FILE ; then
|
11
|
+
echo "File name is :$FILE"
|
12
|
+
prod=$(echo "$FILE" |cut -d "." -f1);
|
13
|
+
dv=$( grep "default_version" $FILE| cut -d " " -f2)
|
14
|
+
if echo $dv | grep -qE '[0-9]\.[0-9]+' ;then
|
15
|
+
url=$(grep "https" $FILE | grep tar | tail -1 | cut -d ":" -f2 -f3 | cut -d "-" -f1)
|
16
|
+
if [ ! -z "$url" ];then
|
17
|
+
echo "\"$prod\": {" >> $prod_file;
|
18
|
+
url1=$(dirname $url)
|
19
|
+
echo "\"url\": $url1\"," >> $prod_file ;
|
20
|
+
if [ $prod == "openssl-fips" ] || [ $prod == "postgresql" ] ;then
|
21
|
+
expr1="^v\\\\\d[\\\\\.\\\\\d]*\\\\\d"
|
22
|
+
echo $expr1
|
23
|
+
else
|
24
|
+
expr1="^($prod-)\\\\\d[\\\\\.\\\\\d]*\\\\\d(\\\\\.tar\\\\\.gz)$"
|
25
|
+
echo "EXPR=$expr1"
|
26
|
+
fi
|
27
|
+
echo "\"expr\": \"$expr1\"">>$prod_file
|
28
|
+
echo "},">>$prod_file
|
29
|
+
fi
|
30
|
+
fi
|
31
|
+
fi
|
32
|
+
done;
|
33
|
+
$(printf '%s\n' '$' 's/.$//' wq | ex $prod_file)
|
34
|
+
echo "}" >>$prod_file
|
35
|
+
#mv $prod_file ../../.expeditor/Version_Inspector/
|